(57)【要約】【課題】学習を実行するハードウェアリソースを直感的に追加することが可能な技術が提供されることが望まれる。【解決手段】学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御する表示制御部を備える、情報処理装置が提供される。【選択図】図１
2017182114.tif 000002
【特許請求の範囲】
【請求項１】
学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御する表示制御部を備える、
情報処理装置。
【請求項２】
前記第２のハードウェアリソースによる学習処理の実行中において、前記第２のハードウェアリソースの数に応じたコストが所定時間ごとに残高から減算される、
請求項１に記載の情報処理装置。
【請求項３】
第１の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースによって実行される学習処理の対象のネットワークの学習処理を前記第１のハードウェアリソースとの間で分散して実行する前記第２のハードウェアリソースが追加される、
請求項２に記載の情報処理装置。
【請求項４】
前記第１の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースにより実行中の学習処理が一時停止可能になるまで待機されてから、前記第１のハードウェアリソースおよびユーザによる指定数に相当する前記第２のハードウェアリソースによって前記学習処理が分散して実行される、
請求項３に記載の情報処理装置。
【請求項５】
前記残高が所定値を下回った場合、前記第１のハードウェアリソースにより実行中の学習処理が一時停止可能になるまで待機されてから、前記第２のハードウェアリソースによる学習処理が停止され、前記第１のハードウェアリソースによって前記学習処理が再開される、
請求項３に記載の情報処理装置。
【請求項６】
第２の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースによって実行される学習処理の対象のネットワークと異なるネットワークの学習処理を前記第１のハードウェアリソースによる学習処理との間で並列して実行する前記第２のハードウェアリソースが追加される、
請求項２に記載の情報処理装置。
【請求項７】
前記第２の追加ボタンの押下が検出された場合、かつ、一時停止された１または複数の学習処理が存在する場合、前記第２のハードウェアリソースの一部または全部が当該一時停止された学習処理それぞれに対して一つずつ割り当てられ、割り当てられた第２のハードウェアリソースによって前記一時停止された学習処理が再開される、
請求項６に記載の情報処理装置。
【請求項８】
前記一時停止された学習処理に割り当てられない第２のハードウェアリソースそれぞれによって個別的にネットワークの学習処理が実行される、
請求項７に記載の情報処理装置。
【請求項９】
前記残高が所定値を下回った場合、前記第２のハードウェアリソースによる学習処理が停止される、
請求項６に記載の情報処理装置。
【請求項１０】
前記残高を増加させるための操作が検出された場合、前記残高に対して加算処理が実行される、
請求項２に記載の情報処理装置。
【請求項１１】
学習結果をシェアするためのシェアボタンの押下が検出された場合、前記学習処理が実行されたネットワーク構造と前記学習処理に用いられたデータセットまたは当該データセットの識別情報と前記ネットワーク構造の性能が、ユーザによる指定範囲においてシェアされる、
請求項２に記載の情報処理装置。
【請求項１２】
前記シェアボタンの押下が検出された場合、前記残高に対して加算処理が実行される、
請求項１１に記載の情報処理装置。
【請求項１３】
前記学習処理に用いられる入力データに対するラベルの付加または変更が検出された場合、前記残高に対して加算処理が実行される、
請求項２に記載の情報処理装置。
【請求項１４】
前記表示制御部は、前記第２のハードウェアリソースの数に基づいて、前記第１のハードウェアリソースおよび前記第２のハードウェアリソースによる推定学習所要時間および推定学習終了時刻の少なくともいずれか一方の表示を制御する、
請求項１に記載の情報処理装置。
【請求項１５】
前記表示制御部は、前記第２のハードウェアリソースの数に応じたコストの表示を制御する、
請求項１に記載の情報処理装置。
【請求項１６】
前記コストは、所定時間ごとに掛かるコストおよび前記学習処理が終了するまでに掛かるコストの少なくともいずれか一方を含む、
請求項１５に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、
前記第２のハードウェアリソースの数を指定するための操作を取得する操作取得部を備える、
請求項１に記載の情報処理装置。
【請求項１８】
前記表示制御部は、前記第２のハードウェアリソースによる学習処理に掛けられる上限コストと前記学習処理に掛けられる上限時間とがユーザによって指定された場合、前記上限コストを超えないコスト、かつ、前記上限時間を超えない時間によって追加可能な前記第２のハードウェアリソースの上限数の表示を制御する、
請求項１に記載の情報処理装置。
【請求項１９】
プロセッサにより、学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御することを含む、
情報処理方法。
【請求項２０】
学習処理の進捗状況を示す情報を提供することと、
前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンが押下されると、前記第２のハードウェアリソースを追加することと、
を含む、情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法および情報提供方法に関する。
【背景技術】
【０００２】
近年、ニューラルネットワークを用いた学習に関する技術として様々な技術が存在する（例えば、特許文献１参照）。ニューラルネットワークは大きく三つの層（入力層、中間層および出力層）に分けられる。このうち、中間層の数が比較的多いものはＤｅｅｐ  Ｌｅａｒｎｉｎｇと呼ばれている。Ｄｅｅｐ  Ｌｅａｒｎｉｎｇは、多数の中間層を有するニューラルネットワークを用いることによって、より難易度の高い課題に適用することが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１３５０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ニューラルネットワークを用いた学習において、ユーザは学習が想定よりも捗らない場合などには、学習を実行するハードウェアリソースを追加したいと考える場合がある。そこで、学習を実行するハードウェアリソースを直感的に追加することが可能な技術が提供されることが望まれる。
【課題を解決するための手段】
【０００５】
本開示によれば、学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御する表示制御部を備える、情報処理装置が提供される。
【０００６】
本開示によれば、プロセッサにより、学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御することを含む、情報処理方法が提供される。
【０００７】
本開示によれば、学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンが押下されると、前記第２のハードウェアリソースを追加することを含む、情報提供方法が提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、学習を実行するハードウェアリソースを直感的に追加することが可能な技術が提供される。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【０００９】
【図１】本開示の一実施形態に係る情報処理システムの構成例を示す図である。
【図２】同実施形態に係る情報処理装置の機能構成例を示すブロック図である。
【図３】同実施形態に係る情報提供装置の機能構成例を示すブロック図である。
【図４】情報処理装置において表示される第一の画面例を示す図である。
【図５】分散演算リソース追加ボタンの押下が検出された場合における動作例を示すフローチャートである。
【図６】分散演算ノードが追加された後に実行される学習処理の例を示すフローチャートである。
【図７】情報処理装置において表示される第二の画面例を示す図である。
【図８】並列演算リソース追加ボタンの押下が検出された場合における動作例を示すフローチャートである。
【図９】並列演算ノードが追加された後に実行される学習処理の例を示すフローチャートである。
【図１０】ポイント購入画面の例を示す図である。
【図１１】学習結果の公開による所持ポイントへの加算処理の例を説明するための図である。
【図１２】学習済みネットワーク購入画面の例を示す図である。
【図１３】入力データに対するラベルの付加について説明するための図である。
【図１４】条件入力画面の例を示す図である
【図１５】学習処理開始からの経過時間とネットワークの性能との関係の例を示す図である。
【図１６】情報処理装置のハードウェア構成例を示すブロック図である。
【図１７】情報提供装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１２】
なお、説明は以下の順序で行うものとする。
０．背景
１．本開示の実施形態
１．１．システム構成例
１．２．機能構成例
１．３．情報処理システムの機能詳細
１．４．ハードウェア構成例
２．むすび
【００１３】
＜０．背景＞
ニューラルネットワークを用いた学習に関する技術として様々な技術が存在する（例えば、特開平５−１３５０００号公報参照）。ニューラルネットワークは大きく三つの層（入力層、中間層および出力層）に分けられる。このうち、中間層の数が比較的多いものはＤｅｅｐ  Ｌｅａｒｎｉｎｇと呼ばれている。Ｄｅｅｐ  Ｌｅａｒｎｉｎｇは、多数の中間層を有するニューラルネットワークを用いることによって、より難易度の高い課題に適用することが可能である。
【００１４】
ここで、ニューラルネットワークを用いた学習において、ユーザは学習が想定よりも捗らない場合などには、学習を実行するハードウェアリソースを追加したいと考える場合がある。そこで、本明細書においては、学習を実行するハードウェアリソースを直感的に追加することが可能な技術について主に説明する。なお、本明細書においては、学習としてＤｅｅｐ  Ｌｅａｒｎｉｎｇを用いることを主に想定するが、学習の形態は、特にＤｅｅｐ  Ｌｅａｒｎｉｎｇに限定されない。
【００１５】
＜１．本開示の実施形態＞
［１．１．システム構成例］
まず、図面を参照しながら本開示の一実施形態に係る情報処理システムの構成例について説明する。図１は、本開示の一実施形態に係る情報処理システムの構成例を示す図である。図１に示したように、本実施形態に係る情報処理システム１は、情報処理装置１０および情報提供装置２０を備える。情報処理装置１０および情報提供装置２０は、通信ネットワーク９３１を介して通信を行うことが可能である。
【００１６】
なお、図１に示した例では、情報処理装置１０の形態は特に限定されない。例えば、情報処理装置１０は、ゲーム機であってもよいし、スマートフォンであってもよいし、携帯電話であってもよいし、タブレット端末であってもよいし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよい。また、情報提供装置２０は、サーバなどのコンピュータであることが想定される。
【００１７】
以上、本実施形態に係る情報処理システム１の構成例について説明した。
【００１８】
［１．２．機能構成例］
続いて、本実施形態に係る情報処理装置１０の機能構成例について説明する。図２は、本実施形態に係る情報処理装置１０の機能構成例を示すブロック図である。図２に示したように、情報処理装置１０は、操作部１１０、制御部１２０、通信部１３０、記憶部１４０および表示部１５０を備える。以下、情報処理装置１０が備えるこれらの機能ブロックについて説明する。
【００１９】
操作部１１０は、ユーザの操作を受け付ける機能を有する。例えば、操作部１１０は、マウス、キーボードなどの入力装置を含んでよい。また、操作部１１０は、ユーザの操作を受け付ける機能を有していればよいため、タッチパネルを含んでもよい。タッチパネルが採用する方式は特に限定されず、静電容量方式であってもよいし、抵抗膜方式であってもよいし、赤外線方式であってもよいし、超音波方式であってもよい。また、操作部１１０は、カメラを含んでもよい。
【００２０】
制御部１２０は、情報処理装置１０の各部の制御を実行する。図２に示したように、制御部１２０は、操作取得部１２１、送信制御部１２２、データ取得部１２３および表示制御部１２４を有する。制御部１２０が有するこれらの機能ブロックの詳細は後に説明する。なお、制御部１２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などで構成されていてよい。制御部１２０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。
【００２１】
通信部１３０は、情報提供装置２０との間で通信を行う機能を有する。例えば、通信部１３０は、通信インターフェースにより構成される。例えば、通信部１３０は、通信ネットワーク９３１（図１）を介して、情報提供装置２０との間で通信を行うことが可能である。
【００２２】
記憶部１４０は、制御部１２０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部１４０は、制御部１２０による演算のためにデータを一時的に記憶する。記憶部１４０は、磁気記憶部デバイスであってもよいし、半導体記憶デバイスであってもよいし、光記憶デバイスであってもよいし、光磁気記憶デバイスであってもよい。
【００２３】
表示部１５０は、各種情報を表示する機能を有する。例えば、表示部１５０は、液晶ディスプレイであってもよいし、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであってもよいし、ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ）であってもよい。しかし、表示部１５０は、各種情報を表示する機能を有すれば、他の形態のディスプレイであってもよい。
【００２４】
以上、本実施形態に係る情報処理装置１０の機能構成例について説明した。
【００２５】
続いて、本実施形態に係る情報提供装置２０の機能構成例について説明する。図３は、本実施形態に係る情報提供装置２０の機能構成例を示すブロック図である。図３に示したように、情報提供装置２０は、制御部２２０、通信部２３０および記憶部２４０を備える。以下、情報提供装置２０が備えるこれらの機能ブロックについて説明する。
【００２６】
制御部２２０は、情報提供装置２０の各部の制御を実行する。図３に示したように、制御部２２０は、取得部２２１、学習処理部２２２、データ処理部２２３および送信制御部２２４を有する。制御部２２０が有するこれらの機能ブロックの詳細は後に説明する。なお、制御部２２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などで構成されていてよい。制御部２２０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。
【００２７】
通信部２３０は、情報処理装置１０との間で通信を行う機能を有する。例えば、通信部２３０は、通信インターフェースにより構成される。例えば、通信部２３０は、通信ネットワーク９３１（図１）を介して、情報処理装置１０との間で通信を行うことが可能である。
【００２８】
記憶部２４０は、制御部２２０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部２４０は、制御部２２０による演算のためにデータを一時的に記憶する。記憶部２４０は、磁気記憶部デバイスであってもよいし、半導体記憶デバイスであってもよいし、光記憶デバイスであってもよいし、光磁気記憶デバイスであってもよい。
【００２９】
以上、本実施形態に係る情報提供装置２０の機能構成例について説明した。
【００３０】
［１．３．情報処理システムの機能詳細］
続いて、情報処理システム１の機能詳細について説明する。情報提供装置２０においては、学習処理部２２２によって学習用データセットを入力としたネットワーク群の学習処理が行われることによって学習済みネットワーク群が生成され、評価用データセットを入力とした学習済みネットワーク群の評価が行われる。学習済みネットワーク群の評価結果としては、学習済みネットワーク群それぞれの性能（精度）および演算量などが得られる。
【００３１】
さらに、学習処理部２２２によって、性能が所定の性能よりも高く、演算量が所定の演算量よりも小さい学習済みネットワークが探索される。このようなネットワーク群の学習処理、評価および探索を、ネットワークの構造自動探索と呼ぶ。
【００３２】
学習処理は、第１のハードウェアリソース（以下、「単一演算ノード」とも言う。）によって実行される。送信制御部２２４は、学習処理部２２２による学習処理の進捗状況を示す情報（学習処理全体量および完了済み学習処理量）の情報処理装置１０への送信を制御する。情報処理装置１０においては、データ取得部１２３は、通信部１３０を介して進捗状況を示す情報を取得する。
【００３３】
図４は、情報処理装置１０において表示される第一の画面例を示す図である。図４に示すように、表示制御部１２４は、データ取得部１２３によって取得された進捗状況を示す情報に応じた進捗状況画面Ｇ１０の表示を制御する。進捗状況画面Ｇ１０には、進捗状況を示すプログレスバーＧ１１、学習処理全体に対する完了済み学習処理の割合を示す進捗率Ｇ１４、学習開始からの経過時間Ｇ１５、学習処理の残時間Ｇ１６および学習処理の全体時間Ｇ１７が含まれている。
【００３４】
ユーザは、進捗状況を示す情報を確認しながら、学習処理が想定よりも捗っていない場合などには、学習処理の速度を向上させるために、第２のハードウェアリソース（以下、「追加演算ノード」とも言う。）を追加したいと考える場合がある。そこで、表示制御部１２４は、学習処理が実行されているときに、学習処理を実行する追加演算ノードを動的に追加するための追加ボタンの表示を制御する。これにより、ユーザは、学習処理を実行する追加演算ノードを直感的に追加することが可能となる。
【００３５】
例えば、表示制御部１２４は、追加ボタンとして、単一演算ノードと追加演算ノードとに同一のネットワークの学習処理を分散的に実行させるための分散演算リソース追加ボタン（第１の追加ボタン）Ｇ１２の表示を制御する。また、表示制御部１２４は、追加ボタンとして、単一演算ノードと追加演算ノードとに異なるネットワークの学習処理を並列的に実行させるための並列演算リソース追加ボタン（第２の追加ボタン）Ｇ１３の表示を制御する。
【００３６】
操作取得部１２１は、操作部１１０を介してユーザの操作を取得することが可能である。まず、分散演算リソース追加ボタンＧ１２が押下された場合を想定する。このとき、操作取得部１２１は、操作部１１０を介して分散演算リソース追加ボタンＧ１２の押下を検出する。操作取得部１２１によって分散演算リソース追加ボタンＧ１２の押下が検出された場合、表示制御部１２４は、分散演算確認画面Ｇ２０の表示を制御してよい。
【００３７】
図４に示すように、表示制御部１２４は、単一演算ノードによって学習処理が現在なされているため、現在の演算リソースの数として「１」の表示を制御してよい。また、図４に示すように、表示制御部１２４は、現在の演算リソースによって学習処理がなされた場合に学習処理に掛かると推定される時間（以下、「推定学習所要時間」とも言う。）「１９分３０秒」の表示を制御してよい。なお、推定学習所要時間の代わりに、または、推定学習所要時間に追加して、推定学習終了時刻の表示が制御されてもよい。
【００３８】
また、分散演算確認画面Ｇ２０においてユーザは追加演算リソースの数を指定することが可能である。ユーザが、追加演算リソース数指定欄Ｇ２１において追加演算リソース数「３」を指定する操作を行い、操作取得部１２１によって追加演算リソース数を指定する操作が取得されると、表示制御部１２４は、合計演算リソースの数（単一演算ノードおよび追加演算ノードの合計）「４」の表示を制御する。
【００３９】
また、図４に示したように、表示制御部１２４は、合計演算リソースの数に基づいて、合計演算リソースによって学習処理がなされた場合における推定学習所要時間「５分０１秒」の表示を制御してよい。なお、推定学習所要時間の代わりに、または、推定学習所要時間に追加して、推定学習終了時刻の表示が制御されてもよい。すなわち、表示制御部１２４は、合計演算リソースの数に基づいて、推定学習所要時間および推定学習終了時刻の少なくともいずれか一方の表示を制御してよい。
【００４０】
また、追加演算リソースによる学習処理の実行中においては、追加演算リソースの数に応じたコストが所定時間ごとに残高から減算される。以下では、コストとしてポイントを例に挙げ、残高としてユーザの所持ポイントを例に挙げて説明するが、コストはポイントに限定されず、通貨などであってもよい。ポイントは、ユーザがプリペイド方式で購入することを例に挙げて説明するが、利用したポイントを事後にユーザに請求する方式であってもよい。表示制御部１２４は、追加演算リソースの数に応じたコストの表示を制御してよい。
【００４１】
例えば、表示制御部１２４は、所定時間ごとに掛かる消費ポイント（図４に示した例では、消費ポイント「３ポイント／分」）と学習処理が終了までに掛かる推定消費ポイント（図４に示した例では、推定消費ポイント「１５ポイント」）との表示を制御してよい。なお、図４に示した例では、所定時間ごとに掛かる消費ポイントと推定消費ポイントとの双方が表示されているが、所定時間ごとに掛かる消費ポイントと学習処理が終了までに掛かる消費ポイントとは、少なくとも一方が表示されればよい。
【００４２】
また、表示制御部１２４は、ユーザの所持ポイント「５０２４ポイント」の表示を制御してもよい。そうすれば、ユーザは、表示された所持ポイントの確認結果に基づいて、追加演算リソースの数を決めることが可能である。分散演算確認画面Ｇ２０には、確認ボタンＧ２２とキャンセルボタンＧ２３とが含まれており、確認ボタンＧ２２の押下が検出された場合に、学習処理部２２２によって演算ノードの追加がなされてよい。
【００４３】
より具体的には、操作取得部１２１によって確認ボタンＧ２２の押下が検出された場合、学習処理部２２２によって単一演算ノードによって実行される学習処理の対象のネットワークの学習処理を単一演算ノードとの間で分散して実行する追加演算ノードが追加されてよい。なお、本明細書においては、確認ボタンＧ２２の押下が検出された場合に、追加演算ノードが追加される例を主に説明するが、分散演算確認画面Ｇ２０が表示されない場合などには、分散演算リソース追加ボタンＧ１２の押下が検出された場合に、追加演算ノードが追加されてよい。
【００４４】
また、演算ノードの数を変更するためには、学習処理を一時停止させるのがよい。すなわち、学習処理部２２２は、操作取得部１２１によって確認ボタンＧ２２の押下が検出された場合、単一演算ノードにより実行中の学習処理が一時停止可能になるまで待機してもよい。そして、学習処理部２２２は、学習処理が一時停止可能になってから、単一演算ノードおよびユーザによる指定数に相当する追加演算ノードによって学習処理を分散して実行してよい。
【００４５】
また、ユーザの所持ポイントが所定値を下回った場合には、追加演算リソースによる学習を停止させるのがよい。すなわち、学習処理部２２２は、ユーザの所持ポイントが所定値を下回った場合、単一演算ノードにより実行中の学習処理が一時停止可能になるまで待機してもよい。そして、学習処理部２２２は、追加演算ノードによる学習処理を停止するとともに、単一演算ノードによる学習処理を再開させてよい。
【００４６】
一方、キャンセルボタンＧ２３の押下が検出された場合には、演算ノードの追加がなされずに、表示制御部１２４によって分散演算確認画面Ｇ２０が閉じられてよい。
【００４７】
続いて、分散演算リソース追加ボタンＧ１２の押下、かつ、確認ボタンＧ２２の押下が検出された場合における動作例について説明する。図５は、分散演算リソース追加ボタンＧ１２の押下が検出された場合における動作例を示すフローチャートである。分散演算リソース追加ボタンＧ１２の押下が検出される前には、学習処理部２２２によって単一演算ノードによる学習処理が実行されている。
【００４８】
操作取得部１２１によって分散演算リソース追加ボタンＧ１２（かつ、確認ボタンＧ２２の押下）の押下が検出されると（Ｓ１１）、送信制御部１２２によって分散演算リソース追加要求の情報提供装置２０への送信が制御される。情報提供装置２０において、取得部２２１によって分散演算リソース追加要求が取得されると、学習処理部２２２は、学習処理が一時停止可能になるまで待機する（Ｓ１２）。
【００４９】
続いて、学習処理部２２２は、単一演算ノードによって実行される学習処理の対象のネットワークの学習処理を単一演算ノードとの間で分散して実行する追加演算ノードのインスタンスをユーザによる指定数だけ起動する（Ｓ１３）。そして、学習処理部２２２は、複数演算ノード（単一演算ノードおよび追加演算ノード）による学習処理を再開する（Ｓ１４）。続いて、分散演算リソース追加ボタンＧ１２の押下、かつ、確認ボタンＧ２２の押下が検出された場合における動作は、終了される（Ｓ１５）。
【００５０】
図６は、分散演算ノードが追加された後に実行される学習処理の例を示すフローチャートである。学習実行中において（Ｓ２１）、データ処理部２２３は、ユーザの所持ポイントから追加演算ノード数に応じて毎分ポイントを消費する（Ｓ２２）。学習処理部２２２は、学習処理が完了した場合（Ｓ２３において「Ｙｅｓ」）、学習処理を終了する（Ｓ２３）。
【００５１】
一方、学習処理部２２２は、学習処理が完了していない場合（Ｓ２３において「Ｎｏ」）、ユーザの所持ポイントが尽きていなければ（Ｓ２４において「Ｎｏ」）、Ｓ２２に動作を移行させるが、ユーザの所持ポイントが尽きていれば（Ｓ２４において「Ｙｅｓ」）、学習処理が一時停止可能になるまで待機する（Ｓ２５）。
【００５２】
なお、ここでは、ユーザの所持ポイントが完全に尽きたか否かを判断する場合を想定するが、ユーザの所持ポイントが尽きそうであるか否かが判断されてもよい。すなわち、ユーザの所持ポイントが所定値を下回るか否かが判断されてもよい。続いて、学習処理部２２２は、学習処理が一時停止可能になった場合には、追加演算ノードのインスタンスを停止させ（Ｓ２６）、単一演算ノードによる学習処理を再開し（Ｓ２７）、Ｓ２２に動作を移行させる。
【００５３】
以上、分散演算リソース追加ボタンＧ１２の押下、かつ、確認ボタンＧ２２の押下が検出された場合における動作例について説明した。続いて、並列演算リソース追加ボタンＧ１３が押下された場合を想定する。図７は、情報処理装置１０において表示される第二の画面例を示す図である。図７に示すように、表示制御部１２４は、データ取得部１２３によって取得された進捗状況を示す情報に応じた進捗状況画面Ｇ１０の表示を制御する。
【００５４】
このとき、操作取得部１２１は、操作部１１０を介して並列演算リソース追加ボタンＧ１３の押下を検出する。操作取得部１２１によって並列演算リソース追加ボタンＧ１３の押下が検出された場合、表示制御部１２４は、並列演算確認画面Ｇ３０の表示を制御してよい。
【００５５】
図７に示すように、表示制御部１２４は、単一演算ノードによって学習処理が現在なされているため、現在の演算リソースの数として「１」の表示を制御してよい。また、並列演算確認画面Ｇ３０においてユーザは追加演算リソースの数を指定することが可能である。ユーザが、追加演算リソース数指定欄Ｇ３１において追加演算リソース数「３」を指定する操作を行い、操作取得部１２１によって追加演算リソース数を指定する操作が取得されると、表示制御部１２４は、合計演算リソースの数（単一演算ノードおよび追加演算ノードの合計）「４」の表示を制御する。
【００５６】
表示制御部１２４は、所定時間ごとに掛かる消費ポイント（図７に示した例では、消費ポイント「３ポイント／分」）の表示を制御してよい。また、表示制御部１２４は、ユーザの所持ポイント「５０２４ポイント」の表示を制御してもよい。そうすれば、ユーザは、表示された所持ポイントの確認結果に基づいて、追加演算リソースの数を決めることが可能である。並列演算確認画面Ｇ３０には、確認ボタンＧ３２とキャンセルボタンＧ３３とが含まれており、確認ボタンＧ３２の押下が検出された場合に、学習処理部２２２によって演算ノードの追加がなされてよい。
【００５７】
より具体的には、操作取得部１２１によって確認ボタンＧ３２の押下が検出された場合、学習処理部２２２によって単一演算ノードによって実行される学習処理の対象のネットワークと異なるネットワークの学習処理を単一演算ノードによる学習処理との間で並列して実行する追加演算ノードが追加されてよい。なお、本明細書においては、確認ボタンＧ３２の押下が検出された場合に、追加演算ノードが追加される例を主に説明するが、並列演算確認画面Ｇ３０が表示されない場合などには、並列演算リソース追加ボタンＧ１３の押下が検出された場合に、追加演算ノードが追加されてよい。
【００５８】
また、学習処理部２２２は、操作取得部１２１によって確認ボタンＧ３２の押下が検出された場合、かつ、一時停止された１または複数の学習処理が存在する場合、追加演算ノードの一部または全部が当該一時停止された学習処理それぞれに対して一つずつ割り当ててよい。そして、学習処理部２２２は、当該一時停止された学習処理に割り当てた追加演算ノードによる当該一時停止された学習処理を再開させてよい。このようにすれば、途中まで実行された学習処理が有効活用され得る。
【００５９】
一方、学習処理部２２２は、当該一時停止された学習処理に割り当てられない追加演算ノードそれぞれに対しては、個別的にネットワークの学習処理を実行させてよい。
【００６０】
また、ユーザの所持ポイントが所定値を下回った場合には、追加演算リソースによる学習を停止させるのがよい。すなわち、学習処理部２２２は、ユーザの所持ポイントが所定値を下回った場合、追加演算ノードによる学習処理を停止するのがよい。
【００６１】
一方、キャンセルボタンＧ３３の押下が検出された場合には、演算ノードの追加がなされずに、表示制御部１２４によって並列演算確認画面Ｇ３０が閉じられてよい。
【００６２】
続いて、並列演算リソース追加ボタンＧ１３の押下、かつ、確認ボタンＧ３２の押下が検出された場合における動作例について説明する。図８は、並列演算リソース追加ボタンＧ１３の押下が検出された場合における動作例を示すフローチャートである。並列演算リソース追加ボタンＧ１３の押下が検出される前には、学習処理部２２２によって単一演算ノードによる学習処理が実行されている。
【００６３】
操作取得部１２１によって並列演算リソース追加ボタンＧ１３（かつ、確認ボタンＧ３２の押下）の押下が検出されると（Ｓ３１）、送信制御部１２２によって並列演算リソース追加要求の情報提供装置２０への送信が制御される。情報提供装置２０において、取得部２２１によって並列演算リソース追加要求が取得されると、学習処理部２２２は、追加演算ノードのインスタンスをユーザによる指定数だけ起動する（Ｓ３２）。
【００６４】
そして、学習処理部２２２は、一時停止された学習処理がある場合、かつ、当該一時停止された学習処理を実行可能な空き演算ノードが存在しない場合（Ｓ３３において「Ｎｏ」）、Ｓ３５に動作を移行させる。一方、学習処理部２２２は、一時停止された学習処理がある場合、かつ、当該一時停止された学習処理を実行可能な空き演算ノードが存在する場合（Ｓ３３において「Ｙｅｓ」）、当該一時停止された学習処理を空き演算ノードによって再開させる（Ｓ３４）。これにより、空き演算ノードの数が減少する。
【００６５】
続いて、学習処理部２２２は、空き演算ノード数のネットワークを作成し、作成したネットワークの学習処理を開始する（Ｓ３５）。続いて、並列演算リソース追加ボタンＧ１３の押下、かつ、確認ボタンＧ３２の押下が検出された場合における動作は、終了される（Ｓ３６）。
【００６６】
図９は、並列演算ノードが追加された後に実行される学習処理の例を示すフローチャートである。学習実行中において（Ｓ４１）、データ処理部２２３は、ユーザの所持ポイントから追加演算ノード数に応じて毎分ポイントを消費する（Ｓ４２）。学習処理部２２２は、一時停止された学習処理が存在する場合、かつ、当該一時停止された学習処理を実行可能な空き演算ノードが存在する場合（Ｓ４３において「Ｙｅｓ」）、当該一時停止された学習処理を空き演算ノードに再開させ（Ｓ４４）、Ｓ４２に動作を移行させる。
【００６７】
一方、学習処理部２２２は、一時停止された学習処理が存在しない場合、または、当該一時停止された学習処理を実行可能な空き演算ノードが存在しない場合（Ｓ４３において「Ｎｏ」）、Ｓ４５に動作を移行させる。学習処理部２２２は、学習処理が完了した場合（Ｓ４５において「Ｙｅｓ」）、学習処理を終了する（Ｓ４９）。
【００６８】
一方、学習処理部２２２は、学習処理が完了していない場合（Ｓ４５において「Ｎｏ」）、ユーザの所持ポイントが尽きていなければ（Ｓ４６において「Ｎｏ」）、Ｓ４２に動作を移行させるが、ユーザの所持ポイントが尽きていれば（Ｓ４６において「Ｙｅｓ」）、追加演算ノードの学習処理を一時停止させ（Ｓ４７）、追加演算ノードのインスタンスを停止させ（Ｓ４８）、動作をＳ４２に移行させる。
【００６９】
なお、ここでは、ユーザの所持ポイントが完全に尽きたか否かを判断する場合を想定するが、ユーザの所持ポイントが尽きそうであるか否かが判断されてもよい。すなわち、ユーザの所持ポイントが所定値を下回るか否かが判断されてもよい。
【００７０】
以上、並列演算リソース追加ボタンＧ１３の押下、かつ、確認ボタンＧ３２の押下が検出された場合における動作例について説明した。
【００７１】
上記においては、追加演算ノードの数に応じてユーザの所持ポイントが減算されることについて説明した。一方、ユーザの所持ポイントは、適宜に増加され得る。例えば、データ処理部２２３は、操作取得部１２１によってユーザの所持ポイントを増加させるための操作が検出された場合、ユーザの所持ポイントに対して加算処理を実行してよい。例えば、ユーザの所持ポイントに対する加算処理は、ポイント購入を契機になされてよい。例えば、ポイント購入はプリペイド方式によってなされてもよい。
【００７２】
図１０は、ポイント購入画面の例を示す図である。例えば、表示制御部１２４は、操作取得部１２１によってユーザによる所定のポイント購入操作が検出されると、ポイント購入画面Ｇ４０の表示を制御する。図１０に示した例では、５００円で５００ポイントを購入するための購入ボタンＧ４１、２０００円で２０００ポイントを購入するための購入ボタンＧ４２、５０００円で５０００ポイントを購入するための購入ボタンＧ４３が表示されている。
【００７３】
例えば、データ処理部２２３は、購入ボタンＧ４１の押下が検出されると、ユーザが有する所定の残金から５００円を減算してサービス側の所定の残金に５００円を加算するとともに、ユーザの所持ポイントに５００ポイントを加算する。同様に、データ処理部２２３は、購入ボタンＧ４２の押下が検出されると、ユーザが有する所定の残金から２０００円を減算してサービス側の所定の残金に２０００円を加算するとともに、ユーザの所持ポイントに２０００ポイントを加算する。また、データ処理部２２３は、購入ボタンＧ４３の押下が検出されると、ユーザが有する所定の残金から５０００円を減算してサービス側の所定の残金に５０００円を加算するとともに、ユーザの所持ポイントに５０００ポイントを加算する。
【００７４】
なお、図１０には、１ポイント当たりの購入に１円掛かる例を示したが、ポイントと金額との対応は特に限定されない。また、購入可能なポイントの種類も５００ポイント、２０００ポイントおよび５０００ポイントに限定されない。ポイント購入画面Ｇ４０には、キャンセルボタンＧ４４も含まれており、キャンセルボタンＧ４４の押下が検出された場合には、ポイント購入がなされずに、表示制御部１２４によってポイント購入画面Ｇ４０が閉じられてよい。
【００７５】
また、ここでは、操作取得部１２１によってユーザによる所定のポイント購入操作が検出された場合に、表示制御部１２４がポイント購入画面Ｇ４０の表示を制御する例を示した。しかし、ポイント購入画面Ｇ４０の表示制御がなされるタイミングは、かかる例に限定されない。例えば、表示制御部１２４は、追加演算ノードによる学習処理の実行中にユーザの所持ポイントが所定値を下回った場合、ポイント購入画面Ｇ４０の表示を制御することによって、ユーザにポイント購入を促し、追加演算ノードによる学習処理を一時的に停止させてもよい。このとき、ポイントが購入された場合、追加演算リソースによる学習処理が再開されてもよい。
【００７６】
以上においては、学習結果は学習処理を実行させたユーザ自身によって利用されることを想定したが、学習結果は他人にシェアされてもよい。すなわち、データ処理部２２３は、所定の公開画面においてネットワークの学習結果をシェアするためのシェアボタンの押下が検出された場合、そのネットワーク構造と学習処理に用いられたデータセットまたは当該データセットの識別情報とネットワーク構造の性能が、ユーザによる指定範囲においてシェアされてもよい。
【００７７】
そして、データ処理部２２３は、シェアボタンの押下が検出された場合、ユーザの所持ポイントに対して加算処理（ユーザに対するポイント還元）を実行してもよい。図１１は、学習結果の公開による所持ポイントへの加算処理の例を説明するための図である。例えば、データ処理部２２３は、所定の期間に（例えば、月ごとに）学習結果を公開したユーザの名前をネットワークの高性能順に並べたランキング表Ｔ１０を生成する。また、ネットワークの性能順位とポイントとの対応表Ｔ２０があらかじめ用意されている。
【００７８】
ここで、データ処理部２２３は、対応表Ｔ２０にポイントが記述された順位に位置するユーザの所持ポイントに当該ポイントを加算してよい。これにより、学習結果を公開しようとするユーザの研究意欲が促進されるとともに、学習結果を利用する他のユーザによるネットワーク探索の効率が向上される。なお、各ネットワークの性能は、学習処理部２２２によって算出されてよい（例えば、一つあたりのネットワークに複数回の学習処理が行われて得られた性能の平均値が当該ネットワークの性能として算出されてよい）。
【００７９】
また、学習済みネットワークを有料にて公開可能にする機能が提供されてもよい。より具体的に、表示制御部１２４は、ユーザが所定の学習済みネットワーク購入操作を行い、操作取得部１２１によって当該操作が検出されると、学習済みネットワーク購入画面の表示を制御する。図１２は、学習済みネットワーク購入画面の例を示す図である。図１２に示すように、学習済みネットワーク購入画面Ｇ５０は、学習済みネットワークの構造と学習済みネットワークの性能と学習済みネットワークの公開者の名前と購入ポイントとの組み合わせを含む。
【００８０】
具体的に、学習済みネットワーク購入画面Ｇ５０には、１つ目の学習済みネットワークに対応する購入ボタンＧ５１、２つ目の学習済みネットワークに対応する購入ボタンＧ５２および３つ目の学習済みネットワークに対応する購入ボタンＧ５３が含まれている。しかし、購入可能な学習済みネットワークの個数は限定されない。例えば、データ処理部２２３は、所定の性能を超える性能の学習済みネットワークを選択的に購入可能にしてもよいし、公開意志が示された学習済みネットワークを選択的に購入可能にしてもよい。また、公開者が学習済みネットワークの購入ポイントを設定する機能を提供してもよい。
【００８１】
ユーザによって学習済みネットワークに対する所定の購入操作が行われ、操作取得部１２１によって当該操作が検出されると、データ処理部２２３は、当該ユーザの所持ポイントから所定の購入ポイントを減算するとともに、当該ユーザに学習済みネットワークを提供してもよい。これによって、当該ユーザは新たな学習処理を実行させる必要なく高性能な技術（例えば、画像認識技術など）を入手することが可能となる。
【００８２】
例えば、データ処理部２２３は、ユーザによる購入ボタンＧ５１の押下が検出されると、当該ユーザの所持ポイントから２０００ポイントを減算するとともに、当該ボタンに対応する学習済みネットワークを当該ユーザに提供する。同様に、データ処理部２２３は、ユーザによる購入ボタンＧ５２の押下が検出されると、当該ユーザの所持ポイントから１０００ポイントを減算するとともに、当該ボタンに対応する学習済みネットワークを当該ユーザに提供する。また、データ処理部２２３は、ユーザによる購入ボタンＧ５３の押下が検出されると、当該ユーザの所持ポイントから３０００ポイントを減算するとともに、当該ボタンに対応する学習済みネットワークを当該ユーザに提供する。
【００８３】
また、データ処理部２２３は、ユーザによって学習済みネットワークが購入された場合、売上ポイントの一部（例えば、７割など）を、公開者の所持ポイントに加算してもよい（あるいは、売上額の一部（例えば、７割など）を、公開者が有する所定の残金に加算してもよい。）。このように、公開者にも学習済みネットワーク公開に対する利益を与えることによって、学習済みネットワーク公開を促進させることが可能となる。
【００８４】
また、ユーザは学習済みネットワークを販売するに際して、学習済みネットワークに自身が学習済みネットワークの作成者であることが分かるような情報（例えば、名前などの文字列）を付するようにしてもよい。これによって、他のユーザが偽って学習済みネットワークの作成者を名乗って学習済みネットワークをアップロードすることを防止することが可能である。
【００８５】
なお、表示制御部１２４は、学習済みネットワークの構造とともに、学習済みネットワークが解決しようとする問題の表示を制御してもよい。例えば、学習済みネットワークが解決しようとする問題は、テキストデータによって公開者から入力されてよい。そうすれば、学習済みネットワークを購入するユーザは、解決しようとする問題を見ながら、解決しようとする問題が自身の解決したい問題と類似度の高い学習済みネットワークを購入することが可能である。
【００８６】
ここで、学習処理に用いられる入力データ（特に、評価用のデータセット）には、より正確にラベルが付されることが求められる。そこで、データ処理部２２３は、学習処理に用いられる入力データに対するラベルの付加または変更が操作取得部１２１によって検出された場合、ラベルの付加または変更を行ったユーザの所持ポイントに対して加算処理を実行するとよい。これによって、ユーザに対するラベルの付加または変更を促すことが可能となる。
【００８７】
図１３は、入力データに対するラベルの付加について説明するための図である。図１３に示すように、表示制御部１２４は、入力データＩｍ１０、入力データＩｍ２０、入力データＩｍ３０および入力データＩｍ４０の表示を制御する。図１３に示した例では、入力データＩｍ１０がハムスターの画像、入力データＩｍ２０が猫の画像、入力データＩｍ３０が犬の画像、入力データＩｍ４０が猫の画像であるが、入力データの種類は特に限定されず、音声データであってもよいし、センサによって検出されたセンサデータであってもよいし、テキストデータであってもよいし、他の種類のデータであってもよい。
【００８８】
これらの入力データが表示されるタイミングも限定されない。例えば、表示制御部１２４は、ユーザによる所定のラベル編集操作が検出された場合に、入力データの表示を制御してもよい。あるいは、表示制御部１２４は、評価結果の表示画面の表示を制御するときに、ラベルが誤っている可能性が高い入力データも表示されるように表示部１５０を制御してもよい。図１３に示した例では、猫の画像である入力データＩｍ２０に「Ｃａｔ」のラベルＲ２０が付され、猫の画像である入力データＩｍ４０に「Ｃａｔ」のラベルＲ４０が付されている。
【００８９】
なお、ポイントを獲得することを目的として悪意によってラベルの付加または修正を行うユーザが登場することも予想される。また、ユーザがラベルの付加または修正を誤る可能性もある。そこで、データ処理部２２３は、複数ユーザから入力されたラベルが一致することを確認してから、ラベルの付加または変更を確定させるとともにラベルの付加または変更を行ったユーザの所持ポイントに対して加算処理を実行するとよい。
【００９０】
また、ラベルとして記述される文字列は、入力するユーザによってばらついてしまうのは望ましくなく、ある程度統一性があるのが望ましい。そこで、表示制御部１２４は、ユーザによってラベルの先頭文字が入力された段階で先頭文字に続くラベル全体を予測して表示させるようにしてもよい。また、ここではラベルの付加または変更を行ったユーザの所持ポイントに対して加算処理を実行する例を説明した。しかし、データ処理部２２３は、ラベルが付加されたデータセットのアップロードを行ったユーザの所持ポイントに対して加算処理を実行してもよい。
【００９１】
上記においては、追加演算ノードの数がユーザによって指定されたが、追加演算ノードの数は、ユーザに提案されてもよい。図１４は、条件入力画面の例を示す図である。図１４に示すように、条件入力画面Ｇ６０は、予算（追加演算ノードによる学習処理に掛けられる上限コスト）の選択欄と開発期間（学習処理に掛けられる上限時間）の選択欄を含んでいる。また、図１４に示すように、条件入力画面Ｇ６０は、予算および開発期間に応じて最適化された後の予測性能および追加演算リソース（追加演算ノード）の数を含んでいる。
【００９２】
より具体的には、表示制御部１２４は、予算と開発期間とがユーザによって指定された場合、予算を超えないポイント、かつ、開発期間を超えない時間によって追加可能な追加演算ノードの上限数の表示を制御する。また、表示制御部１２４は、当該上限数の追加演算ノードが追加された後におけるネットワークの予測性能の表示を制御する。図１４に示した例では、追加演算リソース（追加演算ノード）の数が「１」（すなわち、単一演算ノード１つと追加演算ノード１つとを合わせた２並列実行）が最適であると判断されている。これについて、図１５を参照しながら説明する。
【００９３】
図１５は、学習処理開始からの経過時間とネットワークの性能との関係の例を示す図である。図１５に示すように、学習処理が開始されると時間経過とともに性能が上昇する。また、並列実行数が多くなるほど性能の上昇速度は大きくなる。図１４に示すように、ユーザが予算として「１００００ポイント」を指定し、開発期間として「７日間」を指定した場合を想定する。かかる場合、４並列実行であれば、学習処理開始から３.５日経過時点において性能が９７％に到達するが、予算オーバーである。
【００９４】
一方、１並列実行であれば、予算が１００００ポイント以下の場合、学習処理開始から７日経過時点において性能が９５％であり（９７％に到達せず）、予算が８０００ポイントで性能が９７％に到達するためには、開発期間として「１０日」を要してしまう。２並列実行であれば、予算が１００００ポイントである場合、学習処理開始から７日経過時点において性能が９７％に到達し、性能「９７％」とユーザによって指定された予算および開発期間とが満たされる。そのため、表示制御部１２４は、追加演算ノードの数として「１」の表示を制御すればよい。
【００９５】
［１．４．ハードウェア構成例］
次に、図１６を参照して、本開示の実施形態に係る情報処理装置１０のハードウェア構成について説明する。図１６は、本開示の実施形態に係る情報処理装置１０のハードウェア構成例を示すブロック図である。
【００９６】
図１６に示すように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）８０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０５を含む。また、情報処理装置１０は、ホストバス８０７、ブリッジ８０９、外部バス８１１、インターフェース８１３、入力装置８１５、出力装置８１７、ストレージ装置８１９、ドライブ８２１、接続ポート８２３、通信装置８２５を含んでもよい。さらに、情報処理装置１０は、必要に応じて、撮像装置８３３、およびセンサ８３５を含んでもよい。情報処理装置１０は、ＣＰＵ８０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【００９７】
ＣＰＵ８０１は、演算処理装置および制御装置として機能し、ＲＯＭ８０３、ＲＡＭ８０５、ストレージ装置８１９、またはリムーバブル記録媒体８２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ８０３は、ＣＰＵ８０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ８０５は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ８０１、ＲＯＭ８０３、およびＲＡＭ８０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス８０７により相互に接続されている。さらに、ホストバス８０７は、ブリッジ８０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス８１１に接続されている。
【００９８】
入力装置８１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置８１５は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置８１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置１０の操作に対応した携帯電話などの外部接続機器８２９であってもよい。入力装置８１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ８０１に出力する入力制御回路を含む。ユーザは、この入力装置８１５を操作することによって、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置８３３も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
【００９９】
出力装置８１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置８１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などであり得る。出力装置８１７は、情報処理装置１０の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置８１７は、周囲を明るくするためライトなどを含んでもよい。
【０１００】
ストレージ装置８１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置８１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置８１９は、ＣＰＵ８０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１０１】
ドライブ８２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体８２７のためのリーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ８２１は、装着されているリムーバブル記録媒体８２７に記録されている情報を読み出して、ＲＡＭ８０５に出力する。また、ドライブ８２１は、装着されているリムーバブル記録媒体８２７に記録を書き込む。
【０１０２】
接続ポート８２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート８２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート８２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート８２３に外部接続機器８２９を接続することで、情報処理装置１０と外部接続機器８２９との間で各種のデータが交換され得る。
【０１０３】
通信装置８２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置８２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置８２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置８２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置８２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１０４】
撮像装置８３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置８３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１０５】
センサ８３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ８３５は、例えば情報処理装置１０の筐体の姿勢など、情報処理装置１０自体の状態に関する情報や、情報処理装置１０の周辺の明るさや騒音など、情報処理装置１０の周辺環境に関する情報を取得する。また、センサ８３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１０６】
次に、図１７を参照して、本開示の実施形態に係る情報提供装置２０のハードウェア構成について説明する。図１７は、本開示の実施形態に係る情報提供装置２０のハードウェア構成例を示すブロック図である。
【０１０７】
図１７に示すように、情報提供装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。また、情報提供装置２０は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置１０は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【０１０８】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報提供装置２０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１０９】
ストレージ装置９１９は、情報提供装置２０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１１０】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報提供装置２０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１１１】
接続ポート９２３は、機器を情報提供装置２０に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報提供装置２０と外部接続機器９２９との間で各種のデータが交換され得る。
【０１１２】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１１３】
＜２．むすび＞
以上説明したように、本開示の実施形態によれば、学習処理の進捗状況を示す情報と学習処理を実行中の第１のハードウェアリソースに対して学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御する表示制御部１２４を備える、情報処理装置１０が提供される。かかる構成によれば、学習を実行するハードウェアリソースを直感的に追加することが可能となる。
【０１１４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１５】
例えば、上記においては、分散演算リソース追加ボタンＧ１２を１回押下することが可能な場合および並列演算リソース追加ボタンＧ１３を１回押下することが可能な場合について説明した。しかし、分散演算リソース追加ボタンＧ１２および並列演算リソース追加ボタンＧ１３のいずれかが押下されて演算リソースが追加されてからも、分散演算リソース追加ボタンＧ１２または並列演算リソース追加ボタンＧ１３を押下することが可能であってもよい。かかる場合、表示制御部１２４は、分散演算確認画面Ｇ２０または並列演算確認画面Ｇ３０の表示を制御してもよい。
【０１１６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
【０１１７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御する表示制御部を備える、
情報処理装置。
（２）
前記第２のハードウェアリソースによる学習処理の実行中において、前記第２のハードウェアリソースの数に応じたコストが所定時間ごとに残高から減算される、
前記（１）に記載の情報処理装置。
（３）
第１の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースによって実行される学習処理の対象のネットワークの学習処理を前記第１のハードウェアリソースとの間で分散して実行する前記第２のハードウェアリソースが追加される、
前記（２）に記載の情報処理装置。
（４）
前記第１の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースにより実行中の学習処理が一時停止可能になるまで待機されてから、前記第１のハードウェアリソースおよびユーザによる指定数に相当する前記第２のハードウェアリソースによって前記学習処理が分散して実行される、
前記（３）に記載の情報処理装置。
（５）
前記残高が所定値を下回った場合、前記第１のハードウェアリソースにより実行中の学習処理が一時停止可能になるまで待機されてから、前記第２のハードウェアリソースによる学習処理が停止され、前記第１のハードウェアリソースによって前記学習処理が再開される、
前記（３）または（４）に記載の情報処理装置。
（６）
第２の追加ボタンの押下が検出された場合、前記第１のハードウェアリソースによって実行される学習処理の対象のネットワークと異なるネットワークの学習処理を前記第１のハードウェアリソースによる学習処理との間で並列して実行する前記第２のハードウェアリソースが追加される、
前記（２）に記載の情報処理装置。
（７）
前記第２の追加ボタンの押下が検出された場合、かつ、一時停止された１または複数の学習処理が存在する場合、前記第２のハードウェアリソースの一部または全部が当該一時停止された学習処理それぞれに対して一つずつ割り当てられ、割り当てられた第２のハードウェアリソースによって前記一時停止された学習処理が再開される、
前記（６）に記載の情報処理装置。
（８）
前記一時停止された学習処理に割り当てられない第２のハードウェアリソースそれぞれによって個別的にネットワークの学習処理が実行される、
前記（７）に記載の情報処理装置。
（９）
前記残高が所定値を下回った場合、前記第２のハードウェアリソースによる学習処理が停止される、
前記（６）〜（８）のいずれか一項に記載の情報処理装置。
（１０）
前記残高を増加させるための操作が検出された場合、前記残高に対して加算処理が実行される、
前記（２）〜（９）のいずれか一項に記載の情報処理装置。
（１１）
学習結果をシェアするためのシェアボタンの押下が検出された場合、前記学習処理が実行されたネットワーク構造と前記学習処理に用いられたデータセットまたは当該データセットの識別情報と前記ネットワーク構造の性能が、ユーザによる指定範囲においてシェアされる、
前記（２）〜（１０）のいずれか一項に記載の情報処理装置。
（１２）
前記シェアボタンの押下が検出された場合、前記残高に対して加算処理が実行される、
前記（１１）に記載の情報処理装置。
（１３）
前記学習処理に用いられる入力データに対するラベルの付加または変更が検出された場合、前記残高に対して加算処理が実行される、
前記（２）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
前記表示制御部は、前記第２のハードウェアリソースの数に基づいて、前記第１のハードウェアリソースおよび前記第２のハードウェアリソースによる推定学習所要時間および推定学習終了時刻の少なくともいずれか一方の表示を制御する、
前記（１）〜（１３）のいずれか一項に記載の情報処理装置。
（１５）
前記表示制御部は、前記第２のハードウェアリソースの数に応じたコストの表示を制御する、
前記（１）〜（１４）のいずれか一項に記載の情報処理装置。
（１６）
前記コストは、所定時間ごとに掛かるコストおよび前記学習処理が終了するまでに掛かるコストの少なくともいずれか一方を含む、
前記（１５）に記載の情報処理装置。
（１７）
前記情報処理装置は、
前記第２のハードウェアリソースの数を指定するための操作を取得する操作取得部を備える、
前記（１）〜（１６）のいずれか一項に記載の情報処理装置。
（１８）
前記表示制御部は、前記第２のハードウェアリソースによる学習処理に掛けられる上限コストと前記学習処理に掛けられる上限時間とがユーザによって指定された場合、前記上限コストを超えないコスト、かつ、前記上限時間を超えない時間によって追加可能な前記第２のハードウェアリソースの上限数の表示を制御する、
前記（１）〜（１７）のいずれか一項に記載の情報処理装置。
（１９）
プロセッサにより、学習処理の進捗状況を示す情報と前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンとの表示を制御することを含む、
情報処理方法。
（２０）
学習処理の進捗状況を示す情報を提供することと、
前記学習処理を実行中の第１のハードウェアリソースに対して前記学習処理を実行する第２のハードウェアリソースを動的に追加するための追加ボタンが押下されると、前記第２のハードウェアリソースを追加することと、
を含む、情報提供方法。
【符号の説明】
【０１１８】
１      情報処理システム
１０    情報処理装置
１１０  操作部
１２０  制御部
１２１  操作取得部
１２２  送信制御部
１２３  データ取得部
１２４  表示制御部
１３０  通信部
１４０  記憶部
１５０  表示部
２０    情報提供装置
２２０  制御部
２２１  取得部
２２２  学習処理部
２２３  データ処理部
２２４  送信制御部
２３０  通信部
２４０  記憶部
【図１】
2017182114.tif 000003
【図２】
2017182114.tif 000004
【図３】
2017182114.tif 000005
【図４】
2017182114.tif 000006
【図５】
2017182114.tif 000007
【図６】
2017182114.tif 000008
【図７】
2017182114.tif 000009
【図８】
2017182114.tif 000010
【図９】
2017182114.tif 000011
【図１０】
2017182114.tif 000012
【図１１】
2017182114.tif 000013
【図１２】
2017182114.tif 000014
【図１３】
2017182114.tif 000015
【図１４】
2017182114.tif 000016
【図１５】
2017182114.tif 000017
【図１６】
2017182114.tif 000018
【図１７】
2017182114.tif 000019