(57)【要約】  データ処理システム１００は、学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化する学習部１４０を備える。学習部１４０は、ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化する。
2019142242.tif 000002
【特許請求の範囲】
【請求項１】
学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化する学習部を備え、
前記学習部は、前記ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化することを特徴とするデータ処理システム。
【請求項２】
前記活性化関数は、
【数１】
2019142242.tif 000008
で表現されることを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記学習部は、傾斜比パラメータの初期値として１を設定することを特徴とする請求項１または２に記載のデータ処理システム。
【請求項４】
前記ニューラルネットワークは、畳み込みニューラルネットワークであり、コンポーネントごとに独立した傾斜比パラメータを有することを特徴とする請求項１から３のいずれかに記載のデータ処理システム。
【請求項５】
前記コンポーネントはチャンネルであることを特徴とする請求項４に記載のデータ処理システム。
【請求項６】
学習データに対してニューラルネットワークにしたがった処理を実行することにより学習データに対応する出力データを出力するステップと、
学習データに対応する出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備え、
前記最適化対象パラメータを最適化するステップでは、前記ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化することを特徴とするデータ処理方法。
【請求項７】
学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化する機能をコンピュータに実現させるためのプログラムであって、
前記最適化対象パラメータを最適化する機能は、前記ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムおよびデータ処理方法に関する。
【背景技術】
【０００２】
ニューラルネットワークは、１以上の非線形ユニットを含む数学的モデルであり、入力に対応する出力を予測する機械学習モデルである。多くのニューラルネットワークは、入力層と出力層の他に、１以上の中間層（隠れ層）をもつ。各中間層の出力は次の層（中間層または出力層）の入力となる。ニューラルネットワークの各層は、入力および自身のパラメータに応じて出力を生成する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton、「ImageNet Classification with Deep Convolutional Neural Networks」、NIPS2012_4824
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＲｅＬＵ関数を活性化関数に用いることにより、ディープニューラルネットワークの学習を困難にする勾配消失問題を緩和することができる。学習が可能になったディープニューラルネットワークは表現力の向上によって画像分類を含む多種多様なタスクにおいて高性能を達成している。【０００５】
しかし、ＲｅＬＵ関数は負値入力に対する勾配が０であるため、１／２の期待値で勾配が完全に消失し、学習が滞る。解決のために負値入力にわずかな傾きの固定勾配を持つＬｅａｋｙ  ＲｅＬＵ関数が提案されたが、精度向上には至っていない。【０００６】
また、負値入力に対する勾配を最適化（学習）対象のパラメータとしたＰＲｅＬＵ関数が提案され、ＲｅＬＵと比較して精度向上を達成したが、勾配を用いてＰＲｅＬＵの勾配パラメータを学習すると勾配パラメータが１よりもはるかに大きい値になる場合があり、そのようなパラメータをもったＰＲｅＬＵの出力は発散を伴うため学習に失敗してしまう。【０００７】
本発明はこうした状況に鑑みなされたものであり、その目的は、比較的高精度、かつ、安定した学習を実現できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様のデータ処理システムは、学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化する学習部を備える。学習部は、ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化する。【０００９】
本発明の別の態様は、データ処理方法である。この方法は、学習データに対してニューラルネットワークにしたがった処理を実行することにより学習データに対応する出力データを出力するステップと、学習データに対応する出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備える。最適化対象パラメータを最適化するステップでは、ニューラルネットワークの活性化関数の、入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示す傾斜比パラメータを、最適化パラメータのひとつとして最適化する。【００１０】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、比較的高精度、かつ、安定した学習を実現できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るデータ処理システムの機能および構成を示すブロック図である。
【図２】データ処理システムによる学習処理のフローチャートを示す図である。
【図３】データ処理システムによる適用処理のフローチャートを示す図である。
【００１３】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。【００１４】
なお、以下ではデータ処理装置を画像処理に適用する場合を例に説明するが、当業者によれば、データ処理装置を音声認識処理、自然言語処理、その他の処理にも適用可能であることが理解されよう。【００１５】
図１は、実施の形態に係るデータ処理システム１００の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。【００１６】
データ処理システム１００は、学習用の画像と、その画像に対する理想的な出力データである正解値とに基づいてニューラルネットワークの学習を行う「学習処理」と、学習済みのニューラルネットワークを画像に適用し、画像分類、物体検出または画像セグメンテーションなどの画像処理を行う「適用処理」と、を実行する。【００１７】
学習処理では、データ処理システム１００は、学習用の画像に対してニューラルネットワークにしたがった処理を実行し、学習用の画像に対する出力データを出力する。そしてデータ処理システム１００は、出力データが正解値に近づくようにニューラルネットワークの最適化（学習）対象のパラメータ（以下、「最適化対象パラメータ」と呼ぶ）を更新する。これを繰り返すことにより最適化対象パラメータが最適化される。【００１８】
適用処理では、データ処理システム１００は、学習処理において最適化された最適化対象パラメータを用いて、画像に対してニューラルネットワークにしたがった処理を実行し、その画像に対する出力データを出力する。データ処理システム１００は、出力データを解釈して、画像を画像分類したり、画像から物体検出したり、画像に対して画像セグメンテーションを行ったりする。【００１９】
データ処理システム１００は、取得部１１０と、記憶部１２０と、ニューラルネットワーク処理部１３０と、学習部１４０と、解釈部１５０と、を備える。主にニューラルネットワーク処理部１３０と学習部１４０により学習処理の機能が実現され、主にニューラルネットワーク処理部１３０と解釈部１５０により適用処理の機能が実現される。【００２０】
取得部１１０は、学習処理においては、一度に複数枚の学習用の画像と、それら複数枚の画像のそれぞれに対応する正解値とを取得する。また取得部１１０は、適用処理においては、処理対象の画像を取得する。なお、画像は、チャンネル数は特に問わず、例えばＲＧＢ画像であっても、また例えばグレースケール画像であってもよい。【００２１】
記憶部１２０は、取得部１１０が取得した画像を記憶する他、ニューラルネットワーク処理部１３０、学習部１４０および解釈部１５０のワーク領域や、ニューラルネットワークのパラメータの記憶領域となる。【００２２】
ニューラルネットワーク処理部１３０は、ニューラルネットワークにしたがった処理を実行する。ニューラルネットワーク処理部１３０は、ニューラルネットワークの入力層の各コンポーネントに対応する処理を実行する入力層処理部１３１と、１以上の中間層（隠れ層）の各層の各コンポーネントに対応する処理を実行する中間層処理部１３２と、出力層の各コンポーネントに対応する処理を実行する出力層処理部１３３と、を含む。【００２３】
中間層処理部１３２は、中間層の各層の各コンポーネントの処理として、前段の層（入力層または前段の中間層）からの入力データに対して活性化関数を適用する活性化処理を実行する。なお中間層処理部１３２は、活性化処理に加えて、畳み込み処理や間引き処理やその他の処理を実行してもよい。【００２４】
活性化関数は、以下の式（１）により与えられる。
【数１】
2019142242.tif 000003
ここで、ｋｃは入力値が正の範囲にあるときの傾きと入力値が負の範囲にあるときの傾きとの比率を示すパラメータ（以下、「傾斜比パラメータ」と呼ぶ）。傾斜比パラメータｋｃは、コンポーネントごと独立に設定される。例えばコンポーネントは入力データのチャンネルや、入力データの座標や、入力データそのものである。【００２５】
出力層処理部１３３は、例えばソフトマックス関数、シグモイド関数、クロスエントロピー関数などを組み合わせた演算を行う。【００２６】
学習部１４０は、ニューラルネットワークの最適化対象パラメータを最適化する。学習部１４０は、学習用の画像をニューラルネットワーク処理部１３０に入力することにより得られた出力と、その画像に対応する正解値とを比較する目的関数（誤差関数）により、誤差を算出する。学習部１４０は、算出された誤差に基づいて、非特許文献１に記載のように、勾配逆伝搬法等によりパラメータについての勾配を計算し、モーメンタム法に基づいてニューラルネットワークの最適化対象パラメータを更新する。最適化対象パラメータには、重み係数およびバイアスに加え、傾斜比パラメータｋｃが含まれる。なお、傾斜比パラメータｋｃの初期値には、例えば「１」が設定される。【００２７】
学習部１４０による処理を、傾斜比パラメータｋｃを更新する場合を例に具体的に説明する。
学習部１４０は、ニューラルネットワークの目的関数εの傾斜比パラメータｋｃについての勾配を、勾配逆伝搬法に基づき、以下の式（２）で算出する。
【数２】
2019142242.tif 000004
ここで、∂ε/∂f(xc)は後続の層から逆伝搬されてきた勾配である。【００２８】
学習部１４０は、中間層の各層の各コンポーネントにおける入力ｘｃ、傾斜比パラメータｋｃそれぞれについての勾配∂f(xc)/∂xc、∂f(xc)/∂ｋcは以下の式（３）、（４）で算出する。
【数３】
2019142242.tif 000005
【数４】
2019142242.tif 000006
【００２９】
学習部１４０は、算出された勾配に基づき、モーメンタム法（以下の式（５））で傾斜非パラメータｋｃを更新する
【数５】
2019142242.tif 000007
ここで、
μ：モーメンタム
η：学習率
である。
例えば、μ＝０．９、η＝０．１に設定する。【００３０】
取得部１１０による学習用の画像の取得と、ニューラルネットワーク処理部１３０による学習用画像に対するニューラルネットワークにしたがった処理と、学習部１４０による最適化対象パラメータの更新とを繰り返すことにより、最適化対象パラメータが最適化される。【００３１】
また、学習部１４０は、学習を終了すべきか否かを判定する。学習を終了すべき終了条件は、例えば学習が所定回数行われたことや、外部から終了の指示を受けたことや、最適化対象パラメータの更新量の平均値が所定値に達したことや、算出された誤差が所定の範囲内に収まったことである。学習部１４０は、終了条件が満たされる場合、学習処理を終了させる。学習部１４０は、終了条件が満たされない場合、処理をニューラルネットワーク処理部１３０に戻す。【００３２】
解釈部１５０は、出力層処理部１３３からの出力を解釈して、画像分類、物体検出または画像セグメンテーションを実施する。【００３３】
実施の形態に係るデータ処理システム１００の動作を説明する。
図２は、データ処理システム１００による学習処理のフローチャートを示す。取得部１１０は、複数枚の学習用の画像を取得する（Ｓ１０）。ニューラルネットワーク処理部１３０は、取得部１１０が取得した複数枚の学習用の画像のそれぞれに対して、ニューラルネットワークにしたがった処理を実行し、それぞれについての出力データを出力する（Ｓ１２）。学習部１４０は、複数枚の学習用の画像のそれぞれについての出力データと、それぞれについての正解値とに基づいて、パラメータを更新する（Ｓ１４）。このパラメータの更新では、重み付け係数やバイアスに加えて、傾斜比パラメータｋｃも最適化対象パラメータとして更新する。学習部１４０は、終了条件が満たされるか否かを判定する（Ｓ１６）。終了条件が満たされない場合（Ｓ１６のＮ）、処理はＳ１０に戻される。終了条件が満たされる場合（Ｓ１６のＹ）、処理は終了する。【００３４】
図３は、データ処理システム１００による適用処理のフローチャートを示す。取得部１１０は、適用処理の対象の画像を取得する（Ｓ２０）。ニューラルネットワーク処理部１３０は、取得部１１０が取得した画像に対して、最適化対象パラメータが最適化されたすなわち学習済みのニューラルネットワークにしたがった処理を実行し、出力データを出力する（Ｓ２２）。解釈部１５０は、出力データを解釈し、対象の画像を画像分類したり、対象の画像から物体検出したり、対象の画像に対して画像セグメンテーションを行ったりする（Ｓ２４）。【００３５】
以上説明した実施の形態に係るデータ処理システム１００によると、入力値が正の範囲にあるときの活性化関数の傾きと入力値が負の範囲にあるときの活性化関数の傾きとの比率が最適化対象のパラメータとされ、また大きい方の傾きが１に固定される。これにより、学習の安定化を実現することができる。【００３６】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００３７】
１００  データ処理システム、  １３０  ニューラルネットワーク処理部、  １４０  学習部。
【産業上の利用可能性】
【００３８】
本発明は、データ処理システムおよびデータ処理方法に関する。
【図１】
2019142242.tif 000009
【図２】
2019142242.tif 000010
【図３】
2019142242.tif 000011
【国際調査報告】
2019142242.tif 000012
2019142242.tif 000013
2019142242.tif 000014