(57)【要約】  データ処理システム１００は、入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部１３０と、ニューラルネットワーク処理部１３０が学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化する学習部と、を備える。ニューラルネットワーク処理部１３０は、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行する。
2020003450.tif 000002
【特許請求の範囲】
【請求項１】
入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部と、
前記ニューラルネットワーク処理部が学習データに対して前記処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化する学習部と、を備え、
前記ニューラルネットワーク処理部は、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは前記中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行することを特徴とするデータ処理システム。
【請求項２】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを線形結合することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを乱数倍したデータを足し合わせることを特徴とする請求項２に記載のデータ処理システム。
【請求項４】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データからランダムに選択された少なくとも１つの中間データを用いた演算を適用することを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのうちのｉ（ｉは２以上Ｎ以下の整数）番目の中間データに対して、順序をランダムに並べ替えた当該Ｎ個の中間データのｉ番目の中間データを用いた演算を適用することを特徴とする請求項４に記載のデータ処理システム。
【請求項６】
前記ニューラルネットワーク処理部は、中間層要素に入力されるべき中間データと、当該中間データを当該中間層要素に入力することにより出力された中間データに対して攪乱処理を実行することにより得られる中間データとを統合する処理を実行することを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
前記ニューラルネットワーク処理部は、適用処理時は、攪乱処理を実行しないことを特徴とする請求項１から６のいずれかに記載のデータ処理システム。
【請求項８】
前記ニューラルネットワーク処理部は、適用処理時は、攪乱処理の代わりに、Ｎ個の中間データのうちのｉ番目の中間データに乗じられる係数の期待値を乗じた結果を当該ｉ番目の中間データに対する出力データとして出力することを特徴とする請求項２に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムおよびデータ処理方法に関する。
【背景技術】
【０００２】
ニューラルネットワークは、１以上の非線形ユニットを含む数学的モデルであり、入力に対応する出力を予測する機械学習モデルである。多くのニューラルネットワークは、入力層と出力層の他に、１以上の中間層（隠れ層）をもつ。各中間層の出力は次の層（中間層または出力層）の入力となる。ニューラルネットワークの各層は、入力および自身のパラメータに応じて出力を生成する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton、「ImageNet Classification with Deep Convolutional Neural Networks」、NIPS2012_4824
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークの学習における問題のひとつとして学習データへの過適合が知られている。学習データへの過適合は、未知データに対する予測精度の悪化を引き起こす。【０００５】
本発明はこうした状況に鑑みなされたものであり、その目的は、学習データへの過適合を抑止できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のデータ処理システムは、入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部と、ニューラルネットワーク処理部が学習データに対して処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化する学習部と、を備える。ニューラルネットワーク処理部は、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行する。【０００７】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、学習データへの過適合を抑止できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係るデータ処理システムの機能および構成を示すブロック図である。
【図２】ニューラルネットワークの構成の一例を模式的に示す図である。
【図３】データ処理システムによる学習処理のフローチャートを示す図である。
【図４】データ処理システムによる適用処理のフローチャートを示す図である。
【図５】ニューラルネットワークの構成の他の一例を模式的に示す図である。
【００１０】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。【００１１】
実施の形態を説明する前に、基礎となった知見を説明する。
ニューラルネットワークの学習において学習データそのもののみを学習すると、ニューラルネットワークは非常に多い最適化対象パラメータを持つため学習データに過適合した複雑な写像が得られてしまう。一般的なデータ増幅では、学習データの幾何形状、値等に摂動を加えることにより過適合を緩和できる。しかし、各学習データの近傍のみに摂動データが充填されるため、その効果は限定的である。Between Class Learningでは、２つの学習データおよび各々に対応する理想的な出力データを適当な比率で混合することでデータを増幅する。これにより、学習データの空間と出力データの空間で密に擬似データが充填され、より過適合を抑制できる。一方、学習の際、ネットワークの中間部の表現空間は学習されるデータを広い分布に表現できるよう学習される。よって本発明では、入力に近い層から出力に近い層まで多くの中間層でデータを混合することで中間部の表現空間を改善し、ネットワーク全体としても学習データへの過適合を抑制する方法を提案する。以下、具体的に説明する。【００１２】
以下ではデータ処理装置を画像処理に適用する場合を例に説明するが、当業者によれば、データ処理装置を音声認識処理、自然言語処理、その他の処理にも適用可能であることが理解されよう。【００１３】
図１は、実施の形態に係るデータ処理システム１００の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。【００１４】
データ処理システム１００は、学習用の画像（学習データ）と、その画像に対する理想的な出力データである正解値とに基づいてニューラルネットワークの学習を行う「学習処理」と、学習済みのニューラルネットワークを未知の画像（未知データ）に適用し、画像分類、物体検出または画像セグメンテーションなどの画像処理を行う「適用処理」と、を実行する。【００１５】
学習処理では、データ処理システム１００は、学習用の画像に対してニューラルネットワークにしたがった処理を実行し、学習用の画像に対する出力データを出力する。そしてデータ処理システム１００は、出力データが正解値に近づく方向にニューラルネットワークの最適化（学習）対象のパラメータ（以下、「最適化対象パラメータ」と呼ぶ）を更新する。これを繰り返すことにより最適化対象パラメータが最適化される。【００１６】
適用処理では、データ処理システム１００は、学習処理において最適化された最適化対象パラメータを用いて、画像に対してニューラルネットワークにしたがった処理を実行し、その画像に対する出力データを出力する。データ処理システム１００は、出力データを解釈して、画像を画像分類したり、画像から物体検出したり、画像に対して画像セグメンテーションを行ったりする。【００１７】
データ処理システム１００は、取得部１１０と、記憶部１２０と、ニューラルネットワーク処理部１３０と、学習部１４０と、解釈部１５０と、を備える。主にニューラルネットワーク処理部１３０と学習部１４０により学習処理の機能が実現され、主にニューラルネットワーク処理部１３０と解釈部１５０により適用処理の機能が実現される。【００１８】
取得部１１０は、学習処理においては、Ｎ（２以上の整数）個の学習用の画像（学習サンプル）のセットと、それらＮ個の学習用の画像のそれぞれに対応するＮ個の正解値とを取得する。また取得部１１０は、適用処理においては、処理対象の画像を取得する。なお、画像は、チャンネル数は特に問わず、例えばＲＧＢ画像であっても、また例えばグレースケール画像であってもよい。【００１９】
記憶部１２０は、取得部１１０が取得した画像を記憶する他、ニューラルネットワーク処理部１３０、学習部１４０および解釈部１５０のワーク領域や、ニューラルネットワークのパラメータの記憶領域となる。【００２０】
ニューラルネットワーク処理部１３０は、ニューラルネットワークにしたがった処理を実行する。ニューラルネットワーク処理部１３０は、ニューラルネットワークの入力層に対応する処理を実行する入力層処理部１３１と、中間層（隠れ層）に対応する処理を実行する中間層処理部１３２と、出力層に対応する処理を実行する出力層処理部１３３と、を含む。【００２１】
図２は、ニューラルネットワークの構成の一例を模式的に示す図である。この例では、ニューラルネットワークは２つの中間層を含み、各中間層は畳み込み処理を行う中間層要素とプーリング処理を行う中間層要素とを含んで構成されている。なお、中間層の数は特に限定されず、例えば中間層の数が１であっても、３以上であってもよい。図示の例の場合、中間層処理部１３２は、各中間層の各要素の処理を実行する。【００２２】
また、本実体の形態では、ニューラルネットワークは、少なくとも１つの攪乱要素を含む。図示の例では、ニューラルネットワークは各中間層の前後に攪乱要素を含んでいる。攪乱要素では、中間層処理部１３２は、この攪乱要素に対応する処理も実行する。【００２３】
中間層処理部１３２は、学習処理時は、攪乱要素に対応する処理として攪乱処理を実行する。攪乱処理とは、中間層要素への入力データまたは中間層要素からの出力データを表す中間データであって、学習用の画像のセットに含まれるＮ個の学習用の画像に基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する処理をいう。【００２４】
具体的には、攪乱処理は、一例として以下の式（１）により与えられる。
【数１】
2020003450.tif 000003
この例では、学習用の画像のセットに含まれるＮ個の学習用の画像のすべてがそれぞれ、当該Ｎ個の学習の画像のうちの他の画像を攪乱するのに用いられている。また、Ｎ個の学習用の画像のそれぞれに、他の画像が線形結合されている。【００２５】
また、中間層処理部１３２は、適用処理時は、攪乱要素に対応する処理として攪乱処理の代わりに、つまり攪乱処理を実行せずに、以下の式（２）により与えられる処理を実行する。つまり、入力をそのまま出力する処理を実行する。
【数２】
2020003450.tif 000004
【００２６】
学習部１４０は、ニューラルネットワークの最適化対象パラメータを最適化する。学習部１４０は、学習用の画像をニューラルネットワーク処理部１３０に入力することにより得られた出力と、その画像に対応する正解値とを比較する目的関数（誤差関数）により、誤差を算出する。学習部１４０は、算出された誤差に基づいて、勾配逆伝搬法等によりパラメータについての勾配を計算し、モーメンタム法に基づいてニューラルネットワークの最適化対象パラメータを更新する。【００２７】
なお、逆伝搬で用いる、攪乱処理のベクトルｘに対する偏微分は以下の式（３）により与えられる。
【数３】
2020003450.tif 000005
【００２８】
取得部１１０による学習用の画像の取得と、ニューラルネットワーク処理部１３０による学習用画像に対するニューラルネットワークにしたがった処理と、学習部１４０による最適化対象パラメータの更新とを繰り返すことにより、最適化対象パラメータが最適化される。【００２９】
また、学習部１４０は、学習を終了すべきか否かを判定する。学習を終了すべき終了条件は、例えば学習が所定回数行われたことや、外部から終了の指示を受けたことや、最適化対象パラメータの更新量の平均値が所定値に達したことや、算出された誤差が所定の範囲内に収まったことである。学習部１４０は、終了条件が満たされる場合、学習処理を終了させる。学習部１４０は、終了条件が満たされない場合、処理をニューラルネットワーク処理部１３０に戻す。【００３０】
解釈部１５０は、出力層処理部１３３からの出力を解釈して、画像分類、物体検出または画像セグメンテーションを実施する。【００３１】
実施の形態に係るデータ処理システム１００の動作を説明する。
図３は、データ処理システム１００による学習処理のフローチャートを示す。取得部１１０は、複数枚の学習用の画像を取得する（Ｓ１０）。ニューラルネットワーク処理部１３０は、取得部１１０が取得した複数枚の学習用の画像のそれぞれに対して、ニューラルネットワークにしたがった処理を実行し、それぞれについての出力データを出力する（Ｓ１２）。学習部１４０は、複数枚の学習用の画像のそれぞれについての出力データと、それぞれについての正解値とに基づいて、パラメータを更新する（Ｓ１４）。学習部１４０は、終了条件が満たされるか否かを判定する（Ｓ１６）。終了条件が満たされない場合（Ｓ１６のＮ）、処理はＳ１０に戻される。終了条件が満たされる場合（Ｓ１６のＹ）、処理は終了する。【００３２】
図４は、データ処理システム１００による適用処理のフローチャートを示す。取得部１１０は、適用処理の対象の画像を取得する（Ｓ２０）。ニューラルネットワーク処理部１３０は、取得部１１０が取得した画像に対して、最適化対象パラメータが最適化されたすなわち学習済みのニューラルネットワークにしたがった処理を実行し、出力データを出力する（Ｓ２２）。解釈部１５０は、出力データを解釈し、対象の画像を画像分類したり、対象の画像から物体検出したり、対象の画像に対して画像セグメンテーションを行ったりする（Ｓ２４）。【００３３】
以上説明した実施の形態に係るデータ処理システム１００によると、学習用の画像のセットに含まれるＮ個の学習用の画像に基づくＮ個の中間データのそれぞれが、当該Ｎ個の中間データから選択された少なくとも１つの中間データ、すなわち同質なデータを用いて攪乱される。同質なデータを用いた攪乱による合理的なデータ分布拡張により、学習データへの過適合が抑制される。【００３４】
また、データ処理システム１００によると、学習用の画像のセットに含まれるＮ個の学習用の画像のすべてがそれぞれ、当該Ｎ個の学習の画像のうちの他の画像を攪乱するのに用いられる。このため、すべてのデータを偏りなく学習させることができる。【００３５】
また、データ処理システム１００によると、適用処理時は攪乱処理を実行しないため、本発明を利用しない場合と同程度の処理時間で適用処理を実行できる。【００３６】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。【００３７】
（変形例１）
適用処理では、学習用の画像のセットに含まれるＮ個の学習用の画像に基づくＮ個の中間データのそれぞれを、当該Ｎ個の中間データから選択された少なくとも１つの中間データ、すなわち同質なデータを用いて攪乱すればよく、様々な変形例が考えられる。以下、変形例をいくつか説明する。【００３８】
攪乱処理は、以下の式（４）により与えられてもよい。
【数４】
2020003450.tif 000006
この場合、逆伝搬で用いる、攪乱処理のベクトルｘに対する偏微分は以下の式（５）で与えられる。
【数５】
2020003450.tif 000007
また、適用処理時に攪乱要素に対応する処理として実行される処理は、つまり攪乱処理の代わりとして実行される処理は、以下の式（６）により与えられる。スケールが揃うことによって適用処理における画像処理の精度が向上する。
【数６】
2020003450.tif 000008
【００３９】
攪乱処理は、以下の式（７）により与えられてもよい。
【数７】
2020003450.tif 000009
各ｋに関連する乱数は独立に得られる。また、逆伝搬は実施の形態の場合と同様に考えられる。【００４０】
撹乱処理は、以下の式（８）により与えられてもよい。
【数８】
2020003450.tif 000010
この場合、攪乱に用いるデータがランダムに選択されるため、攪乱のランダム性を強化できる。【００４１】
撹乱処理は、以下の式（９）により与えられてもよい。
【数９】
2020003450.tif 000011
【００４２】
撹乱処理は、以下の式（１０）により与えられてもよい。
【数１０】
2020003450.tif 000012
【００４３】
（変形例２）
図５は、ニューラルネットワークの構成の他の一例を模式的に示す図である。この例では、畳み込み処理の後に攪乱要素を含む。つまり、既存手法であるResidual networksやDensely connected networksの各畳み込み処理の後に攪乱要素を含めたものに相当する。各中間層では、畳み込み処理を行う中間層要素に入力されるべき中間データと、当該中間データを当該中間層要素に入力することにより出力された中間データに対して攪乱処理を実行することにより得られる中間データとが統合される。別の言い方をすると、各中間層では、入出力関係が恒等写像である恒等写像経路と、経路に前記最適化対象パラメータを有する最適化対象経路とを統合する演算が実行される。本変形例によれば、恒等写像経路の恒等性を維持したまま最適化対象経路に撹乱を加えることで、学習をより安定させることができる。【００４４】
（変形例３）
実施の形態では特に言及しなかったが、式（１）において、σを学習の繰り返し回数に応じて単調増加させてもよい。これにより学習が安定化する学習後期に、より過学習を抑えることができる。
【符号の説明】
【００４５】
１００  データ処理システム、  １３０  ニューラルネットワーク処理部、  １４０  学習部。
【産業上の利用可能性】
【００４６】
本発明は、データ処理システムおよびデータ処理方法に関する。
【図１】
2020003450.tif 000013
【図２】
2020003450.tif 000014
【図３】
2020003450.tif 000015
【図４】
2020003450.tif 000016
【図５】
2020003450.tif 000017
【手続補正書】
【提出日】令和2年9月10日(2020.9.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部と、
前記ニューラルネットワーク処理部が学習データに対して前記処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化する学習部と、を備え、
前記ニューラルネットワーク処理部は、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは前記中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行することを特徴とするデータ処理システム。
【請求項２】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを線形結合することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを乱数倍したデータを足し合わせることを特徴とする請求項２に記載のデータ処理システム。
【請求項４】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのそれぞれに対して、当該Ｎ個の中間データからランダムに選択された少なくとも１つの中間データを用いた演算を適用することを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記ニューラルネットワーク処理部は、攪乱処理として、Ｎ個の中間データのうちのｉ（ｉは２以上Ｎ以下の整数）番目の中間データに対して、順序をランダムに並べ替えた当該Ｎ個の中間データのｉ番目の中間データを用いた演算を適用することを特徴とする請求項４に記載のデータ処理システム。
【請求項６】
前記ニューラルネットワーク処理部は、中間層要素に入力されるべき中間データと、当該中間データを当該中間層要素に入力することにより出力された中間データに対して攪乱処理を実行することにより得られる中間データとを統合する処理を実行することを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
前記ニューラルネットワーク処理部は、適用処理時は、攪乱処理を実行しないことを特徴とする請求項１から６のいずれかに記載のデータ処理システム。
【請求項８】
前記ニューラルネットワーク処理部は、適用処理時は、攪乱処理の代わりに、Ｎ個の中間データのうちのｉ番目の中間データに乗じられる係数の期待値を乗じた結果を当該ｉ番目の中間データに対する出力データとして出力することを特徴とする請求項２に記載のデータ処理システム。
【請求項９】
入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するステップと、
学習データに対して前記処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化するステップと、を含み、
前記最適化するステップでは、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは前記中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行することを特徴とするデータ処理方法。
【請求項１０】
プログラムを記録した記録媒体であって、
前記プログラムは、
入力層、１以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行する機能と、
学習データに対して前記処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化する機能と、をコンピュータに実行させ、
前記最適化する機能は、第Ｍ層（Ｍは１以上の整数）の中間層を構成する中間層要素への入力データまたは前記中間層要素からの出力データを表す中間データであって、学習データに含まれるＮ（２以上の整数）個の学習サンプルのセットに基づくＮ個の中間データのそれぞれに対して、当該Ｎ個の中間データから選択した少なくとも１つの中間データを用いた演算を適用する攪乱処理を実行する、記録媒体。
【国際調査報告】
2020003450.tif 000018
2020003450.tif 000019