(57)【要約】【課題】誤差が小さくなる適切なタイミングで、ニューラルネットワークの学習の終了判定を行うことができるニューラルネットワークの学習方法を提供する。【解決手段】出力データの目標値と出力データの実値との誤差の絶対値が、誤差判定値を下回る第１条件、及び、前回の学習ステップの実行後の出力データの実値と今回の学習ステップの実行後の出力データの実値との変化量の絶対値が、変化量判定値を下回る第２条件の少なくとも一方が、教師付き学習データセットの全てのペアについて成り立つ場合に、学習終了条件が成立していると判定し、それ以外の場合は、学習終了条件が成立していないと判定するニューラルネットワークの学習方法。【選択図】図２
2020129323.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備えたニューラルネットワークの学習方法であって、
前記学習終了判定ステップでは、今回の前記学習ステップの実行後において、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値が、誤差判定値を下回る第１条件、及び、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値が、変化量判定値を下回る第２条件の少なくとも一方が、前記教師付き学習データセットの全てのペアについて成り立つ場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するニューラルネットワークの学習方法。
【請求項２】
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備えたニューラルネットワークの学習方法であって、
前記学習終了判定ステップでは、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値が、乗算値判定値を下回る条件が、前記教師付き学習データセットの全てのペアについて成り立つ場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するニューラルネットワークの学習方法。
【請求項３】
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備えたニューラルネットワークの学習方法であって、
前記学習終了判定ステップでは、前記教師付き学習データセットの各ペアについて、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値を算出し、全てのペアの前記乗算値を積算した積算値が、積算値判定値を下回る場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するニューラルネットワークの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ニューラルネットワークの学習方法に関する。
【背景技術】
【０００２】
下記特許文献１に、ニューラルネットワークの学習方法が開示されている。特許文献１の技術では、教師付き学習データセットを用いて、公知の誤差逆伝播法（バックプロパゲーション法）により、ニューラルネットワークの学習を行う。
【０００３】
この時、学習終了の判定は、教師付き学習データの教師データ（ニューラルネットワークの出力データの目標値）と、ニューラルネットワークの出力データの実値との誤差が、教師付き学習データセットの全ての学習データについて、判定値を下回った場合に成立する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８２３５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記の学習終了を判定する判定値は、許容誤差、ニューラルネットワークの構成、教師データの数値の範囲等から決められる。判定値を大きく設定した場合、学習終了条件は成立しやすくなるが、更に学習を継続していれば、誤差がより小さくできたが、その前に学習を終了してしまった、という、過少学習の場合が生じうる。一方で、判定値を小さく設定した場合は、学習が良好に進行する場合は、誤差の減少が期待できるが、ニューラルネットワークの汎化能力の限界に到達した場合は、誤差が減少しないため、学習終了条件が一向に成立せず、学習が継続され、計算資源の無駄な消費が起こりうる。このジレンマについて、具体例を用いて説明する。
【０００６】
図８は、あるニューラルネットワークにおける、学習試行回数に対する誤差の挙動を示したものである。学習開始後から約１０００試行回数までは誤差の絶対値が減少し、誤差の最大値及び最小値は０に向かって変化している。
【０００７】
しかし、約１０００試行回数以降は、誤差の絶対値は増減しながらも徐々に減少し、約５０００試行回数で、誤差の絶対値が最も小さくなっている。しかし、「最も小さい」ことは、２００００試行回数まで実施した結果、判明することで、この時点では、最も小さいかどうかは不明である。約５０００試行回数以降、さらに学習を行うと、誤差の絶対値は、少し増加し、約９０００試行回数以降、ほとんど変化しない状態になる。
【０００８】
図８において、学習終了判定の判定値を誤差の５％に設定すると、１０００試行回数よりも前の段階で、学習終了条件が成立し、誤差が５％の学習済みニューラルネットワークが得られる。この場合は、学習の試行回数、すなわち計算量は少なくて済むが、誤差が最小になる前に、早々に学習を諦めてしまうことになる。すなわち、過少学習が発生している。
【０００９】
一方、判定値を誤差の２％に設定すると、２００００試行回数まで計算しても学習終了条件は成立しない。このような場合に備えて、従来から、学習試行回数が強制終了試行回数に到達した場合に、学習を強制的に終了するように構成されており、その強制終了試行回数を、例えば、１００００に設定していると、１００００試行回数で学習が強制終了される。すると、多くの計算資源を消費したにもかかわらず、最も小さな誤差ではない、誤差が約４％の学習済みニューラルネットワークしか得られない。
【００１０】
学習終了判定の判定値及び強制終了試行回数の判定値は、ニューラルネットワークの構成及び用意された教師付き学習データセットの影響を受ける。特に、教師付き学習データセットを、繰り返し収集又は生成しては学習する場合は、学習終了判定の判定値及び強制終了試行回数の判定値を、事前に最適な値に設定することは困難である。よって、上記のような過少学習又は無駄な計算資源消費がおきてしまう。
【００１１】
本願は、誤差が小さくなる適切なタイミングで、ニューラルネットワークの学習の終了判定を行うことができるニューラルネットワークの学習方法を得ることを目的とする。
【課題を解決するための手段】
【００１２】
本願の第１のニューラルネットワークの学習方法は、
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備え、
前記学習終了判定ステップでは、今回の前記学習ステップの実行後において、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値が、誤差判定値を下回る第１条件、及び、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値が、変化量判定値を下回る第２条件の少なくとも一方が、前記教師付き学習データセットの全てのペアについて成り立つ場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するものである。
【００１３】
本願の第２のニューラルネットワークの学習方法は、
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備え、
前記学習終了判定ステップでは、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値が、乗算値判定値を下回る条件が、前記教師付き学習データセットの全てのペアについて成り立つ場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するものである。
【００１４】
本願の第３のニューラルネットワークの学習方法は、
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備え、
前記学習終了判定ステップでは、前記教師付き学習データセットの各ペアについて、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値を算出し、全てのペアの前記乗算値を積算した積算値が、積算値判定値を下回る場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するものである。
【発明の効果】
【００１５】
出力データの実値の変化量の絶対値が小さいとは、学習試行回数を１つ進めても、出力データの実値が少ししか変化しないことである。この状態は、ニューラルネットワークの汎化能力が限界に近づいている、すなわち、これ以上の誤差の絶対値の減少は見込めない、誤差の最小値に近い状態、と判断できる。よって、出力データの実値の変化量の絶対値が小さいことを学習終了条件に加えることで、計算資源の無駄を抑制できる。
【００１６】
第１のニューラルネットワークの学習方法によれば、教師付き学習データセットの全てのペアについて、出力データの誤差の絶対値が十分に減少していること、或いは、出力データの実値の変化量の絶対値が小さいこと、を判定しているため、誤差が十分に減少した状態、或いは、誤差の最小値に近い状態で、学習を終了できる。よって、計算資源の無駄を抑制しつつ、誤差が小さい適切なタイミングで学習を終了することができる。
【００１７】
第２のニューラルネットワークの学習方法によれば、教師付き学習データセットの全てのペアについて、出力データの誤差の絶対値と出力データの実値の変化量の絶対値との乗算値が小さいこと、を判定しているため、誤差が十分に減少した状態、或いは、誤差の最小値に近い状態で、学習を終了できる。よって、計算資源の無駄を抑制しつつ、誤差が小さい適切なタイミングで学習を終了することができる。
【００１８】
第３のニューラルネットワークの学習方法によれば、出力データの誤差の絶対値と出力データの実値の変化量の絶対値との乗算値の、全てのペアの和が小さいこと、を判定しているため、誤差が十分に減少した状態、或いは、誤差の最小値に近い状態で、学習を終了できる。よって、計算資源の無駄を抑制しつつ、誤差が小さい適切なタイミングで学習を終了することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１に係るニューラルネットワークの概略構成図である。
【図２】実施の形態１に係るニューラルネットワークの学習方法を説明するフローチャートである。
【図３】実施の形態１に係るニューラルネットワークの学習方法の一部を詳細に説明するフローチャートである。
【図４】実施の形態２に係るニューラルネットワークの学習方法を説明するフローチャートである。
【図５】実施の形態２に係るニューラルネットワークの学習方法の一部を詳細に説明するフローチャートである。
【図６】実施の形態３に係るニューラルネットワークの学習方法を説明するフローチャートである。
【図７】実施の形態３に係るニューラルネットワークの学習方法の一部を詳細に説明するフローチャートである。
【図８】本願の課題を説明するための図である。
【発明を実施するための形態】
【００２０】
１．実施の形態１
実施の形態１に係るニューラルネットワークの学習方法について図面を参照して説明する。
【００２１】
＜ニューラルネットワーク＞
本実施の形態では、図１に示すように、入力層から出力層に信号が伝達する順伝播型のニューラルネットワーク（ＦＮＮ：Feedforward Neural Network、以下、ＦＮＮと称す）を用いる。ＦＮＮは、階層上に並べられたユニット（ノード、ニューロンとも言う）が隣接する層間で結合した構造を持ち、情報が入力側から出力側に向かって一方向に伝播するよう構成されているネットワークである。ユニットでは、前層の各ユニットから入力されてくる値に重みを掛け、更にバイアスを加えた値を活性化関数へ入力し、活性化関数の出力をユニットの出力とする。
【００２２】
ＦＮＮでは、１つ以上の入力データが入力層に入力され、１つ以上の中間層があり、出力層から１つ以上の出力データが出力される。なお、入力データの数、中間層の数、各中間層のユニットの数、出力データの数は、任意の数であってもよい。
【００２３】
＜ニューラルネットワークの学習＞
ＦＮＮに入力される入力データに対してＦＮＮから出力される出力データが、目標値に近づくように、ＦＮＮのパラメータ（本例では、ユニット間の重みと、ユニットのバイアス）を変更することを、学習と呼ぶ。学習を行うためには、入力データと、出力データの目標値とのペアの複数からなる教師付き学習データセットを用意する必要がある。また、学習には、公知の誤差逆伝播法（バックプロパゲーション法）等の学習方法が用いられる。
【００２４】
図２及び図３は、本実施の形態に係るＦＮＮの学習方法を説明するためのフローチャートである。ＦＮＮの学習方法の各ステップは、学習装置が備えた処理回路によって実行される。具体的には、学習装置は、処理回路として、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等の演算処理装置（コンピュータ）、演算処理装置とデータのやり取りする記憶装置、演算処理装置と外部装置との間で信号を入出力する入出力回路等を備えている。記憶装置には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク等の補助記憶装置等が備えられる。入出力回路には、通信装置、信号入出力装置等が備えられる。
【００２５】
そして、ＦＮＮの学習方法の各ステップは、演算処理装置が、ＲＯＭ、ハードディスク等の記憶装置に記憶されたソフトウェア（プログラム）を実行し、記憶装置、入出力回路等の学習装置の他のハードウェアと協働することにより実現される。なお、各ステップ等で用いられる、ＦＮＮのパラメータ、教師付き学習データセット、誤差、変化量等のデータは、ＲＡＭ、ハードディスク等の記憶装置に記憶される。以下、ＦＮＮの学習方法の各ステップについて詳細に説明する。
【００２６】
＜学習ステップ＞
学習ステップＳ１では、教師付き学習データセットを用いて、ＦＮＮのパラメータを更新する。教師付き学習データセットは、上述したように、入力データと出力データの目標値とのペアの複数からなる。本実施の形態では、学習ステップＳ１は、ステップＳ１２からステップＳ１６から構成される。まず、ステップＳ１１では、一連の学習を開始する時に、学習試行回数Ｎをゼロに設定する（Ｎ＝０）。例えば、ステップＳ１１は、新たな教師付き学習データセットが用意され、学習を開始する時に実行される。
【００２７】
そして、ステップＳ１２では、教師付き学習データセットの全てのペアを、未処理にセットする。そして、ステップＳ１３では、教師付き学習データセットから未処理のペアを１つ選択し、処理データに設定する。
【００２８】
ステップＳ１４では、処理データに設定されたペア（以下、処理ペアと称す）の入力データを、ＦＮＮに入力し、直近に更新されたＦＮＮのパラメータ（重み及びバイアス）を用いて、出力データの実値を算出する。そして、処理ペアの入力データに対してＦＮＮから出力された出力データの実値と処理ペアの出力データの目標値との誤差を算出する。そして、誤差をもとに、公知の誤差逆伝播法（バックプロパゲーション法）等の学習方法が用いて、ＦＮＮのパラメータを更新、すなわち学習する。誤差逆伝播法（バックプロパゲーション法）等の学習方法は公知の技術であるため、説明を省略する。
【００２９】
ステップＳ１５で、全てのペアについて、ステップＳ１４の学習が実施されたか否かを判定し、全てのペアについて実施されていないと判定した場合は、ステップＳ１３に戻り、全てのペアについて学習が完了するまで、ステップＳ１３からステップＳ１４の処理を繰り返し実行させ、全てのペアについて実施されていると判定した場合は、ステップＳ１６に進む。
【００３０】
ステップＳ１６では、教師付き学習データセットの全てのペアについて、１回だけＦＮＮのパラメータが更新された状態になっている。そこで、学習試行回数Ｎを１つ増加させる（Ｎ←Ｎ＋１）。
【００３１】
ステップＳ２１では、学習試行回数Ｎが、予め設定された強制終了回数Ｊ未満であるか否かを判定し、未満であると判定した場合は、ステップＳ２２に進み、未満でないと判定した場合は、学習を強制終了する。強制終了回数Ｊは、学習に割り当てられる計算資源、演算にかかる時間などから学習試行回数に上限を与えるものである。
【００３２】
＜学習終了判定ステップ＞
ステップＳ２２が、学習終了判定ステップに相当する。ステップＳ２２では、学習終了条件が成立しているか否かを判定し、学習終了条件が成立していない場合は、学習ステップＳ１を再び実行させ、学習終了条件が成立している場合は、学習ステップＳ１の実行を終了させる。
【００３３】
ステップＳ２２では、式（１）に示すように、今回（直前）の学習ステップＳ１の実行後において、出力データの目標値Ｏｔと出力データの実値Ｏｒとの誤差の絶対値｜Ｏｅｒｒ｜が、誤差判定値ＪＯｅｒｒを下回る第１条件、及び前回の学習ステップＳ１の実行後の出力データの実値Ｏｒと今回の学習ステップＳ１の実行後の出力データの実値Ｏｒとの変化量の絶対値｜ΔＯｒ｜が、変化量判定値ＪＯｒを下回る第２条件の少なくとも一方が、教師付き学習データセットの全てのペアについて成り立つ場合に、学習終了条件が成立していると判定し、それ以外の場合は、学習終了条件が成立していないと判定する。式（１）では、ペアの番号ｉが、１からＩｅｎｄまであるものとし、各値の添え字のｉが、ペアの番号を表しているものとする。また、今回（直前）の学習ステップＳ１の実行後（現在の学習試行回数Ｎ）に対応する各値を（Ｎ）で表し、前回の学習ステップＳ１の実行後（１つ前の学習試行回数Ｎ−１）に対応する各値を（Ｎ−１）で表している。
【００３４】
ｉ＝１〜Ｉｅｎｄについて、
｜Ｏｅｒｒｉ｜＝｜Ｏｔｉ−Ｏｒｉ（Ｎ）｜
｜ΔＯｒｉ｜＝｜Ｏｒｉ（Ｎ−１）−Ｏｒｉ（Ｎ）｜
を算出し、
ｉ＝１〜Ｉｅｎｄの全てについて、
｜Ｏｅｒｒｉ｜＜ＪＯｅｒｒ
及び
｜ΔＯｒｉ｜＜ＪＯｒ
の少なくとも一方が成り立つ                                  ・・・（１）
【００３５】
このステップＳ２２の処理を図３のフローチャートのように構成することができる。ステップＳ２２１で、ペアの番号ｉを１の初期値に設定する。
【００３６】
ステップＳ２２２では、ペアの番号ｉの入力データを、ＦＮＮに入力し、今回の学習ステップＳ１によって更新されたＦＮＮのパラメータ（重み及びバイアス）を用いて、今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）を算出する。そして、式（１）に示すように、ペアの番号ｉの入力データに対してＦＮＮから出力された出力データの実値Ｏｒｉ（Ｎ）と、ペアの番号ｉの出力データの目標値Ｏｔｉとの誤差の絶対値｜Ｏｅｒｒｉ｜を算出する。なお、算出した出力データの実値Ｏｒｉ等の各演算値は、現在の学習試行回数Ｎ及びペアの番号ｉ等と関連付けて、ＲＡＭ等の記憶装置に記憶され、ステップＳ２２３等において利用される。
【００３７】
ステップＳ２２３では、式（１）に示すように、ペアの番号ｉについて、前回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ−１）と今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）との変化量の絶対値｜ΔＯｒｉ｜を算出する。
【００３８】
ステップＳ２２４で、ステップＳ２２２で算出されたペアの番号ｉの出力データの誤差の絶対値｜Ｏｅｒｒｉ｜が、誤差判定値ＪＯｅｒｒを下回っているか否かを判定する。誤差判定値ＪＯｅｒｒを下回っていると判定した場合は、ステップＳ２２５に進み、誤差判定値ＪＯｅｒｒを下回っていないと判定した場合は、ステップＳ２２６に進む。ステップＳ２２６では、ステップＳ２２３で算出されたペアの番号ｉの出力データの実値の変化量の絶対値｜ΔＯｒｉ｜が、変化量判定値ＪＯｒを下回っているか否かを判定する。変化量判定値ＪＯｒを下回っていると判定している場合は、ステップＳ２２５に進み、変化量判定値ＪＯｒを下回っていないと判定した場合は、ステップＳ２２９に進む。ステップＳ２２９では、今回のペアの番号ｉにおいて、誤差判定値ＪＯｅｒｒを下回っておらず、変化量判定値ＪＯｒを下回っていないと判定されため、次のペアの番号ｉについて判定を継続せず、学習終了条件が成立していないと最終判定し、判定処理を終了する。
【００３９】
一方、今回のペアの番号ｉについて、ステップＳ２２４で誤差判定値ＪＯｅｒｒを下回っている、又はステップＳ２２６で変化量判定値ＪＯｒを下回っていると判定されて場合は、ステップＳ２２５で、ペアの番号ｉが、最終ペア番号Ｉｅｎｄ未満であるか否かを判定し、最終ペア番号Ｉｅｎｄ未満である場合は、ステップＳ２２７で、ペアの番号ｉを１つ増加させた後、ステップＳ２２２に戻り、次のペアの番号ｉについて判定を継続する。一方、最終ペア番号Ｉｅｎｄ未満でない場合は、全てのペアについて、ステップＳ２２４又はステップＳ２２６が成り立っているので、ステップＳ２２８で学習終了条件が成立したと判定し、判定処理を終了する。
【００４０】
ＦＮＮの汎化能力の限界に近づいている場合、出力データの誤差の絶対値｜Ｏｅｒｒ｜が所望の誤差（誤差判定値ＪＯｅｒｒ）まで小さくならない場合がある。このため、出力データの誤差の絶対値｜Ｏｅｒｒ｜と誤差判定値ＪＯｅｒｒの比較だけで学習終了条件を判定すれば、上記の場合に学習が終了せず、計算資源の無駄が生じる。一方、ＦＮＮの汎化能力の限界に近づいている場合、出力データの実値の変化量の絶対値｜ΔＯｒ｜が零に近づく。上記の構成によれば、各ペアについて、出力データの誤差の絶対値｜Ｏｅｒｒ｜が十分に減少していない場合でも、出力データの実値の変化量の絶対値｜ΔＯｒ｜が、変化量判定値ＪＯｒを下回っている場合は、学習結果が良好であると判定される。よって、全てのペアについて、出力データの誤差が十分に減少しているか、或いは、誤差が十分に減少していないが、ＦＮＮの汎化能力の限界に近づいている場合に、学習終了条件が成立したと判定することができる。よって、全てのペアについて、学習を適切に終了することができ、計算資源の無駄が生じることを抑制できる。
【００４１】
２．実施の形態２
次に、実施の形態２に係るニューラルネットワークの学習方法について説明する。上記の実施の形態１と同様の構成部分は説明を省略する。本実施の形態では、学習終了判定ステップにおける学習終了条件の成立条件が実施の形態１と異なる。
【００４２】
図４及び図５は、本実施の形態に係るＦＮＮの学習方法を説明するためのフローチャートである。図４の学習ステップＳ１（ステップＳ１１からステップＳ１６）は、実施の形態１の図２の学習ステップＳ１（ステップＳ１１からステップＳ１６）と同様であるので説明を省略する。
【００４３】
実施の形態１と同様に、ステップＳ３１では、学習試行回数Ｎが、予め設定された強制終了回数Ｊ未満であるか否かを判定し、未満であると判定した場合は、ステップＳ３２に進み、未満でないと判定した場合は、学習を強制終了する。
【００４４】
＜学習終了判定ステップ＞
本実施の形態ではステップＳ３２が、学習終了判定ステップに相当する。ステップＳ３２では、学習終了条件が成立しているか否かを判定し、学習終了条件が成立していない場合は、学習ステップＳ１を再び実行させ、学習終了条件が成立している場合は、学習ステップＳ１の実行を終了させる。
【００４５】
ステップＳ３２では、式（２）に示すように、今回（直前）の学習ステップＳ１の実行後において、出力データの目標値Ｏｔと出力データの実値Ｏｒとの誤差の絶対値｜Ｏｅｒｒ｜と、前回の学習ステップＳ１の実行後の出力データの実値Ｏｒと今回の学習ステップの実行後の出力データの実値Ｏｒとの変化量の絶対値｜ΔＯｒ｜との乗算値Ｍが、乗算値判定値Ｊｍを下回る条件が、教師付き学習データセットの全てのペアについて成り立つ場合に、学習終了条件が成立していると判定し、それ以外の場合は、学習終了条件が成立していないと判定する。式（２）では、ペアの番号ｉが、１からＩｅｎｄまであるものとし、各値の添え字のｉが、ペアの番号を表しているものとする。また、今回（直前）の学習ステップＳ１の実行後（現在の学習試行回数Ｎ）に対応する各値を（Ｎ）で表し、前回の学習ステップＳ１の実行後（１つ前の学習試行回数Ｎ−１）に対応する各値を（Ｎ−１）で表している。
【００４６】
ｉ＝１〜Ｉｅｎｄについて、
｜Ｏｅｒｒｉ｜＝｜Ｏｔｉ−Ｏｒｉ（Ｎ）｜
｜ΔＯｒｉ｜＝｜Ｏｒｉ（Ｎ−１）−Ｏｒｉ（Ｎ）｜
Ｍｉ＝｜Ｏｅｒｒｉ｜×｜ΔＯｒｉ｜
を算出し、
ｉ＝１〜Ｉｅｎｄの全てについて、
Ｍｉ＜Ｊｍ
が成り立つ                                  ・・・（２）
【００４７】
このステップＳ３２の処理を図５のフローチャートのように構成することができる。ステップＳ３２１で、ペアの番号ｉを１の初期値に設定する。
【００４８】
ステップＳ３２２では、ペアの番号ｉの入力データを、ＦＮＮに入力し、今回の学習ステップＳ１によって更新されたＦＮＮのパラメータ（重み及びバイアス）を用いて、今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）を算出する。そして、式（２）に示すように、ペアの番号ｉの入力データに対してＦＮＮから出力された出力データの実値Ｏｒｉ（Ｎ）と、ペアの番号ｉの出力データの目標値Ｏｔｉとの誤差の絶対値｜Ｏｅｒｒｉ｜を算出する。なお、算出した出力データの実値Ｏｒｉ等の各演算値は、現在の学習試行回数Ｎ及びペアの番号ｉ等と関連付けて、ＲＡＭ等の記憶装置に記憶され、ステップＳ３２３等において利用される。
【００４９】
ステップＳ３２３では、式（２）に示すように、ペアの番号ｉについて、前回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ−１）と今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）との変化量の絶対値｜ΔＯｒｉ｜を算出する。
【００５０】
ステップＳ３２４では、式（２）に示すように、ステップＳ３２２で算出されたペアの番号ｉの出力データの誤差の絶対値｜Ｏｅｒｒｉ｜と、ステップＳ３２３で算出されたペアの番号ｉの出力データの実値の変化量の絶対値｜ΔＯｒｉ｜との乗算値Ｍｉを算出する。
【００５１】
ステップＳ３２５で、ステップＳ３２４で算出されたペアの番号ｉの乗算値Ｍｉが、乗算値判定値Ｊｍを下回っているか否かを判定する。乗算値判定値Ｊｍを下回っていると判定した場合は、ステップＳ３２６に進み、乗算値判定値Ｊｍを下回っていないと判定した場合は、ステップＳ３２９に進む。ステップＳ３２９では、今回のペアの番号ｉにおいて、乗算値判定値Ｊｍを下回っていないと判定されため、次のペアの番号ｉについて判定を継続せず、学習終了条件が成立していないと最終判定し、判定処理を終了する。
【００５２】
一方、今回のペアの番号ｉについて、ステップＳ３２５で乗算値判定値Ｊｍを下回っていると判定されて場合は、ステップＳ３２６で、ペアの番号ｉが、最終ペア番号Ｉｅｎｄ未満であるか否かを判定し、最終ペア番号Ｉｅｎｄ未満である場合は、ステップＳ３２７で、ペアの番号ｉを１つ増加させた後、ステップＳ３２２に戻り、次のペアの番号ｉについて判定を継続する。一方、最終ペア番号Ｉｅｎｄ未満でない場合は、全てのペアについて、ステップＳ３２５が成り立っているので、ステップＳ３２８で学習終了条件が成立したと判定し、判定処理を終了する。
【００５３】
ＦＮＮの汎化能力の限界に近づいている場合、出力データの誤差の絶対値｜Ｏｅｒｒ｜が所望の誤差（誤差判定値ＪＯｅｒｒ）まで小さくならない場合がある。このため、出力データの誤差の絶対値｜Ｏｅｒｒ｜と誤差判定値ＪＯｅｒｒの比較だけで学習終了条件を判定すれば、上記の場合に学習が終了せず、計算資源の無駄が生じる。一方、ＦＮＮの汎化能力の限界に近づいている場合、出力データの実値の変化量の絶対値｜ΔＯｒ｜が零に近づく。上記の構成によれば、各ペアについて、出力データの誤差の絶対値｜Ｏｅｒｒ｜が十分に減少していない場合でも、汎化能力の限界に近付いている場合は、出力データの誤差の絶対値｜Ｏｅｒｒ｜と出力データの実値の変化量の絶対値｜ΔＯｒ｜との乗算値Ｍが減少し、乗算値Ｍが、乗算値判定値Ｊｍを下回っている場合は、学習結果が良好であると判定される。よって、全てのペアについて、出力データの誤差が十分に減少しているか、或いは、誤差が十分に減少していないが、ＦＮＮの汎化能力の限界に近づいている場合に、学習終了条件が成立したと判定することができる。よって、全てのペアについて、学習を適切に終了することができ、計算資源の無駄が生じることを抑制できる。
【００５４】
３．実施の形態３
次に、実施の形態３に係るニューラルネットワークの学習方法について説明する。上記の実施の形態１と同様の構成部分は説明を省略する。本実施の形態では、学習終了判定ステップにおける学習終了条件の成立条件が実施の形態１と異なる。
【００５５】
図６及び図７は、本実施の形態に係るＦＮＮの学習方法を説明するためのフローチャートである。図６の学習ステップＳ１（ステップＳ１１からステップＳ１６）は、実施の形態１の図２の学習ステップＳ１（ステップＳ１１からステップＳ１６）と同様であるので説明を省略する。
【００５６】
実施の形態１と同様に、ステップＳ４１では、学習試行回数Ｎが、予め設定された強制終了回数Ｊ未満であるか否かを判定し、未満であると判定した場合は、ステップＳ４２に進み、未満でないと判定した場合は、学習を強制終了する。
【００５７】
＜学習終了判定ステップ＞
本実施の形態ではステップＳ４２が、学習終了判定ステップに相当する。ステップＳ４２では、学習終了条件が成立しているか否かを判定し、学習終了条件が成立していない場合は、学習ステップＳ１を再び実行させ、学習終了条件が成立している場合は、学習ステップＳ１の実行を終了させる。
【００５８】
ステップＳ４２では、式（３）に示すように、今回（直前）の学習ステップＳ１の実行後において、教師付き学習データセットの各ペアについて、出力データの目標値Ｏｔと出力データの実値Ｏｒとの誤差の絶対値｜Ｏｅｒｒ｜と、前回の学習ステップＳ１の実行後の出力データの実値Ｏｒと今回の学習ステップの実行後の出力データの実値Ｏｒとの変化量の絶対値｜ΔＯｒ｜との乗算値Ｍを算出し、全てのペアの乗算値Ｍを積算した積算値Ｍｉｎｔが、積算値判定値Ｊｉｎｔを下回る場合に、学習終了条件が成立していると判定し、それ以外の場合は、学習終了条件が成立していないと判定する。式（３）では、ペアの番号ｉが、１からＩｅｎｄまであるものとし、各値の添え字のｉが、ペアの番号を表しているものとする。また、今回（直前）の学習ステップＳ１の実行後（現在の学習試行回数Ｎ）に対応する各値を（Ｎ）で表し、前回の学習ステップＳ１の実行後（１つ前の学習試行回数Ｎ−１）に対応する各値を（Ｎ−１）で表している。
【００５９】
ｉ＝１〜Ｉｅｎｄについて、
｜Ｏｅｒｒｉ｜＝｜Ｏｔｉ−Ｏｒｉ（Ｎ）｜
｜ΔＯｒｉ｜＝｜Ｏｒｉ（Ｎ−１）−Ｏｒｉ（Ｎ）｜
Ｍｉ＝｜Ｏｅｒｒｉ｜×｜ΔＯｒｉ｜
Ｍｉｎｔ＝ΣＭｉ
を算出し、
Ｍｉｎｔ＜Ｊｉｎｔ
が成り立つ                                  ・・・（３）
【００６０】
このステップＳ４２の処理を図７のフローチャートのように構成することができる。ステップＳ４２１で、ペアの番号ｉを１の初期値に設定する。ステップＳ４２２で、積算値Ｍｉｎｔを０にリセットする。
【００６１】
ステップＳ４２３では、ペアの番号ｉの入力データを、ＦＮＮに入力し、今回の学習ステップＳ１によって更新されたＦＮＮのパラメータ（重み及びバイアス）を用いて、今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）を算出する。そして、式（３）に示すように、ペアの番号ｉの入力データに対してＦＮＮから出力された出力データの実値Ｏｒｉ（Ｎ）と、ペアの番号ｉの出力データの目標値Ｏｔｉとの誤差の絶対値｜Ｏｅｒｒｉ｜を算出する。なお、算出した出力データの実値Ｏｒｉ等の各演算値は、現在の学習試行回数Ｎ及びペアの番号ｉ等と関連付けて、ＲＡＭ等の記憶装置に記憶され、ステップＳ４２４等において利用される。
【００６２】
ステップＳ４２４では、式（３）に示すように、ペアの番号ｉについて、前回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ−１）と今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）との変化量の絶対値｜ΔＯｒｉ｜を算出する。
【００６３】
ステップＳ４２５では、式（３）に示すように、ステップＳ４２３で算出されたペアの番号ｉの出力データの誤差の絶対値｜Ｏｅｒｒｉ｜と、ステップＳ４２４で算出されたペアの番号ｉの出力データの実値の変化量の絶対値｜ΔＯｒｉ｜との乗算値Ｍｉを算出する。
【００６４】
ステップＳ４２６では、積算値Ｍｉｎｔに、ペアの番号ｉの乗算値Ｍｉを積算する。ステップＳ４２７で、ペアの番号ｉが、最終ペア番号Ｉｅｎｄ未満であるか否かを判定し、最終ペア番号Ｉｅｎｄ未満である場合は、ステップＳ４２８で、ペアの番号ｉを１つ増加させた後、ステップＳ４２３に戻り、次のペアの番号ｉについて乗算値及び積算値の算出を継続し、最終ペア番号Ｉｅｎｄ未満でない場合は、ステップＳ４２９に進む。
【００６５】
ステップＳ４２９では、積算値Ｍｉｎｔが、積算値判定値Ｊｉｎｔを下回っているか否かを判定する。積算値判定値Ｊｉｎｔを下回っていると判定した場合は、ステップＳ４３０に進み、学習終了条件が成立していると判定し、積算値判定値Ｊｉｎｔを下回っていないと判定した場合は、ステップＳ４３１に進み、学習終了条件が成立していないと判定し、判定処理を終了する。
【００６６】
ＦＮＮの汎化能力の限界に近づいている場合、出力データの誤差の絶対値｜Ｏｅｒｒ｜が所望の誤差（誤差判定値ＪＯｅｒｒ）まで小さくならない場合がある。このため、出力データの誤差の絶対値｜Ｏｅｒｒ｜と誤差判定値ＪＯｅｒｒの比較だけで学習終了条件を判定すれば、上記の場合に学習が終了せず、計算資源の無駄が生じる。一方、ＦＮＮの汎化能力の限界に近づいている場合、出力データの実値の変化量の絶対値｜ΔＯｒ｜が零に近づく。上記の構成によれば、各ペアについて、出力データの誤差の絶対値｜Ｏｅｒｒ｜が十分に減少していない場合でも、汎化能力の限界に近付いている場合は、出力データの誤差の絶対値｜Ｏｅｒｒ｜と出力データの実値の変化量の絶対値｜ΔＯｒ｜との乗算値Ｍ及びその積算値Ｍｉｎｔが減少し、積算値Ｍｉｎｔが、積算値判定値Ｊｉｎｔを下回っている場合は、学習結果が良好であると判定される。よって、全てのペアについて、出力データの誤差が十分に減少しているか、或いは、誤差が十分に減少していないが、ＦＮＮの汎化能力の限界に近づいている場合に、学習終了条件が成立したと判定することができる。よって、全てのペアについて、学習を適切に終了することができ、計算資源の無駄が生じることを抑制できる。
【００６７】
〔その他の実施の形態〕
（１）上記の各実施の形態では、ステップＳ２１、ステップＳ３１、ステップＳ４１において、学習試行回数Ｎが、強制終了回数Ｊ未満であるか否かを判定し、未満であると判定した場合は、学習終了判定ステップに進み、未満でないと判定した場合は、学習を強制終了する場合を例に説明した。しかし、本願の実施の形態はこれに限定されない。すなわち、ステップＳ２１、ステップＳ３１、ステップＳ４１が備えられていなくてもよい。
【００６８】
（２）上記の各実施の形態では、ステップＳ２２２、ステップＳ３２２、ステップＳ４２３において、ペアの番号ｉの入力データを、ＦＮＮに入力し、今回の学習ステップＳ１によって更新されたＦＮＮのパラメータ（重み及びバイアス）を用いて、今回の学習ステップＳ１の実行後の出力データの実値Ｏｒｉ（Ｎ）を算出する場合を例に説明した。しかし、本願の実施の形態はこれに限定されない。すなわち、ステップＳ２２２、ステップＳ３２２、ステップＳ４２３において、ＦＮＮを用いた出力データの実値の算出が行われず、代わりに、今回の学習ステップＳ１のステップＳ１４において算出された、出力データの実値が用いられてもよい。
【００６９】
本願は、様々な例示的な実施の形態及び実施例が記載されているが、１つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも１つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも１つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【符号の説明】
【００７０】
Ｏｅｒｒ  出力データの実値と出力データの目標値との誤差、Ｉｅｎｄ  最終ペア番号、Ｊ  強制終了回数、ＪＯｅｒｒ  誤差判定値、ＪＯｒ  変化量判定値、Ｊｉｎｔ  積算値判定値、Ｊｍ  乗算値判定値、Ｍ  乗算値、Ｍｉｎｔ  積算値、Ｎ  学習試行回数、Ｏｒ  出力データの実値、Ｏｔ  出力データの目標値、Ｓ１  学習ステップ、Ｓ２２、Ｓ３２、Ｓ４２  学習終了判定ステップ
【図１】
2020129323.tif 000003
【図２】
2020129323.tif 000004
【図３】
2020129323.tif 000005
【図４】
2020129323.tif 000006
【図５】
2020129323.tif 000007
【図６】
2020129323.tif 000008
【図７】
2020129323.tif 000009
【図８】
2020129323.tif 000010
【手続補正書】
【提出日】令和2年2月18日(2020.2.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備えたニューラルネットワークの学習方法であって、
前記学習終了判定ステップでは、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値が、乗算値判定値を下回る条件が、前記教師付き学習データセットの全てのペアについて成り立つ場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するニューラルネットワークの学習方法。
【請求項２】
ニューラルネットワークに入力される入力データと、前記入力データに対して前記ニューラルネットワークから出力される出力データの目標値とのペアの複数からなる教師付き学習データセットを用いて、前記ニューラルネットワークのパラメータを更新する学習ステップと、
学習終了条件が成立しているか否かを判定し、前記学習終了条件が成立していない場合は、前記学習ステップを再び実行させ、前記学習終了条件が成立している場合は、前記学習ステップの実行を終了させる学習終了判定ステップと、を備えたニューラルネットワークの学習方法であって、
前記学習終了判定ステップでは、前記教師付き学習データセットの各ペアについて、前記出力データの目標値と前記ニューラルネットワークから出力された前記出力データの実値との誤差の絶対値と、前回の前記学習ステップの実行後の前記出力データの実値と今回の前記学習ステップの実行後の前記出力データの実値との変化量の絶対値とを乗算した乗算値を算出し、全てのペアの前記乗算値を積算した積算値が、積算値判定値を下回る場合に、前記学習終了条件が成立していると判定し、それ以外の場合は、前記学習終了条件が成立していないと判定するニューラルネットワークの学習方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】