(57)【要約】【課題】環境に応じたネットワーク構造をより効率的に探索する。【解決手段】本開示によれば、プロセッサが、一のニューラルネットワークからネットワーク構造の異なる別のニューラルネットワークを生成することと、生成された前記別のニューラルネットワークの評価結果が、前記一のニューラルネットワークの評価結果を上回る場合、前記別のニューラルネットワークをパレート最適解として更新することと、を含む、情報処理方法が提供される。【選択図】図９
2019175513.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが、一のニューラルネットワークからネットワーク構造の異なる別のニューラルネットワークを生成することと、
生成された前記別のニューラルネットワークの評価結果が、前記一のニューラルネットワークの評価結果を上回る場合、前記別のニューラルネットワークをパレート最適解として更新することと、
を含む、
情報処理方法。
【請求項２】
前記評価結果は、演算量または誤差のうち少なくともいずれか一方を含み、
前記パレート最適解として更新することは、前記演算量または誤差のいずれか一方を小さくすることをさらに含む、
請求項１に記載の情報処理方法。
【請求項３】
前記別のニューラルネットワークを生成することは、遺伝的操作により前記別のニューラルネットワークを生成すること、をさらに含み、
前記遺伝的操作は、突然変異または交叉のうち少なくとも一方を含む、
請求項１に記載の情報処理方法。
【請求項４】
前記パレート最適解として更新することは、事前の誤差予測に基づいて取得した別のニューラルネットワークの評価結果と前記一のニューラルネットワークの評価結果とを比較すること、をさらに含む、
請求項１に記載の情報処理方法。
【請求項５】
前記パレート最適解として更新された前記別のニューラルネットワークを、前記一のニューラルネットワークとして新たな別のニューラルネットワークを生成すること、
をさらに含む、
請求項１に記載の情報処理方法。
【請求項６】
ユーザによるニューラルネットワークの指定を受け付ける入力部と、
評価済のニューラルネットワークに係るパレート最適解の提示を制御する制御部と、
を備え、
前記制御部は、前記ユーザにより指定されたニューラルネットワークから生成された別のニューラルネットワークの評価結果に基づいて更新されるパレート最適解を提示する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
近年、脳神経系の仕組みを模したニューラルネットワークが注目されている。他方、複数の候補の中から最適解を探索するための種々の手法が提案されている。例えば、特許文献１には、遺伝的アルゴリズムを用いて対象問題に対する解を求める情報処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４８２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の情報処理方法は、ニューラルネットワークに特有のレイヤー構成やパラメータを考慮していないため、ニューラルネットワークに係るネットワーク構造の探索にそのまま適用することは困難である。
【０００５】
そこで、本開示では、環境に応じたネットワーク構造をより効率的に探索することが可能な情報処理方法および情報処理装置を提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、プロセッサが、一のニューラルネットワークからネットワーク構造の異なる別のニューラルネットワークを生成することと、生成された前記別のニューラルネットワークの評価結果が、前記一のニューラルネットワークの評価結果を上回る場合、前記別のニューラルネットワークをパレート最適解として更新することと、を含む、情報処理方法が提供される。
【０００７】
また、本開示によれば、ユーザによるニューラルネットワークの指定を受け付ける入力部と、評価済のニューラルネットワークに係るパレート最適解の提示を制御する制御部と、を備え、前記制御部は、前記ユーザにより指定されたニューラルネットワークから生成された別のニューラルネットワークの評価結果に基づいて更新されるパレート最適解を提示する、情報処理装置が提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、環境に応じたネットワーク構造をより効率的に探索することが可能となる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【０００９】
【図１】本開示に係るネットワークの生成を説明するための図である。
【図２】本開示に係るシステム構成例を示す図である。
【図３】本開示に係る情報処理装置の機能ブロック図である。
【図４】本開示に係る情報処理サーバの機能ブロック図である。
【図５】本開示の第１の実施形態に係るネットワークの生成チャートである。
【図６】同実施形態に係る突然変異制御のフローチャートである。
【図７】同実施形態に係る交叉制御のフローチャートである。
【図８Ａ】同実施形態に係る探索過程のビジュアライズ例である。
【図８Ｂ】同実施形態に係る探索過程のビジュアライズ例である。
【図８Ｃ】同実施形態に係る探索過程のビジュアライズ例である。
【図９】同実施形態に係る探索結果の提示例である。
【図１０Ａ】同実施形態に係る探索されたネットワーク構造の例である。
【図１０Ｂ】同実施形態に係る探索されたネットワーク構造の例である。
【図１１Ａ】同実施形態に係る情報処理方法の評価結果である。
【図１１Ｂ】同実施形態に係る情報処理方法の評価結果である。
【図１２】本開示の第２の実施形態に係る評価対象の選択を説明する図である。
【図１３】同実施形態に係るガウシアンプロセスの概念図である。
【図１４】同実施形態に係るパレート最適解の更新面積について説明する図である。
【図１５】同実施形態に係るｎｅｔ２ｖｅｃの評価結果である。
【図１６】同実施形態に係るｎｅｔ２ｖｅｃを用いた分析結果の例である。
【図１７Ａ】同実施形態に係るｎｅｔ２ｖｅｃを用いた分析結果の詳細例である。
【図１７Ｂ】同実施形態に係るｎｅｔ２ｖｅｃを用いた分析結果の詳細例である。
【図１７Ｃ】同実施形態に係るｎｅｔ２ｖｅｃを用いた分析結果の詳細例である。
【図１８Ａ】第１及び第２の実施形態に係る探索過程の比較を示す図である。
【図１８Ｂ】第１及び第２の実施形態に係る探索過程の比較を示す図である。
【図１８Ｃ】第１及び第２の実施形態に係る探索過程の比較を示す図である。
【図１９Ａ】第２の実施形態に係る情報処理方法の評価結果である。
【図１９Ｂ】第２の実施形態に係る情報処理方法の評価結果である。
【図１９Ｃ】第２の実施形態に係る情報処理方法の評価結果である。
【図１９Ｄ】第２の実施形態に係る情報処理方法の評価結果である。
【図２０】本開示に係る探索の設定について説明する図である。
【図２１】本開示に係るハードウェア構成例である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
なお、説明は以下の順序で行うものとする。
１．本開示に係るネットワーク構造の探索
１．１．ニューラルネットワークとは
１．２．ニューラルネットワークの生成
１．３．本開示に係るシステム構成例
１．４．本開示に係る情報処理装置１０
１．５．本開示に係る情報処理サーバ３０
２．第１の実施形態
２．１．第１の実施形態に係るニューラルネットワークの生成
２．２．パレート最適解の更新によるネットワーク構造の探索
２．３．本実施形態に係る探索の効果
３．第２の実施形態
３．１．本実施形態に係る予測誤差の測定
３．２．ネットワーク構造に係る特徴量ベクトルの算出
３．３．本実施形態に係る探索の効果
３．４．本開示に係る探索の設定
４．ハードウェア構成例
５．まとめ
【００１２】
＜１．本開示に係るネットワーク構造の探索＞
＜＜１．１．ニューラルネットワークとは＞＞
ニューラルネットワークとは、人間の脳神経回路を模したモデルであり、人間が持つ学習能力をコンピュータ上で実現しようとする技法である。上述したとおり、ニューラルネットワークは学習能力を有することを特徴の一つとする。ニューラルネットワークでは、シナプスの結合によりネットワークを形成した人工ニューロン（ノード）が、学習によりシナプスの結合強度を変化させることで、問題に対する解決能力を獲得することが可能である。すなわち、ニューラルネットワークは、学習を重ねることで、問題に対する解決ルールを自動的に推論することができる。
【００１３】
ニューラルネットワークによる学習の例としては、画像認識や音声認識が挙げられる。ニューラルネットワークでは、例えば、手書きの数字パターンを繰り返し学習することで、入力される画像情報を、０〜９の数字のいずれかに分類することが可能となる。ニューラルネットワークの有する上記のような学習能力は、人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）の発展を推し進める鍵としても注目されている。また、ニューラルネットワークが有するパターン認識力は、種々の産業分野における応用が期待される。
【００１４】
一方、ニューラルネットワークによる学習の精度は、与えられるデータやネットワーク構造に大きく依存することが知られている。すなわち、ニューラルネットワークによる学習では、与えられるデータの量と質が直接的に性能に影響する。また、同一のデータが与えられた場合でも、ネットワーク構造の異なるニューラルネットワークでは、学習精度に大きな差が生じる可能性がある。
【００１５】
また、ニューラルネットワークによる処理においては、学習精度の他、演算量も重要な指標の一つとなる。ニューラルネットワークにおいて、演算量は、ネットワーク構造に依存して定まる値である。また、ニューラルネットワークでは、通常、演算量が増加するほど学習精度が向上する傾向がある。
【００１６】
しかし、演算量は、ニューラルネットワークが搭載されるハードウェアの使用メモリ量や実行時間に大きく影響するため、学習精度の高いニューラルネットワークが必ずしも最良とは限らない。言い換えると、ニューラルネットワークにおいて、演算量と学習精度とは、いわゆるトレードオフの関係にあたる。このため、演算量を抑えながら、より学習精度の高いネットワーク構造を探索する手法が求められていた。
【００１７】
本開示に係る情報処理方法および情報処理装置は、上記で説明したようなネットワーク構造の探索に着目して発想されたものである。具体的には、本開示に係る情報処理方法では、生成されたニューラルネットワークの評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新し、当該パレート最適解をユーザに提示することが可能である。すなわち、本開示に係る情報処理方法は、ネットワークの生成とパレート最適解の更新を繰り返すことで、効率の良いネットワーク構造を探索し、ユーザに提示することができる。
【００１８】
＜＜１．２．ニューラルネットワークの生成＞＞
ここで、本開示に係るニューラルネットワークの生成について、概要を説明する。上述したとおり、本開示に係る情報処理方法では、元となる評価済のニューラルネットワーク（以降、シードネットワーク、とも呼ぶ）から、ネットワーク構造の異なる別のニューラルネットワークを生成すること可能である。また、後述するように、本開示に係る情報処理方法は、パレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００１９】
本開示に係るニューラルネットワークの生成は、例えば、突然変異や交叉（または、交差、とも呼ぶ）などを含む遺伝的操作により実現されてもよい。ここで、上記の突然変異とは、生物に見られる遺伝子の突然変異をモデル化したものであってよい。すなわち、本開示に係る情報処理方法では、ネットワークを構成する各レイヤーを遺伝子と見立て、レイヤーを突然変異させることで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００２０】
また、上記の交叉とは、生物の交配における染色体の部分的交換をモデル化したものであってよい。すなわち、本開示に係る情報処理方法では、２つのネットワークのレイヤー構成を部分的に交換することで、上記の別のニューラルネットワークを生成することができる。なお、本開示に係る突然変異及び交叉の詳細については後述する。
【００２１】
図１は、突然変異によるニューラルネットワークの生成を説明するための図である。図１を参照すると、シードネットワークＳＮは、「Ｉｎｐｕｔ」及び「Ｏｕｔｐｕｔ」を含む１０のレイヤーから構成されていることがわかる。また、図１の例に示すように、本開示に係るニューラルネットワークは、入出力層の他、中間層、活性化関数などから構成されてよい。
【００２２】
例えば、図１の例において、「Ｃｏｎｖ１」及び「Ｃｏｎｖ２」は、Ｃｏｎｖｏｌｕｔｉｏｎレイヤーを示し、「Ｐｏｏｌ１」及び「Ｐｏｏｌ２」は、Ｍａｘ−Ｐｏｏｌｉｎｇを示している。このため、「Ｃｏｎｖ１」及び「Ｃｏｎｖ２」には、カーネルシェイプや出力マップ数などのパラメータが表示されており、「Ｐｏｏｌ１」及び「Ｐｏｏｌ２」には、プールシェイプを示すパラメータが表示されている。なお、上記で示した例を含む各レイヤーについては、広く使用されるものであるため、詳細な説明は省略する。
【００２３】
続いて、図１に示されるニューラルネットワークＭＮ１を参照する。ニューラルネットワークＭＮ１は、シードネットワークＳＮを突然変異させることで生成される別のニューラルネットワークである。ニューラルネットワークＭＮ１を参照すると、シードネットワークＳＮのネットワーク構造から、レイヤー構成の一部が変化していることがわかる。具体的には、ニューラルネットワークＭＮ１では、シードネットワークＳＮに係る活性化関数「ｒｅｌｕ１」が、別の活性化関数「Ｔａｎｈ１」に変化している。このように、本開示に係る情報処理方法では、ネットワーク構造を構成するレイヤーのレイヤー種類を変更することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００２４】
また、ニューラルネットワークＭＮ２を参照すると、ニューラルネットワークＭＮ１の状態から、さらにネットワーク構造が変化していることがわかる。ニューラルネットワークＭＮ２のネットワーク構造では、ニューラルネットワークＭＮ１のレイヤー構成に加え、活性化関数「Ａｂｓ１」が挿入されている。このように、本開示に係る情報処理方法では、レイヤーを新規に挿入することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００２５】
以上、本開示に係るネットワークの生成について、概要を説明した。上記で説明したとおり、本開示に係る情報処理方法では、元となるネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することが可能である。なお、上記では、遺伝的操作により別のニューラルネットワークを生成する場合を例に説明したが、本開示に係るニューラルネットワークの生成方法は、係る例に限定されない。本開示に係る別のニューラルネットワークの生成は、例えば、入力されたネットワークのネットワーク構造を変化させるニューラルネットワークを用いて実現されてもよい。ニューラルネットワークの生成には、上記の例を含む種々の方法が適用され得る。
【００２６】
＜＜１．３．本開示に係るシステム構成例＞＞
次に、本開示に係る情報処理方法を実施するためのシステム構成例について説明する。上述したとおり、本開示に係る情報処理方法は、評価済みのニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成すること、を特徴の一つとする。また、本開示に係る情報処理方法では、生成されたニューラルネットワークの評価結果を取得し、当該取得結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新することが可能である。すなわち、本開示に係る情報処理方法では、生成された別のニューラルネットワークの評価結果が、評価済みのニューラルネットワークの評価結果を上回る場合、上記の別のニューラルネットワークをパレート最適解として更新することができる。さらに、本開示に係る情報処理方法は、パレート最適に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。すなわち、本開示に係る情報処理方法では、パレート最適解として更新された上記の別のニューラルネットワークを、評価済のニューラルネットワークとして新たな別のニューラルネットワークを生成することが可能である。
【００２７】
すなわち、本開示に係る情報処理方法は、ネットワークの生成とパレート最適解の更新を繰り返すことで、より効率の良いネットワーク構造を探索し、当該探索の結果をユーザに提示することが可能である。
【００２８】
図２は、本開示に係る情報処理方法を実施するためのシステム構成例を示す図である。図２を参照すると、本開示に係る情報処理システムは、情報処理装置１０及び情報処理サーバ３０を含む。また、情報処理装置１０と情報処理サーバ３０は、互いに通信が行えるように、ネットワーク２０を介して接続される。
【００２９】
ここで、情報処理装置１０は、ユーザに探索の結果を提示するための情報処理端末である。情報処理装置１０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレットなどであってよい。また、情報処理サーバ３０は、シードネットワークから別のニューラルネットワークを生成し、生成されたニューラルネットワークの評価結果に基づいてパレート最適解を更新する情報処理装置である。
【００３０】
また、ネットワーク２０は、情報処理装置１０と情報処理サーバ３０を接続する機能を有する。ネットワーク２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【００３１】
以上、本開示に係るシステム構成例について説明した。以降の説明では、本開示に係る情報処理装置１０と情報処理サーバ３０の機能構成上の特徴を挙げながら、当該特徴が奏する効果について述べる。
【００３２】
＜＜１．４．本開示に係る情報処理装置１０＞＞
次に、本開示に係る情報処理装置１０について詳細に説明する。本開示に係る情報処理装置１０は、ユーザによるニューラルネットワークの指定を受け付ける機能を有する。また、情報処理装置１０は、評価済のニューラルネットワークに係るパレート最適解の提示を制御する機能を有する。すなわち、本開示に係る情報処理装置１０は、指定されたシードネットワークから生成された別のニューラルネットワークの評価結果に基づいて更新されるパレート最適解をユーザに提示することができる。
【００３３】
また、情報処理装置１０は、ユーザの操作を受け付け、情報処理サーバ３０に、ニューラルネットワークの実行に係るファイルのダウンロードを要求する機能を有する。ここで、ニューラルネットワークの実行に係るファイルには、パラメータの設定ファイル、ネットワークを定義するＸＭＬファイル、及び上記の２ファイルを読み込んでＦｏｒｗａｒｄＰｒｏｐを実行するソースコードが含まれてよい。
【００３４】
図３は、本開示に係る情報処理装置１０の機能ブロック図である。図３を参照すると、本開示に係る情報処理装置１０は、表示部１１０、入力部１２０、フォーム制御部１３０、及びサーバ通信部１４０を備える。以下、情報処理装置１０が備える各構成について説明する。
【００３５】
（表示部１１０）
表示部１１０は、情報処理装置１０の各構成により制御される情報を表示する機能を有する。本開示において、表示部１１０は、特に、評価済のニューラルネットワークに係るパレート最適解を表示する機能を有してよい。上記の機能は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置により実現されてもよい。また、表示部１１０は、ユーザからの情報入力を受け付ける入力部としての機能を有してもよい。入力部としての機能は、例えば、タッチパネルにより実現され得る。
【００３６】
（入力部１２０）
入力部１２０は、ユーザからの情報入力を受け付け、情報処理装置１０の各構成に入力情報を引き渡す機能を有する。本開示において、入力部１２０は、特に、シードネットワークを指定するユーザの操作を受け付け、当該操作に基づく入力情報を後述するフォーム制御部１３０に引き渡す機能を有してよい。上記の機能は、例えば、キーボードやマウスにより実現されてもよい。
【００３７】
（フォーム制御部１３０）
フォーム制御部１３０は、シードネットワークの指定やパレート最適解の提示を行うためのフォームを制御する機能を有する。具体的には、フォーム制御部１３０は、入力部１２０から取得したユーザの入力情報に基づいて、シードネットワークの指定や、フォームの表示制御を行うことができる。
【００３８】
また、フォーム制御部１３０は、後述するサーバ通信部１４０を介して情報処理サーバ３０から取得する情報に基づいて、表示部１１０に表示させるフォームの表示を制御する機能を有する。本開示において、フォーム制御部１３０は、特に、指定されたシードネットワークから生成された別のニューラルネットワークの評価結果に基づいて更新されるパレート最適解の提示を制御する機能を有する。また、フォーム制御部１３０は、入力部１２０から取得する情報に基づいて、指定されたニューラルネットワークの実行に係るファイルのダウンロードを情報処理サーバ３０に要求する機能を有する。
【００３９】
（サーバ通信部１４０）
サーバ通信部１４０は、ネットワーク２０を介して、情報処理サーバ３０との情報通信を行う機能を有する。具体的には、サーバ通信部１４０は、フォーム制御部１３０の制御に基づいて、上記フォームに係る情報を情報処理サーバ３０に送信する。また、サーバ通信部１４０は、情報処理サーバ３０から取得した情報をフォーム制御部１３０に引き渡す。本開示において、サーバ通信部１４０は、特に、パレート最適解に係る情報を情報処理サーバ３０から取得し、フォーム制御部１３０に引き渡してよい。
【００４０】
＜＜１．５．本開示に係る情報処理サーバ３０＞＞
次に、本開示に係る情報処理サーバ３０について詳細に説明する。本開示に係る情報処理サーバ３０は、評価済のニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成する情報処理装置である。また、情報処理サーバ３０は、生成されたニューラルネットワークの評価結果を取得し、当該評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新する機能を有する。また、情報処理サーバ３０は、上記のパレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００４１】
すなわち、本開示に係る情報処理サーバ３０は、ネットワークの生成とパレート最適解の更新を繰り返すことで、より効率の良いネットワーク構造を探索することが可能である。
【００４２】
図４は、本開示に係る情報処理サーバ３０の機能ブロック図である。図４を参照すると、本開示に係る情報処理サーバ３０は、生成部３１０、評価部３２０、及び装置通信部３３０を備える。以下、情報処理サーバ３０が備える各構成について説明する。
【００４３】
（生成部３１０）
生成部３１０は、元となるネットワークからネットワーク構造の異なる別のニューラルネットワークを生成する機能を有する。生成部３１０は、シードネットワークやパレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成してよい。生成部３１０は、例えば、上述した突然変異及び交叉を含む遺伝的操作により、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。また、生成部３１０は、例えば、入力されたネットワークのネットワーク構造を変化させるニューラルネットワークを用いて、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００４４】
（評価部３２０）
評価部３２０は、生成されたニューラルネットワークの評価結果を取得する機能を有する。評価部３２０は、例えば、生成されたニューラルネットワークをクラウド上のコンピューティングリソースに実行させ、上記の評価結果を取得してもよい。また、評価部３２０は、エミュレータやネットワーク２０を介して接続される各種のデバイスにニューラルネットワークを実行させ、評価結果を取得してもよい。
【００４５】
また、評価部３２０が取得する評価結果には、生成されたニューラルネットワークに係る演算量、及び学習誤差またはヴァリデーション誤差（以下、まとめて誤差と表現することがある）のうち少なくとも一方が含まれてよい。評価部３２０は、生成されたニューラルネットワークのネットワーク構造に基づいて、上記の演算量を取得することができる。
【００４６】
また、評価部３２０は、生成されたニューラルネットワークの評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新する機能を有する。すなわち、評価部３２０は、生成部３１０が生成したニューラルネットワークの評価結果を取得し、当該評価結果に基づいてパレート最適解の更新を繰り返し実行する。評価部３２０によるパレート最適解の更新の詳細については後述する。
【００４７】
（装置通信部３３０）
装置通信部３３０は、ネットワーク２０を介して、情報処理装置１０との情報通信を行う機能を有する。具体的には、装置通信部３３０は、生成部３１０により生成されたニューラルネットワークに係る情報や、評価部３２０が更新したパレート最適解に係る情報を情報処理装置１０に送信する。また、装置通信部３３０は、情報処理装置１０から、ユーザが指定したシードネットワークの情報や、ファイルのダウンロード要求を受信する。
【００４８】
＜２．第１の実施形態＞
＜＜２．１．第１の実施形態に係るニューラルネットワークの生成＞＞
続いて、本開示の第１の実施形態に係るニューラルネットワークの生成について、詳細に説明する。本実施形態に係る情報処理サーバ３０は、情報処理装置１０からユーザが指定したシードネットワークの情報を取得し、当該シードネットワークに基づいて、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。また、本実施形態に係る情報処理サーバ３０は、パレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００４９】
（ネットワーク生成の流れ）
以下、図５を参照して、情報処理サーバ３０の生成部３１０によるニューラルネットワークの生成について説明する。図５は、生成部３１０によるニューラルネットワーク生成の流れを示すフローチャートである。
【００５０】
図５を参照すると、まず、生成部３１０は、元となるニューラルネットワークに適用する別のニューラルネットワークの生成方法をランダムで決定する（Ｓ１１０１）。この際、元となるニューラルネットワークは、ユーザにより指定されたシードネットワークであってもよいし、評価部３２０が更新したパレート最適解に係るニューラルネットワークから生成部３１０がランダムに選択したネットワークであってもよい。
【００５１】
次に、生成部３１０は、ステップＳ１１０１で選択した生成方法に基づいて、元となるニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成する。図５に示す一例を参照すると、本実施形態に係る生成部３１０は、元となるニューラルネットワークを突然変異させることで、上記の別のニューラルネットワークを生成してもよい（Ｓ１１０２）。
【００５２】
また、生成部３１０は、元となるニューラルネットワークを交叉させることで、上記の別のニューラルネットワークを生成してもよい（Ｓ１１０３）。ステップＳ１１０２及びステップＳ１１０３における突然変異と交叉の詳細な流れについては後述する。
【００５３】
続いて、生成部３１０は、ステップＳ１１０２またはステップＳ１１０３で生成したニューラルネットワークの整合性を判定する（Ｓ１１０４）。この際、生成部３１０は、生成したニューラルネットワークのレイヤー構成にエラーが生じているか否かを判定してもよい。生成部３１０は、例えば、Ｍａｘ−Ｐｏｏｌｉｎｇ処理に際し、入力されるデータが小さすぎる場合などに、ネットワークの整合性がない、と判定してよい。このように、生成したニューラルネットワークの整合性がないと判定した場合（Ｓ１１０４：Ｎｏ）、生成部３１０は、生成したニューラルネットワークを破棄し、ステップＳ１１０１に復帰する。
【００５４】
一方、生成したニューラルネットワークに整合性が認められる場合（Ｓ１１０４：Ｙｅｓ）、生成部３１０は、続いて、生成したニューラルネットワークと、元となるニューラルネットワークと、の入出力が同一であるか否かを判定する（Ｓ１１０５）。ここで、両者の入出力が異なる場合（Ｓ１１０５：Ｎｏ）、想定する認識問題を処理することが困難となるため、生成部３１０は、生成したニューラルネットワークを破棄し、ステップＳ１１０１へと復帰する。一方、生成したニューラルネットワークと、元となるニューラルネットワークとの入出力が同一である場合（Ｓ１１０５：Ｙｅｓ）、生成部３１０は、ネットワーク生成に係る処理を正常に終了する。
【００５５】
以上、本実施形態に係るニューラルネットワークの生成について説明した。上述したとおり、本実施形態に係る生成部３１０は、シードネットワークやパレート最適解に係るネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することが可能である。なお、図５では、生成部３１０が突然変異または交叉を用いた遺伝的操作により別のニューラルネットワークを生成する場合を例に説明したが、本実施形態に係るネットワークの生成は係る例に限定されない。本実施形態に係る生成部３１０は、入力されたニューラルネットワークのネットワーク構造を変化させるニューラルネットワークを用いて、上記の別のニューラルネットワークを生成してもよい。生成部３１０によるニューラルネットワークの生成には、種々の手法が適用されてよい。
【００５６】
（突然変異によるネットワーク生成の流れ）
続いて、本実施形態に係る突然変異によるネットワーク生成の流れについて説明する。図６は、生成部３１０による突然変異を用いたネットワーク生成を説明するためのフローチャートである。すなわち、図６に示すフローチャートは、図５に示したステップＳ１１０２における生成部３１０の詳細な制御を示している。図６を参照すると、本実施形態に係る突然変異は、レイヤーの挿入、レイヤーの削除、レイヤー種類の変更、パラメータの変更、グラフ分岐、グラフ分岐の削除を含んでよい。
【００５７】
図６を参照すると、まず、生成部３１０は、元となるニューラルネットワークに適用する突然変異の手法をランダムで決定する（Ｓ１２０１）。続いて、生成部３１０は、ステップＳ１２０１で選択した手法に基づいて、元となるニューラルネットワークのネットワーク構造を変化させる。
【００５８】
生成部３１０は、新規レイヤーを挿入する処理を行ってもよい（Ｓ１２０２）。生成部３１０は、例えば、元となるニューラルネットワークに、Ｒｅｌｕなどの活性化関数を新たに挿入することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００５９】
また、生成部３１０は、既存レイヤーを削除する処理を行ってもよい（Ｓ１２０３）。生成部３１０は、例えば、元となるニューラルネットワークから、Ｍａｘ−Ｐｏｏｌｉｎｇに係るレイヤーを削除することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００６０】
また、生成部３１０は、既存レイヤーのレイヤー種類を変更する処理を行ってもよい（Ｓ１２０４）。生成部３１０は、例えば、元となるニューラルネットワークに存在する活性化関数を別の活性化関数に置換することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００６１】
また、生成部３１０は、既存レイヤーに係るパラメータを変更する処理を行ってもよい（Ｓ１２０５）。生成部３１０は、例えば、既存するＣｏｎｖｏｌｕｔｉｏｎレイヤーのカーネルシェイプを変更することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
【００６２】
また、生成部３１０は、新たなグラフ分岐を作成する処理を行ってもよい（Ｓ１２０６）。生成部３１０は、例えば、既存レイヤーの一部をコピーすることでグラフ分岐を作成し、当該グラフ分岐の結合部としてＣｏｎｃａｔｅｎａｔｅレイヤーを挿入することで、別のニューラルネットワークを生成することができる。
【００６３】
また、生成部３１０は、既存のグラフ分岐を削除する処理を行ってもよい（Ｓ１２０７）。生成部３１０は、例えば、既存するグラフ分岐の１ルートを削除し、当該削除により分岐が消失した場合にはＣｏｎｃａｔｅｎａｔｅレイヤーも削除することで、別のニューラルネットワークを生成することができる。
【００６４】
以上、本実施形態に係る生成部３１０による突然変異を用いたネットワーク生成について説明した。なお、上記では、生成部３１０がランダムで選択したステップＳ１２０２〜Ｓ１２０７の処理を実行する場合を例に説明したが、本実施形態に係る突然変異の制御は、係る例に限定されない。生成部３１０は、ステップＳ１２０２〜Ｓ１２０７に係る処理を同時に２つ以上行ってもよいし、ステップＳ１２０２〜Ｓ１２０７の実行判断をそれぞれ実施してもよい。また、生成部３１０は、図６の例に示した以外の処理を実行してもよい。生成部３１０による突然変異の制御は、柔軟に変更され得る。
【００６５】
（交叉によるネットワーク生成の流れ）
続いて、本実施形態に係る交叉によるネットワーク生成の流れについて説明する。図７は、生成部３１０による交叉を用いたネットワーク生成を説明するためのフローチャートである。すなわち、図７に示すフローチャートは、図５に示したステップＳ１１０３における生成部３１０の詳細な制御を示している。
【００６６】
図７を参照すると、まず、生成部３１０は、交叉を実行するために、元となる２つのネットワークを選択する（Ｓ１３０１）。ここで、生成部３１０は、情報処理装置１０からユーザが指定した２つのシードネットワークの情報を取得し、当該２つのシードネットワークを選択してもよい。また、生成部３１０は、ユーザが指定した１つのシードネットワークと、予め登録された交叉用のネットワークと、を選択することもできる。さらには、生成部３１０は、ユーザが指定したシードネットワークから突然変異により生成した別のニューラルネットワークを選択してもよい。
【００６７】
続いて、生成部３１０は、ステップＳ１３０１で選択した２つのネットワークを交叉させ、ネットワーク構造の異なる別のニューラルネットワークを生成する（Ｓ１３０２）。この際、生成部３１０は、種々の手法により交叉を実行してよい。生成部３１０は、例えば、一点交叉、二点交叉、多点交叉、一様交叉などにより、上記の別のニューラルネットワークを生成することができる。
【００６８】
以上、本実施形態に係るニューラルネットワークの生成について説明した。上述したとおり、本実施形態に係る生成部３１０は、突然変異及び交叉を含む遺伝的操作などにより、元となるニューラルネットワークからネットワーク構造の異なる別のニューラルネットワークを生成することができる。すなわち、本実施形態に係る情報処理方法では、生成部３１０が生成したニューラルネットワークの評価結果に基づいてパレート最適解の更新を繰り返すことで、より効率のよいネットワーク構造を探索することが可能となる。
【００６９】
＜＜２．２．パレート最適解の更新によるネットワーク構造の探索＞＞
次に、本実施形態に係るパレート最適解の更新によるネットワーク構造の探索について詳細に説明する。本実施形態に係る評価部３２０は、生成部３１０が生成したニューラルネットワークの評価結果を取得し、当該評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新することができる。すなわち、本実施形態に係る情報処理方法では、演算量または誤差のいずれか一方を小さくするネットワークをパレート最適解として更新する。
【００７０】
（探索過程のビジュアライズ）
ここで、図８Ａ〜８Ｃを参照し、本実施形態に係るネットワーク構造の探索過程について例を挙げて説明する。図８Ａ〜８Ｃは、評価部３２０によるパレート最適解の更新を段階的に示した図である。図８Ａ〜８Ｃは、情報処理装置１０の表示部１１０に表示される、ニューラルネットワークの評価結果に基づいたトレードオフ情報であってよい。すなわち、本実施形態に係る情報処理方法では、ネットワーク構造の探索過程をビジュアライズし、当該情報をリアルタイムにユーザに提示することが可能である。
【００７１】
なお、図８Ａ〜８Ｃでは、目的関数の演算量と誤差レートに係るトレードオフ情報を提示する場合を例に説明する。このため、図８Ａ〜８Ｃでは、縦軸に誤差レートが、横軸に目的関数の演算量が示されている。また、図８Ａ〜８Ｃでは、目的関数の演算量に係る例として、乗加算回数を採用している。
【００７２】
図８Ａは、シードネットワークが指定された段階におけるトレードオフ情報を示す図である。図８Ａを参照すると、本段階のトレードオフ情報には、評価済であるシードネットワークのヴァリデーション誤差ＳＶ、及び学習誤差ＳＴが表示されている。また、トレードオフ情報には、パレート最適解の境界線ＰＬが示されている。本段階では、評価済のネットワークがシードネットワークのみであるため、パレート最適解ＰＬは直線で表示され、パレート最適解の境界線ＰＬ上には、シードネットワークのヴァリデーション誤差ＳＶのみが表示されている。
【００７３】
図８Ｂは、探索途中段階におけるトレードオフ情報を示す図である。図８Ｂを参照すると、本段階におけるトレードオフ情報には、シードネットワークのヴァリデーション誤差ＳＶ、及び学習誤差ＳＴの他、複数のネットワークに係る誤差情報が示されている。すなわち、図８Ｂに示すトレードオフ情報は、生成部３１０によるネットワークの生成と、評価部３２０によるパレート最適解の更新が複数回繰り返された場合を示している。
【００７４】
このため、図８Ｂに示されるパレート最適解の境界線ＰＬは、生成部３１０により生成されたニューラルネットワークの評価結果に基づいて更新されている。図８Ｂに示す例では、パレート最適解の境界線ＰＬ上には、新たなパレート最適解に係るニューラルネットワークのヴァリデーション誤差Ｐ１〜Ｐ３が表示されている。
【００７５】
このように、評価部３２０は、生成されたニューラルネットワークの評価結果を取得し、当該評価結果に基づいて、パレート最適解を更新できる。また、生成部３１０は、評価部３２０により更新されたパレート最適解に係るニューラルネットワークＰ１〜Ｐ３からランダムで選択したニューラルネットワークに基づいて、別のネットワークを生成してよい。すなわち、本実施形態に係る情報処理方法では、パレート最適解に係るニューラルネットワークから別のニューラルネットワークを生成し、当該別のニューラルネットワークの評価結果に基づくパレート最適解の更新を繰り返し実行する。
【００７６】
図８Ｃは、ネットワーク構造の探索が終了した段階におけるトレードオフ情報を示す図である。図８Ｃに示すように、本段階のトレードオフ情報には、シードネットワークとパレート最適解に係るニューラルネットワークの誤差情報のみが表示されてもよい。図８Ｃを参照すると、本段階におけるパレート最適解の境界線ＰＬは、図８Ａ及び図８Ｃに示した状態から大きく更新されていることがわかる。
【００７７】
以上、本実施形態に係る探索過程のビジュアライズについて説明した。上述したとおり、本実施形態に係る情報処理方法では、ニューラルネットワークの生成とパレート最適解の更新を繰り返すことで、より効率の良いネットワーク構造を探索することができる。また、本実施形態に係る情報処理方法では、ネットワーク構造の探索過程をビジュアライズし、当該情報をリアルタイムにユーザに提示することが可能である。ユーザは、探索過程をリアルタイムに確認することで、探索の経過に応じた種々の判断を行うことができる。
【００７８】
なお、上記の例では、誤差と演算量に係るトレードオフ情報をユーザに提示する場合を例に説明したが、本実施形態に係るトレードオフ情報は、係る例に限定されない。本実施形態に係るトレードオフ情報には、演算量の他、例えば、ハードウェアに係る使用メモリ量、発熱量、消費電力量などが用いられてもよい。また、トレードオフ情報には、演算量から算出されるハードウェアのトータルコストや、サーバ費用などを含むトータルサービスコストなどが用いられてもよい。さらには、ユーザの選択により、上記に示す項目の切り替えが実現されてもよい。評価部３２０は、予め記憶されたハードウェアやサービスに係る情報を基に、上記の値を算出することができる。
【００７９】
（探索結果の提示例）
以上、本実施形態に係る探索過程のビジュアライズについて述べた。続いて、本実施形態に係る探索結果の提示例について詳細に説明する。図９は、ネットワーク構造の探索が終了した際に、ユーザに提示されるフォームの構成例を示す図である。
【００８０】
図９を参照すると、探索結果が表示されるフォームＦ１は、パレート最適解を表示するための領域Ｖ１と、評価結果の概要を表示するための領域Ｖ２と、を含んでいる。ここで、領域Ｖ１を参照すると、図９に示す一例では、図８Ｃに示したパレート最適解の状態に加え、３つのパレート最適解に係るニューラルネットワークＰ４〜Ｐ６が強調表示されていることがわかる。
【００８１】
ここで、ニューラルネットワークＰ４〜Ｐ６はそれぞれ、最高性能、中間解、及び最小演算量に係るネットワークであってよい。この際、ニューラルネットワークＰ４は、探索されたネットワークのうち、最も誤差の少ないネットワークであってよい。また、ニューラルネットワークＰ５は、探索されたネットワークのうち、誤差及び演算量のバランスに優れたネットワークであってよい。なお、中間解の定義は、条件に応じて適宜設計されてよい。また、ニューラルネットワークＰ６は、探索されたネットワークのうち、誤差がシードネットワーク以下かつ演算量が最も少ないネットワークであってよい。このように、本実施形態に係る情報処理方法では、探索されたネットワークから条件に一致する候補を選択し、ユーザに提示することができる。
【００８２】
また、領域Ｖ２には、上記で説明した最高性能、中間解、及び最小演算量に係るネットワークＰ４〜Ｐ６の評価概要Ｒ１〜Ｒ３が表示されてよい。図９を参照すると、評価概要Ｒ１〜Ｒ３には、実行日時、学習誤差、ヴァリデーション誤差、及び演算量の情報が含まれている。ユーザは、評価概要Ｒ１〜Ｒ３に示される上記の情報を確認することで、学習結果の概要を把握することができる。
【００８３】
また、図示しないが、ユーザは、評価概要Ｒ１〜Ｒ３を選択することで、該当するニューラルネットワークの詳細を表示させることができてよい。ユーザは、例えば、評価概要Ｒ１〜Ｒ３をクリックすることで、該当するネットワーク構造や、より詳細な学習曲線などを確認することができる。また、この際、情報処理装置１０のフォーム制御部１３０は、例えば、最高性能に係るニューラルネットワークの評価概要Ｒ１がデフォルトで選択された状態となるよう制御を行ってもよい。
【００８４】
さらには、ユーザは、評価概要Ｒ１〜Ｒ３を操作することで、該当するニューラルネットワークの実行に係るファイルをダウンロードできてよい。ここで、ダウンロードされるファイルには、パラメータの設定ファイル、ネットワークを定義するＸＭＬファイル、及び上記の２ファイルを読み込んでＦｏｒｗａｒｄＰｒｏｐ（予測や識別）を実行するソースコードなどが含まれてよい。
【００８５】
以上、本実施形態に係る探索結果の提示例について説明した。上述したとおり、本実施形態に係る情報処理方法は、パレート最適解に係るニューラルネットワークから選択した候補をユーザに提示することができる。ここで、上記の候補は、最高性能、中間解、及び最小演算量に係るネットワークを含んでよい。また、本実施形態に係る情報処理方法では、ネットワークの実行に係るファイルをユーザにダウンロードさせることができる。これにより、ユーザは、条件に適したネットワークを容易に選択し、当該ネットワークの実行に係るファイルを取得することできる。
【００８６】
なお、上記では、最高性能、中間解、及び最小演算量に係るネットワークを提示する場合を例に説明したが、本実施形態に係る探索結果の提示は、係る例に限定されない。本実施形態に係る探索結果の提示は、例えば、ユーザが予め指定したハードウェアの仕様に基づいて行われてもよい。評価部３２０は、例えば、ハードウェアに搭載可能な演算量を考慮することもできる。すなわち、評価部３２０は、上記の演算量を下回り、かつ誤差の最も少ないネットワークを選択し、ユーザに提示してもよい。本実施形態に係る探索結果の提示は、要件に応じて適宜変更され得る。
【００８７】
＜＜２．３．本実施形態に係る探索の効果＞＞
以上、本実施形態に係るネットワーク構造の探索について説明した。続いて、本実施形態に係る探索の効果について説明する。
【００８８】
（新たなネットワーク構造の発見）
図１０Ａ及び図１０Ｂは、図１に示したシードネットワークＳＮを基に探索されたネットワーク構造の構成例を示す図である。図１０Ａを参照すると、探索後のニューラルネットワークＭＮ３では、シードネットワークＳＮに比べ、「Ｃｏｎｖ１」や「Ｐｏｏｌ２」に係るパラメータ数が変化していることがわかる。
【００８９】
具体的には、探索後のニューラルネットワークＭＮ３では、「Ｃｏｎｖ１」に係るカーネルシェイプが、シードネットワークＳＮの５（縦）×５（横）から、４（縦）×８（横）に変更されている。また、探索後のニューラルネットワークＭＮ３では、「Ｐｏｏｌ２」に係るプールシェイプが、シードネットワークＳＮの２（縦）×２（横）から、２（縦）×４（横）に変更されている。
【００９０】
上記のように、本実施形態に係る情報処理方法では、人手による探索では、手が及びづらい異方性パラメータを発見することが可能である。図１０Ａに示すような異方性パラメータは、レイヤーごとに無数のパターンが存在するため、ユーザが異なる値を設定し、探索を行うのは困難である。一方、本実施形態に係る情報処理方法は、パラメータをランダムに変更し探索を行うため、上記のような異方性パラメータを発見できる可能性を高めることが可能である。
【００９１】
また、図１０Ｂを参照すると、探索後のニューラルネットワークＭＮ４では、「Ｃｏｎｖ１」及び「Ｃｏｎｖ２」の後に、それぞれ異なる活性化関数「Ａｂｓ１」及び「Ｒｅｌｕ１」が挿入されていることがわかる。また、探索後のニューラルネットワークＭＮ４では、ネットワーク構造に新たに「Ｄｒｏｐｏｕｔ」が挿入されている。また、図示されていないが、探索後のニューラルネットワークＭＮ４における「Ｃｏｎｖ１」では、ストライドパラメータが１（縦）×２（横）に変更されている。
【００９２】
上記のように、本実施形態に係る情報処理方法では、同一の活性化関数を繰り返し使用するのではなく、レイヤー構成に適したコンポーネントの配置を新たに発見することが可能である。すわなち、本実施形態に係る情報処理方法では、ネットワーク構造をランダムに変化させることで、ユーザが設定しがちなネットワーク構造とは異なる、新たなネットワーク構造を発見する効果を有する。
【００９３】
（本実施形態に係る評価結果）
続いて、本実施形態に係る情報処理方法の評価結果について述べる。図１１Ａ及び図１１Ｂは、手書き数字認識データセットＭＮＩＳＴを用いた本実施形態に係る情報処理方法の評価結果を示すグラフである。
【００９４】
ここで、図１１Ａ及び図１１Ｂに示す評価結果は、学習データ数６万、評価データ数１万、入力ノード２８×２８、出力ノード１０（０〜９）により得られたデータである。また、図１１Ａ及び図１１Ｂに示す評価結果では、互いにネットワーク構造の異なる５つのシードネットワークＮＮ１〜ＮＮ５を評価している。
【００９５】
図１１Ａは、評価データ誤差（Ｃａｔｅｇｏｒｉｃａｌ  Ｃｒｏｓｓ  Ｅｎｔｒｏｐｙ）と探索試行回数との関係を示している。図１１Ａでは、縦軸に評価データ誤差、横軸に探索試行回数が示されている。図１１Ａを参照すると、シードネットワークＮＮ１〜ＮＮ５のいずれにおいても、探索試行回数と共に評価データ誤差が低減していることがわかる。例えば、シードネットワークＮＮ１においては、探索開始前の評価データ誤差が０．０４４であるのに対し、探索終了後の評価データ誤差は０．０２７を示している。このように、本実施形態に係る情報処理方法によれば、シードネットワークに基づいて、より精度の高いネットワーク構造を探索することが可能となる。
【００９６】
また、図１１Ｂは、乗加算回数と探索試行回数との関係を示している。図１１Ｂでは、縦軸に乗加算回数、横軸に探索試行回数が示されている。図１１Ｂを参照すると、シードネットワークＮＮ１〜ＮＮ５のいずれにおいても、探索試行回数と共に乗加算回数が低減していることがわかる。例えば、シードネットワークＮＮ１においては、探索開始前の乗加算回数が２．３Ｍであるのに対し、探索終了後の乗加算回数は１０３Ｋを示している。このように、本実施形態に係る情報処理方法によれば、シードネットワークに基づいて、より演算量を抑えたネットワーク構造を探索することが可能となる。
【００９７】
以上、本実施形態に係る情報処理方法の評価結果について説明した。上述したとおり、本実施形態に係る情報処理方法によれば、シードネットワークを基に、より精度が高く、より軽いネットワークを発見することが可能となる。すなわち、本実施形態に係る情報処理方法は、性能を損なわず実行速度を大幅に改善したネットワーク構造を自動的に発見する効果を有する。
【００９８】
＜３．第２の実施形態＞
＜＜３．１．本実施形態に係る予測誤差の測定＞＞
以上、本開示の第１の実施形態に係る情報処理方法について説明した。続いて、本開示の第２の実施形態に係る情報処理方法について詳細に説明する。本開示の第２の実施形態に係る情報処理方法では、生成されたニューラルネットワークの予測誤差を測定し、当該予測誤差に基づいて選択したニューラルネットワークの評価結果を取得すること、を特徴の一つとする。すなわち、本実施形態に係る情報処理方法では、事前の誤差予測に基づいて取得した別のニューラルネットワークの評価結果と評価済のニューラルネットワークの評価結果とを比較することができる。上記の予測誤差には、予測された学習誤差または予測されたヴァリデーション誤差のうち少なくとも一方に係る値が含まれてよい。すなわち、本実施形態に係る情報処理方法は、生成されたニューラルネットワークのうち、最も小さい誤差が期待できるネットワークを選択的に評価することで、探索効率を向上させることが可能である。
【００９９】
なお、以下の説明においては、第１の実施形態との差異について重点的に説明し、共通する情報処理装置１０及び情報処理サーバ３０の機能については、説明を省略する。
【０１００】
（予測誤差に基づく評価対象の選択）
上述したとおり、本実施形態に係る情報処理方法は、生成されたニューラルネットワークの予測誤差を測定し、最も小さい誤差が期待できるネットワークを選択的に評価することができる。図１２は、本実施形態に係る評価対象の選択を説明するための概念図である。
【０１０１】
図１２を参照すると、本実施形態に係る情報処理方法では、元となるニューラルネットワークＯ１に基づいて、複数の別のニューラルネットワークＭ１〜Ｍ４が生成される。すなわち、生成部３１０は、シードネットワークまたはパレート最適解に係るネットワークから、複数のニューラルネットワークを生成する。この際、元となるニューラルネットワークは、必ずしも単一のネットワークでなくてもよい。すなわち、生成部３１０は、複数の元となるネットワークから、複数の別のニューラルネットワークを生成してよい。
【０１０２】
次に、本実施形態に係る評価部３２０は、生成部３１０が生成した複数のニューラルネットワークの予測誤差を測定する。図１２に示す一例では、評価部３２０がニューラルネットワークＭ１〜Ｍ４の予測誤差をそれぞれ測定している。この際、評価部３２０は、生成されたニューラルネットワークに係るネットワーク構造の特徴量に基づいて予測誤差を測定してよい。評価部３２０による予測誤差測定の詳細については後述する。
【０１０３】
続いて、評価部３２０は、予測誤差を測定したニューラルネットワークのうち、最も小さい誤差が期待できるネットワークを次の評価対象として選択する。図１２に示す一例は、評価部３２０が、最も予測誤差の小さいニューラルネットワークＭ１を選択した場合を示している。
【０１０４】
以上、説明したように、本実施形態に係る情報処理方法では、生成された複数のニューラネットワークのうち、最も小さい誤差が期待できるニューラルネットワークを選択的に評価することができる。これにより、本実施形態に係る情報処理方法では、生成された単一のネットワークの評価を繰り返す第１の実施形態と比較し、探索の効率を向上させる効果が期待できる。なお、図１２の例では、元となるネットワークから４つのニューラルネットワークを生成する場合を示したが、生成部３１０が生成するネットワークの数は、１１００以上であってもよいし、１０００以上であってもよい。
【０１０５】
（ガウシアンプロセスによる予測誤差の測定）
続いて、本実施形態に係るガウシアンプロセスを利用した予測誤差の測定について説明する。上述したとおり、本実施形態に係る情報処理方法では、生成されたニューラルネットワークの予測誤差を測定することができる。この際、評価部３２０は、ネットワーク構造を特徴量ベクトル化し、当該特徴量ベクトルからエラーを回帰することで、予測誤差の測定を行ってよい。すなわち、本実施形態に係る評価部３２０は、評価済のネットワークの特徴量ベクトルと誤差から定義されるガウシアンプロセスにより、予測誤差を測定することができる。
【０１０６】
図１３は、本実施形態に係るガウシアンプロセスの概念図である。図１３に示す一例では、縦軸に誤差が、横軸にネットワークの特徴量ベクトルが示されており、各点が評価済のネットワーク構造を示している。また、図１３において、曲線はガウス確率場により予測された予測誤差の平均μを示しており、ハッチングにより強調された領域は予測誤差の分散μ±σ１を示している。このように、本実施形態に係る情報処理方法では、ガウシアンプロセスにより、生成されたネットワークの予測誤差を測定することができる。また、図１３において、直線ＬＬは、評価済のネットワークに係る最小の誤差を示すラインであり、評価部３２０は、直線ＬＬが更新される確率が最も高いネットワーク構造を、次の評価対象として選択してよい。なお、図１３に示した図は概念図であるため、１次元により表現されている。
【０１０７】
以上、説明したように、本実施形態に係る情報処理方法では、ガウシアンプロセスを用いて、ニューラルネットワークの予測誤差を測定することができる。ここで、上記の予測誤差は、予測された誤差の平均及び分散を含んでよい。評価部３２０は、予測された誤差の平均及び分散と、演算量と、に基づいて評価対象とするネットワークを選択し、評価結果を取得することができる。
【０１０８】
（予測誤差の分布に基づいた評価対象の選択）
以上、本実施形態に係るガウシアンプロセスによる予測誤差の測定について述べた。上述したとおり、本実施形態に係る評価部３２０は、予測された誤差の平均及び分散と、演算量と、に基づいて評価対象とするネットワークを選択してよい。この際、評価部３２０は、予測誤差の分布と演算量とに基づいて、評価対象を決定することができる。評価部３２０は、例えば、パレート最適解に係る境界線を更新する面積の期待値に基づいて、評価対象とするニューラルネットワークを選択してもよい。具体的には、評価部３２０は、生成されたネットワークの予測誤差の平均及び分散から上記の期待値を積分で求め、期待値が最大となるネットワークを選択することができる。これにより、本実施形態に係る情報処理方法では、より誤差が小さく、より演算量の少ないネットワークを効率的に探索することができる。
【０１０９】
図１４は、パレート最適解に係る境界線を更新する面積の期待値について説明するための概念図である。図１４では、縦軸に誤差が、横軸に乗加算回数が示されている。また、図１４には、評価済のネットワークＥＮ１〜ＥＮ４により構成されるパレート最適解の境界線ＰＬが示されている。
【０１１０】
また、図１４には、生成部３１０により生成されたネットワークＣＮ１〜ＣＮ３の予測誤差と、それぞれのネットワークＣＮ１〜ＣＮ３に係る予測誤差の分布を示すＤ１〜Ｄ３が示されている。ここで、分布Ｄ１〜Ｄ３は、予測誤差の平均及び分散から求められるデータであってよい。
【０１１１】
本実施形態に係る評価部３２０は、分布Ｄ１〜Ｄ３に基づいて、境界線ＰＬを更新する面積の期待値を求めることができる。図１４に示される面積ＥＡ１〜ＥＡ３は、それぞれのネットワークＣＮ１〜ＣＮ３に係る分布Ｄ１〜Ｄ３から算出された面積の期待値である。このように、本実施形態に係る評価部３２０は、パレート最適解に係る境界線を更新する面積の期待値を算出し、当該面積の期待値が最大となるネットワークを次の評価対象として選択することができる。なお、この際、面積ＥＡ１〜ＥＡ３は、演算量方向に係る面積を無限に更新する可能性があるため、評価部３２０は、演算量方向に係る面積については、最大値を設定してそれぞれの期待値を算出してもよい。
【０１１２】
以上、本実施形態に係る予測誤差の測定と、当該予測誤差に基づく評価対象の選択について述べた。上述したとおり、本実施形態に係る情報処理方法では、生成されたネットワークのネットワーク構造に基づいて予測誤差を測定することができる。また、本実施形態に係る情報処理方法では、最も小さい誤差が期待できるネットワークを選択的に評価することで、探索効率を向上させることが可能である。
【０１１３】
なお、上記では、ガウシアンプロセスを用いた予測誤差の測定を例に説明したが、本実施形態に係る予測誤差の測定は、係る例に限定されない。本実施形態に係る予測誤差は、例えば、入力されたニューラルネットワークのネットワーク構造を認識するニューラルネットワークを用いて測定されてもよい。本実施形態に係る予測誤差の想定には、種々の機械学習手法を適用することが可能である。
【０１１４】
＜＜３．２．ネットワーク構造に係る特徴量ベクトルの算出＞＞
次に、本実施形態に係る特徴量ベクトルの算出について詳細に説明する。上述したとおり、本実施形態に係る情報処理方法では、生成されたネットワークのネットワーク構造に基づいて、当該ネットワーク構造の特徴量ベクトルを算出することができる。この際、評価部３２０は、以下の数式（１）を用いて、特徴量ベクトルを算出してよい。
【０１１５】
【数１】
2019175513.tif 000003
【０１１６】
ここで、数式（１）におけるｎｅｔ２ｖｅｃは、ネットワーク構造に基づいて、特徴量ベクトルを算出するための関数であってよい。本実施形態に係る情報処理方法では、数式（１）により算出された特徴量ベクトルを、上記の数式（２）に適用することで、ネットワークの予測誤差を算出することができる。上述したように、数式（２）における関数ｆは、ガウシアンプロセスにより定義されるものであってよい。
【０１１７】
（ｎｅｔ２ｖｅｃによる特徴量ベクトルの算出）
続いて、本実施形態に係るｎｅｔ２ｖｅｃの詳細について説明する。本実施形態に係るｎｅｔ２ｖｅｃは、レイヤーの出現頻度、レイヤーの出現位置に係るヒストグラム、出現位置ごとの分岐数、及び出現位置ごとの主要パラメータの統計量に基づいて、特徴量ベクトルを算出することができる。
【０１１８】
ここで、レイヤーの出現頻度は、ｎ−ｇｒａｍにより求められてよい。この際、評価部３２０は、ｕｎｉ−ｇｒａｍ及びｂｉ−ｇｒａｍを用いて、各レイヤーやレイヤーの組み合わせに係る出現頻度を算出することができる。なお、ネットワーク構造にグラフ分岐が存在する場合、評価部３２０は、分岐ルートごとに出現頻度を求めてよい。
【０１１９】
また、レイヤーの出現位置に係るヒストグラムは、各出現位置における各レイヤーの数に基づいて求められてよい。この際、評価部３２０は、例えば、ネットワーク構造に係る出現位置を８区分に定義して上記のヒストグラムを算出してもよい。また、出現位置ごとの分岐数は、各出現位置におけるグラフ分岐数の平均値であってよい。
【０１２０】
また、出現位置ごとの主要パラメータの統計量は、上記の出現位置ごとにおける各パラメータの最大量、合計値、及び平均値などを基に求められてよい。評価部３２０は、例えば、出力バッファサイズ、レイヤーに含まれるパラメータ数（メモリ量）、乗加算回数などを主要パラメータの統計量として扱ってよい。
【０１２１】
また、上記の主要パラメータには、Ａｆｆｉｎｅレイヤーのアウトシェイプ、ＬＣＬ（Ｌｏｃａｌｌｙ  Ｃｏｎｎｅｃｔｅｄ  Ｌａｙｅｒ）またはＣｏｎｖｏｌｕｔｉｏｎレイヤーのカーネルシェイプや出力マップが含まれてもよい。
【０１２２】
また、主要パラメータには、Ｍａｘ−ＰｏｏｌｉｎｇやＳｕｍ−Ｐｏｏｌｉｎｇに係るプールシェイプや、Ｄｒｏｐｏｕｔに係る確率Ｐなどが含まれてもよい。
【０１２３】
以上、説明したように、本実施形態に係るｎｅｔ２ｖｅｃでは、ネットワーク構造に係る種々の要素を考慮して、ネットワーク構造の特徴量ベクトルを算出することができる。なお、本実施形態に係るｎｅｔ２ｖｅｃは、上記に挙げた例以外の要素に基づいて、特徴量ベクトルを算出してもよい。本実施形態に係るｎｅｔ２ｖｅｃは、評価するニューラルネットワーク群の特定に応じて柔軟に変形され得る。
【０１２４】
（ｎｅｔ２ｖｅｃの評価結果）
続いて、本実施形態に係るｎｅｔ２ｖｅｃの評価結果について述べる。図１５〜図１７は、第１の実施形態に係る情報処理方法において、ＭＮＩＳＴデータセットを用いて探索を行った際に得られた評価実験の結果を示している。なお、図１５〜図１７に示す評価結果は、前８５３データを処理して得られた結果である。
【０１２５】
図１５は、特徴量ベクトルと誤差との関係を回帰学習し、ｎｅｔ２ｖｅｃの妥当性を検証した結果を示している。図１５には、縦軸に実測誤差が、横軸に特徴量ベクトルから算出された予測誤差が示されている。図１５を参照すると、ｎｅｔ２ｖｅｃを用いて算出される予測誤差と実測誤差とには、強い正の相関（Ｒ＝０．７７）が認められる。このように、本実施形態に係る情報処理方法では、ｎｅｔ２ｖｅｃによりネットワーク構造の特徴量ベクトルを算出することで、精度の高い誤差予測を実現することが可能である。
【０１２６】
また、例えば、図１５に示す評価結果では、予測誤差が０．１を超える場合、実測誤差の値も大きくなる傾向が認められる。このため、評価部３２０による評価対象の選択では、予測誤差が０．１を超えるネットワークを排除するなどの条件を設けてもよい。本実施形態に係る情報処理方法では、得られた評価結果に基づいて、生成部３１０及び評価部３２０の動作を適宜修正することで、より精度の高い探索を実現できる。
【０１２７】
次に、図１６に示される評価結果について説明する。図１６は、ネットワーク構造における各特徴と、それぞれの特徴に係る学習精度への寄与率との関係を示している。なお、図１６において、「ａｔ＿ｎ」で示される数字は、上記で説明したレイヤーの出現位置を示す値であり、数値が小さいほど、入力層に近いことを示している。
【０１２８】
図１６を参照すると、例えば、入力層に近い出現位置におけるレイヤーの最大出力サイズや平均出力サイズが、学習精度に大きく影響を与えていることがわかる。また、例えば、Ｄｒｏｐｏｕｔを挿入することで、学習精度が向上する傾向があることがわかる。上記のように、本実施形態に係る情報処理方法では、ネットワーク構造における各特徴の学習精度への寄与率を分析することで、ニューラルネットワークの性能に影響する要因を特定することが可能である。
【０１２９】
図１７Ａ〜図１７Ｃは、図１６に示した学習精度への寄与率に係る詳細な評価結果の例である。ここで、図１７Ａは、最大出力サイズ（出現位置＝０）と実測誤差との関係を示すグラフである。図１７Ａには、縦軸に実測誤差、横軸に出現位置０における最大出力サイズが示されている。図１７Ａを参照すると、入力層に近い出現位置０においては、レイヤーの最大出力サイズが大きいほど実測誤差が小さくなる傾向が認められる。
【０１３０】
また、図１７Ｂは、合計パラメータ数（出現位置＝４）と実測誤差との関係を示すグラフである。図１７Ｂには、縦軸に実測誤差、横軸に出現位置４における合計パラメータ数が示されている。図１７Ｂを参照すると、処理全体の中間にあたる出現位置４においては、合計パラメータ数が比較的大きい場合に実測誤差が小さくなる傾向が認められる。
【０１３１】
また、図１７Ｃは、Ｄｒｏｐｏｕｔの出現回数と実測誤差との関係を示すグラフである。図１７Ｃには、縦軸に実測誤差、横軸にＤｒｏｐｏｕｔの出現回数が示されている。図１７Ｃを参照すると、Ｄｒｏｐｏｕｔの出現回数が１回である場合に実測誤差が小さくなる傾向が認められる。
【０１３２】
以上、本実施形態に係るｎｅｔ２ｖｅｃの評価結果について説明した。上述したとおり、本実施形態に係る情報処理方法では、ｎｅｔ２ｖｅｃを用いることで、精度の高い予測誤差測定を実現することができる。また、本実施形態に係る情報処理方法では、学習精度に影響するネットワーク構造の特徴を分析することが可能である。
【０１３３】
＜＜３．３．本実施形態に係る探索の効果＞＞
以上、本実施形態に係るネットワーク構造の探索について説明した。続いて、本実施形態に係る探索の効果について説明する。
【０１３４】
（パレート最適解の更新に係る頻度向上）
図１８Ａ〜図１８Ｃは、第１及び第２の実施形態に係るネットワーク探索の過程を比較した図である。図１８Ａ〜図１８Ｃでは、図中左に第１の実施形態に係る探索画面ＥＭが、図中右に第２の実施形態に係る探索画面ＢＯがそれぞれ示されている、また、探索画面ＥＭ及びＢＯでは、縦軸に誤差が、横軸に乗加算回数が示されている。
【０１３５】
図１８Ａは、第１及び第２の実施形態に係る探索開始時点のトレードオフ情報を示す図である。図１８Ａを参照すると、探索画面ＥＭ及びＢＯには、シードネットワークに係るヴァリデーション誤差ＳＶ２及びＳＶ３と、パレート最適解の境界線ＰＬ２及びＰＬ３と、がそれぞれ示されている。
【０１３６】
なお、本段階では、評価済のネットワークがシードネットワークのみであるため、それぞれの探索画面ＥＭ及びＢＯにおけるパレート最適解の境界線ＰＬ２及びＰＬ３には、シードネットワークのヴァリデーション誤差ＳＶ２またはＳＶ３のみが表示されている。
【０１３７】
図１８Ｂは、第１及び第２の実施形態に係る探索において、探索が５回繰り返された場合のトレードオフ情報を示す図である。すなわち、図１８Ｂに示される探索画面ＥＭ及びＢＯには、生成部３１０によるネットワークの生成と、評価部３２０による評価結果の取得と、が５回繰り返された際のトレードオフ情報が示されている。この際、第２の実施形態に係る探索においては、上述したとおり、評価部３２０による予測誤差の測定に基づいた評価対象の決定が実施されている。
【０１３８】
ここで、第１の実施形態に係る探索画面ＥＭを参照すると、パレート最適解の境界線ＰＬ２は、１つのパレート最適解により更新されていることがわかる。一方、第２の実施形態に係る探索画面ＢＯでは、パレート最適解の境界線ＰＬ３は、３つのパレート最適解により更新されている。すなわち、第２の実施形態に係る情報処理方法では、第１の実施形態と比較し、より効率的にパレート最適解を更新することができる。
【０１３９】
また、図１８Ｃは、第１及び第２の実施形態に係る探索終了時点のトレードオフ情報を示す図である。図１８Ｃを参照すると、第２の実施形態に係る探索画面ＢＯでは、探索画面ＥＭに比べ、より多くのパレート最適解が提示されていることがわかる。また、第２の実施形態に係る探索では、より演算数の少ないネットワーク構造が効率的に探索されていることがわかる。
【０１４０】
以上、説明したように、本開示に係る第２の実施形態では、生成された複数のネットワークの予測誤差を測定し、当該予測誤差に基づいて評価対象を選択することで、探索の効率を大きく向上させることが可能である。なお、図１８Ａ〜Ｃでは図示していないが、第２の実施形態に係る探索画面ＢＯでは、評価部３２０が選択したネットワークに係る予測誤差の平均や分散の値が画面上に表示されてもよい。ユーザは、上記の予測誤差を確認することで、パレート最適解の境界線ＰＬ３が更新される期待値を把握することができる。
【０１４１】
（本実施形態に係る評価結果）
続いて、本実施形態に係る情報処理方法の評価結果について述べる。図１９Ａ〜図１９Ｄは、第１及び第２の実施形態に係るネットワーク構造の探索結果と探索試行回数との関係を示すグラフである。すなわち、図１９Ａ〜図１９Ｄは、第１及び第２の実施形態に係る情報処理方法により、学習精度と演算量の両方を考慮して探索を行った結果を示している。なお、図１９Ａ〜図１９Ｄでは、横軸に探索試行回数が示されている。
【０１４２】
図１９Ａは、探索試行回数と実測誤差との関係を示すグラフである。図１９Ａには、縦軸に実測誤差が示されており、第１の実施形態に係る評価結果ＥＭ１、及び第２の実施形態に係る評価結果ＢＯ１がそれぞれプロットされている。
【０１４３】
図１９Ａにおいて、例えば、実測誤差０．０３３を実現するネットワークに着目すると、第２の実施形態に係る探索では、第１の実施形態と比べ、およそ１／３〜１／４の探索試行回数で該当するネットワークを発見できている。このように、第２の実施形態に係る情報処理方法によれば、より少ない探索試行回数で学習精度の高いネットワーク構造を探索することが可能である。
【０１４４】
また、図１９Ｂは、探索試行回数と実測誤差０．０４を実現する乗加算回数との関係を示すグラフである。図１９Ｂには、縦軸に乗加算回数が示されており、第１の実施形態に係る評価結果ＥＭ２、及び第２の実施形態に係る評価結果ＢＯ２がそれぞれプロットされている。
【０１４５】
図１９Ｂにおいて、例えば、乗加算回数が３００Ｋ回を下回るネットワークに着目すると、第２の実施形態に係る探索では、第１の実施形態と比べ、およそ１／６〜１／７の探索試行回数で該当するネットワークを発見できている。
【０１４６】
また、図１９Ｃは、探索試行回数と実測誤差０．０５を実現する乗加算回数との関係を示すグラフである。図１９Ｃには、縦軸に乗加算回数が示されており、第１の実施形態に係る評価結果ＥＭ３、及び第２の実施形態に係る評価結果ＢＯ３がそれぞれプロットされている。
【０１４７】
図１９Ｃにおいて、例えば、乗加算回数が３００Ｋ回を下回るネットワークに着目すると、第２の実施形態に係る探索では、第１の実施形態と比べ、およそ１／８〜１／９の探索試行回数で該当するネットワークを発見できている。
【０１４８】
また、図１９Ｄは、探索試行回数と実測誤差０．０６を実現する乗加算回数との関係を示すグラフである。図１９Ｄには、縦軸に乗加算回数が示されており、第１の実施形態に係る評価結果ＥＭ４、及び第２の実施形態に係る評価結果ＢＯ４がそれぞれプロットされている。
【０１４９】
図１９Ｄにおいて、例えば、乗加算回数が３００Ｋ回を下回るネットワークに着目すると、第２の実施形態に係る探索では、第１の実施形態と比べ、およそ１／８の探索試行回数で該当するネットワークを発見できている。
【０１５０】
以上、図１９Ｂ〜図１９Ｄに示したとおり、本実施形態に係る情報処理方法によれば、より少ない探索試行回数で、性能を損なわず実行速度を大幅に改善したネットワーク構造を探索することが可能である。
【０１５１】
＜＜３．４．本開示に係る探索の設定＞＞
次に、本開示に係る探索の設定について説明する。本開示に係るネットワーク構造の探索は、ユーザによる種々の設定を受け付けてよい。図２０は、本開示の探索に係る設定画面の一例である。ここで、図２０に示す例は、情報処理装置１０の表示部１１０に表示される画面例であってよい。
【０１５２】
図２０を参照すると、本開示の探索に係る設定画面は、例えば、探索方法、最適化対象、探索範囲、早期終了、及びタイムリミットに係る設定項目を含んでよい。
【０１５３】
ユーザは、探索方法（Ｍｅｔｈｏｄ）を選択することで、ネットワーク構造の探索を行う際の探索方法を指定できてよい。ユーザは、例えば、第１の実施形態に係るランダム選択による探索や、第２の実施形態に係る予測誤差を用いた探索方法などを指定できてよい。
【０１５４】
また、ユーザは、最適化対象（Ｏｐｔｉｍｉｚｅ  ｆｏｒ）を選択することで、最適化する対象を指定できてよい。ユーザは、例えば、学習精度と演算量の両方を最適化するように指定できてもよいし、学習精度または演算量のいずれか一方を最適化するように指定できてもよい。最適化対象を指定することで、ユーザは用途に則した探索結果を得ることができる。
【０１５５】
また、ユーザは、探索範囲（Ｓｅａｒｃｈ  Ｒａｎｇｅ）を入力することで、探索を行うネットワークの範囲を指定できてよい。ユーザは、例えば、探索するネットワークのヴァリデーション誤差や乗加算回数に係る最大値及び最小値を指定できてよい。ユーザは、上記の探索範囲を指定することで、演算量の多すぎるネットワークや学習精度の低すぎるネットワークの探索を防ぐことができる。
【０１５６】
また、ユーザは、早期終了（Ｅａｒｌｙ  Ｓｔｏｐｐｉｎｇ）をチェックすることで、ニューラルネットワークの学習に係る早期終了を設定できてよい。ここで、上記の早期終了設定とは、学習中のネットワークが既存のネットワーク性能を超えることがないと予想されることに基づいて、当該学習中のネットワークを早期終了させる設定であってよい。ユーザが上記の早期終了を設定することで、探索に係る処理時間を短縮することが可能である。
【０１５７】
また、ユーザは、タイムリミット（Ｔｉｍｅ  Ｌｉｍｉｔ）の値を入力することで、ネットワークの学習時間に係る時間制限を設定できてよい。ここで、上記のタイムリミットとは、１つの学習に対して許容し得る学習時間の制限であってよい。ユーザは、上記のタイムリミットを設定することで、学習に時間の掛かり過ぎるネットワークの探索を防ぐことができる。
【０１５８】
以上、本開示に係る探索の設定について説明した。上述したとおり、本開示に係る情報処理方法は、ネットワークの探索に係る種々の設定を受け付けることができる。これにより、本開示に係る情報処理方法では、よりユーザにとって価値の高い探索を実行することが可能である。
【０１５９】
なお、本開示に係るネットワークの探索は、上記に挙げた例以外の設定により制御されてもよい。本開示に係る探索は、例えば、ユーザにより指定された探索試行回数や、ニューラルネットワークが実装されるハードウェアに係る使用メモリ量などの制限情報に基づいて制御されてもよい。本開示に係る探索の設定は、ニューラルネットワークに係る仕様や運用に応じて適宜変更され得る。
【０１６０】
＜４．ハードウェア構成例＞
次に、本開示に係る情報処理装置１０及び情報処理サーバ３０に共通するハードウェア構成例について説明する。図２１は、本開示に係る情報処理装置１０及び情報処理サーバ３０のハードウェア構成例を示すブロック図である。図２１を参照すると、情報処理装置１０及び情報処理サーバ３０は、例えば、ＣＰＵ８７１と、ＲＯＭ８７２と、ＲＡＭ８７３と、ホストバス８７４と、ブリッジ８７５と、外部バス８７６と、インターフェース８７７と、入力装置８７８と、出力装置８７９と、ストレージ８８０と、ドライブ８８１と、接続ポート８８２と、通信装置８８３と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
【０１６１】
（ＣＰＵ８７１）
ＣＰＵ８７１は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ８７２、ＲＡＭ８７３、ストレージ８８０、又はリムーバブル記録媒体９０１に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
【０１６２】
（ＲＯＭ８７２、ＲＡＭ８７３）
ＲＯＭ８７２は、ＣＰＵ８７１に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ８７３には、例えば、ＣＰＵ８７１に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１６３】
（ホストバス８７４、ブリッジ８７５、外部バス８７６、インターフェース８７７）
ＣＰＵ８７１、ＲＯＭ８７２、ＲＡＭ８７３は、例えば、高速なデータ伝送が可能なホストバス８７４を介して相互に接続される。一方、ホストバス８７４は、例えば、ブリッジ８７５を介して比較的データ伝送速度が低速な外部バス８７６に接続される。また、外部バス８７６は、インターフェース８７７を介して種々の構成要素と接続される。
【０１６４】
（入力装置８７８）
入力装置８７８には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置８７８としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１６５】
（出力装置８７９）
出力装置８７９には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ、又は有機ＥＬ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
【０１６６】
（ストレージ８８０）
ストレージ８８０は、各種のデータを格納するための装置である。ストレージ８８０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
【０１６７】
（ドライブ８８１）
ドライブ８８１は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９０１に記録された情報を読み出し、又はリムーバブル記録媒体９０１に情報を書き込む装置である。
【０１６８】
（リムーバブル記録媒体９０１）
リムーバブル記録媒体９０１は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙ（登録商標）メディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９０１は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。
【０１６９】
（接続ポート８８２）
接続ポート８８２は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９０２を接続するためのポートである。
【０１７０】
（外部接続機器９０２）
外部接続機器９０２は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。
【０１７１】
（通信装置８８３）
通信装置８８３は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、又は各種通信用のモデム等である。
【０１７２】
＜５．まとめ＞
以上説明したように、本開示に係る情報処理方法は、評価済みのニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成すること、を特徴の一つとする。また、本開示に係る情報処理方法では、生成されたニューラルネットワークの評価結果を取得し、当該取得結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新することが可能である。さらに、本開示に係る情報処理方法は、パレート最適に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。係る構成によれば、環境に応じたネットワーク構造をより効率的に探索することが可能となる。
【０１７３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１７４】
例えば、上記実施形態では、情報処理サーバ３０が、ニューラルネットワークの生成及びパレート最適解の更新を行う場合を例に説明したが、本技術は係る例に限定されない。例えば、ニューラルネットワークの生成及びパレート最適解の更新は、情報処理装置１０により実現されてもよい。この場合、情報処理装置１０のフォーム制御部１３０が、シードネットワークに基づいて別のネットワークを生成し、当該別のネットワークに係る情報を情報処理サーバ３０に送信してもよい。また、フォーム制御部１３０は、情報処理サーバ３０から取得したネットワークの評価結果に基づいてパレート最適解を更新し、表示部１１０に表示させてもよい。
【０１７５】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１７６】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
プロセッサが、評価済のニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することと、
生成されたニューラルネットワークの評価結果を取得することと、
生成されたニューラルネットワークの評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新することと、
前記パレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成することと、
を含む、
情報処理方法。
（２）
遺伝的操作により、前記別のニューラルネットワークを生成する、
前記（１）に記載の情報処理方法。
（３）
前記遺伝的操作は、突然変異または交叉のうち少なくとも一方を含む、
前記（２）に記載の情報処理方法。
（４）
前記突然変異は、レイヤーの挿入、レイヤーの削除、レイヤー種類の変更、パラメータの変更、グラフ分岐、またはグラフ分岐の削除を含む、
前記（３）に記載の情報処理方法。
（５）
前記評価結果は、演算量、及び学習誤差またはヴァリデーション誤差のうち少なくとも一方を含む、
前記（１）〜（４）のいずれかに記載の情報処理方法。
（６）
生成されたニューラルネットワークの予測誤差を測定すること、
をさらに含み、
前記予測誤差は、予測された学習誤差または予測されたヴァリデーション誤差のうち少なくとも一方に係る値を含み、
前記評価結果を取得することは、前記予測誤差に基づいて選択したニューラルネットワークの前記評価結果を取得すること、を含む、
前記（１）〜（５）のいずれかに記載の情報処理方法。
（７）
生成されたニューラルネットワークに係るネットワーク構造の特徴量に基づいて前記予測誤差を測定する、
前記（６）に記載の情報処理方法。
（８）
前記予測誤差は、予測された誤差の平均及び分散を含み、
前記評価結果を取得することは、前記予測された誤差の平均及び分散と、演算量と、に基づいて選択したニューラルネットワークの前記評価結果を取得すること、を含む、
前記（６）または（７）に記載の情報処理方法。
（９）
前記評価結果を取得することは、前記パレート最適解に係る境界線を更新する面積の期待値に基づいて選択したニューラルネットワークの前記評価結果を取得すること、を含む、
前記（８）に記載の情報処理方法。
（１０）
前記ネットワーク構造の特徴量は、レイヤーの出現頻度、レイヤーの出現位置に係るヒストグラム、前記出現位置ごとの分岐数、または前記出現位置ごとの主要パラメータの統計量のうち少なくとも１つに基づいて算出される、
前記（７）〜（９）のいずれかに記載の情報処理方法。
（１１）
前記パレート最適解に係るニューラルネットワークから選択した候補をユーザに提示すること、
をさらに含み、
前記候補は、最高性能、中間解、または最小演算量に係るニューラルネットワークのうち少なくとも１つを含む、
前記（５）〜（１０）のいずれかに記載の情報処理方法。
（１２）
入力されたニューラルネットワークのネットワーク構造を変化させるニューラルネットワークを用いて、別のニューラルネットワークを生成する、
前記（１）〜（１１）のいずれかに記載の情報処理方法。
（１３）
前記予測誤差を測定することは、入力されたニューラルネットワークのネットワーク構造を認識するニューラルネットワークを用いて前記予測誤差を測定すること、を含む、
前記（６）〜（１０）のいずれかに記載の情報処理方法。
（１４）
評価済のニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成する生成部と、
生成されたニューラルネットワークの評価結果を取得する評価部と、
を備え、
前記評価部は、生成されたニューラルネットワークの評価結果に基づいて、評価済のニューラルネットワークに係るパレート最適解を更新し、
前記生成部は、前記パレート最適解に係るニューラルネットワークから、ネットワーク構造の異なる別のニューラルネットワークを生成する、
情報処理装置。
（１５）
ユーザによるニューラルネットワークの指定を受け付ける入力部と、
評価済のニューラルネットワークに係るパレート最適解の提示を制御する制御部と、
を備え、
前記制御部は、前記ユーザにより指定されたニューラルネットワークから生成された別のニューラルネットワークの評価結果に基づいて更新されるパレート最適解を提示する、
情報処理装置。
（１６）
プロセッサが、一のニューラルネットワークからネットワーク構造の異なる別のニューラルネットワークを生成することと、
生成された前記別のニューラルネットワークの評価結果が、前記一のニューラルネットワークの評価結果を上回る場合、前記別のニューラルネットワークをパレート最適解として更新することと、
を含む、
情報処理方法。
（１７）
前記評価結果は、演算量または誤差のうち少なくともいずれか一方を含み、
前記パレート最適解として更新することは、前記演算量または誤差のいずれか一方を小さくすることをさらに含む、
前記（１６）に記載の情報処理方法。
（１８）
前記別のニューラルネットワークを生成することは、遺伝的操作により前記別のニューラルネットワークを生成すること、をさらに含み、
前記遺伝的操作は、突然変異または交叉のうち少なくとも一方を含む、
前記（１６）または（１７）に記載の情報処理方法。
（１９）
前記パレート最適解として更新することは、事前の誤差予測に基づいて取得した別のニューラルネットワークの評価結果と前記一のニューラルネットワークの評価結果とを比較すること、をさらに含む、
前記（１６）〜（１８）のいずれかに記載の情報処理方法。
（２０）
前記パレート最適解として更新された前記別のニューラルネットワークを、前記一のニューラルネットワークとして新たな別のニューラルネットワークを生成すること、
をさらに含む、
前記（１６）〜（１９）のいずれかに記載の情報処理方法。
【符号の説明】
【０１７７】
１０      情報処理装置
１１０    表示部
１２０    入力部
１３０    フォーム制御部
１４０    サーバ通信部
２０      ネットワーク
３０      情報処理サーバ
３１０    生成部
３２０    評価部
３３０    装置通信部
【図１】
2019175513.tif 000004
【図２】
2019175513.tif 000005
【図３】
2019175513.tif 000006
【図４】
2019175513.tif 000007
【図５】
2019175513.tif 000008
【図６】
2019175513.tif 000009
【図７】
2019175513.tif 000010
【図８Ａ】
2019175513.tif 000011
【図８Ｂ】
2019175513.tif 000012
【図８Ｃ】
2019175513.tif 000013
【図９】
2019175513.tif 000014
【図１０Ａ】
2019175513.tif 000015
【図１０Ｂ】
2019175513.tif 000016
【図１１Ａ】
2019175513.tif 000017
【図１１Ｂ】
2019175513.tif 000018
【図１２】
2019175513.tif 000019
【図１３】
2019175513.tif 000020
【図１４】
2019175513.tif 000021
【図１５】
2019175513.tif 000022
【図１６】
2019175513.tif 000023
【図１７Ａ】
2019175513.tif 000024
【図１７Ｂ】
2019175513.tif 000025
【図１７Ｃ】
2019175513.tif 000026
【図１８Ａ】
2019175513.tif 000027
【図１８Ｂ】
2019175513.tif 000028
【図１８Ｃ】
2019175513.tif 000029
【図１９Ａ】
2019175513.tif 000030
【図１９Ｂ】
2019175513.tif 000031
【図１９Ｃ】
2019175513.tif 000032
【図１９Ｄ】
2019175513.tif 000033
【図２０】
2019175513.tif 000034
【図２１】
2019175513.tif 000035