(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024109466
(43)【公開日】2024-08-14
(54)【発明の名称】人工知能構造学習システム、方法、およびプログラム
(51)【国際特許分類】
G06N 3/0985 20230101AFI20240806BHJP
G06N 3/10 20060101ALI20240806BHJP
【FI】
G06N3/0985
G06N3/10
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023014275
(22)【出願日】2023-02-01
(71)【出願人】
【識別番号】597132849
【氏名又は名称】株式会社日立ソリューションズ・クリエイト
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】小辰 信夫
(57)【要約】
【課題】好適な人工知能構造の人工知能モデルの生成を可能にする。
【解決手段】システムが記憶装置と処理装置とを有し、記憶装置は人工知能構造データベースと人工知能構造構成部品データベースと学習用データセットとを記憶し、処理装置は順次、人工知能構造モデルを選択して確度または確度を代替する指標を算出し、これが閾値以上であれば対応する学習済人工知能モデルを採用し、逆になければ、選択した人工知能構造構成部品を追加した人工知能構造モデルを順次生成し、学習用データセットを用いた再学習を行って、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録し、予測の性能を測る指標が所定の閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
記憶装置と、処理装置とを有し、
前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、学習用データセットと、を記憶し、
前記処理装置は、前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用し、
前記第1評価指標が前記第1評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、第2評価指標が前記人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する、
人工知能構造学習システム。
【請求項2】
前記処理装置は、人工知能構造において複数の人工知能構造構成部品で構成される部分が有る場合の第2評価指標が、該部分が無い場合の第2評価指標よりも、所定の第2評価指標差分閾値以上良い値であれば、前記部分を人工知能構造構成部品として前記人工知能構造構成部品データベースに登録する、
請求項1に記載の人工知能構造学習システム。
【請求項3】
前記処理装置は、ユーザから予測問題の性質に関する情報を取得し、前記情報に基づいて前記第1評価指標および/または前記第2評価指標を設定する、
請求項1に記載の人工知能構造学習システム。
【請求項4】
前記人工知能構造モデルはニューラルネットワークであり、
前記処理装置は、前記人工知能構造データベースにおける前記第2評価指標が所定の第2評価指標閾値以上の人工知能構造モデルの中から、ノードの階層数が少ない人工知能構造モデルから順次選択する、
請求項1に記載の人工知能構造学習システム。
【請求項5】
前記第1評価指標が、予測対象の未知のデータである判定用データに対する予測の結果の確度または確度を代替する指標であり、
前記処理装置は、前記人工知能構造データベースから選択した人工知能構造モデルに対応する学習済人工知能モデルによる前記判定用データに対する予測の結果の確度または確度を代替する指標の値が前記第1評価指標閾値以上ならば、該学習済人工知能モデルを前記予測対象に対する予測処理に採用する、
請求項3に記載の人工知能構造学習システム。
【請求項6】
前記人工知能構造データベースには、前記人工知能構造モデルに対応する学習済人工知能モデルにて取得された確度の平均値と、該学習済人工知能モデルにて前記第2評価指標が算出されるのに要する判定時間の平均値と、が更に格納されており、
前記処理装置は、前記確度の平均値が一定値以上である人工知能構造モデルの中で、前記判定時間の平均値が短い方から順次選択する、
請求項5に記載の人工知能構造学習システム。
【請求項7】
前記記憶装置は、テスト用データセットを更に記憶しており、
前記第2評価指標が前記テスト用データセットを用いて算出される、F値や、重み付きF値、AUC値、正解率、適合率(精度)、再現率などの、予測の性能を測る指標である、
請求項6に記載の人工知能構造学習システム。
【請求項8】
人工知能構造は人工知能構造構成部品を有向辺で接続した有向非巡回グラフにより表すことができ、
前記処理装置は、人工知能構造モデルに人工知能構造構成部品を追加して得られた人工知能構造をトポロジカルソートし、過去に試行した人工知能構造のいずれかと同じ構造であった場合にはスキップし、そうでなかった場合に前記第2評価指標による判定を行う、
請求項1に記載の人工知能構造学習システム。
【請求項9】
人工知能構造は人工知能構造構成部品を有向辺で接続した構造であり、
前記処理装置は、人工知能構造モデルに人工知能構造構成部品を追加するとき、前記人工知能構造構成部品の入力と該入力に接続される前記人工知能構造モデルの出力とのデータ形式が整合しなければ当該出力と当該入力とのデータ形式を整合させ、前記人工知能構造構成部品の出力と該出力に接続される前記人工知能構造モデルの入力とのデータ形式が整合しなければ当該入力と当該出力とのデータ形式を整合させる、
請求項1に記載の人工知能構造学習システム。
【請求項10】
記憶装置と処理装置とを有する装置による、人工知能構造学習方法であって、
前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、学習用データセットと、を記憶しており、
前記処理装置が、
前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用し、
前記第1評価指標が前記第1評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、第2評価指標が前記人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する、
人工知能構造学習方法。
【請求項11】
記憶装置と処理装置とを有する装置に人工知能構造を学習させるプログラムであって、
前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、学習用データセットと、を記憶しており、
前記処理装置によって実行された場合に、
前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用し、
前記第1評価指標が前記第1評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、第2評価指標が前記人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、好適な人工知能構造を学習する技術に関する。
【背景技術】
【0002】
人工知能の構造を予め固定するのではなく、解析目的に応じて好適な構造を選択するシステムがある。例えば、特許文献1に開示された人工知能モジュール開発システムは、AE(Auto Encoder:自己符号化器)、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)、LSTM(Long Short Term Memory)などの学習前ニューラルネットワークをライブラリーとして予め備え、利用者が選択した解析目的および解析目標に適合する学習前ニューラルネットワークをライブラリーから選択する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
人工知能は様々な構成要素を連結した構造を持ち、学習により各部のパラメータが決定される。例えば畳み込みニューラルネットワークは畳み込み層、プーリング層、リカレント層、全結合層、ソフトマックス関数等のアクティベーション層などの構成要素を連結した構造を有する。そして、結合の重みが学習により決定される。人工知能は構造自体が異なれば、学習の結果として到達し得る性能も異なる。
【0005】
しかしながら、特許文献1に開示されたシステムは、AE、CNN、LSTMなどの基本的な学習前ニューラルネットワークを予めライブラリーとして用意しておき、解析目的および解析目標に応じていずれかを選択するだけものであり、必ずしも好適な人工知能構造の人工知能モデルが生成できるとは限らない。
【0006】
本開示に含まれるひとつの目的は、人工知能構造自身を学習することにより好適な人工知能モデルの生成を可能にする技術を提供することである。
【課題を解決するための手段】
【0007】
本開示に含まれるひとつの態様による人工知能構造学習システムは、記憶装置と、処理装置とを有し、前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、訓練用データセットおよび検証用データセット(以下、学習用データセットと呼ぶ)と、を記憶し、前記処理装置は、前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定を実施し、その結果に関する第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上であり、かつ該人工知能構造モデルの学習結果から得られた第2評価指標が所定の第2評価指標閾値以上であれば、該人工知能構造モデルを採用し、前記第1評価指標および第2評価指標がそれぞれ前記第1評価指標閾値および前第2評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、該人工知能構造モデルの第2評価指標を算出し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定から実施し直し、それぞれの評価指標が所定の評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。どちらかの評価指標が評価指標閾値未満であった場合は、人工知能構造モデル自身の学習を繰り返す。一定の時間または、一定の回数学習を繰り返しても、評価指標閾値以上の結果が得られなかった場合は、閾値を下方修正するか、繰り返してきた中で、第1評価指標と第2評価指標の積が最大となった人工知能モデルを採用する。
【0008】
本開示に含まれるひとつの態様による人工知能構造学習方法は、記憶装置と処理装置とを有する装置による人工知能構造学習方法であって、前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、学習用データセットと、を記憶しており、前記処理装置が、前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定を実施し、その結果に関する第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上であり、かつ該人工知能構造モデルの学習結果から得られた第2評価指標が所定の第2評価指標閾値以上であれば、該人工知能構造モデルを採用し、前記第1評価指標および第2評価指標がそれぞれ前記第1評価指標閾値および前第2評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、該人工知能構造モデルの第2評価指標を算出し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定から実施し直し、それぞれの評価指標が所定の評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。どちらかの評価指標が評価指標閾値未満であった場合は、人工知能構造モデル自身の学習を繰り返す。一定の時間または、一定の回数学習を繰り返しても、評価指標閾値以上の結果が得られなかった場合は、閾値を下方修正するか、繰り返してきた中で、第1評価指標と第2評価指標の積が最大となった人工知能モデルを採用する。
【0009】
本開示に含まれるひとつの態様によるプログラムは、記憶装置と処理装置とを有する装置に人工知能構造を学習させるプログラムであって、前記記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、学習用データセットと、を記憶しており、前記処理装置によって実行された場合に、前記人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定を実施し、その結果に関する第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上であり、かつ該人工知能構造モデルの学習結果から得られた第2評価指標が所定の第2評価指標閾値以上であれば、該人工知能構造モデルを採用し、前記第1評価指標および第2評価指標がそれぞれ前記第1評価指標閾値および前第2評価指標閾値以上である人工知能構造モデルが前記人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、前記人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して前記学習用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを前記人工知能構造データベースに登録するともに、該人工知能構造モデルの第2評価指標を算出し、該人工知能構造モデルを用いて判定用データ(未知のデータ)の検定から実施し直し、それぞれの評価指標が所定の評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。どちらかの評価指標が評価指標閾値未満であった場合は、人工知能構造モデル自身の学習を繰り返す。一定の時間または、一定の回数学習を繰り返しても、評価指標閾値以上の結果が得られなかった場合は、閾値を下方修正するか、繰り返してきた中で、第1評価指標と第2評価指標の積が最大となった人工知能モデルを採用する。
【発明の効果】
【0010】
本開示によれば、好適な人工知能構造の人工知能モデルを生成することができる。
【図面の簡単な説明】
【0011】
【
図1】人工知能構造学習システムの構成例を示す機能ブロック図である。
【
図2】人工知能構造学習システムの全体的な処理例を示す概念図である。
【
図3】人工知能構造学習システムの全体処理を例示するフローチャートである。
【
図4】人工知能構造自動生成処理を例示する第1のフローチャートである。
【
図5】人工知能構造自動生成処理を例示する第2のフローチャートである。
【
図6】既存の人工知能構造にノードを追加するパターンを例示する、第1の概念図である。
【
図7】既存の人工知能構造にノードを追加するパターンを例示する、第2の概念図である。
【
図8】既存の人工知能構造にノードを追加するパターンを例示する、第3の概念図である。
【
図9】既存の人工知能構造にノードを追加するパターンを例示する、第4の概念図である。
【
図10】既存の人工知能構造にノードを追加するパターンを例示する、第5の概念図である。
【
図11】既存の人工知能構造にノードを追加するパターンを例示する、第6の概念図である。
【
図12】既存の人工知能構造にノードを追加するパターンを例示する、第7の概念図である。
【
図13】任意の2つのノード間に他のノードを追加する方法を示す図である。
【
図15】
図14における入力(I)から出力(O)への経路を示す図である。
【
図17】
図16における入力(I)から出力(O)への経路を示す図である。
【
図18】複数のノードからの出力を一つに合体させる方法を示す概念図である。
【
図19】ROC曲線と、その下部分の面積であるAUC値を例示するグラフである。
【
図20】人工知能構造ごとの評価指標を管理する管理テーブルを例示する概念図である。
【
図21】サンプルデータの判定結果をヒストグラムで例示するグラフである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
【0014】
図1は、人工知能構造学習システムの構成例を示す機能ブロック図である。
【0015】
人工知能構造学習システム1は、処理装置11と、主記憶装置12と、補助記憶装置13と、通信装置14と、入力装置15と、出力装置16とを備える。処理装置11と、主記憶装置12と、補助記憶装置13と、通信装置14と、入力装置15と、出力装置16は、バス17を介して互いに通信可能に接続されている。
【0016】
処理装置11は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)等で構成される。処理装置11が、主記憶装置12または補助記憶装置13に格納されている各種プログラムを読み出して実行することにより、人工知能構造学習システム1の様々な機能が実現される。
【0017】
主記憶装置12はプログラムやデータを記憶する装置であり、例えば、Random Access Memory(RAM)、Read Only Memory(ROM)、不揮発性半導体メモリ(Non-Volatile RAM(NVRAM))である。
【0018】
補助記憶装置13は、例えば、Hard Disc Drive(HDD)、Solid State Drive(SSD)、ストレージシステム、Integrated Circuit(IC)カード、Secure Digital(SD)メモリカードや光学式記録媒体(Compact Disc(CD)、Digital Versatile Disc(DVD)など)などの記録媒体の読み取りおよび書き込み装置、クラウドサーバの記憶領域である。
【0019】
処理装置11のキャッシュやレジスタ、主記憶装置12、および補助記憶装置13を併せてメモリと表現することがある。必要なプログラムおよびデータがメモリにロードされて実行されることにより、人工知能構造学習システム1における情報処理が実行される。また、メモリには後述の第1評価指標閾値や第2評価指標差分閾値などの各種の閾値が保存されていてよい。メモリには、プログラム、データベース、データセットなどが保存されていてもよい。
【0020】
通信装置14はLocal Area Network(LAN)やInternetなどの通信手段を介した他の装置との間の通信を実現する有線または無線方式の通信インターフェースであり、例えば、Network Interface Card(NIC)、無線通信モジュール、Universal Serial Interface(USB)モジュール、シリアル通信モジュールである。
【0021】
入力装置15はユーザからの入力を受け付ける装置である。入力装置15は、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置である。
【0022】
出力装置16はユーザに処理経過や処理結果などの各種情報を提供する装置である。出力装置16は、例えば、画面表示装置(Liquid Crystal Display(LCD)、Head Mounted Display(HMD)など)、音声出力装置、印字装置等である。
【0023】
なお、人工知能構造学習システム1が通信装置14を介して、他の装置との間で情報の入力や出力を行う構成としてもよい。
【0024】
図2は、人工知能構造学習システム1の全体的な処理例を示す概念図である。
【0025】
人工知能構造学習システム1は、人工知能構造データベース100と、人工知能構造構成部品データベース106とを有する。これらのデータベースは、主記憶装置12または補助記憶装置13に保存されていてもよく、人工知能構造学習システム1と通信装置14を介して通信可能に接続された外部の記憶装置に保存されていてもよい。
【0026】
人工知能構造モデルとは、例えばニューラルネットワークのモデル(NNモデル)などを意味する。この場合、人工知能構造とはニューラルネットワークに対応する。人工知能構造モデルは、所定の人工知能構造を有する。
図2においては、モデル1からモデルnまでのn個の人工知能構造モデルが人工知能構造データベース100に保存されている。なお、人工知能構造データベース100には新たな人工知能構造が追加登録されてもよい。
【0027】
人工知能構造構成部品とは、人工知能構造を構成する部品を意味する。すなわち、人工知能構造の一部を構成し得る構成部品を意味する。1つ以上の人工知能構造構成部品を組み合わせたものが人工知能構造となる。人工知能構造は人工知能構造データベース100に保存される。一方、人工知能構造構成部品は人工知能構造構成部品データベース106に保存される。
【0028】
人工知能構造構成部品(モジュール)106bは、1つ以上のノード106aをエッジ(部品と部品を接続する有向矢印)で結んで組み合わせることで構成される。ここでいうノードには関数などが含まれる。ノード106aは例えば、3×3 convolution、3×1 convolution、3×3 max pooling、3×3 average poolingなどである。ただしこれらには限られない。人工知能構造構成部品そのもの自体が、複数のノードを組み合わせたモジュールであってもよい。
【0029】
人工知能構造構成部品データベース106は、ノード106aと、人工知能構造構成部品(モジュール)106bとを保存する。なお、人工知能構造構成部品データベース106には新たなノードや新たな人工知能構造部品が追加登録されてもよい。
【0030】
訓練用データセット101、検証用データセット102、テスト用データセット103、および判定用データ(未知のデータ)111が、機械学習のために準備される。訓練用データセット101、検証用データセット102、テスト用データセット103、および判定用データ(未知のデータ)111は主記憶装置12または補助記憶装置13に保存されていてよく、人工知能構造学習システム1と通信装置14を介して通信可能に接続された外部の記憶装置に保存されていてもよい。
【0031】
人工知能構造学習システム1は、人工知能構造モデル104を人工知能構造データベース100からロードする。処理装置11は、訓練用データセット101を人工知能構造モデル104に対して用いて機械学習を行う。処理装置11は、検証用データセット102を人工知能構造モデル104に対して用いて学習の検証を行う。処理装置11は、テスト用データセット103を人工知能構造モデル104に対して用いて機械学習のテストを行う。なお、訓練用データセット101、検証用データセット102、およびテスト用データセット103は、データの収集および処理が行われたデータセットを自由に分割して用いることにしてもよい。
【0032】
図1を併せて参照する。処理装置11は、主記憶装置12または補助記憶装置13に格納されているプログラムを読み出して実行することにより、判定部105、人工知能構造自動生成部107、人工知能構造整合性チェック部108、人工知能構造入出力次元調整部109、および人工知能構造構成部品データベース登録追加部110を実現する。
【0033】
判定部105は、人工知能構造モデル104に訓練用データセット101および検証用データセット102を入力し、学習112を行うことで出力される学習済人工知能モデル113と該学習モデルの性能等を表す第2評価指標114および、該学習モデルに判定用データ(未知のデータ)111を入力した結果得られる第1評価指標115に基づいて種々の判定を行う。判定には、例えば判定用データ(未知のデータ)ごとに算定される第1評価指標115および、人工知能構造モデル104を学習112する際に算出された第2評価指標114と、予め定められたそれぞれの評価指標の閾値との間の比較などによって行われる。第1評価指標および第2評価指標と各々の閾値との比較は独立して行ってもよいし、双方の積に対する閾値としても構わない。ここで、第1評価指標115は、判定用データ(未知のデータ)ごとに算定される指標であり、例えば、確度(Probality)やそれ以外には、クラスター分析のユークリッド空間におけるクラスター重心(中心)からの距離なども指標となりうる。第2評価指標114については後述する。
【0034】
人工知能構造自動生成部107は、人工知能構造構成部品データベース106に保存された人工知能構造構成部品を人工知能構造モデル104に追加する等して、新たな人工知能構造を自動生成する。人工知能構造の自動生成処理の例については、
図4以降を参照して後述する。
【0035】
人工知能構造整合性チェック部108は、自動生成された人工知能構造が、以前に試した人工知能構造と同じではないことをチェックする。人工知能構造は人工知能構造構成部品(ノード)を有向辺(エッジ)で接続した有向非巡回グラフ(DAG:Directed Acyclic Graph)により表すことができる。人工知能構造整合性チェック部108は、前記処理装置は、人工知能構造モデルに人工知能構造構成部品を追加して得られた人工知能構造をトポロジカルソートし、過去に試行した人工知能構造のいずれかと同じ構造であった場合にはスキップし、そうでなかった場合に第2評価指標による判定を行う。
【0036】
トポロジカルソートとは、各ノードを順序付けして、どのノードもその出力辺の先のノードより前にくるように並べることを意味する。トポロジカルソートにより、複雑なグラフ構造を一意な形式に変換することができる。これにより、過去に同じ構造を試しているか否かを確認することができる。
【0037】
また、人工知能構造整合性チェック部108は、結合対象となる人工知能構造と人工知能構造構成部品との間の整合性をチェックする機能をさらに有していてよい。人工知能構造モデルに人工知能構造構成部品を追加する際、入力データの形式や、結合先の出力データの形式と不整合があるとうまく追加ができない場合がある。そのため人工知能構造整合性チェック部108は、問題なく人工知能構造構成部品を追加可能かどうか、入出力データの整合性の観点からチェックする機能である。
【0038】
人工知能構造入出力次元調整部109は、人工知能構造モデルに人工知能構造構成部品を追加するとき、人工知能構造構成部品の入力と該入力に接続される人工知能構造モデルの出力とのデータ形式が整合しなければ当該出力と当該入力とのデータ形式を整合させ、人工知能構造構成部品の出力と該出力に接続される人工知能構造モデルの入力とのデータ形式が整合しなければ当該入力と当該出力とのデータ形式を整合させる。
【0039】
人工知能構造入出力次元調整部109は、人工知能構造構成部品を追加する際、入力または出力のデータ形式を変形することで、形や層の深さが異なるデータでも処理できるように調整する。調整方法ついては、離散コサイン変換による圧縮、畳み込み、プーリングなどがあるが、これらには限られない。
【0040】
人工知能構造構成部品データベース登録追加部110は、人工知能構造において複数の人工知能構造構成部品(ノード)で構成される部分(モジュール)が有る場合の第2評価指標が、該部分(モジュール)が無い場合の第2評価指標よりも、所定の第2評価指標差分閾値以上良い値であれば、前記部分を人工知能構造構成部品(モジュール)として人工知能構造構成部品データベースに新たに追加登録する。
【0041】
第2評価指標は、人工知能モデルごとに算定されるその能力を示す指標であり、その具体例については後述する。
【0042】
人工知能構造構成部品データベース登録追加部110は、新たにノード(部品)またはエッジ(部品と部品を接続する有向矢印)を追加した後の人工知能構造についての第2評価指標(σn)が、当該ノードまたはエッジを追加する前の既学習済み人工知能構造の第2評価指標(σn-1)と比較し、一定の第2評価指標の差の値(σΔ)を超える向上(σΔ<σn-σn-1)が得られた場合、追加したノードとその前または後ろのノードとの組み合わせ、または、追加したエッジとその両端のノードとの組み合わせを、新たなモジュールとして切り出し、人工知能構造構成部品データベースに追加する。ただし、モジュールが既に登録済みの別のモジュールと同等の場合は、重複登録を避けるため追加登録は行わない。人工知能構造構成部品データベースに追加されたモジュールは、他の人工知能構造構成部品と同様、新たな人工知能構造を生成するための部品として使用される。
【0043】
図3は、人工知能構造学習システム1の全体処理を例示するフローチャートである。この全体処理においては、該人工知能構造を採用するかどうかの判断を、該判定用データ(未知のデータ)の第1評価指標で判断している例である。
【0044】
また、人工知能構造データベース100には、人工知能構造モデルに対応する学習済人工知能モデルにて取得された第2評価指標と、該学習済人工知能モデルにて第2評価指標が算出されるのに要する判定時間の平均値と、が格納されていてよい。
【0045】
処理装置11は、判定用データ(未知のデータ)を受け付ける(S101)。処理装置11は、人工知能構造データベース100から人工知能構造モデルを1つ選択する(S102)。なお、処理装置11は、人工知能構造データベース100から第2評価指標(σ)が第2評価指標閾値(σ1)より大きなモデルの中で、階層(またはノード)数が少ない人工知能構造モデルまたは、第2評価指標が算出されるのに要する判定時間の平均値が少ないモデルから選択し、徐々に階層(またはノード)数がより多いモデルまたは、第2評価指標が算出されるのに要する判定時間の平均値がより大きなモデルを順次選択してよい。これにより、できるだけ短時間で所望の評価指標が得られる人工知能構造を探索することができる。
【0046】
処理装置11は、ロードされた人工知能構造モデルについて該判定用データ(未知のデータ)を判定した際の第1評価指標を算出する。処理装置11は、第1評価指標(ρ)が第1評価指標閾値(ρC)以上であるか否かを判定する(S103)。評価指標およびその閾値は、メモリに予め記憶されていてよい。
【0047】
第1評価指標が閾値以上である場合(S103:YES)、ステップS107に処理が遷移する。第1評価指標が閾値以上ではない場合(S103:NO)、ステップS104に処理が遷移する。
【0048】
ステップS104において処理装置11は、全ての人工知能構造モデルを試行したか否かを判定する。全ての人工知能構造モデルを試行済みである場合(S104:YES)、ステップS105へと処理が遷移する。 全ての人工知能構造モデルを試行済みではない場合(S104:NO)、ステップS102へと処理が戻る。
【0049】
ステップS105において処理装置11は、第1評価指標が最も高い初期の人工知能構造モデルを初期モデルNN0に決定する。
【0050】
ステップS106において処理装置11は、人工知能構造自動生成処理を実行する。人工知能構造自動生成処理の詳細については後述する。
【0051】
ステップS107において処理装置11は、第1評価指標が第1評価指標閾値以上となった当該人工知能構造モデルに対応する学習済人工知能モデルを採用する。
【0052】
図4は、人工知能構造自動生成処理を例示する第1のフローチャートである。この人工知能構造自動生成処理においては、第1評価指標および第2評価指標としてそれぞれ確度、精度を採用している。
【0053】
まず、処理装置11は、データセット101、102、103を用いて人工知能構造モデル104に対して機械学習を行う(S201)。この機械学習後の人工知能構造モデルを、学習済みモデル104aとする。
【0054】
処理装置11は、判定用データ(未知のデータ)111を学習済みモデル104aに入力する。処理装置11は、学習済みモデル104aからの出力データに基づいて第1評価指標ρを算出する。処理装置11は、第1評価指標ρが所定の第1評価指標閾値ρC以上であるか否か、第2評価指標σが第2評価指標閾値σC以上であるか否かを判定する(S202)。第1評価指標ρが所定の第1評価指標閾値ρC以上であり、かつ第2評価指標σが所定の第2評価指標閾値σC以上である場合は、ステップS203に処理が遷移する。ステップS203では、ステップS202の判定結果が出力される。これにより、人工知能構造モデルに対応する学習済人工知能モデルである、この時点の学習済みモデル104aを採用することになる。この時、第1評価指標と第2評価指標を独立に閾値と比較してもよいが、第1評価指標と第2評価指標の積(ρ・σ)を各々の閾値の積(ρC・σC)と比較してもよい。
【0055】
ステップS202において第1評価指標ρが所定の第1評価指標閾値ρC未満であるか、第2評価指標σが第2評価指標閾値σC未満であった場合は、一つ前(n番目)の人工知能構造モデルに新たな構造(ノード)を追加して、(n+1番目)の人工知能構造モデルを生成する。そして、処理装置11は、生成された(n+1番目)の人工知能構造モデルに対して、データセット101、102、103から再度データを読み込んで、機械学習を行う。この機械学習後の人工知能構造モデルを、学習済みモデル104bとする。
【0056】
なお、処理装置11は、(n+1番目)の人工知能構造モデル、すなわち学習済人工知能モデルに対応する人工知能構造モデルを、人工知能構造データベース100に登録してよい。
【0057】
処理装置11は、判定用データ(未知のデータ)111を学習済みモデル104bに入力する。処理装置11は、学習済みモデル104bからの出力データに基づいて第1評価指標ρを算出する。処理装置11は、第1評価指標ρが所定の第1評価指標閾値ρC以上であるか否か、第2評価指標σが第2評価指標閾値σC以上であるか否かを判定する(S206)。第1評価指標ρが所定の第1評価指標閾値ρC以上であり、かつ第2評価指標σが所定の第2評価指標閾値σC以上である場合は、ステップS203に処理が遷移する。ステップS203では、ステップS206の判定結果が出力される。これにより、人工知能構造モデルに対応する学習済人工知能モデルである、この時点の学習済みモデル104bを採用することになる。
【0058】
ステップS206において、第1評価指標ρが所定の第1評価指標閾値ρC未満であるか、第2評価指標σが第2評価指標閾値σC未満である場合は、上記と同様にステップS204~S206の処理を繰り返す。
【0059】
なお、上記では第1評価指標が確度であったり、第2評価指標が精度であったりすることも可能だが、第1評価指標および/または第2評価指標は動的に変更されてもよい。例えば、処理装置11は、ユーザから予測問題の性質に関する情報を取得し、前記情報に基づいて第1評価指標および/または第2評価指標を設定してもよい。予測問題の性質に関する情報とは、学習済みモデルを用いて何をどのように予測したいのかを示す情報である。例えば学習済みモデルを食品検査や癌検診に用いる場合、予測対象は「食品の不具合」や「癌の有無」などであり、見落とすことがないよう予測すべきであるという特性がある問題である。一方、例えば、鉱脈の発見問題などでは、可能性のある個所をすべて検出していては掘削費用が膨大となってしまうため、本当に可能性の高い個所のみを判定することが求められる。こういった問題ごとの特性に応じて評価指標を動的に変更することも可能とする。F値も単なるF値ではなく、重み付きF値(Weighted F-measure)を採用してもよい。
【0060】
また、第1評価指標が、予測対象の判定用データ(未知のデータ)に対する予測の確度である場合に、処理装置11は、人工知能構造データベース100から選択した人工知能構造モデルに対応する学習済人工知能モデルによる判定用データ(未知のデータ)に対する予測の確度が第1評価指標閾値以上ならば、該学習済人工知能モデルを予測対象に対する予測処理に採用してよい。
【0061】
図5は、人工知能構造自動生成処理を例示する第2のフローチャートである。この人工知能構造自動生成処理においては、第2評価指標としてF値を採用している。
【0062】
まず、F値について説明する。F値(F-measure)は、再現率(recall)と適合率(precision)の調和平均を意味する。F値の計算式は下記の通りである。
【0063】
F=2・Recall・Precision/(Recall+Precision)
【0064】
F値は、テスト用データセット103を用いて算出される。
【0065】
ステップS301において処理装置11は、初期モデル(NN0)を人工知能構造データベース100からロードして、初期モデル(NN0)を用いて機械学習を行う。処理装置11は、学習済みの初期モデル(NN0)にテスト用データセット103を入力し、その出力値に基づいてF値を算出する。このF値をF0_maxとする。以下、n=1~、m=1~kで学習とF値での評価を繰り返す。
【0066】
ステップS302において処理装置11は、人工知能構造構成部品データベース106からm個目のノードを取得し、モデルNN(n-1)のn番目に追加する。この追加後のモデルをNNnモデルとする。
【0067】
ステップS303において処理装置11は、(n-1)*k+m番目のモデルNN(n-1)*k+mを用いて機械学習を行う。処理装置11は、学習済みのモデルNN(n-1)*k+mにテスト用データセット103を入力し、その出力値に基づいてF値を算出する。このF値をF(n-1)*k+mとする。
【0068】
ステップS304において処理装置11は、Fn_maxとF(n-1)*k+mとを比較する。Fn_max<F(n-1)*k+mである場合(S304:YES)、ステップS305へと処理が遷移する。Fn_max≧F(n-1)*k+mである場合(S304:NO)、ステップS306へと処理が遷移する。
【0069】
ステップS305において処理装置11は、Fn_maxの値を更新する。より具体的には、まず、この時点のFn_maxをFn_max_oldへと退避する。Fn_maxの値をF(n-1)*k+mの値に更新する。そして処理装置11は、モデルNNn_maxはNNn_max_oldモデルとして保存する。モデルNNnをモデルNNn_maxとして保存する。
【0070】
ステップS306において処理装置11は、mの値を1つ増加させる。
【0071】
ステップS307において処理装置11は、m>kであるか否かを判定する。m>kである場合(S307:YES)、ステップS308へと処理が遷移する。m>kではない場合(S307:NO)、ステップS302へと処理が戻る。
【0072】
ステップS308において処理装置11は、Fn_max>F(n-1)_maxであるか否かを判定する。Fn_max>F(n-1)_maxである場合(S308:YES)、ステップS309に処理が遷移する。Fn_max≦F(n-1)_maxである場合(S308:NO)、ステップS310へと処理が遷移する。
【0073】
ステップS309において処理装置11は、mの値を1にする。また、nの値を1つ増加させる。そしてステップS302へと処理が戻る。
【0074】
ステップS310においては、一つ浅いモデル(n-1)に戻る。F値が次に良かったモデル、すなわちF(n-1)_次点のモデルNN(n-1)について、ステップS302からS309の処理を繰り返す。n=1までさかのぼっても改善しなければ処理終了とする。
【0075】
なお、より浅いモデル(n-1)に戻った結果、F値が一定値以上改善したモデルが存在する場合、そのモデルをモジュール化して人工知能構造構成部品データベース106に登録してよい。そして、当該モジュールを加えたうえで人工知能構造自動生成処理を再実行してよい。
【0076】
図6は、既存の人工知能構造にノードを追加するパターンを例示する、第1の概念図である。
【0077】
図中、(I)はINPUTすなわち入力データを意味している。入力データは例えば数値情報の配列である。(O)はOUTPUTすなわち出力データを意味している。出力データは例えば数値情報の配列である。入力と出力の間にあるノード(節)は、データを処理する関数であり、ノード同士はエッジ(枝)で結ばれる。エッジは、データの流れの上流・下流が分かるように矢印で表現されている。入力から出力までは、逆流したり、閉空間を形成し巡回したりしないような構造をとる。すなわち、入力から出力までは有向非巡回グラフを形成する。以上は、
図6から
図16まで同様であるので、説明の重複を回避する観点から、
図7以降についての同様の説明は省略する。
【0078】
ノードを追加する前の構造を参照番号AISa00が示している。ノード(1)を有する構造に、新しくノード(2)を追加する場合のパターンとして、AISa01からAISa05がある。AISa01およびAISa02はノード(2)を直列に追加するパターンを示している。AISa03からAISa05はノード(2)を並列に追加するパターンを示している。AISa01は、ノード(1)と出力の間にノード(2)を直列に追加するパターンを示している。AISa02は、入力とノード(1)の間にノード(2)を直列に追加する場合を示している。AISa03は、入力と出力の間にノード(2)を並列に追加するパターンを示している。AISa04は、入力とノード(1)の間にノード(2)を並列に追加するパターンを示している。AISa05は、ノード(1)と出力の間にノード(2)を並列に追加するパターンを示している。
【0079】
図7は、既存の人工知能構造にノードを追加するパターンを例示する、第2の概念図である。ノードを追加する前の構造を参照番号AISb00が示している。ノード(1)とノード(2)とを有する構造に、新しくノード(3)を直列に追加する場合のパターンとして、例えばAISb01からAISb03がある。AISb01は、ノード(2)と出力の間にノード(3)を直列に追加するパターンを示している。AISb02は、ノード(1)とノード(2)の間にノード(3)を直列に追加するパターンを示している。AISb03は、入力とノード(1)の間にノード(3)を直列に追加するパターンを示している。
【0080】
図8は、既存の人工知能構造にノードを追加するパターンを例示する、第3の概念図である。ノードを追加する前の構造を参照番号AISc00が示している。ノード(1)とノード(2)とが直列接続されている構造に、新しくノード(3)を並列に追加する場合のパターンとして、例えばAISc01がある。AISc01は、ノード(1)とノード(2)の間にノード(3)を並列に追加するパターンを示している。
【0081】
図9は、既存の人工知能構造にノードを追加するパターンを例示する、第4の概念図である。ノードを追加する前の構造を参照番号AISd00が示している。ノード(1)とノード(2)とノード(3)とが直列接続されている構造に、新しくノード(4)を並列に追加する場合のパターンとして、例えばAISd01からAISd03がある。AISd01は、ノード(1)とノード(2)の間にノード(4)を並列に追加するパターンを示している。AISd02は、ノード(1)とノード(3)の間にノード(4)を並列に追加するパターンを示している。AISd03は、ノード(2)とノード(3)の間にノード(4)を並列に追加するパターンを示している。
【0082】
図10は、既存の人工知能構造にノードを追加するパターンを例示する、第5の概念図である。ノードを追加する前の構造を参照番号AISe00が示している。ノード(1)とノード(2)とが直列接続され、ノード(1)とノード(2)とにノード(3)が並列に接続されている構造に、新しくノード(4)を並列に追加する場合のパターンとして、例えばAISe01からAISe03がある。AISe01は、ノード(1)とノード(2)の間にノード(4)を、ノード(3)と同様に並列に追加するパターンを示している。AISe02は、ノード(1)とノード(3)の間にノード(4)を並列に追加するパターンを示している。AISe03は、ノード(3)とノード(2)の間にノード(4)を並列に追加するパターンを示している。
【0083】
図10において、ノード(2)とノード(3)では、ノード(3)の方が情報の流れにおける上流にある。そのため、ノード(4)を追加する場合には、ノード(3)からノード(2)へと情報が流れる状態を維持するようにノード(4)を追加する必要がある。このように人工知能構造においては、データの流れが逆流して循環する流れができないようにコントロールする必要がある。こうして作られたネットワーク構造を有向非巡回グラフ構造(DAG構造)と呼ぶ。人工知能構造の場合、判定する結果の出力ノードに何の影響も与えないノードがあっても意味がない。そのため、すべてのノードは、入力から始まり、出力で終わるDAG構造の途中の構成要素として位置づけられることになる。
【0084】
図11は、既存の人工知能構造にノードを追加するパターンを例示する、第6の概念図である。ノードを追加する前の構造を参照番号AISf00が示している。ノード(1)とノード(2)とが直列接続され、ノード(1)とノード(2)とにノード(3)が並列に接続されている構造に、新しくノード(4)を並列に追加する場合のパターンとして、例えばAISf01からAISf05がある。AISf01は、ノード(2)と出力の間にノード(4)を直列に追加するパターンを示している。AISf02は、入力とノード(1)の間にノード(4)を直列に追加するパターンを示している。AISf03は、ノード(1)とノード(2)の間に、ノード(4)を直列に追加するパターンを示している。AISf04は、ノード(1)とノード(3)の間にノード(4)を直列に追加するパターンを示している。AISf05は、ノード(3)とノード(2)の間にノード(4)を直列に追加 (S4g05)することができる。
図11の例においても、DAGのルールを守るため、ノード(2)からノード(3)へ流れるようにノード(4)を追加することはしない。
【0085】
図12は、既存の人工知能構造にノードを追加するパターンを例示する、第7の概念図である。ノードを追加する前の構造を参照番号AISg00が示している。ノード(1)とノード(2)とが直列接続され、ノード(1)とノード(2)とにノード(3)およびノード(4)がそれぞれ並列に接続されている構造に、新しくノード(5)を追加する場合のパターンとして、例えばAISg01およびAISg02がある。この場合、ノード(3)とノード(4)との間には情報の流れにおける上流下流の関係がない。そのため、DAGのルールを守りつつ、ノード(3)とノード(4)の間にノード(5)を追加することができる。例えばAISg01は、ノード(3)、ノード(5)、ノード(4)の順に情報が流れるように、ノード(3)とノード(4)の間にノード(5)を追加するパターンを示している。例えばAISg02は、ノード(4)、ノード(5)、ノード(3)の順に情報が流れるように、ノード(3)とノード(4)の間にノード(5)を追加するパターンを示している。
【0086】
図6から
図12を参照して例示したように、人工知能構造は、有向非巡回グラフを構成するネットワーク構造となる。ここで、
図13を参照すると、上述のネットワーク構造における任意の2つのノード間に他のノードを追加する方法には大きく2通りがある。一つ目の方法は、任意のノードXおよびノードYの間に新たなノードZを直列に追加する方法である。参照符号AISh00およびAISh01に示されているように、ノードXとノードYとの間のエッジE01の部分にノードZを追加することにより、一つ目の方法が実現される。
【0087】
二つ目の方法は、ノードXとノードYの間に、新たなノードZを並列に接続する方法である。参照符号AISh02およびAISh03に示されているように、ノードXとノードYとの間のエッジの外側にノードZを追加することにより、二つ目の方法が実現される。
【0088】
ノードXとノードYに情報の流れについての上流、下流関係がある場合は、追加するノードZは、上流から下流に流れるようにノードZの追加を行う。一方、上流、下流関係がない場合には、ノードXからノードYに情報が流れるように間にノードZを追加するケースと、逆にノードYからノードXに情報が流れるように間にノードZを追加するケースの両方が考えられる。
【0089】
人工知能構造を変化させる方法としては、上述のようにノードを新たに追加する方法の他にも既存のノード間にエッジを新たに追加する方法も考えられる。
図14は、エッジの追加を示す第1の概念図である。入力(I)から出力(O)までがいくつかのノードとエッジで結ばれている状態において、例えば、ノード(2)とノード(5)の間にエッジを新規追加することで、新たな、人工知能構造を生成することができる。このように、任意のノードを2点選んで、その2点をエッジで結ぶことも、人工知能構造を変化させるバリエーションの一つとして考えられる。但し、接続する2つのノードの関係に、上流下流関係があるかないかを確認する必要がある。
【0090】
例えば、
図14において、ノード2とノード5との間に新たなエッジを追加することにより、人工知能構造を変化させることができる。ノード2とノード5とを新たなエッジで接続する方法には、破線で示されているように、ノード2からノード5へ向かうエッジE02と、ノード5からノード2へ向かうエッジE03の2種類が考えられる。
【0091】
図15は、
図14における入力(I)から出力(O)への経路を示す図である。経路中に、ノード2がノード5の下流に来るような経路も、ノード5がノード2の下流に来るような経路も存在していない。そのため上述のように、ノード2からノード5へ向かうエッジを追加することができ、ノード5からノード2へ向かうエッジを追加することもできる。
【0092】
図16は、エッジの追加を示す第2の概念図である。
図14と同様に、ノード(2)とノード(5)の間にエッジを新規追加することを考えた場合、ノード(2)からノード(5)へ向かうエッジE04を新規追加することは可能である。しかしながら、ノード(5)からノード(2)へ向かうエッジを追加することはできない。
【0093】
ここで、
図14と
図15とは、ノード(4)とノード(5)を繋ぐエッジの向きが異なる。
図17は、
図16における入力(I)から出力(O)への経路を示す図である。図に示されているように、ノード(5)がノード(2)の下流に来るような経路が存在する。そのため、もし仮にノード(5)からノード(2)に向かうエッジを新たに追加すると情報の流れが逆流することになり、巡回路を形成することになる。すなわち、ノード(5)からノード(2)に向かうエッジを新たに追加すると、有向非巡回グラフではなくなってしまう。よって上述のように、ノード(5)からノード(2)へ向かうエッジを追加することはできない。処理装置11は、エッジを追加する場合には、既存のネットワーク構造におけるノード間の上流下流の関係を示す情報を抽出し、この情報に基づいて適切な向きのエッジを新規追加することができる。
【0094】
図18は、複数のノードからの出力を一つに合体させる方法を示す概念図である。スキップコネクション等の理由で複数のノードの出力が一つに合体して次のノードへの入力となる場合があるが、合体させる方法として、データの各要素を加算または平均をとるadd型と、特定の次元で連結するConcatenate型がある。この二つの方法も人工知能構造を変化させる場合のバリエーションの一つと考えることができる。
【0095】
(第2評価指標)
ここで、第2評価指標について説明する。
【0096】
まず、第2評価指標の意義について説明する。本開示の技術においては、処理装置11が、人工知能構造モデル104にテスト用データセット103を入力し、人工知能構造モデル104から出力された情報に基づいて第2評価指標を算出する。処理装置11は、この第2評価指標がより良くなるように、人工知能構構成部品を追加するなどして人工知能構造を変化させることにより、より好適な人工知能構造を自動生成するものである。
【0097】
本開示の技術が採用し得る第2評価指標として、例えば精度やF値などがある。ただし、本開示の技術が採用し得る第2評価指標は精度やF値には限られない。以下、第2評価指標を構成する要素、または第2評価指標そのものについて例示する。
【0098】
TPR:真陽性率 (True Positive Rate)は、全てのPositiveのうち、実際にPositiveだったものを正しくPositiveと判定できた割合を意味する。再現率ともいう。
【0099】
FPR :偽陽性率 (False Positive Rate)は、全てのNegativeのうち、実際には Negativeだったが間違えてPositiveと判定した割合を意味する。
【0100】
TP(True Positive)は、ある事象に対してPositiveと予測したが、実際にもPositiveだったケースの数を意味する。
【0101】
FP(False Positive)は、ある事象に対してPositiveと予測したが、実際にはNegativeだったケースの数を意味する。
【0102】
FN(False Negative)は、ある事象に対してNegativeと予測したが、実際にはPositiveだったケースの数を意味する。
【0103】
TN(True Negative)は、ある事象に対してNegativeと予測したが、実際にもNegativeだったケースの数を意味する。
【0104】
処理装置11は、上記のような数に基づいて、どれだけ正確に予測できているかを示すAccuracy、どれだけ取りこぼしなく予測することができたかを示すRecall、および正と予測したものがどれだけ正しかったかを示すPrecisionなどを第2評価指標として計算する。また、処理装置11は、RecallとPrecisionの調和平均であるF値を第2評価指標として計算する。これらの第2評価指標の計算式は、下記の通りである。
【0105】
正解率:Accuracy=(TP+TN)/(TP+FP+FN+TN)
【0106】
適合率(精度):Precision=TP/(TP+FP)
【0107】
再現率:Recall=(TP/(TP+FN))
【0108】
F値:F-Measure=2(Precision*Recall)/(Precision+Recall)
【0109】
また、AUC値を第2評価指標として用いてもよい。AUCとはArea Under the Curve の略であり、ROC曲線の下部分の面積を意味する。
図19は、ROC曲線と、その下部分の面積であるAUC値を例示するグラフである。
【0110】
ROC曲線は、横軸にFPR、縦軸にTPRを取り、各試行に基づく値をプロットすることにより得られる曲線である。このROC曲線の下側の面積であるAUC値は、PositiveとNegativeにうまく分類できているほど1に近づき、ランダムな分類をしているとAUC値は0.5に近づく。つまり、AUC値が1に近いほど分類が優れていると評価できる。そのため処理装置11は、AUC値を第2評価指標として用いることができる。
【0111】
なお、AUC値はテスト用データセット103を用いて算出される。
【0112】
図20は、人工知能構造ごとの評価指標を管理する管理テーブルを例示する概念図である。管理テーブルはメモリに記憶される。管理テーブルが有する項目として、番号、人工知能構造を示すモデル情報、Time、TP、FN、FP、TN、Accuracy、Precision、Recall、F-Measure、ρ
1、AUCなどがある。ここで、Timeは、該人工知能構造(モデル)の平均判定時間、ρ
1は、
図21に示す通り、疑いなくPositiveと判定してかまわない確度の下限値を意味する。
【0113】
モデルは、人工知能構造自動生成部が生成した新たな人工知能構造であり、ノードとエッジで構成される有向非巡回グラフ(DAG)である。まったく同じ構造が管理テーブルに登録されることを排除するため、人工知能構造をキーにしてトポロジカルソートをかけ、順番に並べる。
【0114】
処理装置11は、人工知能構造に対して訓練用データセット101を用いて機械学習を行う。処理装置11は、検証用データセット102を用いて、TP、FN、FP、およびTNのそれぞれの値を算出する。処理装置11は、これらの値に基づいて、Accuracy、Precision、Recall、F-Measure、ρ1などの評価指標を計算する。処理装置11はさらに、モデルごとにROC曲線を生成し、AUC値を計算する。
【0115】
(変形例)
本開示の人工知能構造学習システム1における評価指標は、人工知能が判定する問題の性質によって、適時変更することが可能である。例えば、絶対に不良品を出してはいけない食品検査や、絶対に癌患者を見落としてはいけない癌検診のような問題の場合は、適合率を犠牲にしてでも再現率が最大になるように学習する必要がある。逆に、正解を絞り込む必要がある問題、例えば、鉱脈発掘場所候補選定調査などの場合は、再現率を犠牲にしても適合率を高める必要がある。さらには、再現率と適合率の両方がバランスよく高い水準である必要がある問題もある。結果的に正解率は高くても60%の確度でPositiveと判定されるより、判定の確度が99%と高く判定ができた方がうれしい問題もある。こういった問題の特性に応じて、学習する際の評価指標または、および評価指標閾値を変えることにより、問題の特性に合った最適な学習モデルを生成することができる。
【0116】
本開示の人工知能構造学習システム1は、問題の難易度に応じて、計算量が極力少なくて済むモデルを選択して判定を行う。これにより、システムの応答時間を速めるとともに、大量のデータ処理が必要な場合に、システム全体のスループットを上げることができる。
【0117】
上記を実現させるために、問題の難易度や必要な単位時間当たりの処理量などの条件に応じて、必要以上に層数の深いAIモデルを使った判定をせず、より計算スピードが速く済む適度な層数の浅さのAIモデルを使うようにする。例えば、
図20に示したように管理テーブルに、モデル毎の平均判定時間Timeや疑いなくPositiveと判定してかまわない確度の下限値ρ
1などの項目を、記載項目しておく。これにより処理装置は例えば、層数の浅いモデルであってもρが一定の値ρ
1以上を確保できるモデルがある場合、そのモデルによる判定を直ちに採用する。ρが一定の値ρ
1以上を確保できなくても、第1評価指標閾値ρ
C以上を確保できるモデルがある場合、その中から、最も平均判定時間Timeが少ないモデルを採用して判定することができる。万が一判定用データ(未知のデータ)の判定が難しく判定確度ρが一定値ρ
C以上を満たさない場合、処理装置11は、より層数の深いAIモデルで確度ρが一定の数値ρ
Cを超えるまで再度判定を行う。すべての登録済みモデルで判定しても充分な確度ρ
Cを確保できなかった場合は、モデルそのものを変更する動的学習プロセスに進む。以上のような処理を行うことにより、単に時間内に処理しなければならない判定問題については、層数の浅い簡易なモデルで判定を行い、イレギュラーなケースだけ再判定や再学習をするだけで済む。そのため、人工知能構造学習システム1における全体のスループットを向上させることができる。ここでρ
Cは、ρ
1と等しいか、ρ
1以下の値を設定する。設定方法としては、例えば、Negativeと判定される累積の可能性が1%未満とか3%未満とか、問題特性に応じた許容可能な範囲でその確度を設定する。ρ
Cもρ
1と同様モデルごとに動的に変更することもできる。
【0118】
また、
図20に示した管理テーブルにおいて層数が深く精度の高いモデルが複数存在した場合、学習のレベルがどちらも深く判定時間も同程度ならば、処理装置11は確度ρのより高いモデルを採用し、判定に用いる。
【0119】
同様に、
図20に示した管理テーブルにおいて、学習のレベルが同程度でかつ、判定確度(ρ)も同程度の高さのモデルが複数存在した場合、処理装置11はより評価指標の値が高いモデルを採用し、判定に用いる。
【0120】
上記のような、処理装置11によるモデルの選定は、問題の難易度や性質に応じて行われる。例えば複数の写真の中から犬の写真を当てる問題の場合、問題の難易度が比較的低いので、処理装置11は学習のレベルが浅いモデルを選択して判定を行ってよい。一方、犬の写真だが、犬種を答える問題の場合、問題の難易度がより高いので、処理装置11は学習のレベルが深いモデルを選択して判定を行ってよい。同様に医療用の画像から、患部が癌化しているかどうかを判定する問題の場合、問題の難易度が高いため、学習のレベルが深いモデルを選択して判定を行う必要がある。
【0121】
人工知能を用いて判定を行う場合、単に1件だけ処理すればよいというわけではなく、単位時間に複数の問題を処理しなければならないようなケースがある。このような場合に処理装置11は、当該問題の難易度、性質(適合性優先か再現性優先かなど)、確度として許容できる閾値などの条件に応じて、モデルの選定基準を動的に変更する。これにより、ユーザにとって最適な処理時間と最適な判定結果を得ることができる。
【0122】
なお、処理時間が短くても、判定結果に満足のいく精度が出ない場合には、処理装置11は動的により深く学習したモデルを選び直すか、人工知能構造そのものを自動学習し直すプロセスへ進む。
【0123】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、本実施形態には以下に示す事項が含まれている。ただし、本実施形態に含まれる事項が以下に示すものに限定されることはない。
【0124】
以上のように、人工知能構造学習システムが記憶装置12、13と、処理装置11とを有する。記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベース100と、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベース106と、訓練用データセット101と、を記憶する。処理装置は、人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用する。処理装置は、第1評価指標が第1評価指標閾値以上である人工知能構造モデルが人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して訓練用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを人工知能構造データベースに登録するともに、第2評価指標が人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。
【0125】
記憶装置と処理装置とを有する装置による、人工知能構造学習方法である。記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、訓練用データセットと、を記憶している。処理装置が、人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用する。処理装置が、第1評価指標が第1評価指標閾値以上である人工知能構造モデルが人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して訓練用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを人工知能構造データベースに登録するともに、第2評価指標が人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。
【0126】
記憶装置と処理装置とを有する装置に人工知能構造を学習させるプログラムである。記憶装置は、所定の人工知能構造を持った人工知能構造モデルが格納された人工知能構造データベースと、人工知能構造の一部を構成し得る人工知能構造構成部品が格納された人工知能構造構成部品データベースと、訓練用データセットと、を記憶している。プログラムは、処理装置によって実行された場合に、人工知能構造データベースから順次、人工知能構造モデルを選択し、該人工知能構造モデルについての第1評価指標を算出し、該第1評価指標が所定の第1評価指標閾値以上である人工知能構造モデルがあれば、該人工知能構造モデルに対応する学習済人工知能モデルを採用する。プログラムは、処理装置によって実行された場合に、第1評価指標が第1評価指標閾値以上である人工知能構造モデルが人工知能構造データベースになければ、いずれかの人工知能構造モデルを基にして、人工知能構造構成部品データベースから順次選択した人工知能構造構成部品を追加可能な人工知能構造の箇所に順次追加した人工知能構造モデルを生成し、生成した当該人工知能構造モデルに対して訓練用データセットを用いた学習を行って学習済人工知能モデルを生成して、該学習済人工知能モデルに対応する人工知能構造モデルを人工知能構造データベースに登録するともに、第2評価指標が人工知能構造データベースに登録された他のモデルよりも良い値でありかつ、所定の第2評価指標閾値以上である学習済人工知能モデルが生成されたら、該学習済人工知能モデルを採用する。
【0127】
上記のように、人工知能構造データベースと人工知能構造構成部品データベースを準備し、人工知能構造データベースに所望の性能が得られる人工知能構造モデルがあればそれを採用し、所望の性能が得られる人工知能構造モデルがなければ、いずれかの人工知能構造に対して人工知能構造構成部品を追加した人工知能構造モデルを生成して、人工知能構造データべースに登録するとともに、所望の性能が得られる学習済人工知能モデルが得られたらそれを採用する。これにより、所望の性能が得られる好適な人工知能構造の人工知能構造モデルおよび学習済人工知能モデルの生成が可能になる。その際、人工知能構造データベースに所望の性能が得られる人工知能構造モデルがあればそれを採用し、なければ人工知能構造構成部品を追加して所望の性能が得られる人工知能構造モデルを生成するので、効率よく好適な人工知能モデルを生成することができる。また、生成した新たな人工知能構造が人工知能構造データベースに蓄積されるので、所望の性能が得られる可能性のある人工知能構造が人工知能構造データベースに増え、好適な人工知能構造の探索が更に効率化されていく。
【0128】
処理装置は、人工知能構造において複数の人工知能構造構成部品で構成される部分が有る場合の第2評価指標が、該部分が無い場合の第2評価指標よりも、所定の第2評価指標差分閾値以上良い値であれば、部分を人工知能構造構成部品として人工知能構造構成部品データベースに登録する。これにより、性能が大きく向上することが期待できる部分が人工知能構造構成部品としてデータベースに登録されるので、その後、新たな人工知能構造を生成するときに効率よく性能を向上できる。
【0129】
処理装置は、ユーザから予測問題の性質に関する情報を取得し、情報に基づいて第1評価指標および/または第2評価指標を設定する。これにより、予測対象の特性に応じた好適な評価指標を容易に設定することができる。
【0130】
人工知能構造モデルはニューラルネットワークであり、処理装置は、人工知能構造データベースにおける第2評価指標が所定の第2評価指標閾値以上の人工知能構造モデルの中から、ノードの階層数が少ない人工知能構造モデルから順次選択する。これにより、できるだけ単純な構造で所望の性能が得られるニューラルネットワークを探索することができる。
【0131】
第1評価指標が、予測対象の未知のデータである判定用データに対する予測の結果の確度または確度を代替する指標であり、処理装置は、人工知能構造データベースから選択した人工知能構造モデルに対応する学習済人工知能モデルによる判定用データに対する予測の結果の確度または確度を代替する指標の値が第1評価指標閾値以上ならば、該学習済人工知能モデルを予測対象に対する予測処理に採用する。これにより、学習済人工知能モデルにより所望の性能が得られる場合には学習処理を行うことなく、好適な人工知能構造の学習済人工知能モデルを採用することができる。
【0132】
人工知能構造データベースには、人工知能構造モデルに対応する学習済人工知能モデルにて取得された第1評価指標の平均値と、該学習済人工知能モデルにて第2評価指標が算出されるのに要する判定時間の平均値と、が更に格納されている。処理装置は、第1評価指標の平均値が一定値以上である人工知能構造モデルの中で、判定時間の平均値が短い方から順次選択する。これにより、できるだけ短時間で所望の評価指標が得られる人工知能構造を探索することができる。
【0133】
記憶装置は、テスト用データセット103を更に記憶しており、第2評価指標がテスト用データセットを用いて算出される、予測の性能を図る指標であり、F値以外に、重み付きF値、AUC値、正解率、適合率(精度)、再現率などが考えられる。人工知能構造自動生成部によって生成された人工知能構造モデル毎に、第2評価指標をテスト用データセットを用いて導き出し評価することで、所望の性能が得られる人工知能構造モデルを取得することができる。
【0134】
人工知能構造は人工知能構造構成部品を有向辺で接続した有向非巡回グラフにより表すことができる。処理装置は、人工知能構造モデルに人工知能構造構成部品を追加して得られた人工知能構造をトポロジカルソートし、過去に試行した人工知能構造のいずれかと同じ構造であった場合にはスキップし、そうでなかった場合に第2評価指標による判定を行う。これにより、実質的に同じ人工知能構造を重複して試行するのを防止し、効率よく好適な人工知能モデルを生成することができる。
【0135】
人工知能構造は人工知能構造構成部品を有向辺で接続した構造である。処理装置は、人工知能構造モデルに人工知能構造構成部品を追加するとき、人工知能構造構成部品の入力と該入力に接続される人工知能構造モデルの出力とのデータ形式が整合しなければ当該出力と当該入力とのデータ形式を整合させる。処理装置は、人工知能構造構成部品の出力と該出力に接続される人工知能構造モデルの入力とのデータ形式が整合しなければ当該入力と当該出力とのデータ形式を整合させる。これにより、人工知能構造構成部品を支障なく人工知能構造モデルに追加することができる。
【符号の説明】
【0136】
1…人工知能構造学習システム、11…処理装置、12…記憶装置、12…主記憶装置、13…補助記憶装置、14…通信装置、15…入力装置、16…出力装置、17…バス、100…人工知能構造データベース、101…訓練用データセット、102…検証用データセット、103…テスト用データセット、104…人工知能構造モデル、105…判定部、106…人工知能構造構成部品データベース、107…人工知能構造自動生成部、108…人工知能構造整合性チェック部、109…人工知能構造入出力次元調整部、110…人工知能構造構成部品データベース登録追加部、111…判定用データ(未知のデータ)、112…学習、113…学習済人工知能モデル、114…第2評価指標、115…第1評価指標