JP4568987B2 - Neuron and hierarchical neural network constructed using the neuron - Google Patents
Neuron and hierarchical neural network constructed using the neuron Download PDFInfo
- Publication number
- JP4568987B2 JP4568987B2 JP2000337651A JP2000337651A JP4568987B2 JP 4568987 B2 JP4568987 B2 JP 4568987B2 JP 2000337651 A JP2000337651 A JP 2000337651A JP 2000337651 A JP2000337651 A JP 2000337651A JP 4568987 B2 JP4568987 B2 JP 4568987B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- neuron
- pulse
- value
- input
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、文字や図形の認識、連想記憶、多入出力非線形マッピングなどに応用される階層型ニューラルネットワークに関する。
【0002】
【従来の技術】
従来、生体で行われている情報処理をモデル化したニューラルネットワーク(神経細胞回路網)が知られている。このニューラルネットワークでは、神経細胞(ニューロン)を機能単位とし、複数のニューロンをネットワーク状に配置して情報処理を行う。このようなニューラルネットワークは、従来のノイマン型コンピュータではなかなか達成できない文字や図形の認識、連想記憶、多入出力非線形マッピング等の情報処理に好適である。
【0003】
次に、本発明に対する理解を容易にするため、ニューラルネットワークについて説明する。
最初にニューラルネットワークの概要構成を説明する。
上述したように、ニューラルネットワークはニューロンをネットワーク状に配置して構成される。例えば図13に示す如くである。図13に示したニューラルネットワークは3層階層型ニューラルネットワークと呼ばれ、入力層、中間層(隠れ層)、出力層を備えている。
【0004】
なお、信号は入力層から入力され、中間層、出力層と順に伝播し、出力層から出力される。ニューラルネットワークの技術分野では周知であるが、入力層は入力信号を中間層に伝播させるのみであり、中間層や出力層のような演算を行わない。そのため、中間層及び出力層を構成する機能単位をニューロンと呼ぶ。中間層と出力層にはそれぞれ、少なくとも1つのニューロンが含まれる。
【0005】
図13に示すように、入力層は中間層の各ニューロンと結合され、同様に、中間層の各ニューロンは出力層の各ニューロンと結合されている。そして、上述したように、ニューラルネットワークの入力層に対して入力された信号は中間層に伝播し、中間層に含まれるニューロン内で後述するような所定の演算が行われ、その出力値がさらに出力層へ伝播する。出力層に含まれるニューロンにおいても同様の演算が行われ、その出力値がネットワークの最終出力となる。
【0006】
この一連の動作が順伝播(フォワード処理)と呼ばれるニューラルネットワークの情報処理であり、中間層に含まれるニューロンを十分多くとると、任意の入出力が実現される。
なお、図13に示したニューラルネットワークは、1つの中間層を有する3層構造のネットワークであるが、2以上の中間層を有するネットワークも提案されている。
【0007】
続いて、ニューラルネットワークの構成単位であるニューロンについて説明する。
図14は、図13中に記号jで示したj番目のニューロンの模式図である。ニューロンは、外部からの入力値を入力する入力部、それら入力値を演算する演算部、及び演算結果を出力する出力部から構成されている。
【0008】
外部からの各入力値をxi (i=1,2,3,・・・,n)で示せば、演算部は、対応する結合係数wji(i=1,2,3,・・・,n)を各入力値xi に乗じ、それらの和yj を計算する。次の式1に示す如くである。
yj =Σwjixi …式1
なお、記号Σはiについての和記号である。また、結合係数wjiは、ニューロン間の結合の強さを表すものであり、j番目のニューロンとi番目のニューロンとの結合の強さを示す。
【0009】
さらに演算部は、求めた和yj に対して非線形演算fを行って出力値zj とする。次の式2に示す如くである。
zj =f(yj ) …式2
非線形関数fとしては、シグモイド関数が用いられることが多い。それは、学習機能の実現において必要となる非線形関数fの微分値f’が、f’=f・(1−f)というように非線形関数f自体を用いて表現され、演算量を減らすことができるからである。また、非線形関数fとしてステップ関数(階段関数)を用いることもある。ただし、これらの関数には限られず、飽和特性を持つ単調増加関数であればよい。
【0010】
このようなニューロンを構成単位とするニューラルネットワークの特徴として、学習機能を備えていることが挙げられる。
以上ニューラルネットワークの概要について詳述したが、ニューラルネットワークを構成するにあたっては、上述したニューロンの機能を如何にして実現するかが問題となる。
【0011】
従来、ノイマン型コンピュータを用い、ソフトウェア処理にてニューロンの機能を実現する手法を用いることが多かった。しかし、この場合、複数のニューロンにおける処理をCPUが時分割で実行することになるため、本来の並列情報処理がなされない。
【0012】
従来、ディジタル回路を用いてニューロンを構成する技術として、特開平7−114524号公報に開示されたものがある。この技術では、ニューロンの機能をディジタル回路で実現するにあたり、パルス密度という概念を採用した。
しかし、パルス密度を用いた場合には、次に示すような問題がある。
【0013】
それは、ニューラルネットワークのニューロン間の結合には興奮性結合と抑制性結合があり、数学的には結合関数の正負符号によって表現されるが、パルス密度を用いた場合は両者を区別することができない。すなわち、特開平7−114524号公報には、パルス密度で「0〜1」を表現できる構成となっているが、ニューラルネットワークのニューロン間の結合を表現するためには「−1〜1」に相当する信号を表現する必要がある。そのため、この技術では、結合係数の正負によって各結合を興奮性結合と抑制性結合の2つのグループに分けている。その結果、この公報でいうところのシナプス回路から細胞体回路への信号線が2系統必要となってくる。
【0014】
このような課題を解決するため、本出願人は、特願平11−328312号において、パルスの遅延時間を用いてニューロンの機能を実現した。これによれば、1つの信号にて興奮性結合と抑制性結合とを表現可能にし、パルス密度を用いた場合の信号線を1系統にすることができ、ニューラルネットワークの回路面積の縮小が図られる。
【0015】
【発明が解決しようとする課題】
ところが、次のような点においてはさらに改良の余地がある。
それは、上記公報に記載の技術においても言えることであるが、m個のパルスをニューロンの信号単位としている点である。つまり、上記式2に示した非線形演算fを実現するために、ニューロンへの入力信号を、正規分布に従うパルス列で表現していた。そして、このパルス列は時系列に入力され、m個のパルスが入力されてはじめてニューロンの出力が得られることになるため、ニューロンの演算に時間を要する結果となっていた。
【0016】
本発明は、このような問題を解決するためになされたものであり、パルスの遅延時間を用いて演算を行うニューロンにおいて、回路規模を増大させることなく、演算時間の短縮を図ることを目的とする。
【0017】
【課題を解決するための手段及び発明の効果】
上述した目的を達成するためになされた請求項1に記載のニューロンは、ディジタル電子回路として実現される階層型ニューラルネットワークの構成単位であり、生体の神経細胞(ニューロン)をモデル化したものである。
【0018】
本ニューロンには、基準パルスに対し、入力信号としてのパルスが入力される。この基準パルスは、一定時間間隔で生成されることが考えられるが(請求項9)、一定時間間隔でなくても差し支えない。ただし、一定時間間隔で基準パルスを生成する場合、カウンタなどを用いて容易に実現できる点で有利である。基準パルスは、本ニューロンの外部にて生成され、本ニューロンへ入力されるようにしてもよいが、基準パルス生成手段を備える構成とし(請求項8)、本ニューロンの内部にて生成するようにしてもよい。一般的に、ニューロンの外部で基準パルスを生成する構成では、各ニューロンの回路構成が簡単になるというメリットが得られる。しかし、外部で基準パルスを生成すると、各ニューロンへの信号線が必要となるため、ニューラルネットワーク全体の回路規模などによっては、ニューロン内部に基準パルス生成手段を備える構成の方がメリットが高くなる場合もある。
【0019】
本ニューロンの特徴は、このような基準パルスに対する、例えば1つのパルスを入力信号の単位とできることである。入力信号としてのパルスが入力されると、本ニューロンは、以下のように動作する。
まず、乗算手段が、対応する結合係数に基づく乗算値を求める。続いて、加算手段が、乗算手段にてパルスのそれぞれに対して求められる乗算値を加算する。
この乗算手段及び加算手段による演算が、上記式1に示す演算に相当する。そして、非線形演算手段は、加算手段による加算値を平均値とする確率分布に従う乱数を生成し、当該乱数の累積分布を求めることによって非線形演算値を求める。
この非線形演算手段による演算が、上記式2に示す演算に相当する。
【0020】
ここで乗算手段は、基準パルスからのパルスの遅延時間に、対応する結合係数を乗じて乗算値を求めることが考えられる(請求項4)。なお、ここでいう「遅延時間」はマイナスの値を取り得る。遅延時間がマイナス値となるのは、対応する基準パルスに、パルスが先行するときである。
【0021】
以下の説明で単に「パルスの遅延時間」という場合、上述したような、対応する基準パルスからの遅延時間をいうものとする。
ここで本発明の技術思想について説明する。上述した特願平11−328312号に開示したニューロンでは、例えば256個というようなm個のパルスを入出力信号の単位としていた。そして、このm個の各パルスの遅延時間は、平均をλとする正規分布に従うものであった。このようにした理由は、ニューロンを構成する回路の簡略化にあり、ニューロン内部での非線形演算が、正規分布に従う遅延時間の累積分布を求めることによって簡単に実現できるためであり、具体的には、図16に示した回路により加算値の符号signΣに基づく正数値のカウントで実現できるためである。
【0022】
ところが、実際の演算で意味をなすのは各パルスの遅延時間の平均値であり、ニューロン内部で正規分布に従う乱数を生成するようにして非線形演算を可能にすれば、パルス列における平均遅延時間を、1つのパルスの遅延時間で置き換えてもよい。すなわち、入出力信号に1つのパルスを用いてもよい。
【0023】
そこで、本発明では、非線形演算手段が、加算値を平均値とする確率分布に従う乱数を生成し、当該乱数の累積分布を求めることによって非線形演算値を求めるようにした。
この場合、確率分布に従う乱数をニューロン内部で生成する構成が必要となるが、特願平11−328312号に開示したニューロンでも、非線形演算値を平均遅延時間とするパルス列を出力信号として改めて生成しており、ニューロン内部で正規分布に従う乱数を生成している。言い換えれば、従来より、ニューロン内部で確率分布に従う乱数を生成する構成を有していた。したがって、本発明の構成を採用しても、従来の構成と比較して、回路規模が増大することはない。
【0024】
演算時間の短縮について言えば、m個のパルス列を信号単位とするニューロンでは、m個のパルスが入力されてはじめて、ニューロンからの出力が得られ、演算がなされることになる。これに対して、本発明では、例えば1つの基準パルスに対応する1つのパルスを入力信号とすることができ、このとき演算時間は(1/m)に短縮される。
【0025】
すなわち、本発明のニューロンによれば、パルスの遅延時間を用いて演算を行うニューロンにおいて、回路規模を増大させることなく、演算時間の短縮を図ることができる。
なお、非線形演算値そのものを出力信号としてもよいが、中間層のニューロンなど、次のニューロンへの入力信号を出力することを考えると、さらに、非線形演算手段にて求められた非線形演算値に基づき、基準パルスに対する出力信号としてのパルスを生成するパルス生成手段を備える構成としてもよい(請求項5)。例えば、パルス生成手段は、非線形演算値に基づく遅延時間を基準パルスからの遅延時間とする1つのパルスを生成するという具合である。
【0026】
ところで、基準パルスに対しパルスが先行するときに、遅延時間がマイナスの値を取り得ることは既に述べた。しかしながら、本発明の技術思想では、ニューロン間の信号であるパルスの遅延時間がマイナスの値をとらなくても、ニューロンの内部で遅延時間をマイナス値として処理できればよい。すなわち、対応する結合係数がマイナスであった場合に、その結合係数との乗算値がマイナス値を含めて計算できればよい。したがって、上述したパルスが基準パルスよりも遅れて入力されることを前提として、各手段を構成することが考えられる(請求項7)。つまり、入力パルスの遅延時間が常にプラス値をとることを前提としてもよい。この場合、基準パルスに先行するパルスを判断する必要がなくなるため、回路構成が簡単になる。また、パルス生成手段を備える構成においては、当該パルス生成手段が、基準パルスよりも遅れたパルスを生成することが考えられる(請求項6)。
【0027】
なお、上述したように、乗算手段は、例えばパルスの遅延時間に結合係数を乗じて乗算値を求めるものとできる。したがってこの場合、最も簡単には乗算回路を用いて構成することが考えられる。しかし、一般に乗算回路は回路面積が大きくなるという欠点がある。
【0028】
そこで、乗算手段は、一様乱数発生器を備える構成とし、パルスの遅延時間に応じた回数だけ一様乱数発生器にて乱数を生成し、当該生成した乱数と結合係数との値を比較し、当該比較結果に基づき乗算値を求めるものとすることが考えられる(請求項10)。
【0029】
これは二項分布の正規分布近似を応用したものである。二項分布の正規分布近似とは、二項分布に従うn回の試行において、nを大きくすると、二項分布は平均値n・Pの正規分布に近づくという性質である。ここでPは、一回の試行において結果が「成功」する確率である。この性質を使い結合係数w、遅延時間に応じた回数xとし、P=w、n=xとすれば、x回の試行で「成功」する確率の分布は平均wxの正規分布に従う。すなわち、x回だけ一様乱数発生器にて乱数rを生成し、この乱数rが結合係数wよりも小さくなる回数を計数すれば、この計数値は、wxを平均とする正規分布に従うことになる。したがって、この計数値で乗算値を近似してもよい。このようにすれば、乗算回路を用いた場合と比較して、ニューロンの回路面積が大幅に削減される。この意味で、本明細書でいうところの「乗算値」には、乗算相当値とでも呼ぶべき近似値も含まれる
ところで、非線形演算手段にて生成される確率分布に従う乱数は、正規分布に従う乱数(以下「正規乱数」という。)とすることが考えられる(請求項11)。また、三角分布に従う乱数(以下「三角乱数」という。)としてもよい(請求項12)。累積分布の関数が、飽和型の単調増加関数になればよいためである。
【0030】
このような乱数を生成して非線形演算を実現する非線形演算手段について、次に説明する。
非線形演算手段は、乱数生成手段と、非線形変換手段とを備える構成とすることが考えられる(請求項1〜3)。このとき、乱数生成手段は、加算手段による加算値を平均値とする確率分布に従う乱数を生成し、一方、非線形変換手段は、乱数生成手段によって生成された乱数の中の正数値の個数を、非線形演算値として計数する。ここでいう正数値には「0」を含めてもよいし、「0」を含めなくてもよい。境界値「0」を含めるか否かは、計数値全体からみればほとんど影響しないからである。
【0031】
なお、乱数生成手段は、平均値を「0」とする確率分布に従う乱数を生成し、当該乱数に加算手段による加算値を加えることによって、加算手段による加算値を平均値とする確率分布に従う乱数を生成することが考えられる(請求項1)。具体的に、平均値を「0」とする確率分布に従う乱数は、一様乱数発生器を用いて生成することができる。したがって、乱数生成手段は、一様乱数発生器と、当該一様乱数発生器にて生成された乱数を加算する加算器とを用いて構成すればよい(請求項2,3)。
【0032】
分布が有限な乱数を多数加えると、中心極限定理により正規分布に近づくことが知られている。例えば一様乱数U(0≦U<1)を12個加えて6引いた値の分布は、N(0,1)の正規分布となる。また、2つの一様乱数発生器を用いれば、上述した三角分布に従う乱数を得ることができる。
【0033】
上述したように12個の一様乱数発生器を用意すれば、その加算値は確率的に精度良く正規分布に従うことになる。しかし、本発明において、正規分布に従う乱数を生成するのは非線形演算を可能にするためであり、この乱数がそれほど精度よく正規分布に従わなくても、ニューロンの機能を損なうことはない。したがって、現実的に正規分布に従う乱数を生成するには、3つ又は4つの一様乱数発生器を用いれば十分である。
【0034】
以上、ニューロンの構成を説明してきたが、上述したニューロンを機能単位とする階層型ニューラルネットワークの発明として実現することもできる(請求項13)。
【0035】
【発明の実施の形態】
以下、本発明を具体化した実施例を図面を参照して説明する。なお、本発明は以下の実施例に何等限定されることなく、発明の技術的範囲に属する限り種々の実施形態を取り得ることは言うまでもない。
【0036】
図1は、階層型ニューラルネットワークの機能単位となるニューロンの模式図である。
ニューロン10は、図13に模式的に示した階層型ニューラルネットワークのj番目のニューロンを例示したものである。
【0037】
ニューロン10は、図13に示すように、ニューラルネットワークの入力層からの入力信号を入力し、所定の演算を行い、さらに、出力層のニューロンへ出力信号を出力する。なお、中間層及び出力層に含まれるニューロンは全て、同様の構成となっている。出力層に含まれるニューロンは、中間層のニューロンからの入力信号に基づく演算を行い、ニューラルネットワークの出力信号を生成する。
【0038】
図1に示すように、ニューロン10には、n本のパルスx1 ,x2 ,・・・,xn が入力信号として入力される。そして、ニューロン10は、パルスzj'を出力信号として出力する。
そして、ニューロン10の外部にて一定時間間隔で生成される基準パルスTからの遅延時間に基づき信号処理を行うことを特徴としている。
【0039】
図1中に示すn本のパルスx1 ,x2 ,・・・,xn は、基準パルスTに対するパルスであり、例えばパルスx1 の遅延時間は、基準パルスTからの遅れである。図1中には、パルスx1 の遅延時間をd1 で示した。同様に、パルスx2 ,・・・,xn の遅延時間は、d2 ,・・・,dn となる。
【0040】
なお、本実施例では、遅延時間di は、常にプラス値(di ≧0)である。遅延時間を用いる理由の一つには、興奮性結合と抑制性結合を1つの信号で表現できるからであった。パルスの遅延時間を用いれば、結合係数との乗算値が内部的にマイナス値として処理できる。このとき、ニューロン10の内部でマイナス値として処理できれば十分である。したがって、遅延時間di が常にプラス値となるように、ニューロン10の入出力信号を正規化してもよい。もちろん、遅延時間di がマイナス値をとるように構成することもできる。この場合、パルスxi が基準パルスTに先行する。
【0041】
図1に示すようにニューロン10は、n本のパルスxi のそれぞれに対応する結合係数wj1,wj2,・・・,wjnを記憶している。そして、パルスxi に対し、従来技術の説明中に述べた式1及び式2に相当する演算を行う。そして、式2の演算結果に基づいて、パルスzj'を出力する。なお、以下の説明では、結合係数を単にwと記述する。ただし、パルスxi との対応関係を明に示す場合、適宜添え字を付してwi と記述することにする。
【0042】
次に、ニューロン10の構成及び動作を説明する。
図2は、ニューロン10の機能ブロック図である。ニューロン10は、乗算ブロック20と、加算ブロック30と、正規乱数生成ブロック40と、非線形変換ブロック50と、パルス生成ブロック60とを備えている。
【0043】
まず乗算ブロック20では、パルスxi に対応する結合係数wjiを、当該パルスxi の遅延時間di に乗じる。この乗算値をw・xi で示すことにする。結合係数wjiは、各乗算ブロック20毎に設けられたレジスタ20Rに記憶されている。次に加算ブロック30では、各乗算ブロック20にて算出されたw・xi を加算する。この加算置をyj で示すことにする。この乗算ブロック20及び加算ブロック30での演算が、上記式1の演算に相当する。なお、図2では3つの乗算ブロック20を備える構成を示したが、入力信号の本数に応じて乗算ブロック20は設けられる。
【0044】
正規乱数生成ブロック40では、加算ブロック30による加算値yj を平均値とする正規分布に従う乱数を生成し、当該生成した乱数の最上位ビット(符号ビット)signを出力する。この符号ビットsignは、乱数がプラス値であれば「0」、乱数がマイナス値であれば「1」となる。そして、非線形変換ブロック50では、正規乱数生成ブロック40からの出力である符号ビットsignに基づき、乱数の中の正数値の個数を計数する。この計数値をzj と示す。この正規乱数生成ブロック40及び非線形変換ブロック50での演算が、上記式2の演算に相当する。
【0045】
パルス生成ブロック60は、基準パルス生成ブロック100からのカウント値Countに基づき、基準パルスTからの遅延時間が計数値zj となるパルスzj'を生成し、ニューロン10の出力信号とする。
以上ニューロン10を機能ブロック単位で大まかに説明した。次に、各ブロックについての構成及び動作を詳細に説明する。
【0046】
最初に乗算ブロック20について説明する。
図3は、乗算ブロック20の構成を示す回路図である。乗算ブロック20は、遅延時間計時部21、一様乱数発生器である線形シフトレジスタ(以下「LFSR」という。)22、反転スイッチ部23、比較器24、アップダウンスイッチ部25、及びアップダウンカウンタ26を備えている。
【0047】
遅延時間計時部21は、SRフリップフロップ(以下「SRF/F」という。
)21a及び2入力のANDゲート21bを備えている。
また、SRF/F21aのリセット端子(R)へは入力信号xi が入力され、セット端子(S)へは、基準パルスTが入力される。SRF/F21aの出力端子は、ANDゲート21bの一方の入力端子に結線されている。また、ANDゲート21bの他方の入力端子には、外部からのクロック信号CLKが入力される。そして、ANDゲート21bの出力端子が、LFSR122のクロック端子に結線されている。
【0048】
LFSR22は、クロック端子へパルスが入力される毎に、mビット[m−1:0]の一様乱数を生成する。LFSR22にて生成された乱数は、比較器24の入力端子(L)へ入力される。
一方、比較器24の他方の入力端子(R)には、結合係数wが入力される。結合係数wは、上述したように各乗算ブロック20に対応するレジスタ20Rから取得される。結合係数wは、m+1ビット[m:0]の数値であり、2の補数表現を用い、興奮性結合である場合にはプラスの値として示され、一方、抑制性結合である場合にはマイナスの値として示される。
【0049】
この結合係数wの最上位ビット[m]が、反転スイッチ部23及びアップダウンスイッチ部25へ入力される。
反転スイッチ部23は、結合係数wの最上位ビット[m]が「0」であれば、スイッチを「0」側に切り換える。一方、最上位ビットmが「1」であれば、スイッチを「1」側へ切り換える。これによって、スイッチが「0」側に切り換えられたときは、最上位ビット[m]を除くmビット[m−1:0]の数値がそのまま比較器の入力端子(R)へ入力される。一方、スイッチが「1」側に切り換えられたときは、最上位ビット[m]を除くmビット[m−1:0]の各ビットが反転ゲート23aにて反転され、mビットの数値として比較器24の入力端子(R)へ入力される。これによって、2の補数表現となっていたマイナスの結合係数wの絶対値が比較器24へ入力されることになる。なお、厳密には、2の補数表現を用いた場合には反転した後に「1」を加算することが必要となるが、ニューロンの処理精度に特に影響を及ぼすことがないため、本実施例ではハードウェアの削減を図る意味で加算していない。
【0050】
上述したように、比較器24の入力端子(L)へはLFSR22にて生成された乱数が入力される。一方、入力端子(R)へは結合係数wの絶対値が入力される。比較器24は、両方の入力値を比較し、結合係数wが乱数よりも大きくなるとパルスを出力する。この比較器24からの出力が、アップダウンスイッチ部25を介し、アップダウンカウンタ26のアップ側の入力端子又はダウン側の入力端子のいずれか一方へ入力される。
【0051】
また、アップダウンスイッチ部25は、結合係数wの最上位ビット[m]が「0」であればスイッチを「0」側に切り換え、一方、「1」であればスイッチを「1」側に切り換える。これによって、結合係数wがマイナス値として2の補数表現で示されている場合には、アップダウンカウンタ26にてダウンカウントされることになる。
【0052】
アップダウンカウンタ26は、n+2ビット[n+1:0]のカウンタであり、アップ側の端子にパルスが入力される度に「0」→「1」→「2」→・・・という具合にカウントを行う。一方、ダウン側の端子にパルスが入力される度に「0」→「−1」→「−2」→・・・という具合にカウントを行う。なお、アップダウンカウンタ26の出力は、下位1ビットを除くn+1ビット[n+1:1]である。これはカウント値を2で割ったものに相当する。
【0053】
このように構成された乗算ブロック20の動作を図3の回路図及び図5のタイミングチャートに基づき説明する。なお、図5のタイミングチャートには、パルスx1 に対応して、乗算値w1 ・x1 が出力される様子を示した。
図5に示すように時刻t1で基準パルスTが入力されると、SRF/F21aの出力がHレベルへ反転する。したがって、クロック信号LCLKが、ANDゲート21bから出力される。その結果、LFSR22を動作させるクロック信号出力が開始される。
【0054】
その後、時刻t2で入力信号xi のパルスが入力されると、SRF/F21aの出力がLレベルへ反転する。そのため、ANDゲート21bの出力がLレベルに保持され、LFSR22を動作させるクロック信号出力が停止される。
したがって、LFSR22へのクロック信号LCLKは、図5中に示すように時刻t1〜t2の期間、すなわちパルスx1 の遅延時間d1 に応じて出力されることになる。
【0055】
このとき結合係数wの符号がプラスであるとする。2の補数表現を用いた結合係数wがプラスの値であるとき、m+1ビット[m:0]のレジスタ20Rの最上位ビット[m]は「0」である。したがって、反転スイッチ部23は、スイッチを「0」側に切り換える。そのため、最上位ビット[m]を除くmビット[m−1:0]の数値が、比較器24の一方の入力端子(R)へ入力される。
【0056】
また、結合係数の最上位ビット[m]が「0」であるため、アップダウンスイッチ部25は、スイッチを「0」側へ切り換える。すなわち、比較器24からの出力がアップダウンカウンタ26のアップ側の入力端子へ入力されるようにスイッチを切り換える。
【0057】
LFSR22へのクロック信号LCLKが、時刻t1〜t2の期間に出力されることは上述した。図5に示すように、時刻t1〜t2の期間にLFSR22へのクロック信号LCLKが出力されている。LFSR22は、クロック信号としてのパルスが入力される毎に、mビット[m−1:0]の乱数を発生する。そして、この乱数が比較器24の一方の入力端子(L)に出力される。
【0058】
比較器24では、結合係数wが乱数よりも大きくなると、アップダウンカウンタ26へパルスを出力する。図5では、結合係数w>乱数となったのが148回であったため、アップダウンカウンタ26は、「148」までカウントしている。
【0059】
なお、結合係数wの符号がマイナスであれば、アップダウンスイッチ部25は、スイッチを「1」側へ切り換える。すなわち、比較器24からの出力がアップダウンカウンタ26のダウン側の端子へ入力される。そのため、比較器24によるパルス出力によってアップダウンカウンタ26は、「0」→「−1」→「−2」→「−3」とカウントすることになる。
【0060】
これによって、結合係数wがマイナス値である場合は、この乗算ブロック20にて遅延時間di がマイナスの数値に変換される。
ここで、この乗算ブロック20のアップダウンカウンタ26の出力値の分布は、二項分布の正規分布近似によりN(wx,1)の正規分布に従う。
【0061】
二項分布の正規分布近似とは、二項分布に従うn回の試行において、nを大きくすると、二項分布は平均値n・Pの正規分布に近づくという性質である。ここでPは、一回の試行において結果が「成功」する確率である。つまり、上述した乗算ブロック20では、遅延時間di に応じた回数di'だけLFSR22によって乱数を発生させ、比較器24によって「成功」した回数だけパルスを出力する。そして、この「成功」した回数を、アップダウンカウンタ26にて計数している。すなわち、アップダウンカウンタ26のカウント値は確率的に、N(wd’,1)の正規分布に従うことになる。したがって、パルスxi の遅延時間di と結合係数wとの乗算値として、アップダウンカウンタ26のカウント値を近似的に採用することができ、本実施例では、アップダウンカウンタ26の出力を2で割ったものを乗算値w・xi と示した。
【0062】
続いて加算ブロック30について説明する。
図6は、加算ブロック30の構成を示す回路図である。加算ブロック30は、加算器31及びレジスタ32を備えている。
加算器31は、n+3ビット[n+2:0]である。この加算器31には、各乗算ブロック20のアップダウンカウンタ26からのn+1ビット[n+1:1]の出力値w・xi が入力される。ここでは、図2に示す各乗算ブロック20からの出力値をw1 ・x1 ,w2 ・x2 ,w3 ・x3 と記述した。
【0063】
加算器31は、レジスタ32に接続されている。レジスタ32には、基準パルスT及びクロック信号CLKが入力される。レジスタ32は、基準パルスTの入力タイミングで、加算器31の加算結果を加算値yj として出力する。
以上のように構成された加算ブロック30の動作を、図4の回路図及び図5のタイミングチャートに基づき説明する。
【0064】
加算器31には各乗算ブロック20からの出力値w1 ・x1 ,w2 ・w2 ,w3 ・x3 が入力され、加算器31では、これらの値が加算される。パルスx1 が時刻t2で入力されているように、パルスx2 ,x3 も、時刻t1で入力された基準パルスTに遅れて入力される。したがって、乗算値w1 ・x1 と同様に乗算値w2 ・x2 ,w3 ・x3 が計算されて、乗算ブロック20から出力される。
【0065】
加算器31による加算結果は、時刻t3で次の基準パルスTが入力されると、レジスタ32によって、加算値yj として出力される。この出力は、さらに次の基準パルスTが入力されるまで保持される。図5中では、加算値yj として「300」が出力されている。
【0066】
続いて正規乱数生成ブロック40について説明する。
図6は、正規乱数生成ブロック40の構成を示す回路図である。正規乱数生成ブロック40は、基準正規乱数生成部41と、加算器42とを備えている。基準正規乱数生成部41は、3つのLFSR41a、及び加算器41bとで構成されている。なお、2つの加算器41b,42を区別するため、それぞれ第1の加算器41b、第2の加算器42と記述する。
【0067】
基準正規乱数生成部41のLFSR41aは、クロック端子へパルスが入力されると、n+1ビット[n:0]の一様乱数を生成する。各LFSR41aにはクロック信号CLKが入力されるようになっており、したがって、クロック信号CLKに合わせて乱数が生成される。2の補数表現も含めてn+1ビットの乱数は、−2n 〜2n −1の範囲で生成される。n=7であれば、−128〜127の乱数が生成されるという具合である。
【0068】
各LFSR52にて生成された乱数は、基準正規乱数生成部41の第1の加算器41bにて加算される。そして、第1の加算器41bからn+3ビット[n+2:0]の加算結果が、第2の加算器42へ出力される。また、第2の加算器42へは、加算ブロック30からのn+3ビット[n+2:0]の加算値yj が入力される。
【0069】
第2の加算器42はn+2ビット[n+1:0]であり、最上位の符号ビット[n+1]が正規乱数生成ブロック40の出力signとなる。
このような構成を有する正規乱数生成ブロック40の動作を、図6の回路図及び図8のタイミングチャートに基づいて説明する。なお、図8のタイミングチャートは、図5のタイミングチャートに続くものであり、時刻t3で基準パルスが入力されると、加算ブロック30から加算値yj として「300」が出力された様子が示されている。
【0070】
基準正規乱数生成部41の各LFSR41aは、クロック信号CLKの立ち上がりで乱数を生成する。そして、同時に、各LFSR41aにて生成された乱数が第1の加算器41bにて加算される。例えばn=7であれば、加算器41bによる加算結果は−384〜381のランダムな数値となる。
【0071】
このように、分布が有限な乱数を多数加えると、中心極限定理により正規分布に近づくことが知られている。例えば一様乱数U(0≦U<1)を12個加えて6引いた値の分布は、N(0,1)の正規分布となる。
そのため、第1の加算器41bによる加算結果は、ランダムな数値であるが、全体として見れば、平均値を「0」とする正規分布に確率的に従う。
【0072】
したがって、これに加算ブロック30からの加算値yj を加算した第2の加算器42による加算結果は、平均値を加算値yj とする正規分布に確率的に従うことになる。図8では、加算値yj として「300」が加算されるため、第2の加算器42による加算結果は、平均値を「300」とする正規分布にほぼ従う乱数となる。
【0073】
そして、正規乱数生成ブロック40からは、この第2の加算器42の最上位ビット[n+1]が、符号ビットsignとして出力される。この符号ビットsignは、加算結果がプラス値であれば「0」となり、マイナス値であれば「1」となる。
【0074】
なお、本実施例では、正規乱数生成ブロック40の基準正規乱数生成部41に、3つのLFSR41aを備える構成としたが、LFSR41aを4つ以上備える構成とすることもできる。LFSR41aの個数を増やせば、正規分布に精度よく従う乱数を生成することができる反面、回路規模が増大する。図9には、4つのLFSR41aの出力を繰り返し加算した場合の加算結果の分布を示した。
これはn=7の場合であるが、このように少ない数のLFSR41aを用いても、ニューロンの演算に十分な分布が得られる。また、LFSR41aを2つ備える構成とすれば、三角分布にほぼ従う乱数が得られることになる。
【0075】
続いて、非線形変換ブロック50について説明する。
図7は、非線形変換ブロック50の構成を示す回路図である。非線形変換ブロック50は、n+1ビット[n:0」のカウンタ51と、n+1ビット[n:0]のレジスタ52とを備えている。
【0076】
カウンタ51には、正規乱数生成ブロック40からの出力である符号ビットsignが反転ゲート51aにて反転されて入力される。つまり、図6中に示した第2の加算器42による加算結果がプラス値であれば「1」が入力され、一方、マイナス値であれば「0」が入力される。
【0077】
また、カウンタ51にはクロック信号CLK及び基準パルスTが入力されるようになっており、カウンタ51は、基準パルスTの入力で「0」にリセットされ、反転ゲート51aからの出力が「1」であると、クロック信号CLKに合わせてカウントアップする。これによって、基準パルスTから次に基準パルスTが入力されるまでの間、上述した第2の加算器42による加算結果の中の正数値がカウントされる。
【0078】
カウンタ51のカウント値は、基準パルスTの入力により、リセットされる直前にレジスタ52に保持され、非線形変換ブロック50の出力である非線形演算値zj となる。
このような構成を有する非線形変換ブロック50の動作を、図7の回路図及び図8のタイミングチャートに基づいて説明する。
【0079】
図8では、時刻t3に基準パルスTが入力されているが、その直後の基準パルスTの立ち下がりタイミングでカウンタ51は「0」にリセットされる。そして、カウンタ51は、反転ゲート51aからの出力が「1」であれば、クロック信号CLKの立ち下がりタイミングでカウントアップを行う。
【0080】
そして、時刻t4に次の基準パルスが入力されると、その立ち上がりタイミングで、カウンタ51のカウント値がレジスタ52に保持される。図8には、カウント値「203」が保持された様子を示した。このカウント値が非線形演算値zj である。
【0081】
以上のように、加算ブロック30から出力される加算値yj に基づき、正規乱数生成ブロック40及び非線形変換ブロック50によって、非線形演算値zj が求められた。本実施例の1つの特徴は、この非線形変換にあるため、ここでこの非線形変換の原理を図10を用いて説明する。
【0082】
正規乱数生成ブロック40の第2の加算器42による加算結果は、平均値を加算値yj とする正規分布に従うことは上述した。したがって、その加算結果の分布は、図10中の上段に示す如くとなる。
一方、非線形変換ブロック50のカウンタ51は、正規乱数生成ブロック40から出力される符号ビットsignに基づくカウントアップを行い、第2の加算器42の値の中の正数値の個数、すなわち、図10中にハッチングを施して示した領域の面積を非線形演算値zj として求めている。
【0083】
そして、この面積は、図10中に示した正規分布(上段)から得られる累積分布の関数f(下段)における加算値yj に対応する関数値f(yj )となる。この関数fは飽和型の単調増加関数であり、非線形性を有する。
したがって、ニューロン10に必要な非線形演算は、非線形変換ブロック50によって、平均値を加算値yj とする正規分布に従う乱数の中の正数値の個数を計数することで実現できる。
【0084】
続いてパルス生成ブロック60について説明する。
図11は、パルス生成ブロック60の構成を示す回路図である。なお、図11には、基準パルス生成ブロック100の構成も図示した。基準パルス生成ブロック100は、本実施例のニューロン10の外部に設けられるものであり、上述した基準パルスTを生成する。パルス生成ブロック60は基準パルス生成ブロック100からのカウント値Countに基づき動作するため、まず最初に基準パルス生成ブロック100の構成を説明する。
【0085】
基準パルス生成ブロック100は、カウンタ101と、n+2入力のANDゲート102とを備えている。
カウンタ101にはクロック信号CLKが入力され、カウンタ101は、クロック信号CLKに合わせてカウントアップする。このカウンタ101はn+1ビット[n:0]であり、0〜2n+1 −1までを繰り返しカウントする。例えばn=7であれば、0〜255までを繰り返しカウントすることになる。
【0086】
そして、カウンタ101のカウント値CountがANDゲート102に入力されるように結線されている。ANDゲート102には、クロック信号CLKも入力され、これによってカウント値Countが「0」になったことを検出して基準パルスTを出力する。
【0087】
一方、パルス生成ブロック60は、比較器61と、2入力のANDゲート62とを備えている。比較器61の入力端子(R)には上述したカウンタ101のカウント値Countが入力され、また、入力端子(L)には、非線形変換ブロック50からの非線形演算値zj が入力される。
【0088】
比較器61の出力端子はANDゲート62の一方の入力端子に結線されており、ANDゲート62の他方の入力端子には、クロック信号CLKが入力されるようになっている。
比較器61は、入力端子に入力された2つの値が等しいと、すなわち、カウント値Count=非線形演算値zj であると、その出力をHレベルに反転させる。したがって、カウント値Countが非線形演算値に等しくなったときに、クロック信号CLKがANDゲート62から出力される。これによって、カウント値Count「0」で出力される基準パルスTに対し、非線形演算値zj 分だけ遅れたパルスzj'が出力されることになる。
【0089】
このような構成を有するパルス生成ブロック60の動作を、図11の回路図及び図12のタイミングチャートに基づいて説明する。なお、図12のタイミングチャートは、図8のタイミングチャートに続くものであり、時刻t4で基準パルスが入力されると、非線形変換ブロック50のレジスタ52に非線形演算値zj として「203」が保持される様子が示されている。
【0090】
時刻t4で入力される基準パルスTに対し、時刻t5において、基準パルス生成ブロック100におけるカウンタ101のカウント値Countが「203」になるため、パルスzj 'が出力される。これが、ニューロン10の出力信号である。
【0091】
なお、本実施例の乗算ブロック20が「乗算手段」に相当し、加算ブロック30が「加算手段」に相当し、正規乱数生成ブロック40及び非線形変換ブロック50が「非線形演算手段」に相当し、パルス生成ブロック60が「パルス生成手段」に相当する。また、正規乱数生成ブロック40は「乱数生成手段」に、非線形変換ブロック50は「非線形変換手段」にそれぞれ相当する。
【0092】
次に、本実施例のニューロン10の発揮する効果を説明する。
本実施例のニューロン10を用いてニューラルネットワークを構成すれば、本出願人が特願平11−328312号に開示したニューロン(以下「パルス列ニューロン」という。)と同様の効果を得られることは言うまでもない。
【0093】
すなわち、ディジタル回路を用いたことにより、完全な並列処理が可能となると共に、温度特性や素子形成上のプロセスのばらつきによる影響を受けず、回路を形成することも比較的容易で、信頼性が高くなる。
また、処理対象の信号値をパルスの遅延時間を用いて表現しているため、内部的に遅延時間をマイナス値として処理することによって、興奮性結合と抑制性結合とを1つの信号で表現することができる。その結果、パルス密度を用いた上記公報記載のニューラルネットワークと比べ、シナプス回路と神経回路との接続部分に相当する配線は半分になる。
【0094】
しかも、本実施例のニューロン10によれば、パルス列ニューロンと比べて、回路規模を増大させることなく、演算時間を短縮できる。以下、これについて説明する。
パルス列ニューロンでは、例えば256個というようなm個のパルスからなるパルス列を入出力信号の単位としていた。そして、このm個の各パルスは、平均をλとする正規分布に従う遅延時間を有するものであった。このようにした理由は、非線形演算を実現する回路の簡略化にあり、ニューロン内部での非線形演算がカウンタを用いて容易に実現できるからである。すなわち、入力信号としてのパルス列の遅延時間が正規分布に従うため、図16に示すように、加算器からの出力signΣに基づき、加算値の中の正数値を計数するカウンタによって非線形演算が実現できる。
【0095】
しかしながら、入力信号としてのパルス列で重要なのは各パルスの遅延時間の平均であり、ニューロン内部で正規分布に従う乱数を生成するようにして非線形演算を可能にすれば、パルス列の平均遅延時間を、1つのパルスの遅延時間で置き換えてもよい。すなわち、入出力信号に1つのパルスを用いてもよい。
【0096】
そこで、本発明では、ニューロン10の内部に正規乱数生成ブロック40を備える構成とし、従来と同様の非線形演算を非線形変換ブロック50にて行うようにした。
この場合、非線形演算の実現に、正規乱数生成ブロック40が新たに追加されることになるが、パルス列ニューロンでも、非線形演算値を平均遅延時間とするパルス列を出力信号として改めて生成しており、ニューロン内部で正規分布に従う乱数を生成している。具体的には、図17に示すように、複数のLFSRを用いて正規分布に従う乱数を出力信号として生成している。
【0097】
一方、本実施例のニューロン10では入力信号と同様の1つのパルスを出力信号とするため、パルス生成ブロック60は、比較器61とANDゲート62を用いた簡単な構成で実現される。
乗算ブロック20及び加算ブロック30は、パルス列ニューロンとほぼ同様の構成となっている。
【0098】
したがって、本実施例のニューロン10には、正規乱数生成ブロック40が追加されたものの、パルス生成ブロック60が簡略化されたため、パルス列ニューロンの回路規模とほぼ同様になっており、回路規模が増大することはない。
演算時間の短縮について言えば、m個のパルス列を信号単位とするパルス列ニューロンでは、m個のパルスが時系列に入力されてはじめて演算がなされる。これに対して、本実施例では、1つのパルスを入力信号としたことによって、演算時間は(1/m)に短縮される。
【0099】
なお、図5、8、12に示したタイミングチャートから分かるように、本実施例のニューロン10では、入力信号から出力信号が得られるまでに、3個の基準パルスT(時刻t1,t3,t4)が入力される必要がある。しかしながら、図13に示すように複数のニューロン10を組み合わせて階層型ニューラルネットワークを構成した場合には、前層の出力を待つことなくパイプライン処理を行うことができるため、例えば図5において乗算ブロック20は時刻t1の基準パルスTに対する入力信号を処理した後、続いて時刻t3の基準パルスに対する次の入力信号を処理できるため、実質的には各基準パルスTの入力間隔で出力信号が得られることになる。このようなパイプライン処理が回路を機能させる上で最も効率がよいが、例えば基準パルスTが入力されてから次の基準パルスTが入力されるまでの間にニューロン10内部の演算を全て行うように構成することもできる。
【0100】
以上詳述したように、本実施例のニューロン10によれば、パルス列ニューロンと比較して、回路規模を増大させることなく、演算時間を大幅に短縮することができる。
また、本実施例のニューロン10では、二項分布の正規分布近似を利用することによって、乗算ブロック20がいわゆる加算回路からなる乗算回路を用いることなく構成されている(図3参照)。本出願人が乗算回路を用いて乗算ブロックを構成したときと回路面積を比較したところ、約1/11の回路面積で乗算ブロック20を構成することができ、ニューロン10の回路面積の大幅な削減に寄与する。
【0101】
さらにまた、本実施例では、入力信号であるパルスxi が基準パルスTよりも遅れて発生することを前提とした。したがって、基準パルスTに対してパルスxi が先行する場合を判断する必要がないため、乗算ブロック20の遅延時間計時部21の構成が比較的簡単になっている。
【0102】
なお、図10に示した累積分布の関数fの傾きが大きくなると、ニューラルネットワークの応答が過敏になることが知られている。制御対象に合わせて、このような関数fの傾きを調整したい場合がある。このときは、図15に示したように、正規乱数生成ブロック40における基準正規乱数生成部41の第1の加算器41bによる加算結果の分布範囲を狭くすればよい。図15中に破線で示す如くである。
【図面の簡単な説明】
【図1】実施例のニューロンの模式図である。
【図2】実施例のニューロンを示す機能ブロック図である。
【図3】乗算ブロックの構成を示す回路図である。
【図4】加算ブロックの構成を示す回路図である。
【図5】乗算ブロック及び加算ブロックの動作を示すタイミングチャートである。
【図6】正規乱数生成ブロックの構成を示す回路図である。
【図7】非線形変換ブロックの構成を示す回路図である。
【図8】正規乱数生成ブロック及び非線形変換ブロックの動作を示すタイミングチャートである。
【図9】一様乱数を実際に加算したときの分布を示す説明図である。
【図10】非線形変換ブロックの数学的意味を示す説明図である。
【図11】基本パルス生成ブロック及びパルス生成ブロックの構成を示す回路図である。
【図12】パルス生成ブロックの動作を示すタイミングチャートである。
【図13】階層型ニューラルネットワークを説明するための模式図である。
【図14】一般的なニューロンを説明するための模式図である。
【図15】正規分布と累積分布との関係を示す説明図である。
【図16】従来の非線形演算回路を示す説明図である。
【図17】従来のパルス生成回路を示す説明図である。
【符号の説明】
10…ニューロン
20…乗算ブロック
21…遅延時間計時部
21a…SRフリップフロップ
21b…ANDゲート
22…線形シフトレジスタ
23…反転スイッチ部
23a…反転ゲート
24…比較器
25…アップダウンスイッチ部
26…アップダウンカウンタ
30…加算ブロック
31…加算器
32…レジスタ
40…正規乱数生成ブロック
41…基準正規乱数生成部
41a…線形シフトレジスタ
41b…第1の加算器
42…第2の加算器
50…非線形変換ブロック
51…カウンタ
52…レジスタ
60…パルス生成ブロック
61…比較器
62…ANDゲート
100…基準パルス生成ブロック
101…カウンタ
102…ANDゲート[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a hierarchical neural network applied to recognition of characters and figures, associative memory, multiple input / output nonlinear mapping, and the like.
[0002]
[Prior art]
Conventionally, a neural network (neural cell network) that models information processing performed in a living body is known. In this neural network, nerve cells (neurons) are used as functional units, and a plurality of neurons are arranged in a network to perform information processing. Such a neural network is suitable for information processing such as character and figure recognition, associative memory, multi-input / output non-linear mapping, etc., which are difficult to achieve with a conventional Neumann computer.
[0003]
Next, in order to facilitate understanding of the present invention, a neural network will be described.
First, a schematic configuration of the neural network will be described.
As described above, the neural network is configured by arranging neurons in a network form. For example, as shown in FIG. The neural network shown in FIG. 13 is called a three-layer hierarchical neural network, and includes an input layer, an intermediate layer (hidden layer), and an output layer.
[0004]
Signals are input from the input layer, propagated in order from the intermediate layer to the output layer, and output from the output layer. As is well known in the technical field of neural networks, the input layer only propagates the input signal to the intermediate layer, and does not perform operations like the intermediate layer and the output layer. Therefore, the functional units constituting the intermediate layer and the output layer are called neurons. Each of the intermediate layer and the output layer includes at least one neuron.
[0005]
As shown in FIG. 13, the input layer is coupled to each neuron in the intermediate layer, and similarly, each neuron in the intermediate layer is coupled to each neuron in the output layer. As described above, the signal input to the input layer of the neural network propagates to the intermediate layer, and a predetermined calculation as described later is performed in the neurons included in the intermediate layer. Propagate to the output layer. Similar calculations are performed in the neurons included in the output layer, and the output value is the final output of the network.
[0006]
This series of operations is information processing of a neural network called forward propagation (forward processing). If a sufficient number of neurons are included in the intermediate layer, arbitrary input / output is realized.
The neural network shown in FIG. 13 is a three-layered network having one intermediate layer, but a network having two or more intermediate layers has also been proposed.
[0007]
Next, a neuron that is a structural unit of a neural network will be described.
FIG. 14 is a schematic diagram of the j-th neuron indicated by the symbol j in FIG. The neuron includes an input unit that inputs external input values, a calculation unit that calculates the input values, and an output unit that outputs the calculation results.
[0008]
Each input value from outside x i If expressed as (i = 1, 2, 3,..., N), the calculation unit can select the corresponding coupling coefficient w. ji (I = 1, 2, 3,..., N) to each input value x i Multiplied by the sum of them y j Calculate As shown in the following
y j = Σw ji x i ...
The symbol Σ is a sum symbol for i. The coupling coefficient w ji Represents the strength of connection between neurons, and indicates the strength of connection between the j-th neuron and the i-th neuron.
[0009]
Further, the calculation unit calculates the sum y j A non-linear operation f is performed on the output value z j And It is as shown in the following
z j = F (y j ) ...
As the nonlinear function f, a sigmoid function is often used. That is, the differential value f ′ of the non-linear function f required for realizing the learning function is expressed using the non-linear function f itself as f ′ = f · (1−f), and the amount of calculation can be reduced. Because. A step function (step function) may be used as the nonlinear function f. However, it is not limited to these functions, and may be a monotonically increasing function having a saturation characteristic.
[0010]
A characteristic of a neural network that has such a neuron as a constituent unit is that it has a learning function.
The outline of the neural network has been described in detail above. However, in configuring the neural network, there is a problem of how to realize the above-described neuron function.
[0011]
Conventionally, a Neumann type computer is often used and a technique for realizing a neuron function by software processing is often used. However, in this case, since the CPU executes processing in a plurality of neurons in a time division manner, original parallel information processing is not performed.
[0012]
Conventionally, as a technique for constructing a neuron using a digital circuit, there is one disclosed in Japanese Patent Laid-Open No. 7-114524. In this technology, the concept of pulse density was adopted when the neuron function was realized by a digital circuit.
However, when the pulse density is used, there are the following problems.
[0013]
There are excitatory and inhibitory connections between neurons in a neural network, which are mathematically expressed by the sign of the connection function, but cannot be distinguished when using pulse density. . That is, in Japanese Patent Laid-Open No. 7-114524, the pulse density can express “0-1”, but in order to express the connection between neurons of the neural network, it is set to “−1-1”. It is necessary to express the corresponding signal. Therefore, in this technique, each coupling is divided into two groups of excitatory coupling and inhibitory coupling depending on the sign of the coupling coefficient. As a result, two signal lines are required from the synapse circuit to the cell body circuit in this publication.
[0014]
In order to solve such a problem, the present applicant has realized the function of a neuron using a pulse delay time in Japanese Patent Application No. 11-328312. According to this, excitatory coupling and inhibitory coupling can be expressed by one signal, and signal lines when using pulse density can be made into one system, and the circuit area of the neural network can be reduced. It is done.
[0015]
[Problems to be solved by the invention]
However, there is room for further improvement in the following points.
This is also true of the technique described in the above publication, but is that m pulses are used as signal units of neurons. That is, in order to realize the non-linear operation f shown in
[0016]
The present invention has been made to solve such a problem, and it is an object of the present invention to reduce the computation time without increasing the circuit scale in a neuron that performs computation using a delay time of a pulse. To do.
[0017]
[Means for Solving the Problems and Effects of the Invention]
The neuron according to
[0018]
This neuron receives a pulse as an input signal with respect to the reference pulse. This reference pulse may be generated at regular time intervals ( Claim 9 ), It does not matter if it is not at regular intervals. However, when the reference pulse is generated at regular time intervals, it is advantageous in that it can be easily realized using a counter or the like. The reference pulse may be generated outside the neuron and input to the neuron. However, the reference pulse is configured to include reference pulse generation means ( Claim 8 And may be generated inside the neuron. In general, a configuration in which a reference pulse is generated outside a neuron has an advantage that the circuit configuration of each neuron is simplified. However, if a reference pulse is generated externally, a signal line to each neuron is required. Depending on the circuit scale of the entire neural network, the configuration with the reference pulse generation means inside the neuron is more advantageous. There is also.
[0019]
The feature of this neuron is that, for example, one pulse can be used as a unit of an input signal with respect to such a reference pulse. When a pulse as an input signal is input, this neuron operates as follows.
First, the multiplication means obtains a multiplication value based on the corresponding coupling coefficient. Subsequently, the adding means adds the multiplication values obtained for each of the pulses by the multiplying means.
The calculation by the multiplication means and the addition means corresponds to the calculation shown in the
The calculation by the non-linear calculation means corresponds to the calculation shown in
[0020]
Here, it is conceivable that the multiplication means obtains a multiplication value by multiplying the delay time of the pulse from the reference pulse by the corresponding coupling coefficient ( Claim 4 ). The “delay time” here can take a negative value. The delay time becomes a negative value when the pulse precedes the corresponding reference pulse.
[0021]
In the following description, the term “pulse delay time” simply refers to the delay time from the corresponding reference pulse as described above.
Here, the technical idea of the present invention will be described. In the neuron disclosed in the above-mentioned Japanese Patent Application No. 11-328312, m pulses such as 256 are used as input / output signal units. The delay time of each of the m pulses follows a normal distribution with an average of λ. The reason for this is to simplify the circuits that make up the neuron, and because non-linear operations inside the neuron can be easily realized by finding the cumulative distribution of delay times according to the normal distribution. This is because the circuit shown in FIG. 16 can be realized by counting positive values based on the sign of the added value signΣ.
[0022]
However, what makes sense in the actual calculation is the average value of the delay time of each pulse.If non-linear calculation is enabled by generating a random number that follows a normal distribution inside the neuron, the average delay time in the pulse train is It may be replaced by the delay time of one pulse. That is, one pulse may be used for the input / output signal.
[0023]
Therefore, in the present invention, the non-linear operation means generates a random number according to a probability distribution having an added value as an average value, and obtains a non-linear operation value by obtaining a cumulative distribution of the random number.
In this case, it is necessary to generate a random number according to the probability distribution inside the neuron, but the neuron disclosed in Japanese Patent Application No. 11-328312 also generates a pulse train having a non-linear operation value as an average delay time as an output signal. A random number that follows a normal distribution is generated inside the neuron. In other words, conventionally, it has a configuration for generating random numbers according to a probability distribution inside a neuron. Therefore, even if the configuration of the present invention is adopted, the circuit scale does not increase as compared with the conventional configuration.
[0024]
In terms of shortening the computation time, in a neuron having m pulse trains as signal units, an output from the neuron is obtained and computation is performed only when m pulses are input. On the other hand, in the present invention, for example, one pulse corresponding to one reference pulse can be used as the input signal, and at this time, the calculation time is shortened to (1 / m).
[0025]
That is, according to the neuron of the present invention, it is possible to reduce the calculation time without increasing the circuit scale in the neuron that performs the calculation using the delay time of the pulse.
Note that the nonlinear calculation value itself may be used as the output signal. However, considering that the input signal to the next neuron such as an intermediate layer neuron is output, it is further based on the nonlinear calculation value obtained by the nonlinear calculation means. Further, it may be configured to include pulse generation means for generating a pulse as an output signal with respect to the reference pulse ( Claim 5 ). For example, the pulse generation means generates one pulse with the delay time based on the nonlinear calculation value as the delay time from the reference pulse.
[0026]
By the way, as described above, when the pulse precedes the reference pulse, the delay time can take a negative value. However, according to the technical idea of the present invention, it is only necessary to process the delay time as a negative value inside the neuron even if the delay time of the pulse which is a signal between neurons does not take a negative value. In other words, when the corresponding coupling coefficient is negative, it is only necessary that the multiplication value with the coupling coefficient can be calculated including the negative value. Therefore, it is conceivable to configure each means on the assumption that the above-described pulse is input later than the reference pulse ( Claim 7 ). That is, it may be assumed that the delay time of the input pulse always takes a positive value. In this case, since it is not necessary to determine a pulse preceding the reference pulse, the circuit configuration is simplified. Further, in the configuration including the pulse generation means, it is conceivable that the pulse generation means generates a pulse delayed from the reference pulse ( Claim 6 ).
[0027]
Note that, as described above, the multiplication means can obtain the multiplication value by multiplying the delay time of the pulse by the coupling coefficient, for example. Therefore, in this case, the simplest configuration using a multiplication circuit can be considered. However, in general, the multiplication circuit has a drawback that the circuit area becomes large.
[0028]
Therefore, the multiplication means has a configuration including a uniform random number generator, generates a random number by the number of times corresponding to the delay time of the pulse, and compares the generated random number with the coupling coefficient. , The product may be determined based on the comparison result ( Claim 10 ).
[0029]
This is an application of normal distribution approximation of binomial distribution. The normal distribution approximation of the binomial distribution is a property that when n is increased in n trials according to the binomial distribution, the binomial distribution approaches a normal distribution with an average value n · P. Where P is the probability that the result will be “successful” in a single trial. If this property is used and the coupling coefficient w and the number of times x corresponding to the delay time are set to P = w and n = x, the probability distribution of “success” in x trials follows a normal distribution with an average wx. That is, if the random number r is generated by the uniform random number generator x times and the number of times that the random number r is smaller than the coupling coefficient w is counted, the counted value follows a normal distribution with wx as an average. Become. Therefore, the multiplication value may be approximated by this count value. In this way, the circuit area of the neuron is greatly reduced as compared with the case where the multiplication circuit is used. In this sense, the “multiplication value” in this specification includes an approximate value that should be called a multiplication equivalent value.
By the way, it is conceivable that the random number according to the probability distribution generated by the nonlinear arithmetic means is a random number according to the normal distribution (hereinafter referred to as “normal random number”). Claim 11 ). Alternatively, random numbers according to a triangular distribution (hereinafter referred to as “triangular random numbers”) may be used ( Claim 12 ). This is because the function of the cumulative distribution only needs to be a saturated monotonically increasing function.
[0030]
Next, a non-linear calculation means for generating such random numbers to realize non-linear calculation will be described.
The non-linear operation means may be configured to include a random number generation means and a non-linear conversion means ( Claims 1-3 ). At this time, the random number generation means generates a random number according to a probability distribution having an average value of the addition value by the addition means, while the nonlinear conversion means calculates the number of positive values in the random numbers generated by the random number generation means, Count as a nonlinear operation value. The positive value here may include “0” or may not include “0”. This is because whether or not the boundary value “0” is included has little influence on the entire count value.
[0031]
The random number generation means generates a random number according to a probability distribution having an average value of “0”, and adds the addition value by the addition means to the random number, thereby generating a random number according to the probability distribution having the addition value by the addition means as an average value. Can be generated ( Claim 1 ). Specifically, random numbers according to a probability distribution with an average value of “0” can be generated using a uniform random number generator. Therefore, the random number generation means may be configured using a uniform random number generator and an adder that adds the random numbers generated by the uniform random number generator (
[0032]
It is known that when a large number of random numbers with a finite distribution are added, the distribution approaches a normal distribution by the central limit theorem. For example, a distribution of values obtained by adding 12 uniform random numbers U (0 ≦ U <1) and subtracting 6 is a normal distribution of N (0, 1). If two uniform random number generators are used, random numbers according to the above-described triangular distribution can be obtained.
[0033]
As described above, if twelve uniform random number generators are prepared, the added value will follow a normal distribution with a high degree of probability and accuracy. However, in the present invention, the random numbers according to the normal distribution are generated in order to enable non-linear calculation. Even if the random numbers do not follow the normal distribution with high accuracy, the function of the neuron is not impaired. Therefore, it is sufficient to use three or four uniform random number generators to generate a random number that actually follows a normal distribution.
[0034]
The configuration of the neuron has been described above, but it can also be realized as an invention of a hierarchical neural network having the above-described neuron as a functional unit ( Claim 13 ).
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. Needless to say, the present invention is not limited to the following examples, and various embodiments can be adopted as long as they belong to the technical scope of the invention.
[0036]
FIG. 1 is a schematic diagram of a neuron that is a functional unit of a hierarchical neural network.
The
[0037]
As shown in FIG. 13, the
[0038]
As shown in FIG. 1, the
The signal processing is performed based on the delay time from the reference pulse T generated at regular time intervals outside the
[0039]
N pulses x shown in FIG. 1 , X 2 , ..., x n Is a pulse with respect to the reference pulse T, for example the pulse x 1 The delay time is a delay from the reference pulse T. In FIG. 1, pulse x 1 Delay time of d 1 It showed in. Similarly, pulse x 2 , ..., x n The delay time of d is 2 , ..., d n It becomes.
[0040]
In this embodiment, the delay time d i Is always a positive value (d i ≧ 0). One reason for using the delay time is that excitatory coupling and inhibitory coupling can be represented by one signal. If the pulse delay time is used, the multiplication value with the coupling coefficient can be internally processed as a negative value. At this time, it is sufficient to process as a negative value inside the
[0041]
As shown in FIG. 1, the
[0042]
Next, the configuration and operation of the
FIG. 2 is a functional block diagram of the
[0043]
First, in the
[0044]
In the normal random
[0045]
Based on the count value Count from the reference
The
[0046]
First, the
FIG. 3 is a circuit diagram showing a configuration of the
[0047]
The delay time counting unit 21 is an SR flip-flop (hereinafter referred to as “SRF / F”).
) 21a and a 2-input AND
Further, the input signal x is supplied to the reset terminal (R) of the SRF / F 21a. i And the reference pulse T is input to the set terminal (S). The output terminal of the SRF / F 21a is connected to one input terminal of the AND
[0048]
The
On the other hand, the coupling coefficient w is input to the other input terminal (R) of the
[0049]
The most significant bit [m] of the coupling coefficient w is input to the inverting
When the most significant bit [m] of the coupling coefficient w is “0”, the inverting
[0050]
As described above, the random number generated by the
[0051]
The up / down
[0052]
The up / down
[0053]
The operation of the
As shown in FIG. 5, when the reference pulse T is input at time t1, the output of the SRF / F 21a is inverted to the H level. Therefore, the clock signal LCLK is output from the AND
[0054]
After that, at time t2, the input signal x i Is input, the output of the SRF / F 21a is inverted to the L level. Therefore, the output of the AND
Therefore, the clock signal LCLK to the
[0055]
At this time, it is assumed that the sign of the coupling coefficient w is positive. When the coupling coefficient w using the 2's complement expression is a positive value, the most significant bit [m] of the
[0056]
Since the most significant bit [m] of the coupling coefficient is “0”, the up / down
[0057]
As described above, the clock signal LCLK to the
[0058]
The
[0059]
If the sign of the coupling coefficient w is negative, the up / down
[0060]
As a result, when the coupling coefficient w is a negative value, the delay time d is determined in the
Here, the distribution of output values of the up / down counter 26 of the
[0061]
The normal distribution approximation of the binomial distribution is a property that when n is increased in n trials according to the binomial distribution, the binomial distribution approaches a normal distribution with an average value n · P. Where P is the probability that the result will be “successful” in a single trial. That is, in the
[0062]
Next, the
FIG. 6 is a circuit diagram showing a configuration of the
The
[0063]
The
The operation of the
[0064]
The
[0065]
When the next reference pulse T is input at time t3, the addition result by the
[0066]
Next, the normal random
FIG. 6 is a circuit diagram showing a configuration of the normal random
[0067]
When a pulse is input to the clock terminal, the
[0068]
The random numbers generated by each
[0069]
The
The operation of the normal random
[0070]
Each
[0071]
Thus, it is known that when a large number of random numbers having a finite distribution are added, the distribution approaches a normal distribution by the central limit theorem. For example, a distribution of values obtained by adding 12 uniform random numbers U (0 ≦ U <1) and subtracting 6 is a normal distribution of N (0, 1).
Therefore, although the addition result by the
[0072]
Therefore, the added value y from the adding
[0073]
Then, the most significant bit [n + 1] of the
[0074]
In the present embodiment, the reference normal random
This is a case where n = 7, but even with such a small number of
[0075]
Next, the
FIG. 7 is a circuit diagram showing a configuration of the
[0076]
The
[0077]
Further, the clock signal CLK and the reference pulse T are input to the
[0078]
The count value of the
The operation of the
[0079]
In FIG. 8, the reference pulse T is input at time t3, but the
[0080]
When the next reference pulse is input at time t4, the count value of the
[0081]
As described above, the addition value y output from the
[0082]
The addition result by the
On the other hand, the
[0083]
This area is the added value y in the function f (lower part) of the cumulative distribution obtained from the normal distribution (upper part) shown in FIG. j The function value f (y corresponding to j ) This function f is a saturated monotonically increasing function and has nonlinearity.
Therefore, the nonlinear calculation necessary for the
[0084]
Next, the
FIG. 11 is a circuit diagram showing a configuration of the
[0085]
The reference
The
[0086]
The count value Count of the
[0087]
On the other hand, the
[0088]
The output terminal of the
The
[0089]
The operation of the
[0090]
Since the count value Count of the
[0091]
Note that the
[0092]
Next, the effect exhibited by the
It goes without saying that if the neural network is configured using the
[0093]
In other words, the use of a digital circuit enables complete parallel processing, is not affected by variations in temperature characteristics and process variations in element formation, and it is relatively easy to form a circuit with high reliability. Get higher.
In addition, since the signal value to be processed is expressed using the delay time of the pulse, the excitatory coupling and the inhibitory coupling are expressed by one signal by processing the delay time as a negative value internally. be able to. As a result, the wiring corresponding to the connection portion between the synapse circuit and the neural circuit is halved as compared with the neural network described in the above publication using the pulse density.
[0094]
Moreover, according to the
In the pulse train neuron, for example, a pulse train composed of m pulses such as 256 is used as a unit of input / output signals. Each of the m pulses has a delay time according to a normal distribution with an average of λ. The reason for this is that the circuit for realizing the non-linear operation is simplified, and the non-linear operation inside the neuron can be easily realized using the counter. That is, since the delay time of the pulse train as the input signal follows a normal distribution, as shown in FIG. 16, a non-linear calculation can be realized by a counter that counts positive values in the added value based on the output sign Σ from the adder.
[0095]
However, what is important in the pulse train as an input signal is the average of the delay time of each pulse. If a non-linear operation is enabled by generating a random number according to a normal distribution inside the neuron, the average delay time of the pulse train is one. The delay time of the pulse may be replaced. That is, one pulse may be used for the input / output signal.
[0096]
Therefore, in the present invention, the normal random
In this case, the normal random
[0097]
On the other hand, in the
The
[0098]
Therefore, although the normal random
In terms of shortening the computation time, in a pulse train neuron having m pulse trains as signal units, computation is performed only when m pulses are input in time series. On the other hand, in this embodiment, the calculation time is shortened to (1 / m) by using one pulse as an input signal.
[0099]
As can be seen from the timing charts shown in FIGS. 5, 8, and 12, in the
[0100]
As described above in detail, according to the
Further, in the
[0101]
Furthermore, in this embodiment, the pulse x which is the input signal i Is assumed to occur later than the reference pulse T. Therefore, the pulse x with respect to the reference pulse T i Therefore, the configuration of the delay time counter 21 of the
[0102]
It is known that the response of the neural network becomes sensitive when the slope of the function f of the cumulative distribution shown in FIG. 10 increases. In some cases, it is desired to adjust the slope of the function f in accordance with the control target. At this time, as shown in FIG. 15, the distribution range of the addition result by the
[Brief description of the drawings]
FIG. 1 is a schematic diagram of a neuron of an embodiment.
FIG. 2 is a functional block diagram illustrating a neuron according to an embodiment.
FIG. 3 is a circuit diagram showing a configuration of a multiplication block.
FIG. 4 is a circuit diagram showing a configuration of an addition block.
FIG. 5 is a timing chart showing operations of a multiplication block and an addition block.
FIG. 6 is a circuit diagram showing a configuration of a normal random number generation block.
FIG. 7 is a circuit diagram showing a configuration of a nonlinear conversion block.
FIG. 8 is a timing chart showing operations of a normal random number generation block and a non-linear conversion block.
FIG. 9 is an explanatory diagram showing a distribution when uniform random numbers are actually added.
FIG. 10 is an explanatory diagram showing the mathematical meaning of a nonlinear transform block.
FIG. 11 is a circuit diagram showing a configuration of a basic pulse generation block and a pulse generation block.
FIG. 12 is a timing chart showing the operation of the pulse generation block.
FIG. 13 is a schematic diagram for explaining a hierarchical neural network.
FIG. 14 is a schematic diagram for explaining a general neuron.
FIG. 15 is an explanatory diagram showing a relationship between a normal distribution and a cumulative distribution.
FIG. 16 is an explanatory diagram showing a conventional nonlinear arithmetic circuit.
FIG. 17 is an explanatory diagram showing a conventional pulse generation circuit.
[Explanation of symbols]
10 ... Neurons
20 ... Multiplication block
21 ... Delay time counter
21a ... SR flip-flop
21b ... AND gate
22 ... Linear shift register
23. Reversing switch
23a ... Inversion gate
24 ... Comparator
25 ... Up / down switch
26 ... Up / down counter
30 ... Addition block
31 ... Adder
32 ... Register
40: Regular random number generation block
41 ... Reference normal random number generator
41a ... linear shift register
41b ... first adder
42. Second adder
50: Nonlinear transformation block
51 ... Counter
52 ... Register
60: Pulse generation block
61 ... Comparator
62 ... AND gate
100: Reference pulse generation block
101 ... Counter
102 ... AND gate
Claims (13)
基準パルスに対し入力信号としてのパルスが入力されると、対応する結合係数に基づく乗算値を求める乗算手段と、
該乗算手段にて前記パルスのそれぞれに対して求められる乗算値を加算する加算手段と、
該加算手段による加算値を平均値とする確率分布に従う乱数を生成し、当該乱数の累積分布を求めることによって非線形演算値を求める非線形演算手段と、
を備え、
前記非線形演算手段は、
平均値を「0」とする確率分布に従う乱数を生成し、当該乱数に前記加算手段による加算値を加えることによって、前記加算手段による加算値を平均値とする確率分布に従う乱数を生成する乱数生成手段と、
該乱数生成手段によって生成された乱数の中の正数値の個数を、前記非線形演算値として計数する非線形変換手段と、
を備えること
を特徴とするニューロン。 A neuron that models a neuron, which is a structural unit of a hierarchical neural network realized as a digital electronic circuit,
When a pulse as an input signal is input to the reference pulse, multiplication means for obtaining a multiplication value based on a corresponding coupling coefficient;
Adding means for adding a multiplication value obtained for each of the pulses by the multiplying means;
A non-linear operation means for generating a random number according to a probability distribution with an average value of the addition value by the addition means, and obtaining a non-linear operation value by obtaining a cumulative distribution of the random number ;
With
The non-linear operation means includes
Random number generation that generates random numbers according to a probability distribution with an average value of “0”, and adds an addition value by the addition means to the random numbers, thereby generating a random number according to a probability distribution with the addition value by the addition means as an average value Means,
Non-linear conversion means for counting the number of positive values in the random number generated by the random number generation means as the non-linear operation value;
Having
Neurons characterized by.
前記乱数生成手段は、一様乱数発生器と、当該一様乱数発生器にて生成された乱数を加算する加算器とを用いて構成されていること
を特徴とするニューロン。The neuron according to claim 1 , wherein
The neuron characterized in that the random number generation means is configured using a uniform random number generator and an adder that adds the random numbers generated by the uniform random number generator.
基準パルスに対し入力信号としてのパルスが入力されると、対応する結合係数に基づく乗算値を求める乗算手段と、 When a pulse as an input signal is input to the reference pulse, multiplication means for obtaining a multiplication value based on a corresponding coupling coefficient;
該乗算手段にて前記パルスのそれぞれに対して求められる乗算値を加算する加算手段と、 Adding means for adding a multiplication value obtained for each of the pulses by the multiplying means;
該加算手段による加算値を平均値とする確率分布に従う乱数を生成し、当該乱数の累積分布を求めることによって非線形演算値を求める非線形演算手段と、 A non-linear operation means for generating a random number according to a probability distribution with an average value of the addition value by the addition means, and obtaining a non-linear operation value by obtaining a cumulative distribution of the random number;
を備え、 With
前記非線形演算手段は、 The non-linear operation means includes
前記加算手段による加算値を平均値とする確率分布に従う乱数を生成する乱数生成手段と、 Random number generating means for generating a random number according to a probability distribution with an average value of the added value by the adding means;
該乱数生成手段によって生成された乱数の中の正数値の個数を、前記非線形演算値として計数する非線形変換手段と、 Non-linear conversion means for counting the number of positive values in the random number generated by the random number generation means as the non-linear operation value;
を備え、 With
前記乱数生成手段は、一様乱数発生器と、当該一様乱数発生器にて生成された乱数を加算する加算器とを用いて構成されていること The random number generation means is configured using a uniform random number generator and an adder that adds the random numbers generated by the uniform random number generator.
を特徴とするニューロン。 Neurons characterized by.
前記乗算手段は、基準パルスに対し入力信号としてのパルスが入力されると、基準パルスからの当該パルスの遅延時間に、対応する結合係数を乗じて前記乗算値を求めること
を特徴とするニューロン。 The neuron according to any one of claims 1 to 3,
Said multiplying means, when with respect to the reference pulse is a pulse as an input signal is input, the delay time of the pulse from the reference pulse, multiplied by the corresponding coupling coefficients neurons and obtains the multiplication values.
前記非線形演算手段にて求められた前記非線形演算値に基づき、基準パルスに対する出力信号としてのパルスを生成するパルス生成手段を備えること
を特徴とするニューロン。 The neuron according to any one of claims 1 to 4,
Neurons, comprising the non-linear based on the non-linear operation values determined by the computing means, pulse generation means to generate a pulse as the output signal with respect to the reference pulse.
前記パルス生成手段は、前記基準パルスよりも遅れたパルスを生成すること
を特徴とするニューロン。The neuron according to claim 5 , wherein
The neuron characterized in that the pulse generation means generates a pulse delayed from the reference pulse.
前記パルスが前記基準パルスよりも遅れて入力されることを前提として、前記各手段を構成したこと
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 6 ,
A neuron characterized in that each of the means is configured on the assumption that the pulse is input later than the reference pulse.
さらに、前記基準パルスを生成する基準パルス生成手段を備えていること
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 7 ,
The neuron further comprising reference pulse generation means for generating the reference pulse.
前記基準パルスは、一定時間間隔で生成されること
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 8 ,
The neuron according to claim 1, wherein the reference pulse is generated at regular time intervals.
前記乗算手段は、
一様乱数発生器を備えており、
前記パルスの遅延時間に応じた回数だけ前記一様乱数発生器にて乱数を生成し、当該生成した乱数と結合係数との値を比較し、当該比較結果に基づき前記乗算値を求めること
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 9 ,
The multiplication means is
Equipped with a uniform random number generator,
A random number is generated by the uniform random number generator a number of times corresponding to the delay time of the pulse, the generated random number is compared with a coupling coefficient, and the multiplication value is obtained based on the comparison result. A neuron.
前記非線形演算手段にて生成される前記確率分布に従う乱数は、正規分布に従う乱数(正規乱数)であること
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 10 ,
The random number according to the probability distribution generated by the nonlinear arithmetic means is a random number according to a normal distribution (normal random number).
前記非線形演算手段にて生成される前記確率分布に従う乱数は、三角分布に従う乱数(三角乱数)であること
を特徴とするニューロン。 In the neuron according to any one of claims 1 to 10 ,
The neuron according to the probability distribution generated by the nonlinear arithmetic means is a random number according to a triangular distribution (triangular random number).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000337651A JP4568987B2 (en) | 2000-11-06 | 2000-11-06 | Neuron and hierarchical neural network constructed using the neuron |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000337651A JP4568987B2 (en) | 2000-11-06 | 2000-11-06 | Neuron and hierarchical neural network constructed using the neuron |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002150259A JP2002150259A (en) | 2002-05-24 |
| JP4568987B2 true JP4568987B2 (en) | 2010-10-27 |
Family
ID=18813000
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000337651A Expired - Fee Related JP4568987B2 (en) | 2000-11-06 | 2000-11-06 | Neuron and hierarchical neural network constructed using the neuron |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4568987B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102547775B1 (en) * | 2021-05-11 | 2023-06-23 | 포항공과대학교 산학협력단 | Normalization Method of Analog-to-Stochastic Converter |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3338713B2 (en) * | 1991-11-15 | 2002-10-28 | 株式会社リコー | Signal processing device |
| JPH07114524A (en) * | 1993-10-14 | 1995-05-02 | Ricoh Co Ltd | Signal processor |
| JPH07262157A (en) * | 1994-03-17 | 1995-10-13 | Kumamoto Techno Porisu Zaidan | Neural network and circuit therefor |
-
2000
- 2000-11-06 JP JP2000337651A patent/JP4568987B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002150259A (en) | 2002-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4392089B2 (en) | Neuron, hierarchical neural network configured using the neuron, and multiplication circuit used for multiplication processing inside the neuron | |
| Smithson et al. | Efficient CMOS invertible logic using stochastic computing | |
| Wang et al. | Energy efficient parallel neuromorphic architectures with approximate arithmetic on FPGA | |
| JPH07248841A (en) | Non-linear function generator and format converter | |
| Hikawa | Frequency-based multilayer neural network with on-chip learning and enhanced neuron characteristics | |
| Jokar et al. | An efficient uniform-segmented neuron model for large-scale neuromorphic circuit design: Simulation and FPGA synthesis results | |
| CN106127301A (en) | A kind of stochastic neural net hardware realization apparatus | |
| CN112101517A (en) | FPGA implementation method based on piecewise linear pulse neuron network | |
| US5588090A (en) | Signal processing apparatus | |
| Gholami et al. | Reconfigurable field‐programmable gate array‐based on‐chip learning neuromorphic digital implementation for nonlinear function approximation | |
| Temenos et al. | Deterministic finite state machines for stochastic division in unipolar format | |
| JP4568987B2 (en) | Neuron and hierarchical neural network constructed using the neuron | |
| US5485548A (en) | Signal processing apparatus using a hierarchical neural network | |
| Krishnegowda | Analyzing different high speed adder architecture for Neural Networks | |
| JPH04182769A (en) | Digital neuro processor | |
| Nelson et al. | Reconfigurable ASIC implementation of asynchronous recurrent neural networks | |
| Nedjah et al. | Stochastic reconfigurable hardware for neural networks | |
| JPH09185596A (en) | Coupling coefficient updating method in pulse density signal processing network | |
| JP3508783B2 (en) | Coupling coefficient updating method and coupling coefficient updating apparatus in pulse density type signal processing network | |
| Akbar et al. | Design of neuron net function using modified radix-4 Booth multiplier with a flipped logic parallel prefix adder | |
| JP3130913B2 (en) | Signal processing device | |
| JP2559879B2 (en) | Fuzzy controller | |
| Christiani et al. | Towards a scalable neuromorphic hardware for classification and prediction with stochastic no-prop algorithms | |
| JP3338713B2 (en) | Signal processing device | |
| JP3417574B2 (en) | Neuron element for fuzzy logic operation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070126 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070330 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070330 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100625 |
|
| 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: 20100713 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100726 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |