JP2018116420A - Perturbation learning device and method thereof - Google Patents

Perturbation learning device and method thereof Download PDF

Info

Publication number
JP2018116420A
JP2018116420A JP2017006062A JP2017006062A JP2018116420A JP 2018116420 A JP2018116420 A JP 2018116420A JP 2017006062 A JP2017006062 A JP 2017006062A JP 2017006062 A JP2017006062 A JP 2017006062A JP 2018116420 A JP2018116420 A JP 2018116420A
Authority
JP
Japan
Prior art keywords
learning
weight
perturbation
learning data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017006062A
Other languages
Japanese (ja)
Other versions
JP6655032B2 (en
Inventor
志栞 小仁所
Shiori Konisho
志栞 小仁所
晃洋 鴻野
Akihiro Kono
晃洋 鴻野
岡 宗一
Soichi Oka
宗一 岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017006062A priority Critical patent/JP6655032B2/en
Publication of JP2018116420A publication Critical patent/JP2018116420A/en
Application granted granted Critical
Publication of JP6655032B2 publication Critical patent/JP6655032B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a perturbation learning device capable of processing a weight learning at fast speed.SOLUTION: A perturbation learning device includes: a branching unit 10 that outputs not-to-be-learned data X acquired by branching, element by element, learning data containing n number of elements, and to-be-learned data Xacquired by branching, element by element, from the header of the learning data by m times for each j pieces; a weight computing unit 20 that calculates pieces of weight learning data Dto Dby multiplying each element of the not-to-be-learned data X by a corresponding weight coefficient; a perturbation learning unit 30 that calculates j pieces of perturbation weight learning data by multiplying the to-be-learned data Xby a corresponding perturbation weight coefficient; a second branching unit 40 that branches each piece of the weight learning data into j+1 pieces; a coupling unit 50 that calculates a first output value O summing all pieces of the weight learning data branched into j+1 pieces, and j number of second output values Oδacquired by substituting any one of the j+1 pieces of weight learning data by the perturbation weight learning data corresponding to such weight learning data; and a learning unit 60 that repeats a calculation of updating each weight coefficient for each j piece by a unit of m times.SELECTED DRAWING: Figure 1

Description

本発明は、摂動学習の大規模な並列計算を高速に行う摂動学習装置とその方法に関する。   The present invention relates to a perturbation learning apparatus and method for performing large-scale parallel computation of perturbation learning at high speed.

摂動学習は、アナログ演算器用の学習アルゴリズムである。例えばニューラルネットワークのシナプス重み等の学習すべきパラメータを微少量変化させ、誤差関数に及ぼす影響をモニタすることで、パラメータの修正量を算出する方法である。   Perturbation learning is a learning algorithm for an analog computing unit. For example, a parameter correction amount is calculated by changing a parameter to be learned such as a synaptic weight of a neural network by a minute amount and monitoring an influence on an error function.

例えば非特許文献1に同時摂動最適化法が開示されている。また、例えば非特許文献2に多周波振動学習法が開示されている。   For example, Non-Patent Document 1 discloses a simultaneous perturbation optimization method. Further, for example, Non-Patent Document 2 discloses a multi-frequency vibration learning method.

前田裕ほか1名、「同時摂動学習則を用いたニューラルネットワークによる2軸駆動型ロボットアームの追値制御」、電学論C、123巻、9号、2003年Hiroshi Maeda et al., “Additional control of 2-axis robot arm by neural network using simultaneous perturbation learning rule”, Denki Theory C, Vol. 123, No. 9, 2003 宮尾浩ほか3名、「アラログニューラルネットワークのための多周波振動学習法とそれを適用した学習LSI」、電子情報通信学会論文誌 A、Vol.179-A、No.4、pp.917-929、1996年4月Hiroshi Miyao et al., "Multi-frequency vibration learning method for neural network and learning LSI using it", IEICE Transactions A, Vol.179-A, No.4, pp.917-929 April 1996

摂動学習を高速に行うためには、重み更新の並列処理が重要になる。非特許文献2に開示された方法では、信号を周波数多重することで並列処理を行う。しかし、帯域やクローストーク等の問題から周波数の多重数は数百が限界である。   In order to perform perturbation learning at high speed, parallel processing of weight update is important. In the method disclosed in Non-Patent Document 2, parallel processing is performed by frequency-multiplexing signals. However, the number of multiplexed frequencies is limited to several hundred due to problems such as bandwidth and crosstalk.

一方、ニューラルネットワークの摂動学習は、ニューロン同士を連結したシナプスの重みを更新することによって行われる。ニューラルネットワークを基本とした機械学習技術の一つであるディープラーニング(深層学習)では、学習データ数及びシナプス数が大規模化し、シナプス数が数億個を越える場合もある。   On the other hand, perturbation learning of a neural network is performed by updating the weight of a synapse that connects neurons. In deep learning, which is one of machine learning technologies based on neural networks, the number of learning data and the number of synapses is large, and the number of synapses may exceed several hundred million.

したがって、従来の周波数多重を用いた数百スケールの並列処理では十分な高速化が期待できないという課題がある。   Therefore, there is a problem that sufficient speedup cannot be expected in the parallel processing of several hundred scales using the conventional frequency multiplexing.

本発明は、この課題に鑑みてなされたものであり、重み学習を高速に処理できる摂動学習装置とその方法を提供することを目的とする。   The present invention has been made in view of this problem, and an object of the present invention is to provide a perturbation learning apparatus and method that can process weight learning at high speed.

本実施形態の一態様に係る摂動学習装置は、n個の要素から成る学習データを要素ごとに分岐した学習非対象データと、前記学習データの先頭からj個ずつm回に分けて要素ごとに分岐した学習対象データを出力する分岐部と、前記学習非対象データの前記要素ごとに、それぞれ対応する重み係数を乗じて重み学習データを計算する重み演算部と、前記学習対象データに対応する前記重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記学習対象データに乗じてj個の摂動重み学習データを計算する摂動重み演算部と、前記重み学習データのそれぞれをj+1個に分岐する第2分岐部と、j+1個に分岐された重み学習データの全てを合計した第1出力値と、j+1個の重み学習データの何れか1個を、該重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての重み学習データと合計したj個の第2出力値とを計算する結合部と、j個設けられ、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返す学習部とを備えることを要旨とする。   The perturbation learning device according to an aspect of the present embodiment includes learning non-target data obtained by branching learning data composed of n elements for each element and j elements from the beginning of the learning data divided into m times for each element. A branch unit that outputs the branched learning target data, a weight calculation unit that calculates weight learning data by multiplying a corresponding weighting factor for each element of the learning non-target data, and the learning unit data corresponding to the learning target data A perturbation weight calculation that generates a perturbation weight coefficient by adding a perturbation coefficient that corrects the weight coefficient to the weight coefficient, and multiplies the corresponding learning object data by the perturbation weight coefficient. , A second branching unit for branching each of the weight learning data into j + 1 pieces, a first output value obtained by summing all of the j + 1 pieces of weight learning data, and j + 1 weight learning data. A combining unit that calculates j second output values that are totaled with all other weight learning data by replacing any one of the above with the perturbation weight learning data corresponding to the weight learning data; The gist is provided with a learning unit that is provided and repeats the calculation of updating the weighting coefficient for every j pieces from the first output value and the second output value in units of m times.

本実施形態の他の態様に係る摂動学習装置は、n個の波長を含む波長多重光を、j+1個の波長を含む多波長光と、該多波長光に含まれない波長の単波長光とに分岐し、前記多波長光にn個の学習データの先頭からj個ずつの前記学習データをm回に分けて付与した学習対象信号と、前記単波長光に対応する重みを付与した学習非対象信号とを生成する学習データ生成部と、前記学習対象信号を、波長の異なるj個の単波長光と、それ以外の波長を含むj個の多波長光とに2分岐する光分岐部と、j個の前記多波長光のそれぞれに、対応する重み係数を乗じて第1重み学習データを計算する第1重み演算部と、j個の前記単波長光のそれぞれに対応する重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記単波長光に乗じて摂動重み学習データを計算する摂動重み演算部と、前記学習非対象信号のそれぞれに、対応する重み係数を乗じて第2重み学習データを計算する第2重み演算部と、j個の前記第1重み学習データとj個の摂動重み学習データを入力とし、j個の前記第1重み学習データを全て結合した第1結合値と、j個の前記第1重み学習データの何れか1個を、該第1重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての第1重み学習データと結合したj個の第2結合値とを出力する波長周回器と、前記第1結合値とn−j個の前記第2重み学習データを結合した第1出力値と、j個の前記第2結合値のそれぞれとn−j個の前記第2重み学習データを結合した第2出力値を生成する光結合器と、j個設けられ、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返す学習部とを備えることを要旨とする。   The perturbation learning device according to another aspect of the present embodiment includes wavelength multiplexed light including n wavelengths, multi-wavelength light including j + 1 wavelengths, and single-wavelength light having a wavelength not included in the multi-wavelength light. A learning target signal obtained by dividing the multi-wavelength light by j pieces of learning data from the beginning of n pieces of learning data and giving a weight corresponding to the single wavelength light. A learning data generation unit that generates a target signal; and an optical branching unit that splits the learning target signal into two pieces of j single-wavelength light having different wavelengths and j multi-wavelength light including other wavelengths; , A first weight calculator that calculates first weight learning data by multiplying each of the j multi-wavelength lights by a corresponding weight coefficient, and a weight coefficient corresponding to each of the j single-wavelength lights, Generating a perturbation weighting coefficient by adding a perturbation coefficient for correcting the weighting coefficient; A perturbation weight calculator that calculates the perturbation weight learning data by multiplying the corresponding single wavelength light by a number, and a second weight learning data that multiplies each of the learning non-target signals by a corresponding weight coefficient. A two-weight operation unit, j first weight learning data and j perturbation weight learning data as inputs, and a first combined value obtained by combining all the j first weight learning data; J second combination values in which any one of the first weight learning data is replaced with the perturbation weight learning data corresponding to the first weight learning data and combined with all the other first weight learning data; , A first output value obtained by combining the first combined value and nj second weight learning data, and each of the j second combined values and nj Optical coupling for generating a second output value by coupling the second weight learning data And j learning units that repeat the calculation for updating the weighting factor for each j from the first output value and the second output value in units of m times. .

本実施形態の一態様に係る摂動学習方法は、上記の摂動学習装置が行う摂動学習方法であって、分岐部が、n個の要素から成る学習データを要素ごとに分岐した学習非対象データと、前記学習データの先頭からj個ずつm回に分けて要素ごとに分岐した学習対象データを出力し、重み演算部が、前記学習非対象データの前記要素ごとに、それぞれ対応する重み係数を乗じて重み学習データを計算し、摂動重み演算部が、前記学習対象データに対応する前記重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記学習対象データに乗じてj個の摂動重み学習データを計算し、第2分岐部が、前記重み学習データのそれぞれをj+1個に分岐し、結合部が、j+1個に分岐された重み学習データの全てを合計した第1出力値と、j+1個の重み学習データの何れか1個を、該重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての重み学習データと合計したj個の第2出力値とを計算し、j個設けられた学習部が、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返すことを要旨とする。   A perturbation learning method according to an aspect of the present embodiment is a perturbation learning method performed by the perturbation learning device, wherein the branching unit includes learning non-target data obtained by branching learning data including n elements for each element. , Output learning target data that is divided into m pieces j times from the beginning of the learning data, and the weight calculation unit multiplies the corresponding weight coefficient for each element of the learning non-target data. The weight learning data is calculated, and a perturbation weight calculation unit generates a perturbation weight coefficient obtained by adding a perturbation coefficient for correcting the weight coefficient to the weight coefficient corresponding to the learning target data, and the perturbation weight coefficient is Multiplying the corresponding learning target data to calculate j perturbation weight learning data, the second branching unit branches each of the weighted learning data into j + 1 pieces, and the combining unit branches into j + 1 weights Learning The first output value obtained by summing all of the data and j + 1 weight learning data is replaced with the perturbation weight learning data corresponding to the weight learning data and summed with all other weight learning data. The j second output values are calculated, and the j learning units update the weighting coefficient for each j from the first output value and the second output value. The gist is to repeat it in units of times.

本発明によれば、重み学習を高速に処理できる摂動学習装置とその方法を提供することができる。   According to the present invention, it is possible to provide a perturbation learning apparatus and method that can process weight learning at high speed.

本発明の第1実施形態に係る摂動学習装置の機能構成例を示す図である。It is a figure which shows the function structural example of the perturbation learning apparatus which concerns on 1st Embodiment of this invention. 本実施形態に係る摂動学習装置の動作フローを示す図である。It is a figure which shows the operation | movement flow of the perturbation learning apparatus which concerns on this embodiment. 図1に示す摂動学習装置の分岐部〜結合部の間の接続関係を示す図である。It is a figure which shows the connection relationship between the branch part-coupling | bond part of the perturbation learning apparatus shown in FIG. 第1出力値と第2出力値の例を示す図である。It is a figure which shows the example of a 1st output value and a 2nd output value. 図1に示す学習部のより具体的な構成例を示す図である。It is a figure which shows the more specific structural example of the learning part shown in FIG. 図5に示す学習部の変形例を示す図である。It is a figure which shows the modification of the learning part shown in FIG. 本発明の第2実施形態に係る摂動学習装置の機能構成例を示す図である。It is a figure which shows the function structural example of the perturbation learning apparatus which concerns on 2nd Embodiment of this invention. 図7に示す学習データ生成部のより具体的な構成例を示す図である。It is a figure which shows the more specific structural example of the learning data generation part shown in FIG. 図7に示す分岐部のより具体的な構成例を示す図である。It is a figure which shows the more specific structural example of the branch part shown in FIG. 図7に示す波長周回器の作用を模式的に示す図である。It is a figure which shows typically the effect | action of the wavelength circulator shown in FIG. 図7に示す光結合部を構成する光結合器と光分岐器の作用を模式的に示す図である。It is a figure which shows typically the effect | action of the optical coupler and optical splitter which comprise the optical coupling part shown in FIG. 図7に示す光結合部を構成する光結合器の作用を模式的に示す図である。It is a figure which shows typically the effect | action of the optical coupler which comprises the optical coupling part shown in FIG. 比較例との比較結果を示す図であり、(a)はフィルタの消費電力を示す、図(b)は構成部品点数を示す図である。It is a figure which shows the comparison result with a comparative example, (a) shows the power consumption of a filter, FIG.5 (b) is a figure which shows the number of components.

以下、本発明の実施形態について図面を用いて説明する。複数の図面中同一のものに
は同じ参照符号を付し、説明は繰り返さない。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The same reference numerals are given to the same components in a plurality of drawings, and the description will not be repeated.

〔第1実施形態〕
図1に、第1実施形態に係る摂動学習装置1の機能構成例を示す。図2に、摂動学習装置1の動作フローを示す。
[First Embodiment]
FIG. 1 shows a functional configuration example of the perturbation learning device 1 according to the first embodiment. FIG. 2 shows an operation flow of the perturbation learning device 1.

摂動学習装置1は、分岐部10、重み演算部20、摂動重み演算部30、第2分岐部40、結合部50、及び学習部60を備える。摂動学習装置1は、例えば階層型ニューラルネットワークの学習演算を高速に処理する。   The perturbation learning device 1 includes a branching unit 10, a weight calculation unit 20, a perturbation weight calculation unit 30, a second branching unit 40, a combining unit 50, and a learning unit 60. The perturbation learning apparatus 1 processes, for example, a learning operation of a hierarchical neural network at high speed.

分岐部10は、n個の要素から成る学習データを要素ごとに分岐した学習非対象データXと、該学習データの先頭からj個ずつm回に分けて要素ごとに分岐した学習対象データXを出力する(ステップS1)。学習非対象データXは、学習する対象が画像であるならば、ピクセルに対応するn個の成分を持つベクトルである(式(1))。 The branching unit 10 includes learning non-target data X obtained by branching learning data composed of n elements for each element, and learning target data X j branched for each element j times from the beginning of the learning data. Is output (step S1). The learning non-target data X is a vector having n components corresponding to pixels if the learning target is an image (formula (1)).

Figure 2018116420
Figure 2018116420

重み演算部20は、学習非対象データXの要素ごとに、それぞれ対応する重み係数を乗じて重み学習データD〜Dを計算する(ステップS2)。重み演算部20は、学習非対象データXに対して連結されるニューロン値を算出する。ニューロン同士の連結の強さを表すシナプスの重みとは、学習非対象データXと同様にn個の成分を持つベクトルである(式(2))。 The weight calculator 20 calculates the weight learning data D 1 to D n by multiplying the corresponding weight coefficient for each element of the learning non-target data X (step S2). The weight calculator 20 calculates a neuron value to be connected to the learning non-target data X. The synaptic weight representing the strength of connection between neurons is a vector having n components as in the learning non-target data X (formula (2)).

Figure 2018116420
Figure 2018116420

摂動重み演算部30は、学習対象データXに対応する重み係数に、該重み係数を補正する摂動係数δを加えた摂動重み係数を生成し、該摂動重み係数を、対応する学習対象データXに乗じてj個の摂動重み学習データDδを計算する(ステップS3)。摂動重み係数は、j個の成分を持つベクトルである(式(3))。 The perturbation weight calculation unit 30 generates a perturbation weight coefficient obtained by adding a perturbation coefficient δ for correcting the weight coefficient to a weight coefficient corresponding to the learning target data X j , and the perturbation weight coefficient is converted to the corresponding learning target data X By multiplying j , j perturbation weight learning data Dδ i are calculated (step S3). The perturbation weight coefficient is a vector having j components (formula (3)).

Figure 2018116420
Figure 2018116420

第2分岐部40は、重み学習データD〜Dのそれぞれをj+1個に分岐する(ステップS4)。つまり、第2分岐部40は、1個の重み学習データDをJ+1個のD′に分岐する。同様に重み学習データD、及び重み学習データDを、J+1個のD′,D′に分岐する。 The second branching unit 40 branches each of the weight learning data D 1 to D n into j + 1 pieces (step S4). That is, the second branching unit 40 branches one weight learning data D 1 into J + 1 D 1 ′. Similarly, the weight learning data D i and the weight learning data D n are branched into J + 1 D i ′ and D n ′.

結合部50は、第2分岐部40でj+1個に分岐された重み学習データD′〜D′の全てを合計した第1出力値O(式(4))と、j+1個の重み学習データD′〜D′の何れか1個を、該重み学習データD′〜D′に対応する摂動重み学習データDδ〜Dδに置き代えて他の全ての重み学習データと合計したj個の第2出力値Oδ〜Oδ(式(5))とを計算する(ステップS5)。 The combining unit 50 includes a first output value O (equation (4)) obtained by summing all of the weight learning data D 1 ′ to D n ′ branched to j + 1 by the second branching unit 40 and j + 1 weight learning. one either data D 1 '~D n', and all other weights training data instead placed perturbation weight learning data Dδ 1 ~Dδ n corresponding to heavy saw training data D 1 'to D n' The total j second output values Oδ 1 toj (formula (5)) are calculated (step S5).

Figure 2018116420
Figure 2018116420

学習部60は、摂動重み演算部30で同時に計算する重み係数と同じ数のj個設けられ、第1出力値Oと第2出力値Oδからj個ごとに重み係数wを更新する計算をm回の単位で繰り返す(ステップS6)。更新する重み係数wi_newを求める計算は、その値が収束するまで繰り返される(ステップS7のNo)。 The learning unit 60 is provided with the same number of j as the weighting coefficients simultaneously calculated by the perturbation weight calculating unit 30 and updates the weighting factor w i every j from the first output value O and the second output value Oδ i. Is repeated in units of m times (step S6). The calculation for obtaining the weighting factor w i_new to be updated is repeated until the value converges (No in step S7).

重み係数wi_newが収束すると、重み係数は収束した値に更新される(ステップS8)。以上説明したステップS1〜S8の処理は、m回の単位で繰り返される。 When the weight coefficient wi_new converges, the weight coefficient is updated to the converged value (step S8). The processes in steps S1 to S8 described above are repeated in units of m times.

以上説明した本実施形態の摂動学習装置1によれば、重み更新の計算を並列に処理するので重み学習を高速に処理できる。また、一度に学習する学習データの数をj個に限定するので、摂動学習装置1の構成部品点数を削減することもできる。以降、図面を参照して各機能構成部を更に詳しく説明する。   According to the perturbation learning device 1 of the present embodiment described above, the weight update calculation is processed in parallel, so that the weight learning can be processed at high speed. Further, since the number of learning data to be learned at a time is limited to j, the number of component parts of the perturbation learning device 1 can be reduced. Hereinafter, each functional component will be described in more detail with reference to the drawings.

(分岐部)
図3に、分岐部10〜結合部50のより具体的な接続例を示す。分岐部10は、n個の光分波器10〜10と、マルチプレクサ11とで構成される。
(Branch part)
In FIG. 3, the more specific example of a connection of the branch part 10-the coupling | bond part 50 is shown. The branching unit 10 includes n optical demultiplexers 10 1 to 10 n and a multiplexer 11.

光分波器10〜10は、n個の要素から成る学習データを、それぞれ2分岐し、一方のA〜Aを第2分岐部40に出力し、他方のA〜Aをマルチプレクサ11に出力する。マルチプレクサ11は、学習部から与えられるmの値に応じてmj+1〜(m+1)jの範囲の学習データAmj+1〜A(m+1)jを選択して摂動重み演算部30に出力する。 The optical demultiplexers 10 1 to 10 n each branch the learning data composed of n elements into two parts, and output one A 1 to An to the second branch unit 40 and the other A 1 to An. Is output to the multiplexer 11. The multiplexer 11 selects learning data A mj + 1 to A (m + 1) j in the range of mj + 1 to (m + 1) j according to the value of m given from the learning unit, and outputs it to the perturbation weight calculation unit 30.

例えば、n=14、j=5、とした場合、学習対象データXは、X=x,x,x,x,x、X=x,x,x,x,x10、X=x11,x12,x13,x14、が3回に分けて出力される。mは0以上の整数であり、Xは次式で表せる。 For example, when n = 14 and j = 5, the learning target data X j is X j = x 1 , x 2 , x 3 , x 4 , x 5 , X j = x 6 , x 7 , x 8. , X 9 , x 10 , X j = x 11 , x 12 , x 13 , x 14 are output in three times. m is an integer of 0 or more, and X j can be expressed by the following equation.

Figure 2018116420
Figure 2018116420

光分波器10〜10は、例えば一方のA〜Aの光強度をj+1分のjとし他方のAmj+1〜A(m+1)jの光強度をj+1分の1とする。これは、後段の重み演算部20が、学習対象データXが生成される回数、学習データXを重複して参照することによる。 Optical demultiplexer 10 1 to 10 n, for example the light intensity of one A 1 to A n and j + 1 minute j other A mj + 1 ~A (m + 1) the light intensity of j to 1 j + 1 minute. This is because the weight calculation unit 20 in the subsequent stage refers to the learning data X redundantly, the number of times the learning target data X j is generated.

本実施形態では、学習対象とする学習データの数をj個に減らすことで、構成部品点数を削減している。構成部品点数の削減数の具体例については後述する。   In the present embodiment, the number of component parts is reduced by reducing the number of learning data to be learned to j. A specific example of the reduced number of component parts will be described later.

(重み演算部)
重み演算部20は、例えば液晶を用いたn個の光減衰フィルタ20〜20で構成することができる。その場合、重みwは、光減衰フィルタの透過率によって与えられる。重み演算部20に入力された学習非対象データA〜Aに対し、光減衰フィルタの透過率によって学習データXの各々を、w,w,…,w,…,w倍に変換する。
(Weight calculation part)
The weight calculation unit 20 can be composed of, for example, n light attenuation filters 20 0 to 20 n using liquid crystal. In that case, the weight w i is given by the transmittance of the light attenuation filter. Learning is input to the weight calculating unit 20 with respect to non-object data A 1 to A n, each of the learning data X by the transmittance of the light attenuating filter, w 1, w 2, ... , w i, ..., w n times Convert to

重み演算部20の出力する重み学習データは、学習データXと重みwの積演算値であり、Dと表記する(式(7))。iは、1〜nの整数である。 Weight learning data output from the weight calculation section 20 is a product operation value of the learning data X and the weight w i, is denoted as D i (Equation (7)). i is an integer of 1 to n.

Figure 2018116420
Figure 2018116420

重み演算部20として光減衰フィルタを用いる場合、電気光学(EO)変調器、音響光学(AO)変調器、MEMSミラーを利用できる。光減衰フィルタの透過率の値は、入力される信号の光強度による影響を受けない。よって、透過率の制御が比較的容易であり、与えたい透過率と実際に与えた透過率の差を小さくして計算誤差を小さくすることができる。また、光減衰フィルタの透過率は、1以上であることは原理的に不可能である。そこでw>1の場合、変換係数q>1を用いて1>wi/q=Wi′>1/qに変換すれば良い。具体的には、後段の学習部60で信号レベルをq倍に変換すれば良い。 When an optical attenuation filter is used as the weight calculation unit 20, an electro-optic (EO) modulator, an acousto-optic (AO) modulator, or a MEMS mirror can be used. The transmittance value of the light attenuation filter is not affected by the light intensity of the input signal. Therefore, the transmittance can be controlled relatively easily, and the difference between the desired transmittance and the actually applied transmittance can be reduced to reduce the calculation error. In addition, it is impossible in principle that the transmittance of the light attenuation filter is 1 or more. Therefore, when w i > 1, the conversion coefficient q> 1 may be used to convert 1> wi / q = Wi ′> 1 / q. Specifically, the signal level may be converted to q times by the learning unit 60 in the subsequent stage.

また、重み演算部20は、光増幅器で構成しても良い。その場合、半導体光増幅器(SOA)を利用できる。光増幅器では、微小な光信号を増幅して、観測可能な光強度を出力する。よって、ニューラルネットワークの規模が大きくなり、nが増加し、学習データの要素へ与えられる光強度が微小になったとしても、学習データXと重みwの積演算値の計算が可能である。また、光増幅器の増幅率は1以下であることは原理的に不可能である。そこでw<1の場合、変換係数q′<1を用いる。この場合の信号レベルの変換は、上記の光減衰フィルタを用いた場合と同じである。 Further, the weight calculation unit 20 may be configured with an optical amplifier. In that case, a semiconductor optical amplifier (SOA) can be used. The optical amplifier amplifies a minute optical signal and outputs an observable light intensity. Therefore, even if the scale of the neural network increases, n increases, and the light intensity given to the elements of the learning data becomes minute, the product operation value of the learning data X and the weight w i can be calculated. In addition, it is impossible in principle that the amplification factor of the optical amplifier is 1 or less. Therefore, when w i <1, the conversion coefficient q ′ <1 is used. The signal level conversion in this case is the same as when the above-described optical attenuation filter is used.

(摂動重み演算部)
摂動重み演算部30は、入力された学習対象データXに対して摂動重み係数を乗じて、摂動重み学習データDδiを計算する(式(8))。摂動重み係数は、重み係数に、該重み係数を補正する摂動係数δを加えたものである。摂動重み演算部30は、重み演算部20と同様に例えば光減衰フィルタ、又は光増幅器で構成できる。
(Perturbation weight calculator)
The perturbation weight calculation unit 30 multiplies the input learning target data X j by a perturbation weight coefficient to calculate perturbation weight learning data Dδ i (formula (8)). The perturbation weight coefficient is obtained by adding a perturbation coefficient δ for correcting the weight coefficient to the weight coefficient. The perturbation weight calculation unit 30 can be configured by, for example, an optical attenuation filter or an optical amplifier, similarly to the weight calculation unit 20.

Figure 2018116420
Figure 2018116420

摂動重み演算部30は、mの値に応じた摂動重み学習データDδiを計算する。例えば、n=14、j=5、とした場合、m=0では、学習対象データx〜xのそれぞれに、摂動重み係数w+δ〜w+δを乗じた摂動重み学習データDδ〜Dδを計算する。m=1では、学習対象データx〜x10のそれぞれに、摂動重み係数w+δ〜w10+δを乗じた摂動重み学習データDδ〜Dδ10を計算する。m=2では、学習対象データx11〜x14のそれぞれに、摂動重み係数w11+δ〜w14+δを乗じた摂動重み学習データDδ11〜Dδ14を計算する。 The perturbation weight calculator 30 calculates perturbation weight learning data Dδ i according to the value of m. For example, when n = 14 and j = 5, when m = 0, the perturbation weight learning data Dδ 1 obtained by multiplying the learning target data x 1 to x 5 by the perturbation weight coefficients w 1 + δ to w 5 + δ, respectively. to calculate the ~Dδ 5. When m = 1, perturbation weight learning data Dδ 6 to10 are calculated by multiplying the learning target data x 6 to x 10 by the perturbation weight coefficients w 6 + δ to w 10 + δ. When m = 2, perturbation weight learning data Dδ 11 to14 are calculated by multiplying the learning target data x 11 to x 14 by the perturbation weight coefficients w 11 + δ to w 14 + δ.

(第2分岐部)
第2分岐部40は、重み学習データDのそれぞれをj+1個に分岐する(ステップS4)。第2分岐部40は、重み学習データDをJ+1個のD′に分岐する。同様に重み学習データD、及び重み学習データDを、J+1個のD′,D′に分岐する。
(Second branch)
The second branching unit 40 branches each of the weight learning data D * into j + 1 pieces (step S4). The second branching unit 40 branches the weight learning data D 1 into J + 1 D 1 ′. Similarly, the weight learning data D i and the weight learning data D n are branched into J + 1 D i ′ and D n ′.

第2分岐部40は、分岐部10と同様に光分波器で構成することができる。光分波器としては、石英平面光導波路(PLC)、フレキシブルポリマー光導波路、及び融着延伸型ファイバーカプラ等を用いることができる。   The second branching unit 40 can be configured by an optical demultiplexer as with the branching unit 10. As the optical demultiplexer, a quartz planar optical waveguide (PLC), a flexible polymer optical waveguide, a fusion-stretch fiber coupler, or the like can be used.

(結合部)
結合部50は、第2分岐部40でj+1個に分岐された重み学習データD′〜D′の全てを合計した第1出力値O(式(4))と、j+1個の重み学習データDの何れか1個を、該重み学習データDに対応する摂動重み学習データDδに置き代えて他の全ての重み学習データDと合計したj個の第2出力値Oδ(式(5))とを計算する。
(Joining part)
The combining unit 50 includes a first output value O (equation (4)) obtained by summing all of the weight learning data D 1 ′ to D n ′ branched to j + 1 by the second branching unit 40 and j + 1 weight learning. one one of the data D *, heavy unlearned data D * corresponding to perturbation weight learning data d? * every place of the j-number of the sum of all other weighting the learning data D * second output value Oderuta * (Equation (5)) is calculated.

図4に、第1出力値Oと第2出力値Oδの例を示す。図4は、学習データXの要素数nをn=14、一度に学習する学習対象データの数jをj=5とした場合を示す。 FIG. 4 shows an example of the first output value O and the second output value Oδ * . FIG. 4 shows a case where the number n of elements of learning data X is n = 14 and the number j of learning object data to be learned at a time is j = 5.

この例の場合、結合部50は、第1出力値Oと第2出力値Oδ〜Oδを3回に分けて出力する。3回に分けて出力する第1出力値Oは、全て同じ値である。 In the case of this example, the combining unit 50 outputs the first output value O and the second output values Oδ 1 to5 in three times. The first output values O that are output in three steps are all the same value.

一方、第2出力値Oδは、3回に分けて出力される値が全て異なる。1回目のOδは、D(x)がDδに置き代えられ、他の全ての重み学習データと合計した値である。1回目のOδは、D(x22)がDδに置き代えられる。同様に、1回目のOδは、D(x55)がDδに置き代えられて他の重み学習データと合計した値である。 On the other hand, the second output value Oδ i is different in all the values output in three steps. The first Oδ 1 is a value obtained by replacing D 1 (x 1 w 1 ) with Dδ 1 and adding all the other weight learning data. In the first Oδ 2 , D 2 (x 2 w 2 ) is replaced with Dδ 2 . Similarly, the first Oδ 5 is a value obtained by replacing D 5 (x 5 w 5 ) with Dδ 5 and adding it to other weight learning data.

2回目のOδは、D6(x66)がDδ6に置き代えられ、他の全ての重み学習データと合計した値である。2回目のOδは、D7(x77)がDδ7に置き代えられる。同様に、2回目のOδは、D10(x1010)がDδ10に置き代えられて他の重み学習データと合計した値である。 The second Oδ 1 is a value obtained by replacing D 6 (x 6 w 6 ) with Dδ 6 and adding all the other weight learning data. In the second Oδ 2 , D 7 (x 7 w 7 ) is replaced with Dδ 7 . Similarly, the second Oδ 5 is a value obtained by adding D 10 (x 10 w 10 ) to Dδ 10 and adding it to other weight learning data.

3回目のOδは、D11(x1111)がDδ11に置き代えられ、他の全ての重み学習データと合計した値である。3回目のOδは、D12(x1212)がDδ12に置き代えられる。同様に、3回目のOδは、D15(x1515)がこの例では存在しないので出力なしである。 The third Oδ 1 is a value obtained by replacing D 11 (x 11 w 11 ) with Dδ 11 and adding all the other weight learning data. In the third Oδ 2 , D 12 (x 12 w 12 ) is replaced with Dδ 12 . Similarly, the third Oδ 5 has no output because D 15 (x 15 w 15 ) does not exist in this example.

(学習部)
図5に、学習部60のより具体的な構成例を示す。学習部60は、例えばアナログ電気回路で構成することができる。
(Learning Department)
FIG. 5 shows a more specific configuration example of the learning unit 60 i . The learning unit 60 i can be configured by an analog electric circuit, for example.

学習部60は、3個の差動増幅器61,62,63,65、及び計算部64を備える。学習部60は、摂動重み演算部30を構成する例えば光減衰フィルタと同じ数だけ設けられる。 The learning unit 60 i includes three differential amplifiers 61 i , 62 i , 63 i , 65 i , and a calculation unit 64 i . The learning units 60 i are provided in the same number as, for example, the optical attenuation filters constituting the perturbation weight calculation unit 30.

差動増幅器61は、結合部50が出力する第1出力値Oと、外部から入力される学習目標を表す教師値Tとの差分である第1コスト値E(O−T)を算出する。差動増幅器62は、結合部50が出力する第2出力値Oδiと、教師値Tとの差分である第2コスト値Eδiを算出する。差動増幅器43は、第1コスト値Eと第2コスト値Eδiの差分E−Eδiを算出する。 The differential amplifier 61 i calculates a first cost value E (OT) that is a difference between the first output value O output from the combining unit 50 and the teacher value T that represents the learning target input from the outside. . The differential amplifier 62 i calculates a second cost value E δi that is a difference between the second output value O δi output from the combining unit 50 and the teacher value T. Differential amplifier 43 i calculates a first cost value E and the difference E-E .delta.i the second cost value E .delta.i.

計算部64は、外部から入力される強調重みwを補正する摂動係数δと学習速度の傾きを表す学習係数η、及び差動増幅器63が出力する差分E−Eδiを入力として、重みwを更新する変化量Δwi_newを次式で計算する。 The calculation unit 64 i receives, as inputs, a perturbation coefficient δ that corrects an emphasis weight w i that is input from the outside, a learning coefficient η that represents the gradient of the learning speed, and the difference EE δi that is output from the differential amplifier 63 i . A change amount Δw i_new for updating the weight w i is calculated by the following equation.

Figure 2018116420
Figure 2018116420

差動増幅器65は、1回前の重みwi_oldに変化量Δwj_newを加えて更新した重みwi_newを出力する。 Differential amplifier 65 i outputs the weights w i - new updating by adding the change amount [Delta] w J_new once before the weight w i_old.

なお、図6に示すように差動増幅器61と63の間に第1乗算器66、及び差動増幅器62と63の間に第2乗算器67を設けても良い。第1乗算器66は、第1コスト値E(O−T)を正の値に変換する。第1乗算器66は、第1コスト値E(O−T)に同じ値を乗ずる二乗演算器で構成しても良いし、第1コスト値E(O−T)の値が負の場合に−1を乗ずる乗算器で構成しても良い。第2乗算器67も同様である。 It is also possible to provide a second multiplier 67 i between the first multiplier 66 i, and a differential amplifier 62 i and 63 i between the differential amplifier 61 i and 63 i, as shown in FIG. The first multiplier 66 i converts the first cost value E (OT) to a positive value. The first multiplier 66 i may be configured by a square calculator that multiplies the first cost value E (OT) by the same value, or when the first cost value E (OT) is negative. Alternatively, the multiplier may be multiplied by −1. The same applies to the second multiplier 67 i .

第1乗算器66と第2乗算器67を備えることで、変化量Δwi_newの計算精度を高めることができる。 By providing the first multiplier 66 i and the second multiplier 67 i , the calculation accuracy of the change amount Δw i_new can be increased.

〔第2実施形態〕
図7に、第2実施形態に係る摂動学習装置2の機能構成例を示す。摂動学習装置2は、波長多重光を用いて、例えばニューラルネットワークの重み学習を行う学習装置である。
[Second Embodiment]
FIG. 7 shows a functional configuration example of the perturbation learning device 2 according to the second embodiment. The perturbation learning device 2 is a learning device that performs weight learning of a neural network, for example, using wavelength multiplexed light.

摂動学習装置2は、学習データ生成部70、光分岐部12、第1重み演算部21、第2重み演算部22、摂動重み演算部31、波長周回器80、光結合部90、及び学習部60を備える。   The perturbation learning device 2 includes a learning data generation unit 70, an optical branching unit 12, a first weight calculation unit 21, a second weight calculation unit 22, a perturbation weight calculation unit 31, a wavelength circulator 80, an optical coupling unit 90, and a learning unit. 60.

学習データ生成部70は、n個の波長を含む波長多重光を、j+1個の波長を含む多波長光と、該多波長光に含まれない波長ごとの単波長光とに分岐し、多波長光にn個の学習データの先頭からj個ずつの学習データをm回に分けて付与した学習対象信号と、単波長光に対応する重みを付与した学習非対象信号とを生成する。   The learning data generation unit 70 branches the wavelength multiplexed light including n wavelengths into multi-wavelength light including j + 1 wavelengths and single-wavelength light for each wavelength not included in the multi-wavelength light. A learning target signal in which j pieces of learning data from the beginning of the n pieces of learning data are provided to the light divided m times and a learning non-target signal to which a weight corresponding to the single wavelength light is given are generated.

波長多重光は、n個の波長成分を持つ光源を用いて生成する。光源としては、n個の波長成分を持つ光を生成できれば良い。したがって、単波長コヒーレント光源をn個用意し、各光源から照射された光を光結合器によって合波して生成して生成しても良い。また、多波長光源を用いても良いし、インコーヒーレント光源を用いても良い。学習データ生成部70について、詳しくは後述する。   Wavelength multiplexed light is generated using a light source having n wavelength components. As the light source, it is only necessary to generate light having n wavelength components. Therefore, n single-wavelength coherent light sources may be prepared, and the light emitted from each light source may be generated and combined by an optical coupler. In addition, a multi-wavelength light source or an incoherent light source may be used. The learning data generation unit 70 will be described in detail later.

光分岐部12は、j+1個の波長を含む学習対象信号を、ある波長のj個の単波長光B〜Bと、それ以外の波長を含むj個の多波長光A〜Aとに2分岐する。例えば、j個の単波長光の波長は最も短い波長λであり、j個の多波長光は波長λ〜λの波長を含む。光分岐部12は、例えば、AWG、回折格子、プリズム、及びWDMカプラ等の波長分岐素子で構成できる。 The optical branching unit 12 receives a learning target signal including j + 1 wavelengths from j single-wavelength lights B 1 to B j having a certain wavelength and j multi-wavelength lights A 1 to A j including other wavelengths. Two branches. For example, the wavelength of j single-wavelength lights is the shortest wavelength λ 0 , and the j multi-wavelength lights include wavelengths λ 1 to λ j . The optical branching unit 12 can be composed of wavelength branching elements such as AWG, diffraction grating, prism, and WDM coupler, for example.

第1重み演算部21は、j個の多波長光のそれぞれに対応する重み係数を乗じて第1重み学習データD〜Dを計算する。第1重み学習データD〜Dは、次式で表せる。ここでiは、1〜jの整数である。 The first weight calculation unit 21 calculates the first weight learning data D 1 to D j by multiplying the weight coefficient corresponding to each of the j multi-wavelength lights. The first weight learning data D 1 to D j can be expressed by the following equation. Here, i is an integer of 1 to j.

Figure 2018116420
Figure 2018116420

ここでAは、λ〜λの波長を含む多波長光である。よって、例えばDは、多波長光に重みwmj+1を乗じた値である。この作用は、第1実施形態で説明した重み演算部20と同様に、例えば光減衰フィルタで実現できる。 Here, A 1 is multi-wavelength light including wavelengths λ 1 to λ j . Thus, for example, D 1 is a value obtained by multiplying the multi-wavelength light by the weight w mj + 1 . This effect can be realized by, for example, an optical attenuation filter, similarly to the weight calculation unit 20 described in the first embodiment.

摂動重み演算部31は、j個の単波長光のそれぞれに対応する重み係数に、該重み係数を補正する摂動係数δを加えた摂動重み係数を生成し、該摂動重み係数を、対応する単波長光に乗じて摂動重み学習データを計算する。摂動重み学習データDδ〜Dδは、次式で表せる。ここでBは、λの波長の単波長光である。 The perturbation weight calculation unit 31 generates a perturbation weight coefficient obtained by adding a perturbation coefficient δ for correcting the weight coefficient to a weight coefficient corresponding to each of the j single-wavelength lights, and the perturbation weight coefficient The perturbation weight learning data is calculated by multiplying the wavelength light. The perturbation weight learning data Dδ 1 toj can be expressed by the following equations. Here, B 1 is single wavelength light having a wavelength of λ 0 .

Figure 2018116420
Figure 2018116420

第2重み演算部22は、学習非対象信号のそれぞれに、対応する重み係数を乗じて第2重み学習データDj+1〜Dを計算する。例えば、第2重み学習データDj+1は次式で表せる。第2重み学習データDは、式(12)の添え字がj+1→nに変わる。 The second weight calculation unit 22 calculates second weight learning data D j + 1 to D n by multiplying each learning non-target signal by a corresponding weight coefficient. For example, the second weight learning data D j + 1 can be expressed by the following equation. In the second weight learning data D n , the subscript of Expression (12) changes from j + 1 → n.

Figure 2018116420
Figure 2018116420

波長周回器80は、j個の第1重み学習データD〜Dとj個の摂動重み学習データDδ〜Dδを入力とし、j個の第1重み学習データD〜Dを全て結合した第1結合値D1と、j個の第1重み学習データD〜Dの何れか1個を、該第1重み学習データD〜Dに対応する摂動重み学習データDδ〜Dδに置き代えて他の全ての第1重み学習データと結合したj個の第2結合値D2〜D2とを出力する。 The wavelength circulator 80 receives j pieces of first weight learning data D 1 to D j and j pieces of perturbation weight learning data Dδ 1 toj, and inputs the j pieces of first weight learning data D 1 to D j . a first coupling value D1 which all bonds, one or of the j first weight learning data D 1 to D j, perturbation weight learning data d? 1 corresponding to the first weight learning data D 1 to D j ˜Dδ j are output, and j second combined values D2 1 to D2 j combined with all the other first weight learning data are output.

波長周回器80は、例えばAWGで構成できる。波長周回器80は、多波長光りが入力されると、多波長光を波長ごとに分岐して、入力ポートから波長の整数倍離れた距離の出力ポートに出力し、多波長光を生成する作用をする。この作用を用いて和演算する積演算値を選択する。波長周回器80について、詳しくは後述する。   The wavelength circulator 80 can be composed of, for example, AWG. When the multi-wavelength light is input, the wavelength circulator 80 branches the multi-wavelength light for each wavelength and outputs the multi-wavelength light to an output port at a distance that is an integer multiple of the wavelength away from the input port to generate multi-wavelength light. do. A product operation value to be summed is selected using this action. The wavelength circulator 80 will be described in detail later.

光結合部90は、第1結合値D1とn−j個の第2重み学習データDj+1〜Dを結合した第1出力値Oと、第2結合値D2〜D2のそれぞれと第2重み学習データDj+1〜Dを結合した第2出力値Oδ〜Oδを生成する。第1出力値Oと第2出力値Oδは次式で表せる。但し、j≦n≦2jの場合である。 The optical coupling unit 90 includes a first output value O obtained by combining the first combined value D1 and n−j pieces of second weight learning data D j + 1 to D n , second combined values D2 1 to D2 j , and the first output value O. Second output values Oδ 1 toj obtained by combining the two weight learning data D j + 1 to D n are generated. The first output value O and the second output value Oδ i can be expressed by the following equations. However, it is a case of j <= n <= 2j.

Figure 2018116420
Figure 2018116420

最後の和演算は、波長周回器80で光結合を行った光信号の光強度を受光器によって読み取ることで行う。なお、受光器の表記は省略している。   The final sum operation is performed by reading the light intensity of the optical signal optically coupled by the wavelength circulator 80 with a light receiver. The notation of the light receiver is omitted.

学習部60は、第1出力値Oと第2出力値Oδ〜Oδからj個ごとに重み係数をそれぞれ更新する計算を、m回の単位で繰り返す。学習部60は、参照符号から明らかなように第1実施形態と同じである。 The learning unit 60 repeats the calculation of updating the weighting factor for each j from the first output value O and the second output values Oδ 1 toj in units of m times. The learning unit 60 is the same as that of the first embodiment as is apparent from the reference numerals.

以上説明したように本実施形態の摂動学習装置2によれば、重み更新の計算を並列に処理するので重み学習を高速に処理できる。また、一度に学習する学習データの数をj個に限定するので、摂動学習装置2の構成部品点数を削減することもできる。以降、図面を参照して各機能構成部を更に詳しく説明する。   As described above, according to the perturbation learning apparatus 2 of the present embodiment, the weight update calculation is processed in parallel, so that the weight learning can be processed at high speed. Further, since the number of learning data to be learned at a time is limited to j, the number of component parts of the perturbation learning device 2 can be reduced. Hereinafter, each functional component will be described in more detail with reference to the drawings.

(学習データ生成部)
図8に、より具体的な学習データ生成部70の機能構成例を示す。学習データ生成部70は、波長分岐部71、波長合成部72、光分岐部73、第1学習データフィルタ74、第2学習データフィルタ75、及び光結合部76を備える。
(Learning data generator)
FIG. 8 shows a more specific functional configuration example of the learning data generation unit 70. The learning data generation unit 70 includes a wavelength branching unit 71, a wavelength synthesizing unit 72, an optical branching unit 73, a first learning data filter 74, a second learning data filter 75, and an optical coupling unit 76.

波長分岐部71は、n個の波長を含む波長多重光を、波長ごと(λ,…,λ,…λ)の単波長光に分波する。波長分岐部71は、上記の通りAWG等の波長分岐素子で構成される。 The wavelength branching unit 71 demultiplexes wavelength multiplexed light including n wavelengths into single wavelength light for each wavelength (λ 0 ,..., Λ j ,... Λ n ). The wavelength branching unit 71 is configured by a wavelength branching element such as AWG as described above.

例えば、最も波長の短い波長λ〜λまでのJ+1個の単波長光は、波長合成部72に入力され、波長λj+1〜λまでのn−j個の単波長光は第2学習データフィルタ75に入力される。 For example, most single-wavelength light shorter to wavelength λ 0j J + 1 single wavelength is inputted to the wavelength combining unit 72, n-j-number of single-wavelength light and the second learning to wavelength λ j + 1n Input to the data filter 75.

波長合成部72は、波長分岐部71で分波した最短の波長からj+1番目に長い波長までの単波長光を合波する。波長合成部72は、波長分岐部71と同様に波長分岐素子で構成できる。   The wavelength synthesizer 72 multiplexes single wavelength light from the shortest wavelength demultiplexed by the wavelength branching unit 71 to the j + 1st longest wavelength. The wavelength synthesizer 72 can be configured with a wavelength branching element in the same manner as the wavelength branching unit 71.

なお、波長分岐部71と波長合成部72を、1組の波長分岐素子で構成する代わりに光合成器であるカプラを用いても良い。光合成器を用いた場合は、損失無しで結合することは原理的に不可能であるため、変換係数q>1を用い、後段の学習部60において信号をq倍すれば良い。   It should be noted that the wavelength branching unit 71 and the wavelength synthesizing unit 72 may be a coupler which is an optical combiner instead of a single set of wavelength branching elements. In the case of using a photo combiner, since it is impossible in principle to combine without loss, the conversion coefficient q> 1 is used, and the signal may be multiplied by q in the subsequent learning unit 60.

光分岐部73は、波長合成部72の出力する信号をj個に等分岐する。光分岐部73は、石英平面光導波路(PLC)、フレキシブルポリマー光導波路等で構成できる。   The optical branching unit 73 equally divides the signal output from the wavelength combining unit 72 into j signals. The optical branching unit 73 can be configured by a quartz flat optical waveguide (PLC), a flexible polymer optical waveguide, or the like.

第1学習データフィルタ74は、光分岐部73の出力するj個の信号のそれぞれに、n個の学習データの先頭からj個ずつm回に分けて学習データを付与した学習対象信号を生成する。学習データx〜xは、学習部60から入力されるmによって次式に示すように変化する。 The first learning data filter 74 generates a learning target signal in which learning data is assigned to each of the j signals output from the optical branching unit 73 by dividing the j learning data into m times from the beginning of the n learning data. . The learning data x 1 to x j change as indicated by the following equation depending on m input from the learning unit 60.

Figure 2018116420
Figure 2018116420

j=5,n=14とした場合、m=0ではx=x,…,x=x、m=1ではx=x,…,x10=x、m=2ではx=x11,…,x3=x14である。このように、学習データは、j個ずつm回に分けて付与される。 When j = 5 and n = 14, when m = 0, x 1 = x 1 ,..., x 5 = x 5 , and when m = 1, x 1 = x 6 ,..., x 10 = x 5 , m = 2 Then, x 1 = x 11 ,..., X 3 = x 14 . In this way, the learning data is given j times m times.

第2学習データフィルタ75は、波長分岐部71の出力するn−j個の信号のそれぞれに、n−j個の学習データを付与した学習非対象信号を生成する。m=0では波長λj+1の単波長光にx、波長λの単波長光にxの学習データが付与される。 The second learning data filter 75 generates a learning non-target signal in which n−j learning data is added to each of the n−j signals output from the wavelength branching unit 71. When m = 0, x 6 learning data is assigned to single wavelength light of wavelength λ j + 1 and x n learning data is assigned to single wavelength light of wavelength λ n .

光結合部76は、第1学習データフィルタ74のj個の出力信号を結合した学習対象信号を生成する。学習対象信号は、光分岐部12に出力する。   The optical coupling unit 76 generates a learning target signal obtained by combining the j output signals of the first learning data filter 74. The learning target signal is output to the optical branching unit 12.

(第2実施形態の分岐部)
図9に、光分岐部12のより具体的な機能構成例を示す。光分岐部12は、波長分岐部12、波長合成部12、第1光分岐部12、及び第2光分岐部12を備える。
(Branching part of 2nd Embodiment)
FIG. 9 shows a more specific functional configuration example of the optical branching unit 12. Optical branching unit 12 is provided with the wavelength branching unit 12 1, the wavelength combining unit 12 2, the first optical branching unit 12 3, and a second optical branching unit 12 4.

波長分岐部12と波長合成部12の関係は、学習データ生成部70の波長分岐部71と波長合成部72の関係と同じである。この例では、波長分岐部12と波長合成部12で学習対象信号に含まれるλ〜λの波長を、最も短い波長λの単波長光と、それ以外の波長を含む多波長光に分岐する。 Relationship between the wavelength branching unit 12 1 and the wavelength combining unit 12 2 is the same as the relationship between the wavelength branching unit 71 and the wavelength combining unit 72 of the learning data generating unit 70. In this example, the wavelengths of λ 0 to λ j included in the learning target signal in the wavelength branching unit 12 1 and the wavelength synthesizing unit 12 2 are the single wavelength light having the shortest wavelength λ 0 and multiple wavelengths including other wavelengths. Branch to light.

第1光分岐部12は、多波長光をj個の多波長光A〜Aに分岐する。第2光分岐部12は、単波長光をj個の単波長光B〜Bに分岐する。 The first optical splitter 12 3 branches the multiple wavelength light in the j multi-wavelength light A 1 to A j. Second optical branching unit 12 4 branches the single-wavelength light in the j single-wavelength light B 1 .about.B j.

(波長周回器)
図10に、波長周回器80の作用を模式的に示す。波長周回器80は、第1重み学習データD〜Dと摂動重み学習データDδ〜Dδを入力として、第1結合値D1と第2結合値D2〜D2を出力する。
(Wavelength circulator)
FIG. 10 schematically shows the operation of the wavelength circulator 80. The wavelength circulator 80 receives the first weight learning data D 1 to D j and the perturbation weight learning data Dδ 1 toj, and outputs the first combined value D1 and the second combined values D2 1 to D2 j .

第1結合値D1は、j個の第1重み学習データD〜Dの全てを合計(結合)した値である。第2結合値D2は、第1重み学習データDを摂動重み学習データDδに置き代えて、摂動重み学習データDδと第1重み学習データDを除く他の第1重み学習データD〜Dを合計した値である。 The first combined value D1 is a value obtained by summing (combining) all of the j pieces of first weight learning data D 1 to D j . The second combined value D2 1 is obtained by replacing the first weight learning data D 1 with the perturbation weight learning data Dδ 1 and other first weight learning data excluding the perturbation weight learning data Dδ 1 and the first weight learning data D 1. It is a value obtained by summing D 2 to D j .

第2結合値D2は、第1重み学習データDを摂動重み学習データDδに置き代えて、摂動重み学習データDδと第1重み学習データDを除く他の第1重み学習データD〜Dj−1を合計した値である。 The second combined value D2 j replaces the first weight learning data D j with the perturbation weight learning data Dδ j , and other first weight learning data excluding the perturbation weight learning data Dδ j and the first weight learning data D j. It is a value obtained by summing D 1 to D j−1 .

このように、波長周回器80は、j個の第1重み学習データD〜Dを全て結合した第1結合値D1と、j個の第1重み学習データD〜Dの何れか1個を、該第1重み学習データに対応する摂動重み学習データに置き代えて他の全ての第1重み学習データと結合したj個の第2結合値D2〜D2とを出力する。 Thus, the wavelength orbiting unit 80 includes a first coupling value D1 bound all the j first weight learning data D 1 to D j, one of the j first weight learning data D 1 to D j one, to output the first weight learning corresponding to the data perturbation weight learning data every place the j second coupling value D2 1 ~ D2 coupled with all the other first weight learning data j.

(光結合部)
光結合部90は、光結合器91、光分岐器92、及び光結合器93を備える。図11に、光結合器91と光分岐器92の作用を模式的に示す。図12に、光結合器93の作用を模式的に示す。
(Optical coupling part)
The optical coupler 90 includes an optical coupler 91, an optical splitter 92, and an optical coupler 93. FIG. 11 schematically shows the operation of the optical coupler 91 and the optical splitter 92. FIG. 12 schematically shows the operation of the optical coupler 93.

光結合器91は、今回学習しない重みを付与した非学習対象信号Dj+1〜Dを結合(合波)する。今回とは、m回の回数の何れかのことである。 The optical coupler 91 combines (combines) the non-learning target signals D j + 1 to D n to which weights that are not learned this time are given. This time is one of m times.

光分岐器92は、結合した非学習対象信号Dj+1〜Dをj+1個に等分岐する。j+1とは、同時に学習する重みの数+1の数である。 The optical branching device 92 equally branches the combined non-learning target signals D j + 1 to D n into j + 1. j + 1 is the number of weights to be learned simultaneously + 1.

光結合器93は、波長周回器80を通過した今回学習する重みを付与した第1結合値D1及び第2結合値D2〜D2のそれぞれに、非学習対象信号Dj+1〜Dを結合させて第1出力値Oと第2出力値Oδ〜Oδを生成する。 The optical coupler 93 couples the non-learning target signals D j + 1 to D n to the first coupling value D1 and the second coupling values D2 1 to D2 j to which the current learning weight passed through the wavelength circulator 80 is given. Thus, the first output value O and the second output values Oδ 1 toj are generated.

図12に示す第1出力値Oと第2出力値Oδ〜Oδの関係は、図4に示した第1実施形態の両者の関係と同じである。つまり、本実施形態は、波長多重光に学習する重みが付与されている点で異なるだけで作用効果は第1実施形態と同じである。 The relationship between the first output value O and the second output values Oδ 1 toj shown in FIG. 12 is the same as the relationship between both in the first embodiment shown in FIG. That is, the present embodiment is the same as the first embodiment except that the present embodiment is different only in that a learning weight is given to the wavelength multiplexed light.

(比較例との対比)
以上説明した摂動学習装置1,2によれば重み学習を高速化できる。そこで、本実施形態の効果を確認する目的で、比較例と摂動学習装置1(図1)の学習速度の比較を行った。学習速度の比較は、ニューラルネットワークのハードウェアにおいて、1秒間に書き換え可能なパラメータの更新回数CUPS(Connections Updated Per Second)を比較することで行った。
(Contrast with comparative example)
According to the perturbation learning devices 1 and 2 described above, the weight learning can be speeded up. Therefore, for the purpose of confirming the effect of the present embodiment, the learning speeds of the comparative example and the perturbation learning device 1 (FIG. 1) were compared. The learning speed was compared by comparing the number of parameter updates CUPS (Connections Updated Per Second) that can be rewritten per second in the hardware of the neural network.

シミュレーションの条件は、比較例を、ニューラルネットワークの規模を10000ニューロンであるとき、動作クロック3GHz、8コアのCPUを使用とした。比較例のCPUによる重み書き換え数は、1.8MCUPSと試算された。   The simulation conditions were as follows: when the neural network scale was 10,000 neurons, an operation clock of 3 GHz and an 8-core CPU were used. The number of weight rewrites by the CPU of the comparative example was estimated to be 1.8 MCUPS.

本実施形態の構成で、摂動重み演算部31で同時に計算する重みの数を10個としてシミュレーションした。条件は、入力フィルタとして用いる空間光り変調器の時定数を0.1ns、重みフィルタとして用いる空間光変調器の時定数を0.1ns、受光器として用いるアバランシェフォトダイオードの時定数を1ns、重み変化量を演算するアナログ回路の遅延を0.1ns、重み更新量を指令するコントローラの遅延を1nsと仮定した。   In the configuration of this embodiment, the number of weights simultaneously calculated by the perturbation weight calculation unit 31 is 10 and simulated. The conditions are: the time constant of the spatial light modulator used as the input filter is 0.1 ns, the time constant of the spatial light modulator used as the weight filter is 0.1 ns, the time constant of the avalanche photodiode used as the light receiver, and the weight change amount The delay of the analog circuit to calculate is assumed to be 0.1 ns, and the delay of the controller that commands the weight update amount is assumed to be 1 ns.

本実施形態の重み書き換え数は100MCPUSと試算された。比較例に対して50倍以上に高速化することができた。   The number of weight rewrites in this embodiment is estimated to be 100 MCPUS. The speed could be increased 50 times or more compared to the comparative example.

また、本実施形態によれば低消費電力化が図れる。図13に、比較した結果の一例を示す。図13(a)に、フィルタの消費電力を比較した例、図13(b)に構成部品点数を比較した例を示す。   Further, according to the present embodiment, low power consumption can be achieved. FIG. 13 shows an example of the comparison result. FIG. 13A shows an example in which the power consumption of the filter is compared, and FIG. 13B shows an example in which the number of components is compared.

ニューラルネットワークの規模は10000ニューロンで比較した。同時に学習する重みの数を10個とし、フィルタサイズを800×600ピクセル、消費電力を50VA、データ1成分当たりのフィルタサイズを8ピクセルと仮定した。   The scale of the neural network was compared with 10,000 neurons. It was assumed that the number of weights to be learned simultaneously was 10, the filter size was 800 × 600 pixels, the power consumption was 50 VA, and the filter size per data component was 8 pixels.

その条件で、比較例のフィルタの消費電力は183.3kVAと試算された。一方、本実施形態は16.7kVAと試算された。比較例に対して消費電力を約10分の1にすることができた。   Under these conditions, the power consumption of the filter of the comparative example was estimated to be 183.3 kVA. On the other hand, this embodiment was estimated to be 16.7 kVA. Compared with the comparative example, the power consumption could be reduced to about 1/10.

また、本実施形態の摂動学習装置1,2は、当該装置を構成する構成部品点数を削減することもできる。図13(b)に示すように、ニューロンに依存しないで本実施形態の構成部品点数は、比較例に対して一桁少なくて済む。なお、第2実施形態では波長周回器80を用いるため、部品点数が増加する(二点鎖線)。但し、増加分はニューロン数に依存せず10数個で一定である。よって、摂動学習装置2でも十分に構成分品点数を削減することができる。   Moreover, the perturbation learning apparatuses 1 and 2 of this embodiment can also reduce the number of components constituting the apparatus. As shown in FIG. 13B, the number of component parts of this embodiment can be reduced by an order of magnitude compared to the comparative example without depending on neurons. In the second embodiment, since the wavelength circulator 80 is used, the number of parts increases (two-dot chain line). However, the increment is not more than the number of neurons and is constant at a dozen. Therefore, the perturbation learning device 2 can sufficiently reduce the number of component parts.

以上説明したように本実施形態の摂動学習装置1,2によれば、重み学習を、高速化、低消費電力化、及び小型化することができる。   As described above, according to the perturbation learning devices 1 and 2 of the present embodiment, weight learning can be speeded up, reduced in power consumption, and reduced in size.

摂動学習装置2は、光部品を用いて構成した例で説明を行った。光をキャリアとして用いると、3次元空間に光配線を形成することができ、ショートの恐れや配線の取り回しといったデメリットが少ない。   The perturbation learning device 2 has been described with an example configured using optical components. When light is used as a carrier, an optical wiring can be formed in a three-dimensional space, and there are few demerits such as a short circuit and wiring.

なお、本発明はこの例に限定されない。例えば、摂動学習装置1の分岐部10は、不等分岐の例で説明したが、等分岐する分岐部10で構成しても良い。等分岐する場合は、摂動重み演算部30と結合部50との間に、信号をj分の1に減衰する減衰器を設ければ良い。また、光部品を用いずに本実施形態の摂動学習装置1を構成しても良い。光は電磁波の一種である。よって、例えば分岐部10は、電磁波分岐器で構成することが可能である。また、結合部50も電磁波結合器で構成することが可能である。このように本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で変形が可能である。   Note that the present invention is not limited to this example. For example, the branching unit 10 of the perturbation learning device 1 has been described with an example of unequal branching, but may be configured with a branching unit 10 that branches equally. In the case of equal branching, an attenuator that attenuates the signal to 1 / j may be provided between the perturbation weight calculation unit 30 and the coupling unit 50. Moreover, you may comprise the perturbation learning apparatus 1 of this embodiment, without using an optical component. Light is a type of electromagnetic wave. Therefore, for example, the branching unit 10 can be configured by an electromagnetic wave branching device. The coupling unit 50 can also be configured by an electromagnetic wave coupler. Thus, the present invention is not limited to the above-described embodiment, and can be modified within the scope of the gist thereof.

本実施の形態は、例えば階層型ニューラルネットワークの学習装置に適用することができ、光コンピューティングなどの分野に利用可能である。   The present embodiment can be applied to, for example, a learning device for a hierarchical neural network, and can be used in fields such as optical computing.

1、2:摂動学習装置
10、12:分岐部
10、10、10:光分波器
11:マルチプレクサ
12、73:光分岐部
12:波長分岐部
12:波長合成部
12:第1光分岐部
12:第2光分岐部
20:重み演算部
20、20、20:光減衰フィルタ
30:摂動重み演算部
40:第2分岐部
50:結合部
60、60、60:学習部
61,62,63,65:差動増幅器
64:計算部
70:学習データ生成部
74:第1学習データフィルタ
75:第2学習データフィルタ
80:波長周回器
76、90:光結合部
91:光結合器
92:光分岐器
1, 2: Perturbation learning device 10, 12: Branching unit 10 1 , 10 i , 10 n : Optical demultiplexer 11: Multiplexer 12, 73: Optical branching unit 12 1 : Wavelength branching unit 12 2 : Wavelength synthesizing unit 12 3 : First optical branching unit 12 4 : second optical branching unit 20: weight calculation units 20 0 , 20 i , 20 n : optical attenuation filter 30: perturbation weight calculation unit 40: second branching unit 50: coupling units 60 and 60 1 , 60 j : learning unit 61 j , 62 j , 63 j , 65 i : differential amplifier 64 j : calculation unit 70: learning data generation unit 74: first learning data filter 75: second learning data filter 80: wavelength Circulators 76, 90: optical coupler 91: optical coupler 92: optical splitter

Claims (8)

n個の要素から成る学習データを要素ごとに分岐した学習非対象データと、前記学習データの先頭からj個ずつm回に分けて要素ごとに分岐した学習対象データを出力する分岐部と、
前記学習非対象データの前記要素ごとに、それぞれ対応する重み係数を乗じて重み学習データを計算する重み演算部と、
前記学習対象データに対応する前記重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記学習対象データに乗じてj個の摂動重み学習データを計算する摂動重み演算部と、
前記重み学習データのそれぞれをj+1個に分岐する第2分岐部と、
j+1個に分岐された重み学習データの全てを合計した第1出力値と、j+1個の重み学習データの何れか1個を、該重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての重み学習データと合計したj個の第2出力値とを計算する結合部と、
j個設けられ、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返す学習部と
を備えることを特徴とする摂動学習装置。
a learning non-target data obtained by branching learning data consisting of n elements for each element; a branching unit that outputs learning target data branched for each element j times from the beginning of the learning data; and
A weight calculation unit that calculates weight learning data by multiplying a corresponding weighting factor for each element of the learning non-target data,
A perturbation weight coefficient obtained by adding a perturbation coefficient for correcting the weight coefficient to the weight coefficient corresponding to the learning target data is generated, and the perturbation weight coefficient is multiplied by the corresponding learning target data to obtain j perturbation weights. A perturbation weight calculator for calculating learning data;
A second branching unit for branching each of the weight learning data into j + 1 pieces;
The first output value obtained by summing all the j + 1 weight learning data and any one of the j + 1 weight learning data are replaced with the perturbation weight learning data corresponding to the weight learning data. A combining unit that calculates all the weight learning data of j and the total of j second output values;
a perturbation learning comprising: a learning unit which is provided with j and repeats the calculation of updating the weighting coefficient for each j from the first output value and the second output value in units of m times. apparatus.
前記学習データは光信号であり、
前記分岐部は、n個の前記学習非対象データの光強度をj+1分のjの光強度を持つ信号とし、前記学習対象データの光強度をj+1分の1の光強度を持つ信号とすることを特徴とする請求項1に記載の摂動学習装置。
The learning data is an optical signal,
The branching unit sets the light intensity of the n learning non-target data as a signal having a light intensity of j + 1 / j, and the light intensity of the learning target data as a signal having a light intensity of j + 1 /. The perturbation learning device according to claim 1.
前記学習部は、前記摂動重み演算部と同じ数設けられ、前記第1出力値から学習目標を表す教師値を減じた第1コスト値、前記第2出力値のそれぞれから前記教師値を減じた第2コスト値、前記摂動係数、及び学習速度の傾きを表す学習係数から、前記重み係数を更新する変化量を求める計算を、前記m回の単位で繰り返すことを特徴とする請求項1又は2に記載の摂動学習装置。   The learning unit is provided in the same number as the perturbation weight calculation unit, and the teacher value is subtracted from each of the first cost value obtained by subtracting the teacher value representing the learning target from the first output value and the second output value. The calculation for obtaining the amount of change for updating the weighting coefficient from the second cost value, the perturbation coefficient, and the learning coefficient representing the gradient of the learning speed is repeated in units of m times. The perturbation learning device described in 1. 前記学習部は、前記第1コスト値をE、前記第2コスト値をEδi、前記摂動係数をδ、及び前記学習係数をηとした場合に、
Figure 2018116420
前記変化量Δwi_newを、上の式で計算することを特徴とする請求項3に記載の摂動学習装置。
When the learning unit sets the first cost value as E, the second cost value as E δi , the perturbation coefficient as δ, and the learning coefficient as η,
Figure 2018116420
4. The perturbation learning device according to claim 3, wherein the change amount [Delta] wi_new is calculated by the above formula.
前記第1コスト値を正の値に変換する第1乗算器と、前記第2コスト値を正の値に変換する第2乗算器を備えたことを特徴とする請求項4に記載の摂動学習装置。   5. The perturbation learning according to claim 4, further comprising: a first multiplier that converts the first cost value into a positive value; and a second multiplier that converts the second cost value into a positive value. apparatus. n個の波長を含む波長多重光を、j+1個の波長を含む多波長光と、該多波長光に含まれない波長の単波長光とに分岐し、前記多波長光にn個の学習データの先頭からj個ずつの前記学習データをm回に分けて付与した学習対象信号と、前記単波長光に対応する重みを付与した学習非対象信号とを生成する学習データ生成部と、
前記学習対象信号を、波長の異なるj個の単波長光と、それ以外の波長を含むj個の多波長光とに2分岐する光分岐部と、
j個の前記多波長光のそれぞれに、対応する重み係数を乗じて第1重み学習データを計算する第1重み演算部と、
j個の前記単波長光のそれぞれに対応する重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記単波長光に乗じて摂動重み学習データを計算する摂動重み演算部と、
前記学習非対象信号のそれぞれに、対応する重み係数を乗じて第2重み学習データを計算する第2重み演算部と、
j個の前記第1重み学習データとj個の摂動重み学習データを入力とし、j個の前記第1重み学習データを全て結合した第1結合値と、j個の前記第1重み学習データの何れか1個を、該第1重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての第1重み学習データと結合したj個の第2結合値とを出力する波長周回器と、
前記第1結合値とn−j個の前記第2重み学習データを結合した第1出力値と、j個の前記第2結合値のそれぞれとn−j個の前記第2重み学習データを結合した第2出力値を生成する光結合器と、
j個設けられ、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返す学習部と
を備えることを特徴とする摂動学習装置。
Wavelength multiplexed light including n wavelengths is branched into multi-wavelength light including j + 1 wavelengths and single-wavelength light having a wavelength not included in the multi-wavelength light, and n learning data is included in the multi-wavelength light. A learning data generation unit that generates a learning target signal to which j pieces of learning data from the top of the learning data are given m times, and a learning non-target signal to which a weight corresponding to the single wavelength light is given,
An optical branching unit that bifurcates the learning target signal into j single-wavelength lights having different wavelengths and j multi-wavelength lights including other wavelengths;
a first weight calculator that calculates first weight learning data by multiplying each of the j multi-wavelength lights by a corresponding weight coefficient;
A perturbation weight coefficient is generated by adding a perturbation coefficient for correcting the weight coefficient to a weight coefficient corresponding to each of the j single-wavelength lights, and the perturbation weight coefficient is multiplied by the corresponding single wavelength light to perturb. A perturbation weight calculator for calculating weight learning data;
A second weight calculator that calculates second weight learning data by multiplying each of the learning non-target signals by a corresponding weight coefficient;
The j first weight learning data and the j perturbation weight learning data are input, and a first combined value obtained by combining all the j first weight learning data, and the j first weight learning data. Wavelength circulator for outputting j second combined values obtained by replacing any one of them with the perturbation weight learning data corresponding to the first weight learning data and combining with all the other first weight learning data When,
The first output value obtained by combining the first combined value and nj second weight learning data, and the j second combined value and nj second weight learning data are combined. An optical coupler for generating a second output value,
a perturbation learning comprising: a learning unit which is provided with j and repeats the calculation of updating the weighting coefficient for each j from the first output value and the second output value in units of m times. apparatus.
前記学習データ生成部は、
n個の波長を含む波長多重光を、波長ごとに分波する波長分岐部と、
前記波長分岐部で分波した最短の波長からj+1番目に長い波長までの波長成分を合波する波長合波部と、
前記波長合波部の出力する信号をj個に等分岐する光分岐部と、
前記光分岐部の出力するj個の信号のぞれぞれに、n個の学習データの先頭からj個ずつm回に分けて前記学習データを付与する第1学習データフィルタと、
前記光分岐部の出力するn−j個の信号のそれぞれに、n−j個の学習データを付与した学習非対象信号を生成する第2学習データフィルタと、
前記第1学習データフィルタのj個の出力信号を結合した学習対象信号を生成する光結合部と
を備えることを特徴とする請求項6に記載の摂動学習装置。
The learning data generation unit
a wavelength branching unit that demultiplexes wavelength multiplexed light including n wavelengths for each wavelength;
A wavelength combining unit that combines wavelength components from the shortest wavelength demultiplexed by the wavelength branching unit to the j + 1st longest wavelength;
An optical branching unit for equally branching the signal output from the wavelength multiplexing unit into j pieces;
A first learning data filter that assigns the learning data to each of j signals output from the optical branching unit by dividing j times from the beginning of n learning data into m times;
A second learning data filter that generates a learning non-target signal obtained by adding nj learning data to each of the nj signals output from the optical branching unit;
The perturbation learning device according to claim 6, further comprising: an optical coupling unit configured to generate a learning target signal obtained by combining the j output signals of the first learning data filter.
摂動学習装置が行う摂動学習方法であって、
分岐部が、n個の要素から成る学習データを要素ごとに分岐した学習非対象データと、前記学習データの先頭からj個ずつm回に分けて要素ごとに分岐した学習対象データを出力し、
重み演算部が、前記学習非対象データの前記要素ごとに、それぞれ対応する重み係数を乗じて重み学習データを計算し、
摂動重み演算部が、前記学習対象データに対応する前記重み係数に、該重み係数を補正する摂動係数を加えた摂動重み係数を生成し、該摂動重み係数を、対応する前記学習対象データに乗じてj個の摂動重み学習データを計算し、
第2分岐部が、前記重み学習データのそれぞれをj+1個に分岐し、
結合部が、j+1個に分岐された重み学習データの全てを合計した第1出力値と、j+1個の重み学習データの何れか1個を、該重み学習データに対応する前記摂動重み学習データに置き代えて他の全ての重み学習データと合計したj個の第2出力値とを計算し、
j個設けられた学習部が、前記第1出力値と前記第2出力値からj個ごとに前記重み係数をそれぞれ更新する計算を、前記m回の単位で繰り返す
ことを特徴とする摂動学習方法。
A perturbation learning method performed by a perturbation learning device,
A branching unit outputs learning non-target data obtained by branching learning data composed of n elements for each element, and learning target data branched for each element j times from the beginning of the learning data,
A weight calculation unit calculates weight learning data by multiplying a corresponding weighting factor for each element of the learning non-target data,
A perturbation weight calculation unit generates a perturbation weight coefficient obtained by adding a perturbation coefficient for correcting the weight coefficient to the weight coefficient corresponding to the learning target data, and multiplies the corresponding learning target data by the perturbation weight coefficient. To calculate j perturbation weight learning data,
A second branching unit branches each of the weight learning data into j + 1 pieces;
The combining unit adds any one of the first output value obtained by summing all the weight learning data branched into j + 1 pieces and the j + 1 weight learning data to the perturbation weight learning data corresponding to the weight learning data. Replacing all other weight learning data with the summed j second output values,
A perturbation learning method characterized in that j learning units repeat the calculation of updating the weighting factor for each j from the first output value and the second output value in units of m times. .
JP2017006062A 2017-01-17 2017-01-17 Perturbation learning device and method Active JP6655032B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017006062A JP6655032B2 (en) 2017-01-17 2017-01-17 Perturbation learning device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017006062A JP6655032B2 (en) 2017-01-17 2017-01-17 Perturbation learning device and method

Publications (2)

Publication Number Publication Date
JP2018116420A true JP2018116420A (en) 2018-07-26
JP6655032B2 JP6655032B2 (en) 2020-02-26

Family

ID=62985523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017006062A Active JP6655032B2 (en) 2017-01-17 2017-01-17 Perturbation learning device and method

Country Status (1)

Country Link
JP (1) JP6655032B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049509A (en) * 1996-08-07 1998-02-20 Kokusai Denshin Denwa Co Ltd <Kdd> Neural network learning system
JP2018097407A (en) * 2016-12-08 2018-06-21 日本電信電話株式会社 Perturbation learning apparatus and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049509A (en) * 1996-08-07 1998-02-20 Kokusai Denshin Denwa Co Ltd <Kdd> Neural network learning system
JP2018097407A (en) * 2016-12-08 2018-06-21 日本電信電話株式会社 Perturbation learning apparatus and method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
前田 裕ほか: "摂動を用いたリカンレントニューラルネットワークの学習則とニューロ制御への応用", 電気学会論文誌C, vol. 113, no. 6, JPN6020001930, 20 June 1993 (1993-06-20), pages 402 - 408, ISSN: 0004199250 *

Also Published As

Publication number Publication date
JP6655032B2 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
Nahmias et al. Photonic multiply-accumulate operations for neural networks
Pai et al. Parallel programming of an arbitrary feedforward photonic network
CN108694442B (en) Computer system and operation method using recurrent neural network
CN109784486B (en) Optical neural network processor and training method thereof
US20210192342A1 (en) Training of Photonic Neural Networks Through in situ Backpropagation
JP7103602B2 (en) Optical partial differential arithmetic unit and optical neural network
CN109784485B (en) Optical neural network processor and calculation method thereof
CN112001487A (en) Photon neural network
CN116348886A (en) Coherent photon computing architecture
Huang et al. Programmable matrix operation with reconfigurable time-wavelength plane manipulation and dispersed time delay
CN107533247A (en) Modulation pattern computing device, light control device, modulation pattern computational methods, modulation pattern calculation procedure and storage medium
Pleros et al. Compute with light: Architectures, technologies and training models for neuromorphic photonic circuits
Cheng et al. Photonic emulator for inverse design
JP2018205864A (en) Optical neural network learning device
CN115222035A (en) Photon neural network convolution acceleration chip
CN114565091A (en) Optical neural network device, chip and optical implementation method for neural network calculation
JP6534987B2 (en) Perturbation learning device and its method
JP6655032B2 (en) Perturbation learning device and method
Gao et al. Reservoir computing using arrayed waveguide grating
JP2024509663A (en) optical vector multiplier
JP6829700B2 (en) Optical signal processor
JP2019148715A (en) Optical signal processing device
WO2020170872A1 (en) Optical signal processing device
CN113392965A (en) Hadamard product realization method, device and storage medium
Cauchon et al. BraggNet: Complex photonic integrated circuit reconstruction using deep learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200131

R150 Certificate of patent or registration of utility model

Ref document number: 6655032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150