(57)【要約】【課題】重み学習を高速に処理できる摂動学習装置を提供する。【解決手段】学習データを要素ごとに分岐する分岐部１０と、学習データのカテゴリによって要素の位置ごとの重みが異なるフィルタ係数を、要素のそれぞれに乗じて濾過データを求め、濾過データの要素ごとに強調重み乗じた値を加算した第１出力値Ｏを求める伝搬部２０と、強調重みを補正する摂動係数を加えた摂動重みを生成し、濾過データのそれぞれに対応して設けられ、濾過データに摂動重みを乗じて第２出力値Ｏδｊを求める摂動伝搬部３０と、第１出力値から学習目標を表す教師値を減じた第１コスト値Ｏ、第２出力値Ｏδｊのそれぞれから教師値を減じた第２コスト値、前記摂動係数δ、及び学習速度の傾きを表す学習係数ηから、強調重みを更新する変化量を求める計算を繰り返する学習部４０とを備える。【選択図】図１
2018097407.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素から成る学習データを前記要素ごとに分岐する分岐部と、
前記学習データのカテゴリによって前記要素の位置ごとの重みが異なるフィルタ係数を、前記要素のそれぞれに乗じて濾過データを求め、該濾過データを強調する強調重みを、前記濾過データの要素ごとに乗じた値を加算した第１出力値を求める伝搬部と、
前記強調重みに、該強調重みを補正する摂動係数を加えた摂動重みを生成し、前記濾過データのそれぞれに対応して設けられ、前記濾過データに前記摂動重みを乗じて第２出力値を求める摂動伝搬部と、
前記摂動伝搬部と同じ数設けられ、前記第１出力値から学習目標を表す教師値を減じた第１コスト値、前記第２出力値のそれぞれから前記教師値を減じた第２コスト値、前記摂動係数、及び学習速度の傾きを表す学習係数から、前記強調重みを更新する変化量を求める計算を繰り返す学習部と、
前記強調重みのそれぞれに、前記変化量を加算して強調重みを求める重み更新部と
を備えることを特徴とする摂動学習装置。
【請求項２】
前記第１コスト値の大きさを判定する判定部を備え、
前記判定部は、前記第１コスト値が閾値より小さい場合に前記学習データのカテゴリが前記フィルタ係数のカテゴリと一致していることを表す一致信号を出力し、前記第１コスト値が前記閾値より大きい場合に前記学習データのカテゴリが前記フィルタ係数のカテゴリと不一致であることを表す不一致信号を出力することを特徴とする請求項１に記載の摂動学習装置。
【請求項３】
摂動学習装置が行う摂動学習方法であって、
複数の要素から成る学習データを前記要素ごとに分岐し、
前記学習データのカテゴリによって前記要素の位置ごとの重みが異なるフィルタ係数を、前記要素のそれぞれに乗じて濾過データを求め、該濾過データを強調する強調重みを、濾過データの要素ごとに乗じた値を加算した第１出力値を求め、
前記強調重みに、該強調重みを補正する摂動係数を加えた摂動重みを生成し、前記濾過データのそれぞれに対応して設けられ、前記濾過データに前記摂動重みを乗じて第２出力値を求め、
前記第１出力値から学習目標を表す教師値を減じた第１コスト値、前記第２出力値のそれぞれから前記教師値を減じた第２コスト値、前記摂動係数、及び学習速度の傾きを表す学習係数から、前記強調重みを更新する変化量を求める計算を繰り返し、
前記強調重みのそれぞれに、前記変化量を加算して強調重みを求める
ことを特徴とする摂動学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習演算を高速処理する摂動学習装置とその方法に関する。
【背景技術】
【０００２】
近年、インターネットや様々なセンサから大量のデータを取得する環境が構築されるに伴い、そのデータを解析して高精度な知識処理や未来予測を行う研究及びビジネスが活発に行われている。この潮流の中で特に注目を集めている解析技術のひとつに、ディープラーニング（深層学習）と称されるものがある。
【０００３】
ディープラーニングとは、ニューラルネットワークを基本とした機械学習技術であり、ニューロンを多層に配置した人工神経回路網にデータを学習させることで、識別や判断を行う機能を有している。
【０００４】
一般に、ニューラルネットワークの学習とは、ニューロン同士を連結したシナプスの重みを更新することによって行われるが、昨今のディープラーニングでは学習データ数もシナプス数も大規模化しているため、学習に莫大な時間が掛かる。
【０００５】
このような背景の下、ＣＰＵやＧＰＵなどのディジタル演算器に代替するアナログ演算器が注目されている。特に、光を信号の伝送媒体として用いる光コンピューティングは、ディープラーニングを高速化するアナログ演算器として有力と考えられている。
【０００６】
アナログ演算器用の学習アルゴリズムとしては、摂動学習法が提案されている。摂動学習法とは、シナプスの重み等の学習すべきパラメータを微少量変化させ、誤差関数に及ぼす影響をモニタすることで、パラメータの修正量を算出する方法である。
【０００７】
例えば非特許文献１に同時摂動最適化法が開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】前田裕ほか１名、「同時摂動学習則を用いたニューラルネットワークによる２軸駆動型ロボットアームの追値制御」、電学論Ｃ、123巻、9号、2003年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の摂動学習法で計算する装置の構成は、出力値と教師値との比較を行い、誤差関数を最小化するように、重みを１つずつ逐次的に学習させる方式である。そのため、ニューラルネットワークの規模が大きい場合には、収束に膨大な時間を要するという課題がある。
【００１０】
本発明は、この課題に鑑みてなされたものであり、重み学習を高速に処理できる摂動学習装置とその方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本実施形態の一態様に係る摂動学習装置は、複数の要素から成る学習データを前記要素ごとに分岐する分岐部と、前記学習データのカテゴリによって前記要素の位置ごとの重みが異なるフィルタ係数を、前記要素のそれぞれに乗じて濾過データを求め、該濾過データを強調する強調重みを、前記濾過データの要素ごとに乗じた値を加算した第１出力値を求める伝搬部と、前記強調重みに、該強調重みを補正する摂動係数を加えた摂動重みを生成し、前記濾過データのそれぞれに対応して設けられ、前記濾過データに前記摂動重みを乗じて第２出力値を求める摂動伝搬部と、前記摂動伝搬部と同じ数設けられ、前記第１出力値から学習目標を表す教師値を減じた第１コスト値、前記第２出力値のそれぞれから前記教師値を減じた第２コスト値、前記摂動係数、及び学習速度の傾きを表す学習係数から、前記強調重みを更新する変化量を求める計算を繰り返す学習部と、前記強調重みのそれぞれに、前記変化量を加算して強調重みを求める重み更新部とを備えることを要旨とする。
【００１２】
本実施形態の一態様に係る摂動学習方法は、上記の摂動学習装置が行う摂動学習方法であって、複数の要素から成る学習データを前記要素ごとに分岐し、前記学習データのカテゴリによって前記要素の位置ごとの重みが異なるフィルタ係数を、前記要素のそれぞれに乗じて濾過データを求め、該濾過データを強調する強調重みを、濾過データの要素ごとに乗じた値を加算した第１出力値を求め、前記強調重みに、該強調重みを補正する摂動係数を加えた摂動重みを生成し、前記濾過データのそれぞれに対応して設けられ、前記濾過データに前記摂動重みを乗じて第２出力値を求め、前記第１出力値から学習目標を表す教師値を減じた第１コスト値、前記第２出力値のそれぞれから前記教師値を減じた第２コスト値、前記摂動係数、及び学習速度の傾きを表す学習係数から、前記強調重みを更新する変化量を求める計算を繰り返し、前記強調重みのそれぞれに、前記変化量を加算して強調重みを求めることを要旨とする。
【発明の効果】
【００１３】
本発明によれば、重み学習を高速に処理できる摂動学習装置とその方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係る摂動学習装置の機能構成例を示す図である。
【図２】本実施形態に係る摂動学習装置の動作フローを示す図である。
【図３】図１に示す摂動学習装置の伝搬部の構成を模式的に示す図である。
【図４】図１に示す摂動学習装置の学習部を構成する１個の学習部の構成例を示す図である。
【図５】本発明の第２実施形態に係る摂動学習装置の機能構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を用いて説明する。複数の図面中同一のものに
は同じ参照符号を付し、説明は繰り返さない。
【００１６】
〔第１実施形態〕
図１に、第１実施形態に係る摂動学習装置１の機能構成例を示す。図２に、摂動学習装置１の動作フローを示す。
【００１７】
摂動学習装置１は、分岐部１０、伝搬部２０、摂動伝搬部３０、学習部４０、及び重み更新部５０を備える。摂動学習装置１は、例えば階層型ニューラルネットワークの学習演算を高速に処理する。
【００１８】
分岐部１０は、複数の要素から成る学習データＸを要素ごとに分岐する（ステップＳ１）。学習データＸは、例えばコヒーレント光源で与えられる。分岐部１０は、この例では光分岐器を用いた。
【００１９】
学習データＸは、例えば100ピクセルの特定の人の顔の画像データであると仮定する。分岐部１０は、例えば100ピクセルの学習データを1×100個（ｎ個）に分岐する。
【００２０】
分岐部１０は、例えば石英平面光導波路（ＰＬＣ）、フレキシブルポリマー光導波路などで構成する。分岐部１０から出射する光信号は、各分岐出力に設けられたコリメータレンズによって平行光となって伝搬部２０に入力される。なお、図１において、コリメータレンズの表記は省略している。光信号の波長は、例えば1550nmである。
【００２１】
伝搬部２０は、学習データＸのカテゴリによって要素の位置ごとの重みが異なるフィルタ係数を、要素のそれぞれに乗じて濾過データを求め、該濾過データを強調する強調重みを、濾過データの要素ごとに乗じた値を加算した第１出力値Ｏを求める（ステップＳ２）。濾過データは、摂動伝搬部３０に出力される。学習データＸのカテゴリは、学習データＸが例えば画像データの場合の当該画像の種別（例えば人、猫、犬等）である。
【００２２】
要素の位置ごととは、分岐した学習データｘ１，…，ｘｊ，…，ｘｎの（以降ｎ個を代表して添え字ｊで表記する場合がある。他の表記も同様である。）それぞれのことである。分岐部１０の分岐出力のそれぞれは、学習データＸの要素（ピクセル）と一対一で対応する。
【００２３】
フィルタ係数は、学習データＸが例えば人の顔であれば、人の顔の目、鼻、口、及び耳等の位置ごとに重みが異なり、それらの特徴部分を強調する係数ｆ１，…，ｆｊ，…，ｆｎである。つまり、ｘｊ×ｆｊは、学習対象の特徴部分を濾過し易くした濾過データである。
【００２４】
伝搬部２０は、濾過データの要素ごとに、当該濾過データを強調する強調重みｗｊを乗じた値を加算した第１出力値Ｏを求める。伝搬部２０について詳しくは後述する。
【００２５】
摂動伝搬部３０は、強調重みｗｊに、該強調重みｗｊを補正する摂動係数δを加えた摂動重みｗｊ＋δを生成し、濾過データ（ｘｊ×ｆｊ）のそれぞれに対応して設けられる。つまり、摂動伝搬部３０は、ｎ個の摂動伝搬部３０１〜３０ｎで構成される。以降において摂動伝搬部３０の参照符号は、３０ｊと表記する。
【００２６】
摂動伝搬部３０ｊは、濾過データ（ｘｊ×ｆｊ）のそれぞれに摂動重みｗｊ＋δを乗じて第２出力値Ｏδｊを求める（ステップＳ３）。ｎ個の第２出力値Ｏδｊは、学習部４０に出力される。
【００２７】
学習部４０は、摂動伝搬部３０ｊと同じ数の学習部４０１〜４０ｎで構成される。学習部４０ｊは、第１出力値Ｏから学習目標を表す教師値Ｔを減じた第１コスト値Ｅ、第２出力値Ｏδｊのそれぞれから教師値Ｔを減じた第２コスト値Ｅδｊ、摂動係数δ、及び学習速度の傾きを表す学習係数ηから、強調重みｗｊを更新する変化量Δｗｊ＿ｎｅｗを求める（ステップＳ４）。この強調重みｗｊを更新する変化量Δｗｊ＿ｎｅｗを求める処理は、図示しない制御部によって強調重みｗｊが収束するまで繰り返される（ステップＳ５のＮＯ）。
【００２８】
重み更新部５０は、強調重みｗｊのそれぞれに、変化量Δｗｊ＿ｎｅｗを加算して強調重みｗｊｎｅｗを求める（ステップＳ６）。ステップＳ６の計算は、強調重みｗｊが収束するまで繰り返される。
【００２９】
以上説明した本実施形態の摂動学習装置１によれば、重み更新の計算を並列に処理するので重み学習を高速に処理できる。以降、図面を参照して各機能構成部を更に詳しく説明する。
【００３０】
（伝搬部）
図３に、伝搬部２０のより具体的な構成例を示す。伝搬部２０は、入力フィルタ２１、強調フィルタ２２、光結合器２３、及び受光部２４を備える。
【００３１】
入力フィルタ２１は、学習データｗｊの各々の光強度を、フィルタの透過率によってｆｊ倍に変換する。この作用は、例えば液晶を用いた光減衰フィルタを用いることで実現できる。光減衰フィルタの透過率は、１以上であることは原理的に不可能であるから、ｆｊ＞１の場合、変換係数ａ＞１を用い、１＞ｆｊ/ａと変換すれば良い。この場合、後段の例えば学習部４０ｊ等でａ倍に変換すれば良い。
【００３２】
入力フィルタ２１は、光減衰器である電気光学変調器、音響光学変調器、及びＭＥＭＳミラー等で構成することができる。また、光増幅器を用いても良い。その場合は、光増幅器である半導体光増幅器（ＳＯＡ）を用いることができる。
【００３３】
入力フィルタ２１は、学習データＸのカテゴリによって学習データの要素の位置ごとに重みが異なるフィルタ係数ｆｊを、学習データｘｊに乗じた濾過データを出力する。入力フィルタ２１は、学習するデータＸのカテゴリに対応させて予め伝搬部２０内に設けておく。又は、電気光学変調器の減衰率を、学習する度に設定するようにしても良い。
【００３４】
強調フィルタ２２は、入力フィルタ２１と同様に光減衰器である電気光学変調器等で構成することができる。強調フィルタ２２の強調重みｗｊは、重み更新部５０で求めた変化量Δｗｊ＿ｎｅｗを、１回前の強調重みｗｊｏｌｄに加算した値である。
【００３５】
初期値の強調重みｗｊは予め設定されている。初期値の強調重みｗｊは、繰り返し更新され、収束値まで変化する。
【００３６】
光結合器２３は、強調フィルタ２２が出力する濾過データを強調（積演算）したデータ（ｘｊ×ｆｊ×ｗｊ）を和演算する。この場合は、例えばＬＣＯＳ（Liquid Crystal On Silicon）を用いて波面結合により積演算したデータを光結合しても良い。又は、ＰＬＣなどの光導波路を用いて結合しても良い。
【００３７】
光結合器２３は、次式に示す第１出力値Ｏを出力する。
【００３８】
【数１】
2018097407.tif 000003
【００３９】
受光器２４は、第１出力値Ｏを電流値に変換する。
【００４０】
摂動伝搬部３０ｊは、伝搬部２０の入力フィルタ２１と光結合器２３を削除して構成できる。つまり、摂動伝搬部３０ｊは、濾過データのそれぞれに摂動重みｗｊ＋δを乗じて第２出力値Ｏδｊを求めるものである。よって、摂動伝搬部３０ｊは、強調フィルタ２２と受光部２４の組みで構成できる。図３に対応する摂動伝搬部３０ｊの表記は省略する。
【００４１】
（学習部）
図４に、学習部４０ｊのより具体的な構成例を示す。学習部４０ｊは、例えばアナログ電気回路で構成することができる。
【００４２】
学習部４０ｊは、３個の差動増幅器４１ｊ，４２ｊ，４３ｊ、及び計算部４４ｊを備える。学習部４０ｊは、ｊの参照符号から明らかなように摂動伝搬部３０ｊと同じ数だけ設けられる。
【００４３】
差動増幅器４１ｊは、伝搬部２０が出力する第１出力値Ｏと、外部から入力される学習目標を表す教師値Ｔとの差分である第１コスト値Ｅ（Ｏ−Ｔ）を算出する。差動増幅器４２ｊは、摂動伝搬部３０ｊが出力する第２出力値Ｏδｊと、教師値Ｔとの差分である第２コスト値Ｅδｊを算出する。差動増幅器４３ｊは、第１コスト値Ｅと第２コスト値Ｅδｊの差分Ｅ−Ｅδｊを算出する。
【００４４】
計算部４４ｊは、外部から入力される強調重みｗｊを補正する摂動係数δと学習速度の傾きを表す学習係数η、及び差動増幅器４３ｊが出力する差分Ｅ−Ｅδｊを入力として、強調重みｗｊを更新する変化量ｗｊ＿ｎｅｗを次式で計算する。
【００４５】
【数２】
2018097407.tif 000004
【００４６】
〔第２実施形態〕
図５に、第２実施形態に係る摂動学習装置２の機能構成例を示す。摂動学習装置２は、摂動学習装置１（図１）に対して判定部６０を備える点で異なる。
【００４７】
判定部６０は、第１コスト値Ｏが閾値より小さい場合に学習データＸのカテゴリがフィルタ係数ｆｊのカテゴリと一致していることを表す一致信号を出力し、第１コスト値Ｏが閾値より大きい場合に学習データＸのカテゴリがフィルタ係数ｆｊのカテゴリと不一致であることを表す不一致信号を出力する。
【００４８】
摂動学習装置２によれば、入力した学習データＸが、学習する対象のカテゴリと一致しているか否かの判定を行うことができる。したがって、摂動学習装置２は、例えば画像識別に用いることができる。
【００４９】
（学習速度シミュレーション）
本実施形態の効果を確認する目的で、比較例と摂動学習装置１（図１）の学習速度の比較を行った。学習速度の比較は、ニューラルネットワークのハードウェアにおいて、１秒間に書き換え可能なパラメータの更新回数ＣＵＰＳ（Connections Updated Per Second）を比較することで行った。
【００５０】
シミュレーションの条件は、ニューラルネットワークの規模を、入力数1000ニューロン、総数10層の10000ニューロンと仮定した。また、四則演算を実行するために必要なクロック数は、和演算で2クロック、減演算で2クロック、積演算で4クロック、除演算で8クロック、指数演算で16クロックと仮定した。比較例のＣＰＵによる重み書き換え数は、1.8MCUPSと試算された。
【００５１】
一方、学習部４０ｊを１０個とし、入力フィルタ２１の遅延時間を0.1ns、強調フィルタ２２の遅延時間を0.1ns、受光部２４の遅延時間を1ns、学習部４０ｊの遅延時間を0.1ns、及び繰り返し演算を制御する制御部の遅延時間を1nsと仮定した。この場合の摂動学習装置１による学習速度は、100MCUPSと試算された。
【００５２】
このように本実施形態の摂動学習装置１は、学習速度を約55倍に高速化することができた。
【００５３】
以上説明したように本実施形態の摂動学習装置１によれば、重み学習を高速に処理できる。また、本実施形態の摂動学習装置２によれば、学習データＸが所定のカテゴリに一致しているか否かを判定することができる。
【００５４】
摂動学習装置１，２は、光部品を用いて構成した例で説明を行った。光をキャリアとして用いると、３次元空間に光配線を形成することができ、ショートの恐れや配線の取り回しといったデメリットが少ない。
【００５５】
なお、本発明はこの例に限定されない。光部品を用いずに本実施形態の摂動学習装置１，２を構成しても良い。光は電磁波の一種である。よって、例えば分岐部１０は、電磁波分岐器で構成することが可能である。また、光結合器２３も電磁波結合器で構成することが可能である。このように本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で変形が可能である。
【産業上の利用可能性】
【００５６】
本実施の形態は、例えば階層型ニューラルネットワークの学習装置に適用することができ、光コンピューティングなどの分野に利用可能である。
【符号の説明】
【００５７】
１、２：摂動学習装置
１０：分岐部
２０：伝搬部
２１：入力フィルタ
２２：重みフィルタ
２３：光結合器
２４：受光部
３０、３０１、３０ｊ、３０ｎ：摂動伝搬部
４０、４０１、４０ｊ、４０ｎ：学習部
５０：重み更新部
【図１】
2018097407.tif 000005
【図２】
2018097407.tif 000006
【図３】
2018097407.tif 000007
【図４】
2018097407.tif 000008
【図５】
2018097407.tif 000009