(57)【要約】  ニューラルネットワーク（ＮＮ）の学習フェーズにおいて、ユーザが分類困難な訓練データや、特性が異なる訓練データを学習する際、多くの学習時間を必要とする場合があった。  訓練データの特性に応じて訓練データを分割すると共に、分割された訓練データを別々のニューラルネットワーク（ＮＮ）で学習させ、その後、統合したＮＮにて全訓練データを再学習させる。
2016189675.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークによる学習を実行する学習装置であって、
前記ニューラルネットワークを、第１と第２のニューラルネットワークとを含む複数のニューラルネットワークに分割するニューラルネットワーク分割部と、
前記ニューラルネットワークの学習に用いる複数のサンプルからなる訓練データを第１と第２の訓練データとに分割する訓練データ分割部と、
前記第１の訓練データを用いて前記第１のニューラルネットワークによる学習を実行し、前記第２の訓練データを用いて前記第２のニューラルネットワークによる学習を実行する分割ニューラルネットワーク学習部と、
前記分割ニューラルネットワーク学習部での学習が成功した後の前記第１と第２のニューラルネットワークとを統合して第３のニューラルネットワークを生成するニューラルネットワーク統合部と、
分割前の前記訓練データを用いて前記第３のニューラルネットワークによる学習を実行する統合ニューラルネットワーク学習部と
を備えることを特徴とする学習装置。
【請求項２】
請求項１に記載の学習装置であって、
前記訓練データ分割部は、前記複数のサンプル間のユークリッド距離に基づき、前記訓練データを第１と第２の訓練データとに分割することを特徴とする学習装置。
【請求項３】
ニューラルネットワークによる学習を実行する学習装置であって、
前記ニューラルネットワークを、複数のニューラルネットワークに分割するニューラルネットワーク分割部と、
前記ニューラルネットワークの学習に用いる複数のサンプルからなる訓練データを、複数の訓練データに分割する訓練データ分割部と、
前記複数の訓練データの各々に対して、前記複数のニューラルネットワークのなかのいずれかを一意に割り当て、割り当てた前記ニューラルネットワークによる学習を実行する分割ニューラルネットワーク学習部と、
前記学習を実行した前記複数のニューラルネットワークを統合し、統合ニューラルネットワークを生成するニューラルネットワーク統合部と、
分割前の前記訓練データを用いて前記統合ニューラルネットワークによる学習を実行する統合ニューラルネットワーク学習部と
を備えることを特徴とする学習装置。
【請求項４】
請求項３に記載の学習装置であって、
前記訓練データ分割部は、分割前の前記訓練データを用いた前記複数のニューラルネットワークのいずれかによる学習の実行結果に応じて、前記訓練データを分割することを特徴とする学習装置。
【請求項５】
請求項４に記載の学習装置であって、
前記学習の実行結果とは、分割前の前記訓練データに含まれる出力値と前記統合ニューラルネットワークの演算結果との誤差であることを特徴とする学習装置。
【請求項６】
請求項５に記載の学習装置であって、
前記分割ニューラルネットワーク学習部は、前記複数の訓練データの各々を用いた前記学習の実行結果が所定条件を満たすか否かを判定し、前記所定条件を満たさないと判定した場合、異なる前記分割されたニューラルネットワークによる学習を実行することを特徴とする学習装置。
【請求項７】
請求項６に記載の学習装置であって、
前記分割ニューラルネットワーク学習部は、前記所定条件を満たすと判定した場合、割り当てた前記ニューラルネットワークの一部による学習を実行することを特徴とする学習装置。
【請求項８】
請求項３に記載の学習装置であって、
前記ニューラルネットワークは、畳み込みニューラルネットワークであることを特徴とする学習装置。
【請求項９】
ニューラルネットワークによる学習を実行する学習装置を用いた学習方法であって、
前記ニューラルネットワークを、複数のニューラルネットワークに分割し、
前記ニューラルネットワークの学習に用いる複数のサンプルからなる訓練データを、複数の訓練データに分割し、
前記複数の訓練データの各々に対して、前記複数のニューラルネットワークのなかのいずれかを一意に割り当て、割り当てた前記ニューラルネットワークによる学習を実行し、
前記学習を実行した前記複数のニューラルネットワークを統合して、統合ニューラルネットワークを生成し、
分割前の前記訓練データを用いて前記統合ニューラルネットワークによる学習を実行することを特徴とする学習方法。
【請求項１０】
請求項９に記載の学習方法であって、
分割前の前記訓練データを用いた前記複数のニューラルネットワークのいずれかによる学習の実行結果に応じて、前記訓練データを分割することを特徴とする学習方法。
【請求項１１】
請求項１０に記載の学習方法であって、
前記学習の実行結果とは、分割前の前記訓練データに含まれる出力値と前記統合ニューラルネットワークの演算結果との誤差であることを特徴とする学習方法。
【請求項１２】
請求項１１に記載の学習方法であって、
前記複数の訓練データの各々を用いた前記学習の実行結果が所定条件を満たすか否かを判定し、前記所定条件を満たさないと判定した場合、異なる前記分割されたニューラルネットワークによる学習を実行することを特徴とする学習方法。
【請求項１３】
請求項１２に記載の学習方法であって、
前記所定条件を満たすと判定した場合、割り当てた前記ニューラルネットワークの一部による学習を実行することを特徴とする学習方法。
【請求項１４】
請求項９に記載の学習方法であって、
前記ニューラルネットワークは、畳み込みニューラルネットワークであることを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークの学習装置および学習方法に関する。
【背景技術】
【０００２】
システムの入力と出力の関係をニューラルネットワーク（以下、ＮＮと略する）によってモデル化し、未知の入力に対する反応を予測したり、パターンを分類したりする、いわゆる教師あり機械学習が広く活用されている。一般的に、教師あり機械学習においては学習フェーズが必要であり、入力と出力をセットとする訓練データを複数用意し、全ての訓練データの入力と出力の関係が予め定められた基準を満たすまで、ＮＮに係わる各種パラメータを調整する。【０００３】
ここで、訓練データが有する入出力ベクトルの要素数が多い場合や、訓練データのサンプル数が多い場合、問題が複雑化するため、各種パラメータの調整に多くの時間を必要とすることが多い。この課題を解決する方法として（特許文献１）記載の方法がある。この公報には、ＮＮを分離して、それぞれのＮＮに所望の学習を行わせた後に併合する方法が記載されている。また、上記課題を解決する別の方法として（特許文献２）記載の方法がある。この公報には、入力と出力の関係が基準を満たさない不適合の訓練データを、優先的に学習させる方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平７−５０２３５７号明細書
【特許文献２】特開平５−１９７７００号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
（特許文献１）記載の方法において、例えば２分割したＮＮに学習させる訓練データとして、それぞれアルファベットのＡ〜Ｌ，Ｍ〜Ｚであることが記載されている。つまりこの方法は、入力すべき訓練データを、ユーザが予め分類しておくことを前提としている。このため、ユーザがどの様に訓練データを分類すべきかが判らない場合、例えば、同じ出力を有する訓練データを２分割する場合などには、適用が困難である。さらに上記の方法は、Ａ〜ＬおよびＭ〜Ｚに対する学習時間が等しい場合には効果が高いものの、双方の学習時間が大きく異なる場合には効果が薄れる。一般に、学習時間は、訓練データの特性に大きく依存するため、高い効果を安定的に得ることは困難である。【０００６】
一方、（特許文献２）記載の方法は、不適合の訓練データを優先的に学習させ、ＮＮに係わる各種パラメータを調整する。このため、その後の全訓練データを再学習する段階において、これまで適合していた訓練データの幾つかが、不適合に変化する可能性がある。この傾向は、例えば適合と不適合の訓練データの特性が大きく異なる場合に顕著となり、再学習に多くの時間が必要になると考えられる。【０００７】
本発明は、上記の課題を鑑みてなされたものであり、その目的は、ユーザが分類困難な訓練データや、特性が大きく異なる訓練データに対しても、安定的にＮＮの学習時間を短縮可能とする、学習装置および学習方法を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、ニューラルネットワークを複数のニューラルネットワークに分割するニューラルネットワーク分割部と、前記ニューラルネットワークの学習に用いる複数のサンプルからなる訓練データを、複数の訓練データに分割する訓練データ分割部と、前記複数の訓練データの各々に対して、前記複数のニューラルネットワークのなかのいずれかを一意に割り当て、割り当てた前記ニューラルネットワークによる学習を実行する分割ニューラルネットワーク学習部と、前記学習の実行結果が所定の条件を満たす前記複数のニューラルネットワークを統合し、統合ニューラルネットワークを生成するニューラルネットワーク統合部と、分割前の前記訓練データを用いて前記統合ニューラルネットワークによる学習を実行する統合ニューラルネットワーク学習部とを備えることを特徴とする学習装置を提示する。
【発明の効果】
【０００９】
本発明によれば、ニューラルネットワークの学習フェーズにおいて、ユーザが分類困難な訓練データや、特性が大きく異なる訓練データに対しても、安定的にＮＮの学習時間を短縮することが可能となる。また、ＮＮの形成に必要なリソースを最小化することが可能である。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の構成を説明するブロック図である。
【図２】情報処理装置の動作を説明するフローチャートである。
【図３】ニューラルネットワークの構成を説明するブロック図である。
【図４】ニューラルネットワークの構成を説明するブロック図である。
【図５】ニューラルネットワークに与える訓練データを説明する表である。
【図６】情報処理装置の動作を説明するフローチャートである。
【図７】情報処理装置の構成を説明するブロック図である。
【図８】情報処理装置の構成を説明するブロック図である。
【図９】情報処理装置の動作を説明するフローチャートである。
【図１０】情報処理装置の効果を説明する時系列グラフである。
【図１１】訓練データの分類方法を説明する表である。
【図１２】情報処理装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、実施例を図面を用いて説明する。
【実施例１】
【００１２】
実施例１では、ＮＮを２分割して別々の訓練データを用いて学習させ、その後、統合したＮＮで全訓練データを再学習させることで、学習時間を短縮する方法を示す。以下、図１〜図６を用いてこの方法を説明する。【００１３】
図１は、実施例１の情報処理装置の機能ブロック図であり、大別してＮＮ学習装置と記憶装置から構成される。図１において、１０１はＮＮ学習装置、１０２はＮＮ分割部、１０３は訓練データ分割部、１０４〜１０５は分割ＮＮ学習部、１０６はＮＮ統合部、１０７は統合ＮＮ学習部である。また、１０８は記憶装置、１０９はＮＮ情報記憶部、１１０は分割情報記憶部、１１１は訓練データ記憶部、１１２は学習結果記憶部であり、これらの記憶部にある情報は、全てユーザから読み書きできるものとする。図示しないが、ＮＮ学習装置１０１は、ハードウェア構成としてプロセッサ及びメモリを備える。プロセッサがメモリに格納されるプログラムを実行することによって、ＮＮ学習装置１０１の各種機能を実現できる。【００１４】
次に、実施例１の情報処理装置の動作について、図２のフローチャートを用いて説明する。図２において、２０１はＮＮ分割、２０２は訓練データ分割、２０３は分割ＮＮ学習、２０４は設定変更、２０５はＮＮ統合、２０６は統合ＮＮ学習である。【００１５】
ＮＮの学習にあたり、まずＮＮ分割２０１が実行される。この処理は、ＮＮ分割部１０２によって実現され、分割情報記憶部１１０から与えられる分割情報に基づき、ＮＮ情報記憶部１０９から与えられるＮＮを２分割する。以下、ＮＮの分割方法について説明する。まず、分割情報記憶部１１０から与えられる分割情報は、ＮＮをどの様な比率で何分割するかの情報を含む。実施例１においては「ＮＮを均等に２分割し、その一方を分割ＮＮ学習部１０４、他方を分割ＮＮ学習部１０５にアサインする」という情報が含まれているものとする。情報が含まれているものとする。次に、ＮＮ情報記憶部１０９から与えられるＮＮのイメージを図３に示す。図３において、３０１は入力ブロック、３０２〜３０３は第１層目の特徴抽出ブロック、３０４〜３０５は第２層目の特徴抽出ブロック、３０６は特徴抽出間ブロック間のリンク、３０７は出力ブロックである。なお、実施例１のＮＮは、その形態として畳み込みＮＮを想定しており、１つの特徴抽出ブロックは、畳み込み層（頭文字ｃのユニット）とプーリング層（頭文字ｐのユニット）から形成される。よって、特徴抽出ブロックのそれぞれは、訓練データの特徴を独立的に抽出する機能を有している。この機能を勘案すると、ＮＮを分割するには、特徴抽出ブロックを単位とする方法が効率的であり、その結果、ＮＮ統合後の再学習の時間も短縮できると考えることができる。図４は、上記の考え方に従って図３のＮＮを２等分した例である。２等分であることから、基本的には特徴抽出ブロックを単位として上部と下部で分離するが、入力ブロックと出力ブロックについては共通ブロックであるため、複製した後に分離している。また、ブロック間のリンクについても図３で示したリンクを継承するが、分割されたＮＮ(以下、分割ＮＮ)間のリンク、つまり図３で示したリンク３０６については削除する。以上、説明した構成と動作により、ＮＮの分割処理２０１を実現することができる。【００１６】
次に、訓練データ分割２０２が実行される。この処理は、訓練データ分割部１０３によって実現され、分割情報記憶部１１０から与えられる分割情報に基づき、訓練データ記憶部１１０から与えられる訓練データを２分割する。以下、訓練データの分割方法について説明する。まず、分割情報記憶部１１０から与えられる分割情報は、訓練データをどのようにグルーピングして分割するかの情報を含む。実施例１においては「訓練データをサンプル番号の前半と後半で２等分し、その前半を分割ＮＮ学習部１０４、後半を分割ＮＮ学習部１０５にアサインする」という情報が含まれているものとする。次に、訓練データ記憶部１１１から与えられる訓練データのイメージを図５に示す。図５に示すように、訓練データは入力ベクトルｉｖ１〜ｉｖ４と出力ベクトルｏｖ１〜ｏｖ２のセットで１サンプルが構成され、サンプルの数は４００個用意される。したがって、上記の指示に従って訓練データを２分割する場合、サンプル番号１〜２００および２０１〜４００の２グループとなるように分割すれば良い。なお、実施例１においては、サンプル番号に対して入力ベクトルの値が連続的に変化していること想定している。この場合、サンプル番号の前半と後半でグルーピングすれば、各グループの訓練データの特徴に大きな差異が生じる可能性が高まる。そして、これらの訓練データを別々に学習することで、より識別能力の高い分割ＮＮが生成可能となり、ＮＮ統合後の再学習の時間も短縮できると考えることができる。なお、当然ながら、サンプル番号に対して入力ベクトルの値が連続的に変化していない場合が考えられ、その場合の分割方法については、実施例２以降で説明する。【００１７】
ＮＮと訓練データの分割が完了すると、次に分割ＮＮ学習２０３が実行される。この処理は、分割ＮＮ学習部１０４〜１０５によって実現され、分割された訓練データを用いて分割ＮＮの学習を並列に行う。以下、図４における上部の分割ＮＮを例にとり、その動作を、図６のフローチャートを用いて説明する。図６において、６０１は初期設定、６０２は先頭訓練データ入力、６０３はＮＮ演算、６０４は誤差算出、６０５は訓練データ更新、６０６はパラメータ調整、６０７は結果リスト生成である。分割ＮＮの学習にあたり、まず初期設定６０１が実行される。この処理は、リンクの結合係数とバイアス値の初期設定が主であり、予め定められた値として、例えば−１から＋１までの乱数を初期値として設定する。初期設定が完了すると、次に先頭訓練データ入力６０２が実行される。具体的には、図５に示した訓練データのサンプル番号：１が選択され、その入力ベクトルが分割ＮＮの入力ブロック４０１に、出力ベクトルが出力ブロック４０３に転送される。次に、ＮＮ演算６０３が実行される。この処理は畳み込みＮＮにおける「前向き演算」に相当し、入力された訓練データに対し、畳み込み（フィルタリング）、プーリング（部分サンプリング）、活性化等の各種処理を行い、最終的に出力ブロック４０３内の各ユニットの出力値を算出する。誤差算出６０４は、左記の算出結果と訓練データの出力ベクトルとを比較し、その誤差を算出する。その後、訓練データ更新６０５が実行されるが、この処理は、実施例１においては、次のサンプル番号の訓練データを選択する動作に相当する。そして、この訓練データに対してＮＮ演算６０３と誤差算出６０４が再度実行され、これらの一連の処理を全ての訓練データの演算が完了するまで繰り返す。その後、誤差の総和が予め定めた基準以下であるならば、学習に成功したと判定し、結果リスト作成６０６を実行して学習は終了する。なお、結果リストには、学習の成功または失敗を示す情報の他、訓練データ毎の誤差、分割ＮＮに係わる各種パラメータ設定値の最新情報などが含まる。これらは、学習結果記憶部１１２に転送され、ユーザの学習結果の解析などに活用される。一方、誤差の総和が基準以上の場合は、パラメータ調整６０７が実行されるが、この処理は畳み込みＮＮにおける「後向き演算」に相当し、誤差伝播法を用いて出力ブロック４０３における誤差の勾配を、入力ブロック４０１の方向に逆伝播させる。これにより、各リンクの結合係数とバイアス値を、誤差が小さくなる方向に修正することが可能である。パラメータ調整６０７の後は、再び訓練データを用いた「前向き演算」を実行し、誤差の総和が基準以下になるまでパラメータ調整６０７を繰り返す。もしこの動作の途中、処理時間が予め定めた基準を超過した場合には、学習に失敗したと判定し、結果リスト作成６０６を実施して学習は終了する。【００１８】
それぞれの分割ＮＮを学習させた結果として、もし学習に失敗した分割ＮＮがある場合、設定変更２０４が実行される。実施例１において、この処理はユーザによって実施され、例えば分割ＮＮの初期設定６０１を変更したり、分割ＮＮの層数やユニット数を増やしたり、分割ＮＮと訓練データをさらに分割させることを目的に、ＮＮ情報記憶部１０９の内容やＮＮ分割情報記憶部１１０の内容を修正する。その後、分割ＮＮの学習を再度実行し、これらの一連の処理を全ての分割ＮＮの学習が成功するまで繰り返す。【００１９】
全ての分割ＮＮの学習が成功すると、次にＮＮ統合２０５が実行される。この処理はＮＮ統合部１０６によって実現され、まず、複製した入力ブロック４０１と４０２、出力ブロック４０３と４０４を、それぞれ１つのブロックに共通化する。さらに、ＮＮの分割処理で削除したリンク３０６を復活させる。この処理により、ＮＮを統合することが可能である。【００２０】
分割ＮＮの統合後は、統合ＮＮ学習２０６が実行される。この処理は統合ＮＮ学習部１０７によって実現され、その内容は部分ＮＮ学習２０３とほぼ同じである。異なる処理は、統合ＮＮにおける各リンクの初期値に、分割ＮＮ学習２０３で調整された結合係数とバイアス値を反映させる点である。なお、復活させたリンク３０６の初期値については、学習の結果が無いため、例えば−１から＋１までの乱数とする。【００２１】
統合ＮＮを学習させた結果、もし学習に失敗した場合、設定変更２０４が再び実行され、この一連の処理を統合ＮＮの学習が成功するまで繰り返す。なお、統合ＮＮに係わる各種パラメータ設定値の最新情報は、ＮＮ情報記憶部１０９に転送され、学習フェーズ後のテストフェーズに活用される。【００２２】
以上説明したように、実施例１の情報処理装置は、特徴抽出ブロックを単位として畳み込みＮＮを２分割し、サンプル番号の前半と後半で分割した訓練データ用いて並列に分割ＮＮを学習させ、その後、統合したＮＮで全訓練データを再学習させる。これにより、サンプル番号に対して入力ベクトルの値が連続的に変化しているような訓練データに対し、識別能力の高い分割ＮＮが生成可能となり、ＮＮ統合後の再学習の時間も短縮することが可能である。したがって、本発明の目的である、ＮＮの学習時間を短縮可能とする、情報処理方法およびそのシステムを提供することが可能である。【００２３】
なお、実施例１においてＮＮおよび訓練データの分割数は２としたが、これに限られる訳ではなく、３以上に設定しても良い。また、ＮＮおよび訓練データの分割のバランスを均等としたが、これに限られる訳ではなく、不均等に設定しても良い。さらに、訓練データのサンプル数、入出力ベクトルの要素数なども自由に設定可能である。
【実施例２】
【００２４】
実施例２では、訓練データの特性が未知の場合に、訓練データを適切に分割するための方法を示す。以下、新たに図７を追加してこの方法を説明する。図７は実施例１の情報処理装置の機能ブロック図であり、７０１は分割情報記憶部、７０２はＮＮ分析部である。それ以外の部は実施例１の図１で示した部と同じ処理を行うため、同じ番号を記している。【００２５】
実施例２の処理としての特徴は、図２に示した訓練データ分割２０２に、訓練データの分析処理が新たに追加された点にある。データ分割２０２は、図７に示すＮＮ分析部７０２によって実現され、分割情報記憶部７０１から与えられる分割情報に基づき、訓練データ記憶部１１１から与えられる訓練データを分割する。ここで、分割情報記憶部７０１から与えられる分割情報は、訓練データをどの様な比率で何分割するかの情報を含む。実施例２においては「訓練データを均等に２分割し、その一方を分割ＮＮ学習部１０４、他方を分割ＮＮ学習部１０５にアサインする」という情報が含まれているものとする。次に、ＮＮ分析部７０２は、訓練データを均等に２分割するための分析を実行する。実施例２においては、この分析方法として、ユークリッド距離の近さで訓練データを分類する、いわゆるクラスタリングを用いる。代表的なアルゴリズムとしては、例えばＫ平均法などが挙げられる。クラスタリングによる分析により、訓練データが２つのグループに分割され、さらに、どのサンプル番号の訓練データがどのグループに属するかの情報も生成される。【００２６】
なお、上記した訓練データ分割２０２の処理以外は、実施例１と同じの構成と動作となるため、その説明は割愛する。【００２７】
以上説明したように、実施例２の情報処理装置は、畳み込みＮＮを２分割し、クラスタリング分析により２分割した訓練データ用いて並列に分割ＮＮを学習させ、その後、統合したＮＮで全訓練データを再学習させる。これにより、特性が未知の訓練データに対し、識別能力の高い分割ＮＮが生成可能となり、ＮＮ統合後の再学習の時間も短縮することが可能である。したがって、本発明の目的である、ユーザが分類困難な訓練データや、特性が大きく異なる訓練データに対しても、安定的にＮＮの学習時間を短縮可能とする、情報処理方法およびそのシステムを提供することが可能である。【００２８】
なお、実施例１と同様、ＮＮおよび訓練データの分割数やバランス、訓練データのサンプル数、入出力ベクトルの要素数などは自由に設定可能である。さらに、実施例１と実施例２を、異なる処理モードとして切り替えることも可能である。これにより、より多様な特性の訓練データに対し、安定的にＮＮの学習時間を短縮することが可能となる。
【実施例３】
【００２９】
実施例３では、訓練データの特性が未知の場合に、訓練データを適切に分割するための別の方法を示す。以下、新たに図８〜図９を追加してこの方法を説明する。図８は実施例３の情報処理装置の機能ブロック図であり、８０１は分割情報記憶部、８０２は分割調整部である。それ以外の部は実施例１の図１で示した部と同じ処理を行うため、同じ番号を記している。【００３０】
実施例３の処理としての特徴は、ＮＮを分類器として活用し、訓練データを適応的に分類する点にある。以下、この処理の詳細について、図９のフローチャートを用いて説明する。図９において、９０１は初期ＮＮ学習、９０２は不適合訓練データ抽出、９０３はＮＮ追加、９０４は追加ＮＮ学習、９０５はＮＮ統合、９０６は統合ＮＮ学習、９０７は結果リスト作成である。【００３１】
ＮＮの学習にあたり、まず初期ＮＮ学習９０１が実行される。この処理は実施例１の分割ＮＮ学習２０３とほぼ同じであるが、１つの分割ＮＮ、例えば図４における上部の分割ＮＮで全ての訓練データを学習させる点に特徴がある。この処理を実現するには、分割調整部８０２が出力する分割情報を工夫すれば良い。例えばＮＮ分割部１０２へ出力する分割情報を「ＮＮを均等に２分割し、その一方を分割ＮＮ学習部１０４にアサインする」とし、訓練データ分割部１０３への分割情報を「全ての訓練データを分割ＮＮ学習部１０４にアサインする」とすることで実現可能である。【００３２】
初期ＮＮ学習９０１の結果、学習が成功したならば、結果リスト作成９０７を実行して学習は終了するが、失敗の場合は不適合訓練データ抽出９０２が実行される。この処理は分割調整部８０２によって実現され、先の初期ＮＮ学習９０１で算出された誤差を訓練データ毎に調べ、誤差が予め定めた基準以上の訓練データを、不適合訓練データとして抽出する。不適合訓練データの抽出後は、ＮＮ追加９０３および追加ＮＮ学習９０４が実行されるが、これに先立ち、もしＮＮの形成に必要なリソースが確保できるか、すなわち追加可能な未学習の分割ＮＮがあるか調査し、もしＮＮが追加できない場合には、結果リスト作成９０７を実行して学習は終了する。【００３３】
ＮＮ追加９０３および追加ＮＮ学習９０４の処理は、実施例１の分割ＮＮ学習２０３とほぼ同じであるが、上記とは別の分割ＮＮ、例えば図４における下部の分割ＮＮで不適合訓練データを学習させる点に特徴がある。この処理を実現するには、分割調整部８０２が出力する分割情報を更新すれば良い。例えばＮＮ分割部１０２へ出力する分割情報を「２分割した残りの分割ＮＮを分割ＮＮ学習部１０５にアサインする」とし、訓練データ分割部１０３への分割情報を「不適合訓練データを分割ＮＮ学習部１０５にアサインする」とすることで実現可能である。追加ＮＮを学習させた結果、学習が失敗した場合は、不適合訓練データ抽出９０２が再び実行され、ＮＮを追加して不適合訓練データを学習する一連の処理を、追加ＮＮの学習が成功するかリソースが確保できなくなるまで繰り返す。【００３４】
追加ＮＮの学習が成功した場合、ＮＮ統合９０５および統合ＮＮ学習９０６が実行される。これらの処理は、実施例１のＮＮ統合および統合ＮＮ学習２０６と同様である。実施例３では、未学習の分割ＮＮも存在するが、未学習の分割ＮＮは統合せず、学習させた分割ＮＮ（追加ＮＮ）を統合する。そして、全ての訓練データを用いて統合ＮＮを学習させた結果、学習が失敗した場合は、不適合訓練データ抽出９０２が再び実行され、ＮＮを追加して不適合訓練データを学習する一連の処理を、統合ＮＮの学習が成功するかリソースが確保できなくなるまで繰り返す。なお、実施例１と同様、統合ＮＮに係わる各種パラメータ設定値の最新情報は、ＮＮ情報記憶部１０９に転送され、学習フェーズ後のテストフェーズに活用される。また、結果リスト作成９０７で生成される結果リストには、学習の成功または失敗を示す情報の他、訓練データ毎の誤差、分割ＮＮに係わる各種パラメータ設定値の最新情報などが含まれる。これらは、学習結果記憶部１１２に転送され、ユーザの学習結果の解析などに活用される。【００３５】
以上説明したように、実施例３の情報処理装置は、畳み込みＮＮを２分割し、片方の分割ＮＮを用いて訓練データを適合と不適合に分類し、不適合の訓練データについては、他方の分割ＮＮを用いて訓練データを再学習させ、その後、統合したＮＮで全訓練データを再学習させる。これにより、特性が未知の訓練データに対し、識別能力の高い分割ＮＮが生成可能となり、ＮＮ統合後の再学習の時間も短縮することが可能である。したがって、本発明の目的である、ユーザが分類困難な訓練データや、特性が大きく異なる訓練データに対しても、安定的にＮＮの学習時間を短縮可能とする、情報処理方法およびそのシステムを提供することが可能である。さらに、学習結果に応じて適応的にＮＮを追加していく方法となるため、ＮＮの形成に必要なリソースを節約することが可能である。さらに、実施例２で示した訓練データをクラスタリングする方法と比べ、実施例３の方法はより直接的であることから、より多様な特性の訓練データに対し、安定的にＮＮの学習時間を短縮することが可能となる。【００３６】
なお、実施例１と同様、ＮＮおよび訓練データの分割数やバランス、訓練データのサンプル数、入出力ベクトルの要素数などは自由に設定可能である。さらに、実施例１〜３を、異なる処理モードとして切り替えることも可能である。これにより、さらに多様な特性の訓練データに対し、安定的にＮＮの学習時間を短縮することが可能となる。【００３７】
なお、実施例３では初期ＮＮ学習９０１において、全ての訓練データを学習させて不適合訓練データを抽出したが、これに限られる訳ではない。例えば、訓練データの一部を無作為に抽出して初期ＮＮを事前学習させておき、その後、全ての訓練データを学習させて不適合訓練データを抽出することも可能である。この処理により、より識別能力の高い初期ＮＮが生成できるものと期待できる。この方法を用いて、実際にＮＮを学習した結果を図１０に示す。分割学習を実施しない方法と比べて、本発明は極めて少ない学習の繰り返し回数で、学習を成功させていることが判る。
【実施例４】
【００３８】
実施例４では、実施例１〜３の情報処理装置において、ＮＮの分割や追加をより効率的に実現するための方法を示す。実施例４の処理としての特徴は、誤差算出６０４で得られる誤差の大きさに応じて訓練データを分類すると共に、この結果に応じてＮＮの分割や追加の方針を決定する点にある。以下、新たに図１１を追加してこの方法を説明する。【００３９】
図１１は、誤差算出６０４で算出される誤差のリストの一例である。この誤差リストは、分割ＮＮ学習部１０４〜１０５によって実現され、図１１に示すように、例えば誤差の大きい順に訓練データをソーティングし、さらに誤差の大きさで分類を行っている。なお、図１１においては、説明を簡略化するためサンプル数を２０と少なくしている。【００４０】
図１１の誤差リストを活用する例として、例えば実施例３におけるＮＮ追加９０３への応用が考えられる。例えば図１１のケースのように、不適合訓練データにおいて、誤差レベルが大きくばらつく場合、１つの追加ＮＮで再学習しても学習が失敗する可能性が高い。これに対し、追加ＮＮを３つ用意し、それぞれ誤差大、誤差中、誤差小の訓練データを別々に学習させた方が、学習の成功確率が高まると考えられる。この様に、「誤差の大きさ」という情報を得ることにより、ＮＮの追加方針を効率的に決定すること可能である。この考え方は、実施例１〜２で示したユーザによる設定変更２０４に対しても、極めて効果的である。【００４１】
以上説明したように、実施例４の情報処理装置は、実施例１〜３で示した構成と動作に加えて、訓練データの誤差の大きさに応じて、ＮＮの分割や追加の方針を決定する。これにより、ＮＮの学習の成功率をより高めることが可能となる。なお、図１１で示した誤差レベルの分類数は４としたが、これに限られる訳ではなく、リソースの状況などを勘案して適切に設定しておくことが望ましい。
【実施例５】
【００４２】
実施例５では、実施例１〜４の情報処理装置において、ＮＮの形成に必要なリソースを最小化するための方法を示す。実施例５の処理としての特徴は、学習が成功したＮＮに対し、ＮＮ規模を縮小して再学習させ、学習が再び成功した場合は、余剰のＮＮリソースを累積する点にある。以下、新たに図１２を追加してこの方法を説明する。図１２は、リソース最小処理を実現するためのフローチャートであり、１２０１はＮＮ規模縮小、１２０２は縮小ＮＮ学習、１２０３は余剰リソース累積である。なお、これらの処理は、分割ＮＮ学習部１０４および１０５で実現される。【００４３】
まず、ＮＮ規模縮小１２０１は、学習が成功した分割ＮＮ、初期ＮＮ、または追加ＮＮを入力とし、予め定められた分だけＮＮの規模を削減する。ＮＮ規模の削減方法としては、例えば、中間層単位、特徴抽出ブロック単位、ユニット単位での削減を考えることができる。次に、縮小ＮＮ学習１２０２が実行されるが、この処理は、実施例１の分割ＮＮ学習２０３と同じであるため、その説明は割愛する。【００４４】
縮小ＮＮの学習が成功した場合、余剰リソース累積１２０３が実行される。この処理では、ＮＮ規模縮小１２０１で削減した分のＮＮのリソースを、余剰リソースとして蓄積する。その後、ＮＮ規模縮小１２０１が再び実行され、この一連の処理を、縮小ＮＮの学習が失敗するまで繰り返す。【００４５】
そして、縮小ＮＮの学習が失敗すると、ＮＮ規模をこれ以上縮小できないと判定し、蓄積された余剰リソースをＮＮ情報記憶部１０９へ転送して、リソース最小化処理が完了となる。なお、蓄積した余剰リソースは、新たにＮＮを追加する必要が発生した場合などにリサイクルされる。【００４６】
以上説明したように、実施例５の情報処理方法およびそのシステムは、実施例１〜４で示した構成と動作に加えて、ＮＮの形成に必要なリソースを最小化するためのリソース最小化処理を行う。これにより、より少ないリソースでＮＮの学習時間を短縮することが可能となる。また、限られたリソースにおいては、より多様な特性の訓練データに対し、安定的にＮＮの学習時間を短縮することが可能となる。【００４７】
以上、実施例１〜５において、ＮＮを畳み込みＮＮをとしたが、これに限定される訳ではなく、他の種類のＮＮにも適応可能である。ただし、他の種類のＮＮを適用する場合は、畳み込みＮＮのように、比較的ＮＮを分割しやすい性質であることが望ましい。
【符号の説明】
【００４８】
１０１  ＮＮ学習装置
１０２  ＮＮ分割部
１０３  訓練データ分割部
１０４  分割ＮＮ学習部
１０５  分割ＮＮ学習部
１０６  ＮＮ統合部
１０７  統合ＮＮ学習部
１０８  記憶装置
１０９  ＮＮ情報記憶部
１１０  分割情報記憶部
１１１  訓練データ記憶部
１１２  学習結果記憶部
２０１  ＮＮ分割
２０２  訓練データ分割
２０３  分割ＮＮ学習
２０４  設定変更
２０５  ＮＮ統合
２０６  統合ＮＮ学習
６０１  初期設定
６０２  先頭訓練データ入力
６０３  ＮＮ演算
６０４  誤差算出
６０５  訓練データ更新
６０６  結果リスト生成
６０７  パラメータ調整
７０１  分割情報記憶部
７０２  ＮＮ分析部
８０１  分割情報記憶部
８０２  分割調整部
９０１  初期ＮＮ学習
９０２  不適合訓練データ抽出
９０３  ＮＮ追加
９０４  追加ＮＮ学習
９０５  ＮＮ統合
９０６  統合ＮＮ学習
９０７  結果リスト生成
１２０１  ＮＮ規模縮小
１２０２  縮小ＮＮ学習
１２０３  余剰リソース蓄積
【図１】
2016189675.tif 000003
【図２】
2016189675.tif 000004
【図３】
2016189675.tif 000005
【図４】
2016189675.tif 000006
【図５】
2016189675.tif 000007
【図６】
2016189675.tif 000008
【図７】
2016189675.tif 000009
【図８】
2016189675.tif 000010
【図９】
2016189675.tif 000011
【図１０】
2016189675.tif 000012
【図１１】
2016189675.tif 000013
【図１２】
2016189675.tif 000014
【国際調査報告】
2016189675.tif 000015
2016189675.tif 000016