(57)【要約】【課題】ニューラルネットワークをパイプライン学習のみによって学習させる場合に比べ、ニューラルネットワークを高速に学習させる。【解決手段】情報処理装置１０は、学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によってニューラルネットワークを学習させることを繰り返す。そして、情報処理装置１０は、学習の進捗に関する指標に応じて、パイプライン学習とは異なる通常学習によるニューラルネットワークの学習に切り替える。【選択図】図１
2019040365.tif 000002
【特許請求の範囲】
【請求項１】
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える学習部
を備える情報処理装置。
【請求項２】
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差が予め定められた出力誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項３】
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す前時刻の出力誤差と現時刻の前記出力誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項４】
前記学習部は、複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項５】
前記学習部は、複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す現時刻の誤差積分と現時刻の前記誤差積分との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項６】
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記学習パターンとは異なる、期待値が付与されたテスト用パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差を表すテスト誤差が予め定められたテスト誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項７】
前記学習部は、前記学習の進捗に関する指標としての、前記学習パターンとは異なる、期待値が付与されたテスト用パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差を表す前時刻のテスト誤差と現時刻の前記テスト誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
請求項１に記載の情報処理装置。
【請求項８】
学習パターンを用いてニューラルネットワークを学習させる際に、第１のパイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記第１のパイプライン学習とは前記ニューラルネットワークの各レイヤーの学習の並列の度合いが異なる第２のパイプライン学習による前記ニューラルネットワークの学習に切り替える学習部
を備える情報処理装置。
【請求項９】
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
処理をコンピュータに実行させるためのプログラム。
【請求項１０】
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
処理をコンピュータに実行させるための情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、神経回路網の抽象化モデルである多層ネットワークの学習時間を大幅に短縮する神経回路網学習装置が知られている。この神経回路網学習装置は、問題データを情報源とした前向き伝搬処理、及び出力値の誤差を情報源とした後向き伝搬処理を、幾つかの基本演算要素に分解し、更に、重みの同期修正機構と、処理の中間結果を格納するスタックを付加した構成を有する。
【０００３】
また、パイプライン方法と並列学習方法とを組み合わせることによって、誤差逆伝搬学習を加速化する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１‐２４８２６８号公報
【非特許文献】
【０００５】
【非特許文献１】S. Zickenheiner, M. Wendt, B. Klauer, "Pipelining and Parallel Training of Neural Networks on Distributed-Memory Multiprocessors", Neural Networks, 1994. IEEE World Congress on Computational Intelligence.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
パイプライン学習によってニューラルネットワークを学習させる場合、パイプライン学習の初期における学習速度は、通常の学習処理の学習速度に比べ速い。しかし、パイプライン学習の後期においては、通常の学習処理の学習速度よりもパイプライン学習の学習速度の方が遅くなる場合がある。
【０００７】
一つの側面では、開示の技術は、ニューラルネットワークをパイプライン学習のみによって学習させる場合に比べ、ニューラルネットワークを高速に学習させることが目的である。
【課題を解決するための手段】
【０００８】
開示の技術は、一つの実施態様では、情報処理装置の学習部は、学習パターンを用いてニューラルネットワークを学習させる。学習部は、ニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返す。そして、学習部は、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える。
【発明の効果】
【０００９】
一つの側面として、ニューラルネットワークをパイプライン学習のみによって学習させる場合に比べ、ニューラルネットワークを高速に学習させることができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る情報処理装置の概略ブロック図である。
【図２】学習パターン記憶部に格納されるテーブルの一例を示す図である。
【図３】ニューラルネットワークを説明するための説明図である。
【図４】パイプライン学習を説明するための説明図である。
【図５】パイプライン学習による学習速度と通常学習による学習速度とを説明するための図である。
【図６】本実施形態における学習処理を説明するための説明図である。
【図７】誤差記憶部に格納されるテーブルの一例を示す図である。
【図８】実施形態に係る情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図９】第１の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１０】第２の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１１】第３の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１２】第４の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１３】第５の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１４】第６の実施形態の情報処理ルーチンの一例を示すフローチャートである。
【図１５】シミュレーション結果の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１２】
＜第１の実施形態＞
【００１３】
図１に示すように、第１の実施形態に係る情報処理装置１０は、学習パターン記憶部１２と、学習部１４と、誤差記憶部１６と、モデル記憶部１８とを備えている。
【００１４】
学習パターン記憶部１２には、複数の学習パターンが格納されている。複数の学習パターンは、例えば、図２に示されるように、テーブルの形式で格納される。図２に示すテーブルには、学習パターンの識別情報を表す学習パターンＩＤと、学習パターンと、学習パターンに対する期待値とが対応付けられて格納される。
【００１５】
学習部１４は、学習パターン記憶部１２に格納された複数の学習パターンを用いて、ニューラルネットワークを学習させる。例えば、学習部１４は、図２に示されているテーブルに格納された学習パターンＸＸＸがニューラルネットワークへ入力された場合には、ニューラルネットワークから期待値ＹＹＹが出力されるように、ニューラルネットワークの各レイヤーの結合係数を学習させる。
【００１６】
図３に、ニューラルネットワークを説明するための説明図を示す。図３に示されるように、ニューラルネットワークＮは、複数のニューロン素子Ｎｅをフィードフォワード型に接続した構造を持つ。ニューラルネットワークＮはニューロン素子Ｎｅ同士の結合係数Ｗを適切に設定する事により優れた推論能力を持たせることができる。
【００１７】
フィードフォワード型のネットワーク構造を持つニューラルネットワークの学習においては、バックプロパゲーション法を用いた学習方法が主に用いられる。バックプロパゲーション法では、図３に示されるように、学習パターンＬＰをニューラルネットワークＮへ入力してフォワード方向に演算しながら伝搬させた後、出力側の誤差を入力側に向かってバックワード側に伝搬させる。具体的には、フォワード方向の演算を表す推論処理Ｅと、バックワード側の演算を表す学習処理Ｌとが交互に行われる。この際、１つの学習パターンに対する学習処理Ｌにおいて、ニューラルネットワークの結合係数が更新され、結合係数が最適値に近くなるように学習される。そして、１つの学習パターンに対する学習処理Ｌにおいて、ニューラルネットワークの全ての結合係数の更新が終了した後、次の学習パターンがニューラルネットワークへ入力される。ニューラルネットワークのニューロン素子の数が多く、かつ深いレイヤー構造を持つニューラルネットワークの学習においては、学習対象の結合係数の数が非常に多いため、学習処理に時間がかかる。
【００１８】
この方法に対して、ニューラルネットワークの各レイヤーの演算をパイプライン化することによって学習処理を高速化させるパイプライン学習が知られている。パイプライン学習では、特定の学習パターンによる結合係数の更新が終了する前に、次の学習パターンをニューラルネットワークへ入力し、ニューラルネットワークの各レイヤーを並列動作させる。そのため、パイプライン学習では、ニューラルネットワークの各ニューロン素子で行われるフォワード側の演算とバックワード側の演算とが並列に行われる。
【００１９】
図４に、パイプライン学習を説明するための説明図を示す。図４では、ニューラルネットワークの推論処理と学習処理との時系列の関係が示されている。
【００２０】
図４に示されるように、通常学習ＮＬでは、学習パターン１についての推論処理Ｅと学習処理Ｌとが行われた後に、学習パターン２についての推論処理Ｅと学習処理Ｌとが行われる。通常の学習では、入力される１つの学習パターンで全てのレイヤーの結合係数が学習し終えてから次の学習パターンが入力される。
【００２１】
一方、パイプライン学習では、１つの学習パターンによる学習が終了する前に、次々と他の学習パターンが入力される。具体的には、図４に示されるように、パイプライン学習ＰＬでは、学習パターン１についての推論処理Ｅが行われているときに、学習パターン１とは異なる学習パターン（図４に示される例では、学習パターン２、学習パターン３、及び学習パターン４）の推論処理が開始される。また、学習パターン１についての学習処理Ｌが行われているときに、学習パターン１とは異なる学習パターン（図４に示される例では、学習パターン２、学習パターン３、及び学習パターン４）の学習処理が開始される。
【００２２】
パイプライン学習では、ニューラルネットワークの各レイヤーが並列の動作をするため、学習の高速化が可能となる。しかし、パイプライン学習では、１つの学習パターンによる結合係数の更新が終わる前に、次の学習パターンの入力が行われるため、正しくない推論処理が行われ、フォワード側の演算において誤差を含むデータが伝搬されてしまう。なお、ニューラルネットワークの入力に近いレイヤーから、誤差を含むデータが伝搬されることが多い。ニューラルネットワークの入力に近いレイヤーでは、学習パターンがニューラルネットワークへ入力されてから結合係数の更新までに長い時間を要するためである。
【００２３】
このため、パイプライン学習による学習の初期の段階では、パイプライン化によって学習速度を大幅に向上させることができるが、学習の後期の段階では学習速度が低下する。そのため、パイプライン学習を用いてニューラルネットワークを学習させる場合には、通常学習と比較して学習品質が許容値に達するまでの学習速度が低下する場合がある。このため、パイプライン学習を用いてニューラルネットワークを学習させる場合、所定の時間内では、通常学習で得られる学習品質に到達しない場合がある。
【００２４】
図５に、パイプライン学習による学習速度と通常学習による学習速度とを説明するための図を示す。図５に示されるように、学習の初期の段階Ｔ１では、通常学習の学習曲線ＮＬｃに比べパイプライン学習の学習曲線ＰＬｃの方が誤認識率の低下速度が速く、高速に学習が行われる。しかし、学習の後期の段階Ｔ２では、パイプライン学習の学習曲線ＰＬｃと比べ通常学習の学習曲線ＮＬｃの方が誤認識率の低下速度が速くなる。そのため、図５に示されるように、誤認識率が許容値Ｔｈに達するまでには、ニューラルネットワークを通常学習によって学習させる場合には時刻ｔ１を要するが、パイプライン学習ではより多くの学習時間を要する。このことから、パイプライン学習の後期においては、学習の収束性に関してパイプライン学習が寄与しないことがわかる。
【００２５】
図３に示されるように、パイプライン学習は、ニューラルネットワークのニューロン素子を並列に演算させることでレイヤー方向Ｌｙのニューロン素子に対する動作の並列化に適している方法である。一方、パイプライン学習では、フォワード側で誤差のあるデータが出力方向Ｆｗに伝搬されるため、１つの学習パターンによる学習に着目すると、通常学習の方が結合係数の最適値に近づけやすい。
【００２６】
ニューラルネットワークの学習が開始される際には、結合係数はランダムな値に設定されるため、結合係数の値は最適値に対して大きく異なっていることが多い。このため、パイプライン学習が行われるときに、フォワード側の誤差が大きい場合であっても、結合係数の更新には影響が少なく、各レイヤーのニューロン素子の演算の並列化による学習の高速化の効果が大きい。一方、パイプライン学習の後期においては、パイプライン学習によって発生するフォワード側の誤差の影響の方が顕著になり、より正確な結合係数の更新が行われる通常学習によって学習を行う方が高速になる。
【００２７】
このため、本実施形態では、ニューラルネットワークの学習の初期の段階ではパイプライン学習を用い、ニューラルネットワークの学習の後期の段階では通常学習を用いることにより、ニューラルネットワークの学習の高速化を図る。
【００２８】
図６に、本実施形態における学習処理を説明するための説明図を示す。図６に示されるように、本実施形態では、パイプライン学習ＰＬと通常学習ＮＬとの２つのモードを適切なタイミングＣで切り替える。タイミングＣでパイプライン学習ＰＬから通常学習ＮＬへ切り替えることにより、学習期間Ｔａの学習の高速性が学習期間Ｔｂへ移行される。このため、学習の初期においてはパイプライン学習の学習処理の高速性が活かされ、かつ学習の後期においては通常学習の学習処理の収束性が活かされるため、認識誤差が高速に低下する。これにより、図６に示されるように、本実施形態の学習による学習曲線はＭＬｃとなり、学習時間が低減される。
【００２９】
ニューラルネットワークの学習においては、ニューラルネットワークの出力値とその期待値とが比較される。第１の実施形態では、学習パターンをニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差に応じて、パイプライン学習と通常学習とを切り替える。一般に、出力誤差が大きい場合は、結合係数の値が最適値から大きくずれていることを示しており、出力誤差が小さい場合には、結合係数の値が最適値に近づき学習が進んでいることを示す。
【００３０】
学習部１４は、パイプライン学習によってニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標の一例である出力誤差が、予め定められた出力誤差に関する閾値より小さい場合に、パイプライン学習を通常学習に切り替える。そして、学習部１４は、通常学習によってニューラルネットワークを学習させる。第１の実施形態では、１つ目の学習パターンを学習させたときの出力誤差Ｅ（１）に対して所定の係数Ａ１を乗算した値を、予め定められた出力誤差に関する閾値として用いる。なお、所定の係数Ａ１は、０＜Ａ１＜１を満たす固定値である。
【００３１】
誤差記憶部１６には、パイプライン学習によってニューラルネットワークを学習させる際の出力誤差Ｅが格納される。出力誤差Ｅは、例えば、図７に示されるように、テーブルの形式で格納される。図７に示すテーブルには、学習パターンの番号ｉと、その学習パターンに対する出力誤差Ｅとが対応付けられて格納される。
【００３２】
モデル記憶部１８には、学習部１４によって学習されたニューラルネットワークの結合係数Ｗが格納される。
【００３３】
情報処理装置１０は、例えば、図８に示すコンピュータ５０で実現することができる。コンピュータ５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５３を備える。また、コンピュータ５０は、表示装置、入出力装置等（図示省略）が接続される入出力interface（Ｉ／Ｆ）５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するread/write（Ｒ／Ｗ）部５５を備える。また、コンピュータ５０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力Ｉ／Ｆ５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【００３４】
記憶部５３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５３には、コンピュータ５０を情報処理装置１０として機能させるための情報処理プログラム６０が記憶されている。情報処理プログラム６０は、学習プロセス６２を有する。情報記憶領域６３には、学習パターン記憶部１２を構成する情報と、誤差記憶部１６を構成する情報と、モデル記憶部１８を構成する情報とが記憶される。
【００３５】
ＣＰＵ５１は、情報処理プログラム６０を記憶部５３から読み出してメモリ５２に展開し、情報処理プログラム６０が有するプロセスを順次実行する。ＣＰＵ５１は、学習プロセス６２を実行することで、図１に示す学習部１４として動作する。また、ＣＰＵ５１は、情報記憶領域６３から情報を読み出して、学習パターン記憶部１２をメモリ５２に展開する。また、ＣＰＵ５１は、情報記憶領域６３から情報を読み出して、誤差記憶部１６をメモリ５２に展開する。また、ＣＰＵ５１は、情報記憶領域６３から情報を読み出して、モデル記憶部１８をメモリ５２に展開する。これにより、情報処理プログラム６０を実行したコンピュータ５０が、情報処理装置１０として機能することになる。ソフトウェアである情報処理プログラム６０を実行するＣＰＵ５１はハードウェアである。
【００３６】
なお、情報処理プログラム６０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００３７】
次に、第１の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、ニューラルネットワークをパイプライン学習によって学習させ、出力誤差Ｅ（ｉ）を誤差記憶部１６へ逐次格納する。そして、情報処理装置１０は、図９に示す情報処理ルーチンを実行する。
【００３８】
ステップＳ１００において、学習部１４は、誤差記憶部１６に格納された、最新の番号ｉの学習パターンについての出力誤差Ｅ（ｉ）と、番号１の学習パターンについての出力誤差Ｅ（１）とを取得する。
【００３９】
ステップＳ１０２において、学習部１４は、上記ステップＳ１００で取得した出力誤差Ｅ（ｉ）と出力誤差Ｅ（１）とに基づき、出力誤差Ｅ（ｉ）が出力誤差Ｅ（１）に対して所定の係数Ａ１を乗算した値よりも小さいか否かを判定する。出力誤差Ｅ（ｉ）が、出力誤差Ｅ（１）に対して所定の係数Ａ１を乗算した値よりも小さい場合には、ステップＳ１０４へ進む。一方、出力誤差Ｅ（ｉ）が、出力誤差Ｅ（１）に対して所定の係数Ａ１を乗算した値以上の場合には、ステップＳ１００へ戻る。
【００４０】
ステップＳ１０４において、学習部１４は、パイプライン学習を通常学習へ切り替えるための指示信号を結果として出力する。学習部１４は、パイプライン学習を通常学習へ切り替えるための指示信号に基づき、通常学習によってニューラルネットワークを学習させる。
【００４１】
以上説明したように、本実施形態に係る情報処理装置は、出力誤差が予め定められた出力誤差に関する閾値より小さい場合に、パイプライン学習によるニューラルネットワークの学習から通常学習によるニューラルネットワークの学習へ切り替える。これにより、ニューラルネットワークをパイプライン学習のみによって学習させる場合に比べ、ニューラルネットワークを高速に学習させることができる。
【００４２】
＜第２の実施形態＞
【００４３】
次に、第２の実施形態について説明する。第２の実施形態では、前時刻の出力誤差と現時刻の出力誤差との間の比較結果に応じて、パイプライン学習から通常学習へ切り替える点が第１の実施形態と異なる。なお、第２の実施形態の構成は、第１の実施形態と同様の構成となるため、同一符号を付して説明を省略する。
【００４４】
第２の実施形態では、番号ｉ−１の学習パターンをニューラルネットワークへ学習させたときの前時刻の出力誤差Ｅ（ｉ−１）と、番号ｉの学習パターンをニューラルネットワークへ学習させたときの現時刻の出力誤差Ｅ（ｉ）との比較結果に応じて、パイプライン学習を通常学習へ切り替える。
【００４５】
具体的には、学習部１４は、現時刻の出力誤差Ｅ（ｉ）が、前時刻の出力誤差Ｅ（ｉ−１）に対して所定の係数Ａ２を乗算した値よりも大きい場合に、ニューラルネットワークの学習をパイプライン学習から通常学習へ切り替える。なお、所定の係数Ａ２は、０＜Ａ２＜１を満たす固定値である。
【００４６】
次に、第２の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、ニューラルネットワークをパイプライン学習によって学習させ、出力誤差Ｅ（ｉ）を誤差記憶部１６へ逐次格納する。そして、情報処理装置１０は、図１０に示す情報処理ルーチンを実行する。
【００４７】
ステップＳ２００において、誤差記憶部１６に格納された、現時刻の出力誤差Ｅ（ｉ）と、前時刻の出力誤差Ｅ（ｉ−１）とを取得する。
【００４８】
ステップＳ２０２において、学習部１４は、現時刻の出力誤差Ｅ（ｉ）が、前時刻の出力誤差Ｅ（ｉ−１）に対して所定の係数Ａ２を乗算した値よりも大きいか否かを判定する。現時刻の出力誤差Ｅ（ｉ）が、前時刻の出力誤差Ｅ（ｉ−１）に対して所定の係数Ａ２を乗算した値よりも大きい場合には、ステップＳ１０４へ進む。一方、現時刻の出力誤差Ｅ（ｉ）が、前時刻の出力誤差Ｅ（ｉ−１）に対して所定の係数Ａ２を乗算した値以下の場合には、ステップＳ２００へ戻る。
【００４９】
以上説明したように、本実施形態に係る情報処理装置は、前時刻の出力誤差と現時刻の出力誤差との間の比較結果に応じて、パイプライン学習によるニューラルネットワークの学習から通常学習によるニューラルネットワークの学習へ切り替える。これにより、前時刻の出力誤差と現時刻の出力誤差とに基づき、前時刻の出力誤差に比べ現時刻の出力誤差が低下していない場合に、パイプライン学習から通常学習へ切り替えることができる。
【００５０】
＜第３の実施形態＞
【００５１】
次に、第３の実施形態について説明する。第３の実施形態では、複数の学習パターンによる学習を表すエポックを用いたパイプライン学習によってニューラルネットワークを学習させることを繰り返す。そして、エポックの複数の学習パターンの各々をニューラルネットワークへ入力したときの出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合にパイプライン学習から通常学習へ切り替える点が第１又は第２の実施形態と異なる。なお、第３の実施形態の構成は、第１の実施形態と同様の構成となるため、同一符号を付して説明を省略する。
【００５２】
ニューラルネットワークの学習処理において、一般に、学習パターンは１度だけ使われるのではなく、繰り返し何度も使われることが多い。複数の学習パターンを表す１組のデータを入力する過程は、一般にはエポックと称される。１エポックを用いた学習が終了すると、同一の学習パターンがニューラルネットワークへ入力され、学習が行われる。
【００５３】
第１及び第２の実施形態では、１つの学習パターンの出力誤差を基準として、パイプライン学習と通常学習とを切り替える場合を例に説明したが、学習パターン毎の出力誤差の変動は大きい場合がある。そのため、１つの学習パターンの出力誤差を判断基準にする場合には、パイプライン学習と通常学習との間の切り替えのタイミングが適切ではない場合がある。
【００５４】
そこで、第３の実施形態の学習部１４は、学習の進捗に関する指標の一例である、エポックに含まれる複数の学習パターンの各々をニューラルネットワークへ入力したときの出力誤差の総和を表す誤差積分に応じて、パイプライン学習から通常学習へ切り替える。
【００５５】
具体的には、第３の実施形態の学習部１４は、複数の学習パターンによる学習を表す１エポックの間の出力誤差の総和を表す誤差積分を算出する。ｊ番目のエポックに含まれる複数の学習パターンの各々をニューラルネットワークへ入力したときの出力誤差Ｅ（ｉ，ｊ）の総和を表す誤差積分は、以下の式（１）によって表される。なお、ｉは学習パターンの番号を表す。
【００５６】
【数１】
2019040365.tif 000003
（１）
【００５７】
そして、学習部１４は、エポックの誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、パイプライン学習から通常学習へ切り替える。本実施形態では、１つ目のエポックによる学習の誤差積分に対して所定の係数Ｂ１を乗算した値を、予め定められた誤差積分に関する閾値として用いる。なお、所定の係数Ｂ１は、０＜Ｂ１＜１を満たす固定値である。具体的には、学習部１４は、以下の式（２）を満たす場合に、ニューラルネットワークの学習処理をパイプライン学習から通常学習へ切り替える。
【００５８】
【数２】
2019040365.tif 000004
（２）
【００５９】
エポックに含まれる学習パターンの出力誤差を積算することにより、学習パターン毎の出力誤差の変動が緩和されるため、学習の切り替えのタイミングを適切に設定することができる。
【００６０】
次に、第３の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、ニューラルネットワークをパイプライン学習によって学習させ、上記式（１）によって得られる誤差積分を誤差記憶部１６へ逐次格納する。そして、情報処理装置１０は、図１１に示す情報処理ルーチンを実行する。
【００６１】
ステップＳ３００において、学習部１４は、誤差記憶部１６に格納された、最新のエポックの番号ｊについての誤差積分ΣｉＥ（ｉ，ｊ）と、エポックの番号１についての誤差積分ΣｉＥ（ｉ，１）とを取得する。
【００６２】
ステップＳ３０２において、学習部１４は、上記ステップＳ３００で取得した誤差積分ΣｉＥ（ｉ，ｊ）と誤差積分ΣｉＥ（ｉ，１）とに基づき、上記式（２）が満たされるか否かを判定する。上記式（２）が満たされる場合には、ステップＳ１０４へ進む。一方、上記式（２）が満たされない場合には、ステップＳ３００へ戻る。
【００６３】
以上説明したように、第３の実施形態に係る情報処理装置は、複数の学習パターンによる学習を表すエポックを用いたパイプライン学習によってニューラルネットワークを学習させることを繰り返す。そして、エポックの複数の学習パターンの各々をニューラルネットワークへ入力したときの出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、パイプライン学習から通常学習へ切り替える。これにより、学習パターン毎の出力誤差の変動が大きい場合であっても、適切なタイミングでパイプライン学習から通常学習へ切り替えることができる。
【００６４】
＜第４の実施形態＞
【００６５】
次に、第４の実施形態について説明する。第４の実施形態では、第３の実施形態と同様に、複数の学習パターンによる学習を表すエポックを用いたパイプライン学習によってニューラルネットワークを学習させることを繰り返す。第４の実施形態では、前時刻の誤差積分と現時刻の誤差積分との間の比較結果に応じて、パイプライン学習から通常学習へ切り替える点が第３の実施形態と異なる。なお、第４の実施形態の構成は、第１の実施形態と同様の構成となるため、同一符号を付して説明を省略する。
【００６６】
具体的には、第４の実施形態の学習部１４は、第３の実施形態と同様に、上記式（１）に従って、１エポックの誤差積分を算出する。そして、学習部１４は、以下の式（３）を満たす場合に、ニューラルネットワークの学習処理をパイプライン学習から通常学習へ切り替える。なお、所定の係数Ｂ２は、０＜Ｂ２＜１を満たす固定値である。
【００６７】
【数３】
2019040365.tif 000005
（３）
【００６８】
上記式（３）が満たされる場合に学習方法を切り替えることにより、エポック間で誤差積分が変動しなくなった場合に、学習が十分進んだものとして、パイプライン学習から通常学習へ切り替えることができる。
【００６９】
次に、第４の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、ニューラルネットワークをパイプライン学習によって学習させ、上記式（１）によって得られる誤差積分を誤差記憶部１６へ逐次格納する。そして、情報処理装置１０は、図１２に示す情報処理ルーチンを実行する。
【００７０】
ステップＳ４００において、学習部１４は、誤差記憶部１６に格納された、現時刻のエポックの番号ｊについての誤差積分ΣｉＥ（ｉ，ｊ）と、前時刻のエポックの番号ｊ−１についての誤差積分ΣｉＥ（ｉ，ｊ−１）とを取得する。
【００７１】
ステップＳ４０２において、学習部１４は、上記ステップＳ４００で取得した誤差積分ΣｉＥ（ｉ，ｊ）と誤差積分ΣｉＥ（ｉ，ｊ−１）とに基づき、上記式（３）が満たされるか否かを判定する。上記式（３）が満たされる場合には、ステップＳ１０４へ進む。一方、上記式（３）が満たされない場合には、ステップＳ４００へ戻る。
【００７２】
以上説明したように、第４の実施形態に係る情報処理装置は、前時刻の誤差積分と現時刻の誤差積分との間の比較結果に応じて、パイプライン学習から通常学習へ切り替える。これにより、前時刻の誤差積分に比べ現時刻の誤差積分が低下していない場合に、パイプライン学習から通常学習へ切り替えることができる。
【００７３】
＜第５の実施形態＞
【００７４】
次に、第５の実施形態について説明する。第５の実施形態では、第１〜第４の実施形態と同様に、パイプライン学習によってニューラルネットワークを学習させることを繰り返す。そして、学習パターンとは異なる、期待値が付与されたテスト用パターンをニューラルネットワークへ入力したときの出力誤差を表すテスト誤差が予め定められたテスト誤差に関する閾値より小さい場合に、パイプライン学習から通常学習に切り替える。なお、第５の実施形態の構成は、第１の実施形態と同様の構成となるため、同一符号を付して説明を省略する。
【００７５】
第１〜第４の実施形態では、学習パターンの出力誤差を用いてパイプライン学習から通常学習へ切り替えを行うが、ニューラルネットワークの学習結果の品質は、学習に使用しないテストデータによって測定される。
【００７６】
そこで、第５の実施形態では、学習に使用しないテストデータの誤認識率を表すテスト誤差を用いて、パイプライン学習から通常学習へ切り替える。なお、テストデータを用いて学習結果の品質を測定することをバリデーションという。学習結果の品質の測定方法は、ニューラルネットワークの出力値と期待値との差によって測定されるため、テスト誤差は出力誤差と同等であるが、入力データが未知である点が異なる。
【００７７】
第５の実施形態の学習部１４は、学習の進捗に関する指標の一例であるテスト誤差が予め定められたテスト誤差に関する閾値Ｃより小さい場合に、パイプライン学習から通常学習に切り替える。なお、閾値Ｃは、０＜Ｃ＜１を満たす固定値である。
【００７８】
次に、第５の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、予め設定されたエポック数分のパイプライン学習によってニューラルネットワークを学習させる。そして、情報処理装置１０は、図１３に示す情報処理ルーチンを実行する。
【００７９】
ステップＳ５００において、学習部１４は、学習パターンとは異なる、期待値が付与されたテスト用パターンをニューラルネットワークへ入力したときのテスト誤差ｒを算出することにより、バリデーションを実行する。
【００８０】
ステップＳ５０２において、学習部１４は、上記ステップＳ５００で算出されたテスト誤差ｒが、テスト誤差に関する閾値Ｃより小さいか否かを判定する。テスト誤差ｒが、テスト誤差に関する閾値Ｃより小さい場合には、ステップＳ１０４へ進む。一方、テスト誤差ｒが、テスト誤差に関する閾値Ｃ以上の場合には、ステップＳ５０６へ進む。
【００８１】
ステップＳ５０６において、学習部１４は、パイプライン学習を継続するための指示信号を結果として出力する。学習部１４は、パイプライン学習を継続するための指示信号に基づき、パイプライン学習によってニューラルネットワークを学習させる。
【００８２】
以上説明したように、第５の実施形態に係る情報処理装置は、テスト誤差が予め定められたテスト誤差に関する閾値より小さい場合に、パイプライン学習から通常学習に切り替える。これにより、ニューラルネットワークの学習結果の品質を表すバリデーションの結果に応じて、パイプライン学習から通常学習に切り替えることができる。
【００８３】
＜第６の実施形態＞
【００８４】
次に、第６の実施形態について説明する。第６の実施形態では、第１〜第５の実施形態と同様に、パイプライン学習によってニューラルネットワークを学習させることを繰り返す。そして、第５の実施形態では、前時刻のテスト誤差と現時刻のテスト誤差との間の比較結果に応じて、パイプライン学習から通常学習に切り替える点が第５の実施形態と異なる。なお、第６の実施形態の構成は、第１の実施形態と同様の構成となるため、同一符号を付して説明を省略する。
【００８５】
具体的には、第６の実施形態の学習部１４は、第５の実施形態と同様に、学習に使用しないテストデータの誤認識率を表すテスト誤差を算出する。そして、学習部１４は、以下の式（４）を満たす場合に、ニューラルネットワークの学習処理をパイプライン学習から通常学習へ切り替える。
【００８６】
ｒ（ｋ）＞Ｄ*ｒ（ｋ−１）                （４）
【００８７】
なお、ｋはバリデーションを識別するための番号である。ｒ（ｋ）は、現時刻のバリデーションによるテスト誤差を表す。また、ｒ（ｋ−１）は、前時刻のバリデーションによるテスト誤差を表す。なお、所定の係数Ｄは、０＜Ｄ＜１を満たす固定値である。
【００８８】
次に、第６の実施形態に係る情報処理装置１０の作用について説明する。情報処理装置１０は、ニューラルネットワークの学習処理に関する指示信号を受け付けると、予め設定されたエポック数分のパイプライン学習によってニューラルネットワークを学習させる。そして、情報処理装置１０は、図１４に示す情報処理ルーチンを実行する。
【００８９】
ステップＳ６０１において、学習部１４は、ステップＳ５００で算出されたテスト誤差を誤差記憶部１６へ格納する。ステップＳ６０１で格納されたテスト誤差は、次回の情報処理ルーチンの実行の際に用いられる。
【００９０】
ステップＳ６０２において、学習部１４は、誤差記憶部１６へ格納された前時刻ｋ−１のテスト誤差ｒ（ｋ−１）を読み出す。そして、学習部１４は、ステップＳ５００で取得されたテスト誤差ｒ（ｋ）と読み出したテスト誤差ｒ（ｋ−１）とに基づき、上記式（４）が満たされるか否かを判定する。上記式（４）が満たされる場合には、ステップＳ１０４へ進む。一方、上記式（４）が満たされない場合には、ステップＳ５０６へ進む。
【００９１】
以上説明したように、第６の実施形態に係る情報処理装置は、前時刻のテスト誤差と現時刻のテスト誤差との間の比較結果に応じて、パイプライン学習から通常学習に切り替える。これにより、ニューラルネットワークの学習結果の品質を表すバリデーションの結果に応じて、前時刻のバリデーションの結果に比べ現時刻のバリデーションの結果が向上していない場合に、パイプライン学習から通常学習へ切り替えることができる。
【００９２】
なお、上記では、各プログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【００９３】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００９４】
＜実施例＞
図１５に、パイプライン学習、通常学習、及びパイプライン学習と通常学習とを組み合わせた学習（本実施形態に係る方法）についてのシミュレーション結果を示す。
【００９５】
図１５に示される例は、５段のＣＮＮ（Convolutional Neural Network）構造のニューラルネットワークに、手書き数字の認識処理を行わせるための学習処理のシミュレーション結果である。図１５では、実線がパイプライン学習の学習曲線ＰＬｃを表し、一点差線が通常学習の学習曲線ＮＬｃを表し、点線が本実施形態の手法での学習処理の学習曲線ＭＬｃを表す。
【００９６】
図１５に示されるように、通常学習の学習曲線ＮＬｃにおいては、誤認識率１％の許容値Ｘに学習時間Ｔｘ２で到達する。一方、本実施形態の手法による学習処理の学習曲線ＭＬｃにおいては、誤認識率１％の許容値Ｘに学習時間Ｔｘ１で到達する。図１５に示されるように、本実施形態の手法による学習処理によって、学習時間は約１０倍短縮されていることがわかる。また、パイプライン学習の単独の学習処理に比べて、１００倍以上の学習速度の高速化が可能であることがわかる。
【００９７】
次に、各実施形態の変形例を説明する。
【００９８】
上記各実施形態では、パイプライン学習と通常学習とを単に切り替える場合を例に説明したがこれに限定されるものではない。例えば、ニューラルネットワークの各レイヤーのパイプライン化の度合いを段階的に切り替えてニューラルネットワークを学習させても良い。パイプライン化の度合いを段階的に切り替える場合には、例えば、パイプラインの学習の並列の度合いに関する複数の閾値を予め設定する。そして、学習の進捗に関する指標としての、出力誤差、誤差積分、及びテスト誤差の少なくとも１つと、パイプラインの学習の並列の度合いに関する複数の閾値とに応じて、パイプラインの学習の並列の度合いを段階的に切り替えるようにしてもよい。例えば、第１のパイプライン学習によってニューラルネットワークを学習させ、学習の進捗に関する指標に応じて、第１のパイプライン学習とは異なる第２のパイプライン学習によるニューラルネットワークの学習に切り替えるようにすることができる。この場合、第１のパイプライン学習と第２のパイプライン学習とで、ニューラルネットワークの各レイヤーの学習の並列の度合いが異なる。
【００９９】
また、上記各実施形態は、所定の係数であるＡ１，Ａ２，Ｂ１，Ｂ２，Ｃ，Ｄは予め設定されている場合を例に説明したが、外部装置から適宜設定できるようにしてもよい。その場合には、例えば、Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ，Ｄは、シミュレーション実験結果から設定されるようにしてもよい。
【０１００】
また、上記第１及び第２の実施形態は、短時間で学習処理を収束させることができる。上記第３及び第４の実施形態は、上記第１及び第２の実施形態に比べ、出力誤差毎の変動がある場合であっても、学習処理を短時間で収束させることができる。更に、上記第３及び第４の実施形態は、実際の学習品質としてのバリデーション結果に応じて、学習処理を短時間で収束させることができる。
【０１０１】
また、第１及び第２の実施形態では、他の実施形態と比較し、パイプライン学習から通常学習への切り替えタイミングの判定を簡易に行うことができる。一方、第５及び第６の実施形態では、テスト誤差を用いるため、他の実施形態と比較し、パイプライン学習から通常学習への切り替えタイミングの判定を精度良く行うことができる。このため、パイプライン学習から通常学習への切り替えタイミングの判定の簡易性を求める場合には、第１及び第２の実施形態の何れか一方を用いることができる。一方、パイプライン学習から通常学習への切り替えタイミングの判定の確実性を求める場合には、第５及び第６の実施形態の何れか一方を用いることができる。第３及び第４の実施形態は、パイプライン学習から通常学習への切り替えタイミングの判定の簡易性及び確実性については、第１及び第２の実施形態と第５及び第６の実施形態との間に位置する手法である。
【０１０２】
以上の各実施形態に関し、更に以下の付記を開示する。
【０１０３】
（付記１）
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える学習部
を備える情報処理装置。
【０１０４】
（付記２）
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差が予め定められた出力誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記１に記載の情報処理装置。
【０１０５】
（付記３）
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す前時刻の出力誤差と現時刻の前記出力誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記２に記載の情報処理装置。
【０１０６】
（付記４）
前記学習部は、複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記２に記載の情報処理装置。
【０１０７】
（付記５）
前記学習部は、複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す現時刻の誤差積分と現時刻の前記誤差積分との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記２に記載の情報処理装置。
【０１０８】
（付記６）
前記学習部は、前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記学習パターンとは異なる、期待値が付与されたテスト用パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差を表すテスト誤差が予め定められたテスト誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記２に記載の情報処理装置。
【０１０９】
（付記７）
前記学習部は、前記学習の進捗に関する指標としての、前記学習パターンとは異なる、期待値が付与されたテスト用パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差を表す前時刻のテスト誤差と現時刻の前記テスト誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記２に記載の情報処理装置。
【０１１０】
（付記８）
学習パターンを用いてニューラルネットワークを学習させる際に、第１のパイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記第１のパイプライン学習とは前記ニューラルネットワークの各レイヤーの学習の並列の度合いが異なる第２のパイプライン学習による前記ニューラルネットワークの学習に切り替える学習部
を備える情報処理装置。
【０１１１】
（付記９）
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
処理をコンピュータに実行させるためのプログラム。
【０１１２】
（付記１０）
前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差が予め定められた出力誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記９に記載のプログラム。
【０１１３】
（付記１１）
前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す前時刻の出力誤差と現時刻の前記出力誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記９に記載のプログラム。
【０１１４】
（付記１２）
複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記９に記載のプログラム。
【０１１５】
（付記１３）
複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す現時刻の誤差積分と現時刻の前記誤差積分との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記９に記載のプログラム。
【０１１６】
（付記１４）
前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記学習パターンとは異なる、期待値が付与されたテスト用パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差を表すテスト誤差が予め定められたテスト誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記９に記載のプログラム。
【０１１７】
（付記１５）
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
処理をコンピュータに実行させるための情報処理方法。
【０１１８】
（付記１６）
前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差が予め定められた出力誤差に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記１６に記載の情報処理方法。
【０１１９】
（付記１７）
前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、学習パターンを前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す前時刻の出力誤差と現時刻の前記出力誤差との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記１７に記載の情報処理方法。
【０１２０】
（付記１８）
複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す誤差積分が、予め定められた誤差積分に関する閾値より小さい場合に、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記１７に記載の情報処理方法。
【０１２１】
（付記１９）
複数の前記学習パターンによる学習を表すエポックを用いた前記パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、前記学習の進捗に関する指標としての、前記エポックの複数の前記学習パターンの各々を前記ニューラルネットワークへ入力したときの出力値と期待値との間の誤差を表す出力誤差の総和を表す現時刻の誤差積分と現時刻の前記誤差積分との間の比較結果に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
付記１７に記載の情報処理方法。
【０１２２】
（付記２０）
学習パターンを用いてニューラルネットワークを学習させる際に、パイプライン学習によって前記ニューラルネットワークを学習させることを繰り返し、学習の進捗に関する指標に応じて、前記パイプライン学習とは異なる通常学習による前記ニューラルネットワークの学習に切り替える、
処理をコンピュータに実行させるためのプログラムを記憶した記憶媒体。
【符号の説明】
【０１２３】
１０   情報処理装置
１２   学習パターン記憶部
１４   学習部
１６   誤差記憶部
１８   モデル記憶部
５０   コンピュータ
５１   ＣＰＵ
５２   メモリ
５３   記憶部
５９   記録媒体
６０   情報処理プログラム
【図１】
2019040365.tif 000006
【図２】
2019040365.tif 000007
【図３】
2019040365.tif 000008
【図４】
2019040365.tif 000009
【図５】
2019040365.tif 000010
【図６】
2019040365.tif 000011
【図７】
2019040365.tif 000012
【図８】
2019040365.tif 000013
【図９】
2019040365.tif 000014
【図１０】
2019040365.tif 000015
【図１１】
2019040365.tif 000016
【図１２】
2019040365.tif 000017
【図１３】
2019040365.tif 000018
【図１４】
2019040365.tif 000019
【図１５】
2019040365.tif 000020