(57)【要約】      （修正有）【課題】ネットワーク構造をより効率的に探索することが可能な技術を提供する。【解決手段】情報処理装置は、グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得する構造取得部を備え、ユーザにより指定された構造に関連する情報とあらかじめ登録されているネットワーク構造群とに応じて生成された１または複数のグラフ構造と前記グラフ構造の性能指標とを取得する。また、グラフ構造と前記性能指標との出力を制御する出力制御部を備える。【選択図】図２
2017182710.tif 000002
【特許請求の範囲】
【請求項１】
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得する構造取得部を備える、情報処理装置。
【請求項２】
前記構造取得部は、ユーザにより指定された構造に関連する情報とあらかじめ登録されているネットワーク構造群とに応じて生成された１または複数のグラフ構造と前記グラフ構造の性能指標とを取得し、
前記情報処理装置は、
前記グラフ構造と前記性能指標との出力を制御する出力制御部を備える、
請求項１に記載の情報処理装置。
【請求項３】
前記ネットワーク構造群は、過去に探索されたネットワークの全体構造を含む、
請求項２に記載の情報処理装置。
【請求項４】
前記グラフ構造は、前記全体構造におけるグラフ構造ベースの探索に基づいて生成される、
請求項３に記載の情報処理装置。
【請求項５】
前記グラフ構造は、前記ネットワーク構造群から選択された所定の性能よりも高い性能を有する全体構造に応じて生成される、
請求項２に記載の情報処理装置。
【請求項６】
前記ネットワーク構造群は、所定の性能よりも高い性能を有すると判断された前記全体構造を含む、
請求項３に記載の情報処理装置。
【請求項７】
前記ネットワーク構造群は、過去に探索されたネットワークの部分構造を含む、
請求項２に記載の情報処理装置。
【請求項８】
前記グラフ構造は、前記部分構造の他の構造への接続に基づいて生成される、
請求項７に記載の情報処理装置。
【請求項９】
前記ネットワーク構造群は、所定の性能よりも高い性能を有すると判断された複数の全体構造に所定の頻度を超えて共通的に出現する部分構造を含む、
請求項７に記載の情報処理装置。
【請求項１０】
前記構造に関連する情報は、前記グラフ構造に含まれるべき固定領域に関連する情報を含む、
請求項１に記載の情報処理装置。
【請求項１１】
前記固定領域に関連する情報は、前記固定領域に含まれる複数のノードの接続関係と前記グラフ構造における前記固定領域の位置とを含み、
前記グラフ構造は、前記複数のノードが前記接続関係を有して前記固定領域の位置に存在するように生成される、
請求項１０に記載の情報処理装置。
【請求項１２】
前記固定領域は、所定のネットワーク構造に対するユーザの選択操作に基づいて決定される、
請求項１０に記載の情報処理装置。
【請求項１３】
前記構造に関連する情報は、一部が探索領域として設定された所定のネットワーク構造を含む、
請求項１に記載の情報処理装置。
【請求項１４】
前記探索領域に関連する情報は、前記探索領域以外を構成する複数のノードの接続関係と前記グラフ構造における前記探索領域以外の位置とを含み、
前記グラフ構造は、前記複数のノードが前記接続関係を有して前記探索領域以外の位置に存在するように生成される、
請求項１３に記載の情報処理装置。
【請求項１５】
前記探索領域は、所定のネットワーク構造に対するユーザの選択操作に基づいて決定される、
請求項１３に記載の情報処理装置。
【請求項１６】
前記構造に関連する情報は、前記グラフ構造が有するべき条件を含む、
請求項１に記載の情報処理装置。
【請求項１７】
前記出力制御部は、前記グラフ構造と前記性能指標との表示を制御する、
請求項２に記載の情報処理装置。
【請求項１８】
前記情報処理装置は、
前記グラフ構造のうち所定の性能よりも高い性能を有するグラフ構造に所定の頻度を超えて出現する部分構造を抽出する構造抽出部を備える、
請求項２に記載の情報処理装置。
【請求項１９】
前記出力制御部は、前記部分構造に応じた所定の表示を制御する、
請求項１８に記載の情報処理装置。
【請求項２０】
前記ネットワーク構造群は、前記情報処理装置のユーザとは異なる他のユーザの操作に基づいて探索されたネットワーク構造を含む、
請求項２に記載の情報処理装置。
【請求項２１】
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得することを含む、情報処理方法。
【請求項２２】
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造の性能を提供することを含む、情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法および情報提供方法に関する。
【背景技術】
【０００２】
近年、ニューラルネットワークを用いた学習に関する技術として様々な技術が存在する（例えば、特許文献１参照）。ニューラルネットワークは大きく三つの層（入力層、中間層および出力層）に分けられる。このうち、中間層を複数有するネットワークを用いた学習は、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇと呼ばれている。このように、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇは、中間層を複数有するネットワークを用いることによって、学習器の表現能力を向上させ、より複雑な問題やタスクに対する学習が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１３５０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇにおいては、ネットワーク構造（例えば、より性能の高いネットワーク構造）を効率的に探索することが重要である。そこで、ネットワーク構造をより効率的に探索することが可能な技術が提供されることが望まれる。
【課題を解決するための手段】
【０００５】
本開示によれば、グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得する構造取得部を備える、情報処理装置が提供される。
【０００６】
本開示によれば、グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得することを含む、情報処理方法が提供される。
【０００７】
本開示によれば、グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造の性能を提供することを含む、情報提供方法が提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、ネットワーク構造をより効率的に探索することが可能な技術が提供される。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【０００９】
【図１】本開示の一実施形態に係る情報処理システムの構成例を示す図である。
【図２】同実施形態に係る情報処理装置の機能構成例を示すブロック図である。
【図３】同実施形態に係る情報提供装置の機能構成例を示すブロック図である。
【図４】情報提供装置の記憶部によって記憶されるデータベースの例を示す図である。
【図５】探索履歴データベースの構成例を示す図である。
【図６】探索されたネットワークの構造およびパラメータの例を示す図である。
【図７】問題設定の構成例を示す図である。
【図８】構造情報データベースの構成例を示す図である。
【図９】入力画面の第一の例を示す図である。
【図１０】入力画面の第二の例を示す図である。
【図１１】入力画面の第三の例を示す図である。
【図１２】情報処理システムの動作例を示すフローチャートである。
【図１３】情報処理装置のハードウェア構成について説明する。
【図１４】情報提供装置のハードウェア構成について説明する。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１２】
なお、説明は以下の順序で行うものとする。
０．背景
１．本開示の実施形態
１．１．システム構成例
１．２．機能構成例
１．３．情報処理システムの機能詳細
１．４．ハードウェア構成例
２．むすび
【００１３】
＜０．背景＞
ニューラルネットワークを用いた学習に関する技術として様々な技術が存在する（例えば、特開平５−１３５０００号公報参照）。ニューラルネットワークは大きく三つの層（入力層、中間層および出力層）に分けられる。このうち、中間層を複数有するネットワークを用いた学習は、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇと呼ばれている。このように、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇは、中間層を複数有するネットワークを用いることによって、学習の難易度を向上させることが可能である。
【００１４】
Ｄｅｅｐ  Ｌｅａｒｎｉｎｇの研究開発においては、高性能なネットワーク構造を探索するために、多くのコスト（例えば、労力、時間および計算機など）が掛けられている。また、論文などに公開される高性能なネットワーク構造は多くのネットワーク探索から得られる情報であるが、その情報だけではネットワーク探索の手法まで十分に公開されているとはいえない。そのため、世界中の研究者が似たような試行錯誤を繰り返すという非効率的な状況が作り出されている。
【００１５】
したがって、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇにおいては、ネットワーク構造（例えば、より性能の高いネットワーク構造）を効率的に探索することが重要である。そこで、本明細書においては、ネットワーク構造をより効率的に探索することが可能な技術について主に説明する。なお、本明細書においては、学習としてＤｅｅｐ  Ｌｅａｒｎｉｎｇを用いることを主に想定するが、学習の形態は、特にＤｅｅｐ  Ｌｅａｒｎｉｎｇに限定されない。また、本開示の実施形態に係るネットワークは、グラフ構造を有する。グラフ構造は、層（Ａｆｆｉｎｅ層など）をエッジとし、層に対する入力および層からの出力となる数値群（例えば、ベクトル、テンソルなど）をノードとした構造に相当する。
【００１６】
＜１．本開示の実施形態＞
［１．１．システム構成例］
まず、図面を参照しながら本開示の一実施形態に係る情報処理システムの構成例について説明する。図１は、本開示の一実施形態に係る情報処理システムの構成例を示す図である。図１に示したように、本実施形態に係る情報処理システム１は、情報処理装置１０および情報提供装置２０を備える。情報処理装置１０および情報提供装置２０は、通信ネットワーク９３１を介して通信を行うことが可能である。
【００１７】
なお、図１に示した例では、情報処理装置１０の形態は特に限定されない。例えば、情報処理装置１０は、ゲーム機であってもよいし、スマートフォンであってもよいし、携帯電話であってもよいし、タブレット端末であってもよいし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよい。なお、以下の説明において、音声（ｖｏｉｃｅまたはｓｐｅｅｃｈ）と音（ｓｏｕｎｄ）とは区別して用いられる。また、情報提供装置２０は、サーバなどのコンピュータであることが想定される。
【００１８】
以上、本実施形態に係る情報処理システム１の構成例について説明した。
【００１９】
［１．２．機能構成例］
続いて、本実施形態に係る情報処理装置１０の機能構成例について説明する。図２は、本実施形態に係る情報処理装置１０の機能構成例を示すブロック図である。図２に示したように、情報処理装置１０は、操作部１１０、制御部１２０、通信部１３０、記憶部１４０および表示部１５０を備える。以下、情報処理装置１０が備えるこれらの機能ブロックについて説明する。
【００２０】
操作部１１０は、ユーザの操作を受け付ける機能を有する。例えば、操作部１１０は、マウス、キーボードなどの入力装置を含んでよい。また、操作部１１０は、ユーザの操作を受け付ける機能を有していればよいため、タッチパネルを含んでもよい。タッチパネルが採用する方式は特に限定されず、静電容量方式であってもよいし、抵抗膜方式であってもよいし、赤外線方式であってもよいし、超音波方式であってもよい。また、操作部１１０は、カメラを含んでもよい。
【００２１】
制御部１２０は、情報処理装置１０の各部の制御を実行する。図２に示したように、制御部１２０は、データ取得部１２１、構造取得部１２２、構造抽出部１２３、送信制御部１２４および出力制御部１２５を有する。制御部１２０が有するこれらの機能ブロックの詳細は後に説明する。なお、制御部１２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などで構成されていてよい。制御部１２０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。
【００２２】
通信部１３０は、情報提供装置２０との間で通信を行う機能を有する。例えば、通信部１３０は、通信インターフェースにより構成される。例えば、通信部１３０は、通信ネットワーク９３１（図１）を介して、情報提供装置２０との間で通信を行うことが可能である。
【００２３】
記憶部１４０は、制御部１２０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部１４０は、制御部１２０による演算のためにデータを一時的に記憶する。記憶部１４０は、磁気記憶部デバイスであってもよいし、半導体記憶デバイスであってもよいし、光記憶デバイスであってもよいし、光磁気記憶デバイスであってもよい。
【００２４】
表示部１５０は、各種情報を表示する機能を有する。例えば、表示部１５０は、液晶ディスプレイであってもよいし、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであってもよいし、ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ）であってもよい。しかし、表示部１５０は、各種情報を表示する機能を有すれば、他の形態のディスプレイであってもよい。
【００２５】
以上、本実施形態に係る情報処理装置１０の機能構成例について説明した。
【００２６】
続いて、本実施形態に係る情報提供装置２０の機能構成例について説明する。図３は、本実施形態に係る情報提供装置２０の機能構成例を示すブロック図である。図３に示したように、情報提供装置２０は、制御部２２０、通信部２３０および記憶部２４０を備える。以下、情報提供装置２０が備えるこれらの機能ブロックについて説明する。
【００２７】
制御部２２０は、情報提供装置２０の各部の制御を実行する。図３に示したように、制御部２２０は、取得部２２１、学習処理部２２２、記録制御部２２３および送信制御部２２４を有する。制御部２２０が有するこれらの機能ブロックの詳細は後に説明する。なお、制御部２２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などで構成されていてよい。制御部２２０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。
【００２８】
通信部２３０は、情報処理装置１０との間で通信を行う機能を有する。例えば、通信部２３０は、通信インターフェースにより構成される。例えば、通信部２３０は、通信ネットワーク９３１（図１）を介して、情報処理装置１０との間で通信を行うことが可能である。
【００２９】
記憶部２４０は、制御部２２０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部２４０は、制御部２２０による演算のためにデータを一時的に記憶する。記憶部２４０は、磁気記憶部デバイスであってもよいし、半導体記憶デバイスであってもよいし、光記憶デバイスであってもよいし、光磁気記憶デバイスであってもよい。
【００３０】
以上、本実施形態に係る情報提供装置２０の機能構成例について説明した。
【００３１】
［１．３．情報処理システムの機能詳細］
続いて、情報処理システム１の機能詳細について説明する。図４は、情報提供装置２０の記憶部２４０によって記憶されるデータベースの例を示す図である。図４に示すように、記憶部２４０は、探索履歴データベース２５０と構造情報データベース２６０とを記憶する。探索履歴データベース２５０は、過去になされたネットワークの探索結果を履歴として格納するデータベースである。一方、構造情報データベース２６０は、探索によって得られたネットワークの構造（部分構造）に関する情報を格納するデータベースである。探索履歴データベース２５０と構造情報データベース２６０に格納されるネットワーク構造は、情報処理装置１０のユーザの操作に基づいて探索されたネットワーク構造を含んでもよいし、情報処理装置１０のユーザとは異なる他のユーザの操作に基づいて探索されたネットワーク構造を含んでもよい。
【００３２】
図５は、探索履歴データベース２５０の構成例を示す図である。図５に示すように、探索履歴データベース２５０は、探索されたネットワークの名前、当該ネットワークの構造（全体構造）、当該構造の性能指標、当該ネットワークの積和演算数、当該ネットワークのパラメータ数および当該ネットワークの問題設定などの組み合わせを探索結果として格納する。以下、図６を参照しながら、構造の性能指標について説明し、図７を参照しながら、問題設定について説明する。
【００３３】
図６は、探索されたネットワークの構造およびパラメータの例を示す図である。特に、図６に示した構造Ｒ１１は、図５に示したＲ１１に相当する。図６を参照すると、構造Ｒ１１は、ネットワークを構成する複数のノードの一部として「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ａｆｆｉｎｅ層」とを有している。図６に示したように、上下に隣接する２つのノードが存在する場合、これら２つのノードは、ネットワークにおいて上下に接続されており、上側のノードが入力側のノードに相当し、下側のノードが出力側のノードに相当する。
【００３４】
また、構造Ｒ１の各ノードには各種パラメータが付加されている。図６に示した例では、各ノードに複数のパラメータ（「ｉｎｐｕｔ  ｓｈａｐｅ」「ｏｕｔｐｕｔ  ｓｈａｐｅ」「ｌｅａｒｎｉｎｇ  ｒａｔｅ  ｆａｃｔｏｒ」「ｖｅｒｔｅｘ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ」「ｗｅｉｇｈｔ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ」「ｉｎｉｔｉａｌ  ｗｅｉｇｈｔ」）が付加されている。しかし、各ノードに付加されるパラメータの種類は特に限定されない。
【００３５】
「ｉｎｐｕｔ  ｓｈａｐｅ」はノードへの入力データサイズを示す。「ｏｕｔｐｕｔ  ｓｈａｐｅ」はノードからの出力データサイズを示す。「ｌｅａｒｎｉｎｇ  ｒａｔｅ  ｆａｃｔｏｒ」は、１つの学習から次の学習に遷移するときの重み変化を調整するための係数である。「ｖｅｒｔｅｘ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ」は、中間層の発火の強さの二乗和を損失関数に加えるときの係数である。「ｗｅｉｇｈｔ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ」は、重みの二乗和を損失関数に加えるときの係数である。「ｉｎｉｔｉａｌ  ｗｅｉｇｈｔ」は、ノードにおける学習結果を示し、「ａｒｒａｙ」は、重み情報を格納する配列であり、学習済みの重み情報が格納される。
【００３６】
図７は、問題設定の構成例を示す図である。図７に示した問題設定は、図５に示した探索履歴データベース２５０における問題設定に相当する。図７に示したように、問題設定は、問題特性、入力空間および出力空間を有する。問題特性は、ネットワークを通して解決しようとする問題のタイプを示す。入力空間は、ネットワークへの入力データの種類を示す。出力空間は、ネットワークからの出力データの表現形式を示す。「ｔｒｉｐｌｅｔ  ｌｏｓｓ」は、入力データに付されるラベルと出力データとの距離の例であり、Ｌ１距離、Ｌ２距離およびカイ二乗距離などを包含する。
【００３７】
図８は、構造情報データベース２６０の構成例を示す図である。図８に示すように、構造情報データベース２６０は、ネットワークの構造（部分構造）とネットワークにおける部分構造の位置との組み合わせを構造情報として格納する。部分構造の位置はどのように表現されてもよい。例えば、図８に示した構造Ｒ２１の位置のように、部分構造の位置は、その構造の入力層までの距離と出力層までの距離との比（３：１）によって表されてもよいし、入力層から出力層までの深さに対するその構造の入力層までの距離の割合（３／４）によって表されてもよい。ニューラルネットワーク内では、部分構造と部分構造との相対的な位置関係（例えば、ある構造Ｘの後に他の構造Ｙが続くといったＸとＹとの相対的な位置関係など）が重要である。例えば、画像系のニューラルネットワーク内では、入力層に近い部分でエッジ検出器が内部的に作られ、その後ろにおいてエッジの組み合わせからより複雑な特徴量抽出器が作られ、その特徴の組み合わせから犬認識器や猫認識器が作られる。良い部分構造はそれぞれ役割を持つことが期待されるため、その役割に応じて互いに最適な位置関係があることが期待される。そこで、ネットワークの探索は、部分構造と部分構造との相対的な位置関係をもとになされる。
【００３８】
図２に戻って説明を続ける。まず、情報処理装置１０の出力制御部１２５は、表示部１５０による入力画面の表示を制御する。ユーザが入力画面を見ながら操作部１１０に対してノードを追加、削除または変更する操作を与えると、出力制御部１２５は、かかる操作に基づいてネットワーク構造を編集し、ネットワーク構造の表示を制御することが可能である。図９は、入力画面の第一の例を示す図である。入力画面の第一の例が利用される場合について説明する。図９を参照すると、２つの入力層、４つの中間層および１つの出力層を含むネットワーク構造が表示されている。
【００３９】
ユーザは、入力画面Ｇ１０において構造取得部１２２によって生成される１または複数のネットワーク構造（以下、「生成ネットワーク構造」とも言う。）に含めるべき領域（以下、「固定領域」とも言う。）を指定することが可能である。例えば、図９に示したように、ユーザが３つの中間層（２つの「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ｃｏｎｃａｔｉｎａｔｅ層」）を含む部分構造が良い部分構造であるという情報を入手し、生成ネットワーク構造にこの部分構造を含めたいと考えた場合を想定する。
【００４０】
かかる場合、図９に示したように、ユーザが、これらの３つの中間層を含む領域を固定領域として選択する操作を操作部１１０に対して与えると、データ取得部１２１は、かかる操作に基づいてこの固定領域に関連する情報を条件（ネットワークの性能指標に関する条件）の例として取得する。具体的に、固定領域に関連する情報は、固定領域に含まれる複数のノード（図９に示した例では、２つの「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ｃｏｎｃａｔｉｎａｔｅ層」）の接続関係とネットワーク構造における固定領域の位置とを含んでよい。また、固定領域の位置は、上記した部分構造の位置と同様な手法によって表現されてよい。なお、選択操作は、タップ操作によって実現されてもよいし、クリック操作によって実現されてもよい。
【００４１】
ユーザが、入力画面Ｇ１０に存在する探索ボタンＧ１２を選択する操作を操作部１１０に対して与えると、送信制御部１２４は、データ取得要求の情報提供装置２０への送信を制御する。情報提供装置２０において、取得部２２１が通信部２３０を介してデータ取得要求を取得すると、記録制御部２２３は、探索履歴データベース２５０（図５）および構造情報データベース２６０（図８）の読み込みを行う。
【００４２】
このとき、探索履歴データベース２５０からは、所定の性能よりも高い性能を有するデータが選択的に読み込まれる。例えば、探索履歴データベース２５０からは、性能の高い順に所定数のデータが選択的に読み込まれてもよい。ただし、あらかじめ所定の性能よりも高い性能を有すると判断されたデータが探索履歴データベース２５０に書き込まれる場合には、探索履歴データベース２５０から全てのデータが読み込まれてもよい。
【００４３】
また、本明細書においては、あらかじめ所定の性能よりも高い性能を有すると判断された複数の全体構造に所定の頻度を超えて共通的に出現する部分構造が構造情報データベース２６０に書き込まれる場合を想定する。そこで、構造情報データベース２６０からも、全てのデータが読み込まれてもよい。あるいは、構造情報データベース２６０からは、性能の高い順に所定数のデータが選択的に読み込まれてもよい。
【００４４】
情報提供装置２０において、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータの送信制御部２２４による送信制御がなされると、情報処理装置１０において、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータがデータ取得部１２１によって取得される。
【００４５】
続いて、構造取得部１２２は、ユーザにより指定された条件（ネットワークの性能指標に関する条件）（構造に関連する情報）と探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータとに応じて１または複数の生成ネットワーク構造を生成する。生成ネットワーク構造の生成には、グラフ構造ベースの自動探索（例えば、遺伝的プログラミングまたは強化学習を用いたグラフ構造ベースの自動探索）が行われてよい。すなわち、構造取得部１２２は、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータのグラフ構造を切り離してつなぎ変えたりすることによって１または複数の生成ネットワーク構造を生成する。
【００４６】
例えば、構造取得部１２２は、探索履歴データベース２５０から読み込まれた構造（全体構造）における一部置換に基づいて、生成ネットワーク構造を生成してもよい。また、構造取得部１２２は、構造情報データベース２６０から読み込まれた構造（部分構造）の他の構造への接続に基づいて、生成ネットワーク構造を生成してもよい。
【００４７】
このとき、構造取得部１２２は、固定領域に含まれる複数のノード（図９に示した例では、２つの「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ｃｏｎｃａｔｉｎａｔｅ層」）が当該接続関係を有して固定領域の位置に存在するように生成ネットワーク構造を生成してもよい。送信制御部１２４は、生成ネットワーク構造の情報提供装置２０への送信を制御する。
【００４８】
情報提供装置２０において、通信部２３０を介して取得部２２１によって生成ネットワーク構造が取得されると、学習処理部２２２によって学習用データを用いた生成ネットワーク構造における学習がなされる。また、学習処理部２２２によって評価用データを用いた学習済み生成ネットワーク構造の評価がなされ、評価結果は、記録制御部２２３によって探索履歴として探索履歴データベース２５０に記録制御され、送信制御部２２４によって情報処理装置１０に送信制御される。情報処理装置１０において、構造取得部１２２によって通信部１３０を介して評価結果が取得される。
【００４９】
なお、評価結果には、生成ネットワーク構造の性能指標、消費電力、演算量に関わる何らかの評価手法（例えば、認識率、生成ネットワーク構造の積和演算数（計算量））、パラメータ数およびノード数などが含まれてよい。構造抽出部１２３は、評価結果に基づいて、１または複数の生成ネットワーク構造から部分構造を抽出する。具体的には、構造抽出部１２３は、１または複数の生成ネットワーク構造のうち所定の性能よりも高い性能を有する生成ネットワーク構造に所定の頻度を超えて出現する部分構造を抽出する。
【００５０】
また、構造抽出部１２３は、１または複数の生成ネットワーク構造のうち所定の積和演算数（計算量）よりも小さい積和演算数（計算量）を有する生成ネットワーク構造に所定の頻度を超えて出現する部分構造を抽出してもよい。また、構造抽出部１２３は、１または複数の生成ネットワーク構造のうち所定のパラメータ数よりも小さいパラメータ数を有する生成ネットワーク構造に所定の頻度を超えて出現する部分構造を抽出してもよい。
【００５１】
また、構造抽出部１２３は、１または複数の生成ネットワーク構造のうち所定のノード数よりも小さいノード数を有する生成ネットワーク構造に所定の頻度を超えて出現する部分構造を抽出してもよい。さらに、構造抽出部１２３は、構造の他に学習済みの重みを考慮して部分構造を抽出してもよい。続いて、出力制御部１２５は、生成ネットワーク構造と性能指標との出力（例えば、表示）を制御してよい。また、出力制御部１２５は、部分構造に応じた所定の表示（例えば、部分構造に対するハイライト表示など）を制御してよい。
【００５２】
続いて、送信制御部１２４は、抽出された部分構造と生成ネットワーク構造における部分構造の位置との情報提供装置２０への送信を制御する。情報提供装置２０において、取得部２２１によって通信部２３０を介して部分構造と生成ネットワーク構造における部分構造の位置とが取得されると、記録制御部２２３によって、部分構造と生成ネットワーク構造における部分構造の位置とが構造情報データベース２６０に記録される。
【００５３】
以上、入力画面の第一の例が利用される場合について説明した。図１０は、入力画面の第二の例を示す図である。入力画面の第二の例が利用される場合について説明する。図１０を参照すると、２つの入力層、４つの中間層および１つの出力層を含むネットワーク構造が表示されている。
【００５４】
ユーザは、入力画面Ｇ２０において構造取得部１２２によって探索されるべき領域（以下、「探索領域」とも言う。）を指定することが可能である。例えば、図１０に示したように、ユーザが２つの入力層、２つの中間層（左側の「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ａｆｆｉｎｅ層」）および１つの出力層を固定しながら、２つの中間層（右側の「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ｃｏｎｃａｔｉｎａｔｅ層」）を含む部分構造を探索したいと考えた場合を想定する。
【００５５】
かかる場合、図１０に示したように、ユーザが、これらの２つの中間層を含む領域を探索領域として選択する操作を操作部１１０に対して与えると、データ取得部１２１は、かかる操作に基づいてこの探索領域に関連する情報を取得する。具体的に、探索領域に関連する情報は、探索領域以外を構成する複数のノード（図１０に示した例では、２つの入力層、２つの中間層（左側の「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ａｆｆｉｎｅ層」）および１つの出力層）の接続関係と当該探索領域以外の位置とを含んでよい。また、探索領域以外の位置は、上記した部分構造の位置と同様な手法によって表現されてよい。
【００５６】
ユーザが、入力画面Ｇ２０に存在する探索ボタンＧ２２を選択する操作を操作部１１０に対して与えると、入力画面の第一の例が利用される場合と同様に、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータがデータ取得部１２１によって取得される。続いて、入力画面の第一の例が利用される場合と同様に、構造取得部１２２は、ユーザにより指定された条件（グラフ構造を有するネットワークの性能指標に関する条件）と探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータとに応じて１または複数の生成ネットワーク構造を生成する。
【００５７】
例えば、入力画面の第一の例が利用される場合と同様に、構造取得部１２２は、探索履歴データベース２５０から読み込まれた構造（全体構造）における一部置換に基づいて、生成ネットワーク構造を生成してもよい。また、構造取得部１２２は、構造情報データベース２６０から読み込まれた構造（部分構造）の他の構造への接続に基づいて、生成ネットワーク構造を生成してもよい。
【００５８】
このとき、構造取得部１２２は、探索領域以外を構成する複数のノード（図１０に示した例では、２つの入力層、２つの中間層（左側の「Ｃｏｎｖｏｌｕｔｉｏｎ層」および「Ａｆｆｉｎｅ層」）および１つの出力層）が当該接続関係を有して当該複数のノードの位置に存在するように生成ネットワーク構造を生成してもよい。送信制御部１２４は、生成ネットワーク構造の情報提供装置２０への送信を制御する。以降の動作は、入力画面の第一の例が利用される場合と同様に実行され得る。
【００５９】
以上、入力画面の第二の例が利用される場合について説明した。図１１は、入力画面の第三の例を示す図である。入力画面の第三の例が利用される場合について説明する。図１１を参照すると、生成ネットワーク構造が有するべき条件の例として、積和演算数、パラメータ数、ノード数、Ａｆｆｉｎｅ層が表示されている。
【００６０】
ユーザは、入力画面Ｇ３０において構造取得部１２２によって生成される生成ネットワーク構造が有するべき条件を指定することが可能である。例えば、図１１に示したように、積和演算数「３億回以下」、パラメータ数「１００万以下」、ノード数「１３以下」、Ａｆｆｉｎｅ層「２以下」のネットワーク構造を探索したいと考えた場合を想定する。かかる場合、図１１に示したように、ユーザが、これらの条件を選択する操作を操作部１１０に対して与えると、データ取得部１２１は、かかる操作に基づいてこの条件を取得する。
【００６１】
ユーザが、入力画面Ｇ３０に存在する探索ボタンＧ３２を選択する操作を操作部１１０に対して与えると、入力画面の第一の例が利用される場合と同様に、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータがデータ取得部１２１によって取得される。続いて、入力画面の第一の例が利用される場合と同様に、構造取得部１２２は、ユーザにより指定された条件（ネットワークの性能指標に関する条件）と探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータとに応じて１または複数の生成ネットワーク構造を生成する。
【００６２】
例えば、入力画面の第一の例が利用される場合と同様に、構造取得部１２２は、探索履歴データベース２５０から読み込まれた構造（全体構造）における一部置換に基づいて、生成ネットワーク構造を生成してもよい。また、構造取得部１２２は、構造情報データベース２６０から読み込まれた構造（部分構造）の他の構造への接続に基づいて、生成ネットワーク構造を生成してもよい。
【００６３】
このとき、構造取得部１２２は、入力画面Ｇ３０において選択された条件が満たされるように存在するように生成してもよい。送信制御部１２４は、生成ネットワーク構造の情報提供装置２０への送信を制御する。以降の動作は、入力画面の第一の例が利用される場合と同様に実行され得る。
【００６４】
以上、入力画面の第三の例が利用される場合について説明した。続いて、本開示の実施形態に係る情報処理システム１の動作例について説明する。図１２は、本開示の実施形態に係る情報処理システム１の動作例を示すフローチャートである。図１２に示すように、まず、情報処理装置１０において、データ取得部１２１は、操作部１１０を介してユーザによって指定された条件（ネットワークの性能指標に関する条件）を取得する（Ｓ１１）。そして、送信制御部１２４は、データ取得要求が情報提供装置２０に送信されるように通信部１３０を制御する。
【００６５】
続いて、情報提供装置２０において、取得部２２１によって通信部２３０を介してデータ取得要求が取得されると、記録制御部２２３は、探索履歴データベース２５０および構造情報データベース２６０からデータを読み込む（Ｓ２１）。そして、送信制御部２２４は、探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータが情報処理装置１０に送信されるように通信部２３０を制御する（Ｓ２２）。情報処理装置１０において、データ取得部１２１は、通信部１３０を介して探索履歴データベース２５０および構造情報データベース２６０のデータを取得する（Ｓ１２）。
【００６６】
続いて、構造取得部１２２は、ネットワークの自動探索を行う（Ｓ１３）。より具体的には、構造取得部１２２は、ユーザによって指定された条件（ネットワークの性能指標に関する条件）とあらかじめ登録されているネットワーク構造群（探索履歴データベース２５０および構造情報データベース２６０から読み込まれたデータ）とに基づいて、１または複数の生成ネットワーク構造を生成する。構造取得部１２２は、生成ネットワーク構造が情報提供装置２０に送信されるように通信部１３０を制御する。
【００６７】
続いて、情報提供装置２０において、取得部２２１によって通信部２３０を介して生成ネットワーク構造が取得されると、学習処理部２２２は、学習用データを用いた生成ネットワーク構造における学習処理を行う（Ｓ２３）。また、学習処理部２２２は、評価用データを用いた学習済み生成ネットワーク構造の評価を行う。このとき、評価結果は、記録制御部２２３によって探索履歴データベース２５０に記録される。また、送信制御部２２４によって、生成ネットワーク構造の性能指標が情報処理装置１０に送信制御される。
【００６８】
情報処理装置１０において、構造取得部１２２によって通信部１３０を介して生成ネットワーク構造の性能指標が取得されると、構造抽出部１２３は、所定の性能より高性能の生成ネットワーク構造に共通する部分構造とその部分構造の位置とを構造情報として抽出する（Ｓ１４）。続いて、送信制御部１２４は、構造情報が情報提供装置２０にアップロードされるように通信部１３０を制御し（Ｓ１５）、情報提供装置２０において、取得部２２１によって通信部２３０を介して構造情報が取得されると、記録制御部２２３によって構造情報が構造情報データベース２６０に記録される（Ｓ２４）。
【００６９】
［１．４．ハードウェア構成例］
次に、図１３を参照して、本開示の実施形態に係る情報処理装置１０のハードウェア構成について説明する。図１３は、本開示の実施形態に係る情報処理装置１０のハードウェア構成例を示すブロック図である。
【００７０】
図１３に示すように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）８０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０５を含む。また、情報処理装置１０は、ホストバス８０７、ブリッジ８０９、外部バス８１１、インターフェース８１３、入力装置８１５、出力装置８１７、ストレージ装置８１９、ドライブ８２１、接続ポート８２３、通信装置８２５を含んでもよい。さらに、情報処理装置１０は、必要に応じて、撮像装置８３３、およびセンサ８３５を含んでもよい。情報処理装置１０は、ＣＰＵ８０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【００７１】
ＣＰＵ８０１は、演算処理装置および制御装置として機能し、ＲＯＭ８０３、ＲＡＭ８０５、ストレージ装置８１９、またはリムーバブル記録媒体８２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ８０３は、ＣＰＵ８０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ８０５は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ８０１、ＲＯＭ８０３、およびＲＡＭ８０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス８０７により相互に接続されている。さらに、ホストバス８０７は、ブリッジ８０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス８１１に接続されている。
【００７２】
入力装置８１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置８１５は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置８１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置１０の操作に対応した携帯電話などの外部接続機器８２９であってもよい。入力装置８１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ８０１に出力する入力制御回路を含む。ユーザは、この入力装置８１５を操作することによって、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置８３３も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
【００７３】
出力装置８１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置８１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などであり得る。出力装置８１７は、情報処理装置１０の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置８１７は、周囲を明るくするためライトなどを含んでもよい。
【００７４】
ストレージ装置８１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置８１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置８１９は、ＣＰＵ８０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００７５】
ドライブ８２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体８２７のためのリーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ８２１は、装着されているリムーバブル記録媒体８２７に記録されている情報を読み出して、ＲＡＭ８０５に出力する。また、ドライブ８２１は、装着されているリムーバブル記録媒体８２７に記録を書き込む。
【００７６】
接続ポート８２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート８２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート８２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート８２３に外部接続機器８２９を接続することで、情報処理装置１０と外部接続機器８２９との間で各種のデータが交換され得る。
【００７７】
通信装置８２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置８２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置８２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置８２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置８２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【００７８】
撮像装置８３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置８３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【００７９】
センサ８３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ８３５は、例えば情報処理装置１０の筐体の姿勢など、情報処理装置１０自体の状態に関する情報や、情報処理装置１０の周辺の明るさや騒音など、情報処理装置１０の周辺環境に関する情報を取得する。また、センサ８３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【００８０】
次に、図１４を参照して、本開示の実施形態に係る情報提供装置２０のハードウェア構成について説明する。図１４は、本開示の実施形態に係る情報提供装置２０のハードウェア構成例を示すブロック図である。
【００８１】
図１４に示すように、情報提供装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。また、情報提供装置２０は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置１０は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【００８２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報提供装置２０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【００８３】
ストレージ装置９１９は、情報提供装置２０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００８４】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報提供装置２０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【００８５】
接続ポート９２３は、機器を情報提供装置２０に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報提供装置２０と外部接続機器９２９との間で各種のデータが交換され得る。
【００８６】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【００８７】
＜２．むすび＞
以上説明したように、本開示の実施形態によれば、グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得する構造取得部１２２を備える、情報処理装１０置が提供される。かかる構成によれば、ネットワーク構造をより効率的に探索することが可能となる。
【００８８】
また、本開示の実施形態によれば、世界中の研究者が行った試行錯誤の結果が共有されることによって、新たなネットワーク構造が効率よく発見されるようになり、ネットワーク構造の性能が向上されやすくなる。また、本開示の実施形態によれば、高性能なネットワーク構造を探索するために掛けられている多くのコスト（例えば、労力、時間および計算機など）が低減されることが期待される。
【００８９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００９０】
例えば、上記においては、入力画面を用いてネットワークの性能指標に関する条件が取得される例を説明した。しかし、ネットワークの性能指標に関する条件の取得は、入力画面を用いる例に限定されない。例えば、ネットワークの性能指標に関する条件は、ＹＡＭＬフォーマットのファイルへの記述によって指定されてもよいし、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルへの記述によって指定されてもよいし、他の形式のファイル（例えば、バイナリ形式のファイル）への記述によって指定されてもよい。
【００９１】
また、上記した情報処理システム１の動作が実現されれば、各構成の位置は特に限定されない。例えば、上記では、学習処理部２２２、探索履歴データベース２５０および構造情報データベース２６０が情報提供装置２０に備えられる例を説明した。しかし、学習処理部２２２、探索履歴データベース２５０および構造情報データベース２６０の一部または全部は、情報処理装置１０に備えられてもよい。
【００９２】
例えば、学習処理部２２２、探索履歴データベース２５０および構造情報データベース２６０が情報処理装置１０に備えられる場合、情報処理システム１は情報提供装置２０を有していなくてもよい。また、上記では、構造取得部１２２および構造抽出部１２３が情報処理装置１０に備えられる例を説明した。しかし、構造取得部１２２および構造抽出部１２３の一部または全部は、情報提供装置２０に備えられてもよい。
【００９３】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
【００９４】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得する構造取得部を備える、情報処理装置。
（２）
前記構造取得部は、ユーザにより指定された構造に関連する情報とあらかじめ登録されているネットワーク構造群とに応じて生成された１または複数のグラフ構造と前記グラフ構造の性能指標とを取得し、
前記情報処理装置は、
前記グラフ構造と前記性能指標との出力を制御する出力制御部を備える、
前記（１）に記載の情報処理装置。
（３）
前記ネットワーク構造群は、過去に探索されたネットワークの全体構造を含む、
前記（２）に記載の情報処理装置。
（４）
前記グラフ構造は、前記全体構造におけるグラフ構造ベースの探索に基づいて生成される、
前記（３）に記載の情報処理装置。
（５）
前記グラフ構造は、前記ネットワーク構造群から選択された所定の性能よりも高い性能を有する全体構造に応じて生成される、
前記（３）または（４）に記載の情報処理装置。
（６）
前記ネットワーク構造群は、所定の性能よりも高い性能を有すると判断された前記全体構造を含む、
前記（３）または（４）に記載の情報処理装置。
（７）
前記ネットワーク構造群は、過去に探索されたネットワークの部分構造を含む、
前記（２）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記グラフ構造は、前記部分構造の他の構造への接続に基づいて生成される、
前記（７）に記載の情報処理装置。
（９）
前記ネットワーク構造群は、所定の性能よりも高い性能を有すると判断された複数の全体構造に所定の頻度を超えて共通的に出現する部分構造を含む、
前記（７）または（８）に記載の情報処理装置。
（１０）
前記構造に関連する情報は、前記グラフ構造に含まれるべき固定領域に関連する情報を含む、
前記（１）〜（９）のいずれか一項に記載の情報処理装置。
（１１）
前記固定領域に関連する情報は、前記固定領域に含まれる複数のノードの接続関係と前記グラフ構造における前記固定領域の位置とを含み、
前記グラフ構造は、前記複数のノードが前記接続関係を有して前記固定領域の位置に存在するように生成される、
前記（１０）に記載の情報処理装置。
（１２）
前記固定領域は、所定のネットワーク構造に対するユーザの選択操作に基づいて決定される、
前記（１０）または（１１）に記載の情報処理装置。
（１３）
前記構造に関連する情報は、一部が探索領域として設定された所定のネットワーク構造を含む、
前記（１）〜（９）のいずれか一項に記載の情報処理装置。
（１４）
前記探索領域に関連する情報は、前記探索領域以外を構成する複数のノードの接続関係と前記グラフ構造における前記探索領域以外の位置とを含み、
前記グラフ構造は、前記複数のノードが前記接続関係を有して前記探索領域以外の位置に存在するように生成される、
前記（１３）に記載の情報処理装置。
（１５）
前記探索領域は、所定のネットワーク構造に対するユーザの選択操作に基づいて決定される、
前記（１３）または（１４）に記載の情報処理装置。
（１６）
前記構造に関連する情報は、前記グラフ構造が有するべき条件を含む、
前記（１）〜（９）のいずれか一項に記載の情報処理装置。
（１７）
前記出力制御部は、前記グラフ構造と前記性能指標との表示を制御する、
前記（２）〜（）のいずれか一項に記載の情報処理装置。
（１８）
前記情報処理装置は、
前記グラフ構造のうち所定の性能よりも高い性能を有するグラフ構造に所定の頻度を超えて出現する部分構造を抽出する構造抽出部を備える、
前記（２）〜（９）のいずれか一項に記載の情報処理装置。
（１９）
前記出力制御部は、前記部分構造に応じた所定の表示を制御する、
前記（１８）に記載の情報処理装置。
（２０）
前記ネットワーク構造群は、前記情報処理装置のユーザとは異なる他のユーザの操作に基づいて探索されたネットワーク構造を含む、
前記（２）〜（９）のいずれか一項に記載の情報処理装置。
（２１）
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造を取得することを含む、情報処理方法。
（２２）
グラフ構造を有するネットワークの構造に関連する情報に基づき探索されたグラフ構造の性能を提供することを含む、情報提供方法。
【符号の説明】
【００９５】
１      情報処理システム
１０    情報処理装置
１１０  操作部
１２０  制御部
１２１  データ取得部
１２２  構造取得部
１２３  構造抽出部
１２４  送信制御部
１２５  出力制御部
１３０  通信部
１４０  記憶部
１５０  表示部
２０    情報提供装置
２２０  制御部
２２１  取得部
２２２  学習処理部
２２３  記録制御部
２２４  送信制御部
２３０  通信部
２４０  記憶部
２５０  探索履歴データベース
２６０  構造情報データベース
【図１】
2017182710.tif 000003
【図２】
2017182710.tif 000004
【図３】
2017182710.tif 000005
【図４】
2017182710.tif 000006
【図５】
2017182710.tif 000007
【図６】
2017182710.tif 000008
【図７】
2017182710.tif 000009
【図８】
2017182710.tif 000010
【図９】
2017182710.tif 000011
【図１０】
2017182710.tif 000012
【図１１】
2017182710.tif 000013
【図１２】
2017182710.tif 000014
【図１３】
2017182710.tif 000015
【図１４】
2017182710.tif 000016