JP3353786B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP3353786B2
JP3353786B2 JP2001220831A JP2001220831A JP3353786B2 JP 3353786 B2 JP3353786 B2 JP 3353786B2 JP 2001220831 A JP2001220831 A JP 2001220831A JP 2001220831 A JP2001220831 A JP 2001220831A JP 3353786 B2 JP3353786 B2 JP 3353786B2
Authority
JP
Japan
Prior art keywords
circuit
memory
neuron
value
output value
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
Application number
JP2001220831A
Other languages
Japanese (ja)
Other versions
JP2002117389A (en
Inventor
隆夫 渡部
勝高 木村
清男 伊藤
良樹 川尻
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001220831A priority Critical patent/JP3353786B2/en
Publication of JP2002117389A publication Critical patent/JP2002117389A/en
Application granted granted Critical
Publication of JP3353786B2 publication Critical patent/JP3353786B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、大規模かつ高速な
並列分散処理を実現するためのメモリ回路を内蔵した情
報処理装置に関するものである。特にニューラルネット
ワーク情報処理を行なう情報処理装置に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus having a built-in memory circuit for realizing a large-scale and high-speed parallel distributed processing. In particular, the present invention relates to an information processing device that performs neural network information processing.

【0002】[0002]

【従来の技術】ニューロコンピューティングとよばれる
ニューラルネットワークを用いた並列分散型情報処理
(以下ニューラルネッ卜ワーク情報処理)は、コンプレッ
クスシステムズ1(1987年)第145頁から第16
8頁 (Sejnowski, T. J., andRosenberg, C. R. 198
7. Parallel networks that learn to pronounce Engl
ish text.Complex Systems 1, PP.145−168) あ
るいはニューラルネットワーク情報処理 (産業図書、麻
生英樹著) などに述べられているように音声あるいは画
像処理などの分野において注目を集めている。ニューラ
ルネットワーク情報処理では、ネットワーク状に結合し
た多数のニューロンと呼ばれる演算要素が、結合と呼ば
れる伝達線を通じて情報をやりとりして高度な情報処理
を行なう。各々のニューロンでは他のニューロンから送
られてきた情報(ニューロン出力値)に対して積あるいは
和などの単純な演算が行なわれる。各々のニューロン内
の演算、さらには、異なるニューロンの演算も並列に行
なうことが可能なため、原理的には、高速に情報処理を
行なうことができる特長を持っている。また、ネイチャ
ー323−9、 (1986年a) 第533頁から第53
5頁 (Rumelhart,D. E., Hinton, G. E., and William
s, R. J. 1986a. Learningrepresentations by bac
k-propagation errors. Nature 323−9, pp.533
−536)、あるいはニューラルネットワーク情報処理
(産業図書、麻生英樹著)第2章などに述べられているよ
うに、望ましい情報処理を行なわせるためにニューロン
同志をつなぐ結合の重み値を設定するアルゴリズム(学
習)も提案されているため、目的に応じた様々な情報処
理をさせることができる。
2. Description of the Related Art Parallel and distributed information processing using a neural network called neurocomputing
(Hereinafter referred to as "neural network information processing"), Complex Systems 1 (1987), p.
8 pages (Sejnowski, TJ, andRosenberg, CR 198
7. Parallel networks that learn to pronounce Engl
As described in ish text. Complex Systems 1, PP. 145-168) or neural network information processing (Sangyo Tosho, written by Hideki Aso), it has attracted attention in fields such as speech and image processing. In neural network information processing, a large number of arithmetic elements called neurons connected in a network form exchange information through transmission lines called connections to perform advanced information processing. In each neuron, a simple operation such as a product or a sum is performed on information (a neuron output value) sent from another neuron. The operation in each neuron and also the operation of different neurons can be performed in parallel, and in principle, it has the feature that information processing can be performed at high speed. Nature 323-9, (1986a) pages 533 to 53
5 pages (Rumelhart, DE, Hinton, GE, and William
s, RJ 1986a. Learningrepresentations by bac
k-propagation errors. Nature 323-9, pp. 533
-536), or neural network information processing
(Sangyo Tosho, written by Hideki Aso) As described in Chapter 2, etc., algorithms (learning) for setting weights of connections connecting neurons to perform desired information processing have been proposed. Various information processing can be performed according to the purpose.

【0003】[0003]

【発明が解決しようとする課題】まず、ニューラルネッ
トワークの動作原理を2種類の代表的なネットワークで
ある階層型ネットワークとホップフィールド型ネットワ
ークについて説明する。図2 (a) は、階層型ネットワ
ーク、図4 (a) は、ホップフィールド型ネットワーク
の構造を示したものである。これらは、どちらもニュー
ロンとニューロン同上をつなぐ結合から構成されてい
る。ここでは、ニューロンという用語を用いるが、場合
によってはノード、あるいは演算要素などと呼ばれるこ
ともある。結合の矢印の向きは、ニューロン出力値の伝
わる方向を示している。階層型ネットワークは、図2
(a) に示したように、ニューロンが複数の階層をなす
ように並び、入力層から出力層へ向かう方向にのみニュ
ーロン出力値が伝わるものである。一方、ホップフィ一
ルド型ネットワークは、図4 (a) に示したように、同
じニューロンにニューロン出力値がフィードバックされ
るほか、任意の2つのニュ一ロン間で両方向にニューロ
ン出力値が伝わるものである。図2 (b) , 図4 (b)
にニューロン内で行なわれる演算の原理を示した。演算
の原理はどちらのネットワークでも同様なので、図2
(b) を用いて階層型ネットワークについて説明する。
図2 (b) は、S+1番目の層内のj番目のニューロン
を拡大して示したものである。このニューロン内には結
合を通じて前層、すなわちS番目の層内のニューロンの
出力値V1S,…, V1S,…, VnSSが入力される。
ここで、nSはS番目の層内のニューロンの数を示して
いる。ニューロン内では入力されたニューロンの出力値
V1S, …, ViS, …, VnSSと結合重み値TSj
1, …, TSj1, …, TSjnsとの積V1STSj
1,…, ViSTSj1, …, VnSSTSjnSが乗
算機MTにより計算される。つぎに、これらの積とオフ
セットΘjS+1との和を加算機ADDにより計算す
る。オフセットΘjS+1は場合によっては、省略して
もよい。さらに、その結果を非線形関数回路Dに入力し
てニューロンの出力値VjS+1を得る。非線形関数回
路Dは図3(a)あるいは、図3(b)に示したような
特性を持ち、入力xに対して出力g(x)を出力する。
図3(a)は、入力xがあるしきい値xthを越えるか
否かにより2値の出力g1あるいはg2を出力する非線
形関数の例であり、図3(b)は、シグモイド関数を用
いた例で連続的な出力を出す。非線形関数回路Dには、
必要に応じてこの他の特性を持たせることもある。ま
た、場合によっては、線形の特性を持たせてもよい。上
記の演算の原理は、図4(b)に示したようにホップフ
ィールド型ネットワークでも同様である。ただし、ホッ
プフィールド型ネットワークでは、1つのニューロンに
1層前のニューロンだけでなく、すべてのニューロンの
出力値が入力される。
First, the principle of operation of a neural network will be described for two typical types of networks, a hierarchical network and a Hopfield network. FIG. 2A shows the structure of a hierarchical network, and FIG. 4A shows the structure of a Hopfield network. These are both composed of connections between neurons and neurons. Here, the term neuron is used, but in some cases, it is also called a node or an operation element. The direction of the connection arrow indicates the direction in which the neuron output value is transmitted. Figure 2 shows a hierarchical network.
As shown in (a), neurons are arranged in a plurality of layers, and the neuron output value is transmitted only in the direction from the input layer to the output layer. On the other hand, a hop-field network is a network in which the neuron output value is fed back to the same neuron and the neuron output value is transmitted in both directions between any two neurons, as shown in FIG. is there. Fig. 2 (b), Fig. 4 (b)
Shows the principle of the operation performed in the neuron. Since the operation principle is the same in both networks, FIG.
The hierarchical network will be described with reference to FIG.
FIG. 2B is an enlarged view of the j-th neuron in the (S + 1) -th layer. The output values V1S,..., V1S,.
Here, nS indicates the number of neurons in the S-th layer. , ViS,..., VnSS of the input neuron and the connection weight value TSj
1,..., TSj1,..., Product with TSjns V1STSj
, ViSTSj1, ..., VnSSTSjnS are calculated by the multiplier MT. Next, the sum of the product and the offset ΘjS + 1 is calculated by the adder ADD. The offset ΘjS + 1 may be omitted in some cases. Further, the result is input to the nonlinear function circuit D to obtain an output value VjS + 1 of the neuron. The nonlinear function circuit D has characteristics as shown in FIG. 3A or FIG. 3B, and outputs an output g (x) with respect to an input x.
FIG. 3A is an example of a nonlinear function that outputs a binary output g1 or g2 depending on whether the input x exceeds a certain threshold value xth, and FIG. 3B shows a non-linear function using a sigmoid function. Give continuous output in the example. In the nonlinear function circuit D,
Other characteristics may be provided as needed. In some cases, a linear characteristic may be provided. The principle of the above calculation is the same in a Hopfield network as shown in FIG. However, in the Hopfield network, the output values of all neurons, not just the neurons one layer before, are input to one neuron.

【0004】図2(a),(b)より判るように、階層
型ネットワークでは、まず、入力層のニューロンの出力
値を与えたあと次の層内のニュー口ンの出力値が更新さ
れ、さらに次の層内のニューロンの出力値が更新されて
1つの処理が終了する。一方、図4(a)のようにホッ
プフィールド型ネットワークでは、層というものがない
ため、それぞれのニューロンは、適当なタイミングで出
力値を更新することができる。このホップフィールド型
ネットワークでは、すべてのニューロン出力値を適当に
与え、ニューロン出力値が平衡状態となるまでニューロ
ン出力値の更新を続ける。すべてのニューロンの出力値
を同時に更新するものを同期的なホップフィールド型ネ
ットワーク、それぞれのニューロンが、勝手なタイミン
グで出力値を更新するものを非同期的なホップフィール
ド型ネットワークと呼んで区別する。
As can be seen from FIGS. 2 (a) and 2 (b), in the hierarchical network, first, the output value of the neuron of the input layer is given, and then the output value of the new pixel in the next layer is updated. Further, the output value of the neuron in the next layer is updated, and one process ends. On the other hand, in a Hopfield type network as shown in FIG. 4A, since there is no layer, each neuron can update an output value at an appropriate timing. In this Hopfield-type network, all neuron output values are given appropriately, and updating of the neuron output values is continued until the neuron output values reach an equilibrium state. The one that updates the output values of all neurons simultaneously is called a synchronous Hopfield network, and the one that each neuron updates the output values at arbitrary timing is called an asynchronous Hopfield network.

【0005】上記のようなニューラルネットワークの演
算を行なうためにソフトウエアを用いる方法とハードウ
エアを用いる方法とが用いられてきた。ソフトウエアを
用いる方法では、計算機言語で書かれたプログラムによ
りニューロンの演算を行なうので目的に応じてニューロ
ンの数を変えたりネットワークの構造を容易に変えるこ
とができる。しかし、演算を逐次的に行なうためニュー
ロンの数を増やすと情報処理時間が急激に増加するとい
う欠点があった。たとえば、n個のニューロンを用いた
ホップフィールド型ネットワークでは、1つのニューロ
ンの出力値を更新するのにn回の積を計算しなければな
らない。したがって、すべてのニューロンの出力値を少
なくとも1回更新するためには、n2回の積を計算する
必要がある。すなわち、ニューロン数nの増大とともに
計算量はn2のオーダーで増加する。その結果、乗算を
逐次的に行なうと情報処理時間もn2のオーダ一で増加
してしまう。
[0005] A method using software and a method using hardware have been used to perform the operation of the neural network as described above. In the method using software, neuron operations are performed by a program written in a computer language, so that the number of neurons and the structure of the network can be easily changed according to the purpose. However, there is a drawback that the information processing time increases rapidly when the number of neurons is increased because the calculation is performed sequentially. For example, in a Hopfield network using n neurons, n products must be calculated to update the output value of one neuron. Therefore, in order to update the output values of all neurons at least once, it is necessary to calculate n2 products. That is, the amount of calculation increases in the order of n2 as the number n of neurons increases. As a result, if the multiplication is performed sequentially, the information processing time also increases on the order of n2.

【0006】ハードウエアを用いる方法では、乗算など
の演算を行なうニューロンをハードウエア化することに
よって、演算の時間を短縮できる。さらに、ハードウエ
ア化したニューロンを多数用いることによって演算を並
列に行ないさらに高速化を図る試みもなされてきた。し
かし、ニューロンの数を増やすとニューロン間の信号線
にあたる配線の本数がn2のオーダーで増加するため、
大規模なネットワークを実現するのが困難であった。
In the method using hardware, the time required for the operation can be shortened by making the neuron that performs the operation such as multiplication into hardware. Further, attempts have been made to further increase the speed by performing operations in parallel by using a large number of hardware neurons. However, when the number of neurons is increased, the number of wirings corresponding to signal lines between neurons increases in the order of n2.
Large networks have been difficult to achieve.

【0007】配線の問題を解決する方法の一例として日
経マイクロデバイス1989年3月号p.123−12
9に記載されたものの原理を図5に示す。図5はアナロ
グニューロプロセッサANPとSRAMとを用いて3層
で各層に3つのニューロンを用いた階層型ネットワーク
を構成した例を示している。ANPは、図2(b)にお
ける乗算機MTと加算機ADDが1つずつと非線形関数
回路Dなどが1チップに集積されてものである。別のチ
ップであるSRAMには、各ニューロンに属する結合重
み値が記憶されている。異なる層のニューロンとは、ア
ナログコモンバスと呼ばれる1本の信号線を使って結合
されている。入力層のニューロン出力値は外部から入力
するため、入力層のニューロンに相当するANPとSR
AMは省略されている。
As an example of a method for solving the wiring problem, see Nikkei Micro Devices, March 1989, p. 123-12
The principle of what is described in FIG. 9 is shown in FIG. FIG. 5 shows an example in which an analog neuroprocessor ANP and an SRAM are used to form a three-layer hierarchical network using three neurons in each layer. The ANP is such that the multiplier MT and the adder ADD in FIG. 2B are each integrated, and the nonlinear function circuit D and the like are integrated on one chip. The SRAM, which is another chip, stores connection weight values belonging to each neuron. Neurons of different layers are connected by using one signal line called an analog common bus. Since the neuron output value of the input layer is input from the outside, ANP and SR corresponding to the neuron of the input layer
AM is omitted.

【0008】動作は次のようになる。まず、所望の情報
処理に必要な各ANP用の結合重み値を外部から、それ
ぞれのSRAMに読み込む。次に入力信号線から、入力
層内の1つのニューロンの出力値にあたる入力アナログ
信号を入力する。入力信号は、中間層のニューロンに相
当するANPに直接、並列に入る。入力信号に同期させ
て、重みデータをSRAMから各ANPにデータを読出
す。次に2つの信号の積を計算しその結果を各ANPに
記憶する。つづいて、入力層の別のニューロンの出力値
にあたる入力アナログ信号を入力して同様に積を計算し
その結果を中間層の各ANPに記憶されている値に足し
合わせる。入力層の最後のニューロンの出力値にあたる
入力アナログ信号について同様の演算を行なった後に、
中間層のニューロン出力値V12,V22,V32をA
NP内の非線形関数回路により順番に中間層アナログコ
モンバスに出力し上記と同様の演算を続ける。最後に出
力層のANP内の非線形関数回路により出力層のニュー
ロン出力値V13,V23,V33を出力層アナログコ
モンバスに順番に出力する。
The operation is as follows. First, a connection weight value for each ANP necessary for desired information processing is read from the outside into each SRAM. Next, an input analog signal corresponding to the output value of one neuron in the input layer is input from the input signal line. The input signal goes directly into parallel to the ANP corresponding to the neurons in the hidden layer. The weight data is read from the SRAM to each ANP in synchronization with the input signal. Next, the product of the two signals is calculated and the result is stored in each ANP. Subsequently, an input analog signal corresponding to the output value of another neuron in the input layer is input, a product is similarly calculated, and the result is added to the value stored in each ANP in the intermediate layer. After performing the same operation on the input analog signal corresponding to the output value of the last neuron in the input layer,
The neuron output values V12, V22 and V32 of the intermediate layer are represented by A
The signals are sequentially output to the intermediate layer analog common bus by the nonlinear function circuit in the NP, and the same operation as described above is continued. Finally, neuron output values V13, V23, V33 of the output layer are sequentially output to the output layer analog common bus by the nonlinear function circuit in the ANP of the output layer.

【0009】上記のように図5に示した従来例に依れ
ば、コモンバスを時分割で駆動することにより配線の問
題を回避することができる。また、1層内のニューロン
の数だけの乗算を並列に行なうことができるので、ハー
ドウエア化による演算スピードの高速化とあいまって情
報処理速度をソフトウエアによる方法と比べて大幅に上
げることができる。
As described above, according to the conventional example shown in FIG. 5, the wiring problem can be avoided by driving the common bus in a time-division manner. In addition, since the multiplication by the number of neurons in one layer can be performed in parallel, the speed of information processing can be significantly increased in comparison with the method using software, in combination with the increase in operation speed by hardware. .

【0010】しかし、ANPとSRAMとを別々のチッ
プとしているため大規模なネットワークを高密度に実現
するのは、困難である。上記の日経マイクロデバイス1
989年3月号p.129に記載されているように10
mm角のチップ上に32ニューロンを集積することが可能
だとしても1つのニューロンについて加算器, 乗算器,
非線形関数回路を1つずつ用意する必要があるため、数
百, 数千のニューロンを1つのチップ上に集積すること
は困難である。
However, it is difficult to realize a large-scale network at a high density because the ANP and the SRAM are separate chips. The above Nikkei microdevice 1
March 989 p. 129 as described in 129
Even if it is possible to integrate 32 neurons on a mm-square chip, adders, multipliers,
Since it is necessary to prepare nonlinear function circuits one by one, it is difficult to integrate hundreds or thousands of neurons on one chip.

【0011】また、上記従来例では、実際の問題に適用
する際に次のような問題がある。階層型ネットワークの
応用例として3層のネットワークに英文字を入力してそ
の発音、アクセントを出力する例がコンプレックスシス
テムズ1(1987年)第145頁から第168頁 (Se
jnowski, T. J., and Rosenberg, C. R. 1987.Para
llel networks that learn to pronounce English tex
t. Complex Systems1, PP.145−168) に述べら
れている。第1層のニューロン出力値として英文字7文
字のコードが設定され、第3層の26個のニューロンの
出力値として上記7文字の中央の文字の発音、アクセン
トに対応するコードを出力するというものである。この
ような例では、入力によっては、出力層のニューロンの
出力値が、あらかじめ定義しておいた発音,アクセント
のコードに一致せずあいまいな値が得られることがあ
る。したがって、得られた出力と、すべての発音,アク
セントのコードを比較して最も近いコードを見つけてそ
れを正解とする必要がある。このような出力値と出力の
期待値 (上記例では発音,アクセントのコード) との比
較は、ニューラルネットワークによるパターン認識など
でも同様に必要となる。上記の従来例ではこの点が考慮
されおらず、実際の問題に適用する際に不便であった。
Further, the above conventional example has the following problem when applied to an actual problem. As an application example of a hierarchical network, an example of inputting English characters to a three-layer network and outputting its pronunciation and accent is described in Complex Systems 1 (1987), pages 145 to 168 (Se
jnowski, TJ, and Rosenberg, CR 1987.Para
llel networks that learn to pronounce English tex
t. Complex Systems1, PP.145-168). A code of seven alphabetic characters is set as the neuron output value of the first layer, and a code corresponding to the pronunciation and accent of the central character of the seven characters is output as the output value of 26 neurons of the third layer. It is. In such an example, depending on the input, the output value of the neuron in the output layer may not match the predefined pronunciation and accent codes, resulting in an ambiguous value. Therefore, it is necessary to compare the obtained output with all the pronunciation and accent codes to find the closest code and make it the correct answer. Such a comparison between the output value and the expected value of the output (pronunciation and accent codes in the above example) is also necessary for pattern recognition using a neural network. This point is not taken into consideration in the above-mentioned conventional example, which is inconvenient when applied to an actual problem.

【0012】さらに上記従来例では所望の情報処理に必
要な結合重み値を外部のコンピュータで求めてその結果
を図5のSRAMに書き込んでいる。従って学習をソフ
トウエアですべて行うため、学習を高速に行うことは困
難であった。
Further, in the above conventional example, a connection weight value required for desired information processing is obtained by an external computer, and the result is written in the SRAM of FIG. Therefore, it is difficult to perform learning at high speed because all learning is performed by software.

【0013】本発明の目的は、多数のニューロンを含む
ネットワークにおいてニューロン出力値の計算を、少数
の回路を用いて高速に行なう装置を提供することにあ
る。また、本発明の他の目的は、ニューロン出力値と期
待値を高速に比較する機能を上記装置に持たせることに
ある。さらに、本発明の更に他の目的は学習に必要な演
算の少なくとも1部を処理する機能を上記装置に持たせ
ることにある。本発明の他の目的は以下の説明及び図面
によって、明らかにされる。
An object of the present invention is to provide an apparatus for calculating a neuron output value at high speed using a small number of circuits in a network including many neurons. Another object of the present invention is to provide the device with a function of comparing a neuron output value and an expected value at high speed. Still another object of the present invention is to provide the device with a function of processing at least a part of an operation necessary for learning. Other objects of the present invention will become apparent from the following description and drawings.

【0014】[0014]

【課題を解決するための手段】上記課題を解決するため
に、本発明では、ニューロン出力値,結合重み値,出力
の期待値ならびに学習に必要なデータなどを記憶するメ
モリ回路、該メモリ回路に情報を書き込んだり、該メモ
リ回路より情報を読出したりするための入出力回路、該
メモリ回路に記憶されている情報を用いて積和および非
線形変換等ニューロン出力値を求めるための演算ならび
に出力値とその期待値の比較, 学習に必要な演算などを
行なう演算回路, 上記メモリ回路, 入出力回路, 演算回
路の動作を制御するための制御回路を設けた。上記演算
回路は加算器,乗算器, 非線形関数回路, 比較器などの
いずれかを少なくとも1つ以上含んで構成され、積和等
ニューロン出力値を求めるために必要な演算の少なくと
も1部を並列に行なえるようにした。しかも、これらの
回路を複数のニューロンで共用させ、時分割で動作させ
ることによって、複数のニューロン出力値を求めるよう
にした。また、上記比較器は、求めたニューロン出力値
と出力の期待値とを並列に比較するようにした。
According to the present invention, there is provided a memory circuit for storing a neuron output value, a connection weight value, an expected output value, data necessary for learning, and the like. An input / output circuit for writing information or reading information from the memory circuit, an operation for obtaining a neuron output value such as a product-sum and non-linear conversion using the information stored in the memory circuit, and an output value. An operation circuit for performing operations required for comparison and learning of the expected value, a memory circuit, an input / output circuit, and a control circuit for controlling operations of the operation circuit are provided. The arithmetic circuit includes at least one of an adder, a multiplier, a non-linear function circuit, a comparator, and the like. I was able to do it. Moreover, these circuits are shared by a plurality of neurons, and are operated in a time-sharing manner to obtain a plurality of neuron output values. Further, the comparator compares the calculated neuron output value and the expected output value in parallel.

【0015】上記のように演算回路に含まれる加算器、
乗算器、非線形関数回路を複数のニューロンについて共
用したため、多数のニューロンを用いたニューラルネッ
トワークにおいてニューロン出力値を計算する装置を少
数の回路で実現することができる。また、上記演算回路
で積和等ニューロン演算の少なくとも1部を並列に行な
うため、情報処理を高速に行なうことができる。また、
上記比較器により、得られた出力値と出力の期待値とを
並列に比較することができるため、得られた出力値と期
待値との距離 (得られた出力値と期待値との一致度、い
わゆるハミング距離) を高速に求めることができる。さ
らに、学習に必要な演算の少なくとも1部を装置のハー
ドウエアで行うため学習の高速化を図ることができる。
An adder included in the arithmetic circuit as described above;
Since the multiplier and the non-linear function circuit are shared by a plurality of neurons, a device for calculating a neuron output value in a neural network using a large number of neurons can be realized with a small number of circuits. Further, since at least a part of the neuron operation such as the product-sum operation is performed in parallel by the arithmetic circuit, information processing can be performed at high speed. Also,
With the above comparator, the obtained output value and the expected value of the output can be compared in parallel, so that the distance between the obtained output value and the expected value (the degree of coincidence between the obtained output value and the expected value) , A so-called Hamming distance) can be obtained at high speed. Further, since at least a part of the operation necessary for the learning is performed by the hardware of the device, the speed of the learning can be increased.

【0016】[0016]

【発明の実施の形態】図1は、本発明による情報処理装
置を半導体チップ上に集積化した場合の1実施例であ
る。情報を記憶するメモリ回路、該メモリ回路に情報を
書き込み、及び、該メモリ回路より情報を読出す動作の
少なくとも一方を行なう入出力回路, ニューロン出力値
を求めるための演算, 出力値と期待値との比較 (得られ
た出力値と期待値との一致度、 いわゆるハミング距離
の算定) 、あるいは学習に必要な演算などを該メモリ回
路に記憶されている情報を用いて行う演算回路, 上記メ
モリ回路, 入出力回路, 演算回路の動作を制御するため
の制御回路を半導体チップ上に集積してある。各ブロッ
クを結ぶバスは1本の配線とは限らず必要な複数の配線
で構成される。上記メモリ回路には、ニューラルネット
ワーク情報処理に必要な結合重み値, ニューロン出力
値, 出力の期待値あるいは学習に必要なデータなどを記
憶することができる。本実施例により次のようにしてニ
ューロン出力値の計算、出力値と期待値との比較、ある
いは学習に必要な計算などニューラルネットワーク情報
処理を行なうことができる。初めにニューロン出力値を
計算する方法について述べる。まず、制御回路により、
メモリ回路から演算回路にバス1を通じてニューラルネ
ットワーク情報処理のための演算を行うのに必要な結合
重み値ならびにニューロン出力値あるいは、オフセット
などを並列に読出す。次に演算回路によりニューロン出
力値を求めるのに必要な積和, 非線形変換などの演算を
並列に行ない、得られた結果を入出力回路を通じてメモ
リ回路へ書込む。以上の動作を必要な回数続けてニュー
ロン出力値を求めていく。演算回路では1回の動作で1
つあるいは複数のニューロン出力値を同時に求めてもよ
いし、あるいはニューロン出力値を求める計算の1部を
行ってもよい。このようにすれば、階層型ネットワー
ク、あるいは同期型, 非同期型のホップフィールド型ネ
ットワークなど様々なニューラルネットワークによる情
報処理を行なうことができる。なお同期型のホップフィ
ールド型ネットワークでは、すべてのニューロンの出力
値を同期的に更新するため、すべてのニューロンの出力
値の更新が終わるまで前回のすべてのニューロンの出力
値を記憶しておく必要がある。この場合には、前回のす
べてのニューロンの出力値をメモリ回路に記憶しておい
てニューロンの出力値の更新に使用すればよい。本実施
例によれば、ニューロン出力値を計算するのに必要な乗
算器, 加算器,非線形関数回路を必要な個数だけ演算回
路に設けて反復使用すればよいため各ニューロン毎にこ
れらの回路を用意する場合に比べて大幅に回路数を削減
できる。例えば、各層が100個のニューロンからなる
3層の階層型ネットワークを実現するのに図7の従来例
では、乗算器と加算器ならびに非線形関数回路を200
個ずつ用意しなくてはならないのに対して本実施例で
は、最低1つの乗算器と1つの加算器ならびに1つの非
線形関数回路を用意すればよい。速度を上げるために1
つのニューロン出力値を更新するのに必要な乗算を並列
に行なうとしても100個の乗算器と1つの加算器なら
びに1つの非線形関数回路を用意すればよい。したがっ
て本実施例に依れば従来例に比べて回路数を削減でき
る。なお、上記の差はネットワークが大規模になるほど
大きくなる。ホップフィールド型等他のネットワークで
も事情は同じである。
FIG. 1 shows an embodiment in which an information processing apparatus according to the present invention is integrated on a semiconductor chip. A memory circuit that stores information, an input / output circuit that performs at least one of an operation of writing information to and reading information from the memory circuit, an operation for obtaining a neuron output value, an output value and an expected value, (The degree of coincidence between the obtained output value and the expected value, that is, calculation of the so-called Hamming distance), or an arithmetic circuit that performs an operation necessary for learning using information stored in the memory circuit, the memory circuit described above. A control circuit for controlling operations of an input / output circuit and an arithmetic circuit is integrated on a semiconductor chip. The bus connecting each block is not limited to one wire, but is composed of a plurality of necessary wires. The memory circuit can store a connection weight value, a neuron output value, an expected output value, data necessary for learning, etc. necessary for neural network information processing. According to the present embodiment, neural network information processing such as calculation of a neuron output value, comparison of an output value with an expected value, or calculation required for learning can be performed as follows. First, a method of calculating a neuron output value will be described. First, the control circuit
A connection weight value and a neuron output value or an offset necessary for performing an operation for neural network information processing are read out in parallel from the memory circuit to the arithmetic circuit through the bus 1. Next, operations such as multiply-accumulation and non-linear conversion necessary for obtaining a neuron output value are performed in parallel by an arithmetic circuit, and the obtained result is written to a memory circuit through an input / output circuit. The above operation is repeated the required number of times to obtain a neuron output value. In the arithmetic circuit, one operation
One or more neuron output values may be determined simultaneously, or a part of the calculation for determining the neuron output values may be performed. In this way, it is possible to perform information processing by various neural networks such as a hierarchical network or a synchronous or asynchronous Hopfield network. In a synchronous Hopfield network, the output values of all neurons are updated synchronously, so the output values of all previous neurons must be stored until the output values of all neurons are updated. is there. In this case, the output values of all previous neurons may be stored in the memory circuit and used for updating the output values of the neurons. According to the present embodiment, the necessary number of multipliers, adders, and non-linear function circuits required to calculate the neuron output value may be provided in the arithmetic circuit and used repeatedly, so that these circuits are provided for each neuron. The number of circuits can be greatly reduced as compared with the case of preparing. For example, in order to realize a three-layer hierarchical network in which each layer is composed of 100 neurons, in the conventional example shown in FIG.
In this embodiment, at least one multiplier, one adder, and one non-linear function circuit may be prepared. 1 to increase speed
Even if the multiplication necessary to update one neuron output value is performed in parallel, 100 multipliers, one adder and one nonlinear function circuit may be prepared. Therefore, according to this embodiment, the number of circuits can be reduced as compared with the conventional example. Note that the above difference becomes larger as the network becomes larger. The situation is the same for other networks such as the Hopfield type.

【0017】ニューロン出力値を求める場合の情報処理
速度は、乗算等の演算速度の他に並列に行なう演算の量
が大きく寄与する。前記したように、たとえば、n個の
ニューロンを用いたホップフィールド型ネットワーク
は、すべてのニューロンの出力値を更新するのにn2回
の積を計算しなくてはならない。したがって、乗算を逐
次的に行なうとすべてのニューロンの出力値を更新する
のに少なくとも1回の乗算に要する時間のn2倍の時間
を要してしまう。その結果、乗算に要する時間がニュー
ロン数の増大と共にニューロン数の2乗のオーダーで急
速に増加してしまう。階層型ネットワークでも事情は同
じである。従って数多くの乗算を並列に計算することが
望ましい。以下では、図1の実施例においてニューロン
出力値を求めるために乗算を並列化して情報処理速度を
上げるための演算方式の実施例について説明する。
The information processing speed for obtaining the neuron output value largely depends on the amount of operations performed in parallel in addition to the operation speed such as multiplication. As described above, for example, a Hopfield network using n neurons has to calculate n2 products to update the output values of all neurons. Therefore, if the multiplication is performed sequentially, it takes n2 times as long as at least one multiplication to update the output values of all the neurons. As a result, the time required for multiplication increases rapidly with the order of the square of the number of neurons as the number of neurons increases. The situation is the same in a hierarchical network. Therefore, it is desirable to calculate many multiplications in parallel. In the following, a description will be given of an embodiment of an arithmetic method for increasing the information processing speed by parallelizing multiplication in order to obtain a neuron output value in the embodiment of FIG.

【0018】図6は演算を並列に行なう1方式につい
て、階層型ネットワーク(a)とホップフィールド型ネ
ットワーク(b)について説明したものである。本実施
例では、図に示したように1つのニューロン出力値を求
めるために必要な積を並列に計算する。つまり、1つの
ニューロンに入力されるニューロン出力値と結合重み値
とを並列にメモリ回路から読出し、それらの積を並列に
計算する。このため、乗算に要する時間はニューロン数
の増大と共にニューロン数の1乗のオーダーで増加す
る。したがって、乗算を逐次的に行なう場合に比べて情
報処理時間を大幅に短縮できる。図6では1つのニュー
ロンの出力値の更新に必要な乗算のみを並列に行なうと
したが、図1の実施例は、これに限定されるものではな
く、集積度が許容される範囲で演算回路を追加して複数
のニューロンの出力値の更新を並列に行なってもよいこ
とはもちろんである。その場合は、より高速に情報処理
を行なうことができる。その他図7に示したように他の
方式で並列に演算を行なうこともできる。図7は、階層
型ネットワーク(a)とホップフィールド型ネットワー
ク(b)について1つのニューロンの出力値が入力され
る複数のニューロンについて乗算を並列に行なう1実施
例を示したものである。この方法では、ニューロン出力
値と結合重み値を並列にメモリ回路から読出し, ニュー
ロン出力値の更新に必要な演算を複数のニューロンにつ
いて少しずつ行なうことになる。そのため、非同期型の
ホップフィールド型ネットワークを実現することはでき
ないが、図6の方式と同様に乗算に要する時間はニュー
ロン数の増大と共にニューロン数のおよそ1乗のオーダ
ーで増加するため乗算を逐次的に行なう場合に比べて情
報処理時間を大幅に短縮できる。図5の従来例でもこの
方式で演算を並列に行なっているが、以下に述べるよう
に、図1の構成によれば従来例に比べてより少数の回路
で実現することができる。図7に示した方式において
は、図中に斜線で示したように各ニューロンにおいて1
つの乗算器だけが並列に動作する。したがって、図1の
実施例では1度に演算を行なうニューロンの数だけの乗
算器を演算回路に設ければよく、従来例のようにニュー
ロン毎にすべての乗算器を設ける場合に比べて少数の回
路でこの方式を実現することができる。例えば、3層で
各層に3つのニューロンをもつ階層型ネットワークで
は、乗算器, 加算器, 非線形関数回路を6個ずつ設ける
従来例に比べて図1の実施例を用いると例えば乗算器、
加算器、非線形関数回路を3個ずつ用いるだけで同様の
並列化を実現できる。
FIG. 6 illustrates a hierarchical network (a) and a Hopfield network (b) for one method of performing operations in parallel. In the present embodiment, as shown in the figure, a product necessary for obtaining one neuron output value is calculated in parallel. That is, the neuron output value and the connection weight value input to one neuron are read from the memory circuit in parallel, and their product is calculated in parallel. For this reason, the time required for multiplication increases in the order of the first power of the number of neurons as the number of neurons increases. Therefore, the information processing time can be greatly reduced as compared with the case where the multiplication is performed sequentially. In FIG. 6, only the multiplication necessary for updating the output value of one neuron is performed in parallel. However, the embodiment of FIG. 1 is not limited to this, and the arithmetic circuit May be added to update the output values of a plurality of neurons in parallel. In that case, information processing can be performed at higher speed. In addition, as shown in FIG. 7, the operation can be performed in parallel by another method. FIG. 7 shows an embodiment in which multiplication is performed in parallel for a plurality of neurons to which the output value of one neuron is input in the hierarchical network (a) and the Hopfield network (b). In this method, the neuron output value and the connection weight value are read from the memory circuit in parallel, and the operation necessary for updating the neuron output value is performed little by little on a plurality of neurons. For this reason, an asynchronous Hopfield network cannot be realized, but the time required for multiplication increases in the order of the first number of neurons as the number of neurons increases as in the method of FIG. The information processing time can be greatly reduced as compared with the case where the above is performed. In the conventional example shown in FIG. 5, calculations are performed in parallel by this method. However, as described below, the configuration shown in FIG. 1 can be realized with a smaller number of circuits than the conventional example. In the method shown in FIG. 7, one neuron is connected to each neuron as shown by hatching in the figure.
Only one multiplier operates in parallel. Therefore, in the embodiment of FIG. 1, it is sufficient to provide multipliers in the arithmetic circuit as many as the number of neurons that perform the operation at one time, and the number of multipliers is smaller than that in the conventional example in which all multipliers are provided for each neuron. The circuit can implement this scheme. For example, in a hierarchical network having three layers and three neurons in each layer, when the embodiment of FIG. 1 is used as compared with the conventional example in which six multipliers, adders, and six nonlinear function circuits are provided, for example, a multiplier,
Similar parallelization can be realized only by using three adders and three non-linear function circuits.

【0019】このように図1に示した実施例に依れば、
演算回路に含まれる加算器、乗算器、非線形関数回路を
複数のニューロンについて共用することにより、多数の
ニューロンを用いたニューラルネットワークと同様な情
報処理を行なう装置を必要最小限の回路で実現すること
ができる。また、上記演算回路で積和等の演算を並列に
行なうことにより、情報処理を高速に行なうことができ
る。なお、演算を並列化するとメモリ回路と演算回路の
間のバスの配線本数を増加して1度に多くのデータを演
算回路に送る必要が生じるが、図1では、同一のチップ
上にメモリと演算器を配置しているため、バスの配線本
数を増加することは容易にできる。
Thus, according to the embodiment shown in FIG.
By using the adder, multiplier, and nonlinear function circuit included in the arithmetic circuit for a plurality of neurons, it is possible to realize a device that performs information processing similar to a neural network using a large number of neurons with the minimum necessary circuit. Can be. Further, by performing calculations such as sum of products in parallel by the above calculation circuit, information processing can be performed at high speed. Note that, when the operation is parallelized, it is necessary to increase the number of bus lines between the memory circuit and the operation circuit and send a large amount of data to the operation circuit at a time. However, in FIG. Since the arithmetic units are arranged, the number of bus lines can be easily increased.

【0020】これまではニューロン出力値を計算する方
法について述べたが、図1の実施例によれば、ニューロ
ン出力値とその期待値との比較を行うこともできる。そ
のためには、あらかじめ期待値をメモリ回路に記憶して
おき、上記の方法で得られた出力値との距離の計算を演
算回路で行えばよい。この計算は、期待値と計算値の一
致度を計算するものである。このとき、バス1の本数を
増加することにより、多数のビットからなる期待値と出
力値とを同時に演算回路に読出して並列に処理すること
は容易にできる。このように図1の実施例によれば外部
のコンピュータを用いて1ビットずつシリアルに比較を
行う場合に比べてパターン認識などの情報処理を高速に
行うことができる。
The method of calculating the neuron output value has been described above. However, according to the embodiment of FIG. 1, the neuron output value can be compared with its expected value. For this purpose, the expected value may be stored in the memory circuit in advance, and the calculation of the distance from the output value obtained by the above method may be performed by the arithmetic circuit. This calculation is for calculating the degree of coincidence between the expected value and the calculated value. At this time, by increasing the number of buses 1, it is easy to simultaneously read the expected value and the output value composed of a large number of bits into the arithmetic circuit and process them in parallel. As described above, according to the embodiment of FIG. 1, it is possible to perform information processing such as pattern recognition at a higher speed as compared with the case where the comparison is performed bit by bit using an external computer.

【0021】さらに、図1の実施例によれば学習に必要
な演算を演算回路で行うことにより、ソフトウエアで行
う場合に比べて高速に学習を行うことができる。具体的
な実施例については、後述する。
Further, according to the embodiment shown in FIG. 1, the arithmetic operation required for the learning is performed by the arithmetic circuit, so that the learning can be performed at a higher speed than in the case where the operation is performed by software. Specific examples will be described later.

【0022】ニューラルネットワーク情報処理は、結合
重み値を換えることにより様々な情報処理を行なうこと
ができるという利点を持つ。図1に示した実施例に依れ
ばメモリ回路に記憶した結合重み値を書き換えることに
より容易にこの利点を活かすことができる。また、メモ
リ回路の容量をニューロン出力値の計算に必要な量より
大きくしておくことにより、異なる情報処理に必要な何
種類かの結合重み値をあらかじめ記憶しておくこともで
きる。その場合には結合重み値を書き替える時間を失う
ことなく連続して異なる種類の情報処理を行うことがで
きるというメリットがある。その他、続けて数多くの入
力データについて情報処理を行なう場合には、あらかじ
め必要な入力データや、得られたデータをメモリ回路の
1部に記憶しておくこともできる。このようにすれば、
1つの入力データ毎にメモリ回路にデータを読み込み、
演算を行ってその結果を装置外へ出力するという動作を
繰り返す場合に比べて読み込み、演算、出力の動作モー
ドを切り替える回数が少なく処理時間を短縮することが
できる。
Neural network information processing has the advantage that various information processing can be performed by changing the connection weight value. According to the embodiment shown in FIG. 1, this advantage can be easily utilized by rewriting the connection weight value stored in the memory circuit. Further, by making the capacity of the memory circuit larger than the amount required for calculating the neuron output value, several types of connection weight values required for different information processing can be stored in advance. In this case, there is a merit that different types of information processing can be continuously performed without losing time for rewriting the connection weight value. In addition, when performing information processing on a large number of input data continuously, necessary input data and obtained data can be stored in a part of the memory circuit in advance. If you do this,
Read data into the memory circuit for each input data,
Compared to the case where the operation of performing the calculation and outputting the result to the outside of the apparatus is repeated, the number of times of switching between the operation modes of reading, calculation and output is small, and the processing time can be reduced.

【0023】次に、図1の実施例を基にしたより具体的
な実施例について説明する。説明を簡単にするため、ま
ず、演算回路にニューロン出力値を計算する機能を持た
せる場合について説明し、最後に比較、あるいは学習の
機能を持たせる方法について述べる。
Next, a more specific embodiment based on the embodiment of FIG. 1 will be described. For simplicity, first, a case will be described in which the arithmetic circuit has a function of calculating a neuron output value, and finally, a method of having a function of comparison or learning will be described.

【0024】図8は、図1の実施例においてメモリ回路
に格子状のメモリセルアレーを有するものを用いた場合
の1実施例である。図8においてAは、メモリセルアレ
ーで、複数のデータ線とそれと交差するように配置した
複数のワード線とそれらの所望の交差部に配置されたメ
モリセルを有し、上記ワード線の1本を選択することに
より、上記異なる複数のメモリセルの信号を複数のデー
タ線上に読みだすことができる。12は、演算回路であ
る。10,11,13,14,15,16は、図1の制
御回路に相当するものである。10,15は、それぞれ
X系アドレス、Y系アドレス用のアドレスバッファ、1
1,14は、それぞれX系アドレス, Y系アドレス用の
デコーダ, ドライバである。13は、メモリセルアレー
を制御するためのアレー制御回路、16はクロック発生
回路であり、外部から入力される信号をもとにメモリの
動作を制御するためのクロックを発生する。OUTとW
Rは、それぞれ読出し回路, 書込み回路である。チップ
セレクト/CSは、このチップの選択信号である。書込
み制御信号/WEは、書込み、読出し動作の切り換え用
信号であり、低レベルで書込み動作、高レベルで読出し
動作となる。/NEは、演算回路制御信号であり、低レ
ベルで演算回路が起動され、高レベルで演算回路が停止
して通常のメモリとして動作する。以下では、/NEを
高レベルとした状態をメモリモード, 低レベルとしたと
きを演算モードということにする。メモリモードでは、
X系アドレス, Y系アドレスにより所望のメモリセルを
選択し、そのセルに対して書込みデータDIを書き込ん
だり、セルから情報を読出して読出しデータDOとして
出力することができる。演算モードでは、メモリセルに
記憶されている情報を演算回路12へ読出し、演算回路
12の演算の結果もしくは演算の結果に応じたデータを
入力回路を通じてメモリセルヘ書き込むことができる。
本実施例によれば、ワード線の1本を選択することによ
り、そのワード線上のすべてのメモリセルの情報がデー
タ線に出力される。したがって、容易に多数の情報を演
算回路12に取り込むことができ、多くの演算を並列に
行なうことができる。本実施例によりニューロン出力値
の計算を行うには、まず、メモリモードとして演算回路
を停止し、必要な結合重み値, ニューロン出力値, オフ
セットなどをメモリ回路に書き込んでおく。つぎに演算
モードとして演算回路を起動し、1本のワード線を選択
することにより必要な情報を演算回路に読出す。次にそ
の結果をメモリ回路に書き込む。さらに演算に必要な情
報の読出しと結果の書込みを必要な回数だけ続ければ、
ニューラルネットワーク情報処理を高速に容易に行なう
ことができる。上記のように図8に示した実施例によれ
ば1度に多くの情報を演算回路に読み込むことができる
ので、例えば、図6あるいは図7に示したような方式の
並列演算を行なうのに適している。このように、本実施
例によれば並列に演算を行なうため高速にニューラルネ
ットワーク情報処理を行なうことができる。さらに、演
算回路12を反復使用することにより複数のニューロン
で出力値の計算回路を共用することができ、容易に高集
積化できる。
FIG. 8 shows an embodiment in which a memory circuit having a grid-like memory cell array is used in the embodiment of FIG. In FIG. 8, A is a memory cell array having a plurality of data lines, a plurality of word lines arranged to intersect the data lines, and memory cells arranged at desired intersections thereof. , The signals of the plurality of different memory cells can be read out on a plurality of data lines. Reference numeral 12 denotes an arithmetic circuit. Reference numerals 10, 11, 13, 14, 15, and 16 correspond to the control circuit of FIG. Reference numerals 10 and 15 denote address buffers for X-system addresses and Y-system addresses, respectively.
Reference numerals 1 and 14 denote a decoder and a driver for an X-system address and a Y-system address, respectively. Reference numeral 13 denotes an array control circuit for controlling the memory cell array, and reference numeral 16 denotes a clock generation circuit, which generates a clock for controlling the operation of the memory based on an externally input signal. OUT and W
R is a read circuit and a write circuit, respectively. Chip select / CS is a selection signal for this chip. The write control signal / WE is a signal for switching between a write operation and a read operation, and the write operation is performed at a low level and the read operation is performed at a high level. / NE is an arithmetic circuit control signal. The arithmetic circuit is activated at a low level, and is stopped at a high level to operate as a normal memory. Hereinafter, the state where / NE is at a high level is referred to as a memory mode, and the state when / NE is at a low level is referred to as a calculation mode. In memory mode,
A desired memory cell can be selected based on the X-system address and the Y-system address, and write data DI can be written to the cell, or information can be read from the cell and output as read data DO. In the operation mode, information stored in the memory cell can be read out to the operation circuit 12, and the result of the operation of the operation circuit 12 or data corresponding to the operation result can be written to the memory cell through the input circuit.
According to this embodiment, by selecting one of the word lines, the information of all the memory cells on that word line is output to the data lines. Therefore, a large amount of information can be easily taken into the arithmetic circuit 12, and many operations can be performed in parallel. To calculate the neuron output value according to the present embodiment, first, the arithmetic circuit is stopped in the memory mode, and the necessary connection weight value, neuron output value, offset, and the like are written in the memory circuit. Next, the arithmetic circuit is started in the arithmetic mode, and necessary information is read out to the arithmetic circuit by selecting one word line. Next, the result is written to the memory circuit. If you continue reading the information necessary for the operation and writing the result as many times as you need,
Neural network information processing can be easily performed at high speed. As described above, according to the embodiment shown in FIG. 8, a large amount of information can be read into the arithmetic circuit at one time. Are suitable. As described above, according to this embodiment, neural network information processing can be performed at a high speed because calculations are performed in parallel. Further, by repeatedly using the arithmetic circuit 12, the calculation circuit of the output value can be shared by a plurality of neurons, so that high integration can be easily achieved.

【0025】また、複数のワード線上のメモリセルに蓄
えた情報を使って並列に演算を行なう場合には、演算回
路内に1次記憶のためのレジスタを設けておきワード線
を持ち上げて得た情報を1度レジスタに収納して、別の
ワード線を立ち上げてその結果読出した情報と合わせて
演算を行なうこともできる。
In the case where arithmetic operations are performed in parallel using information stored in memory cells on a plurality of word lines, a register for primary storage is provided in an arithmetic circuit, and the word lines are obtained by raising the word lines. The information can be stored in the register once, another word line can be started up, and the operation can be performed together with the information read as a result.

【0026】さらに、図9に示した実施例のようにメモ
リ回路をA,Bの2つ設けることもできる。図9におい
て13A,13BはそれぞれメモリセルアレーA,Bを
制御するアレー制御回路である。デコーダなど他の回路
は、図には示していない。図9の構成によればメモリセ
ルアレーAとBにおいてワード線を1本ずつ選択するこ
とにより両方のワード線上のメモリセルの情報を演算回
路に読み込むことができる。図9の構成を用いれば、メ
モリセルアレーAにはニューロン出力値, メモリセルア
レーBには結合重み値を収納するなど情報の種類により
メモリアレーを使いわけることもできるので、読出し、
書込みなどの制御を簡単化することができる。なお、図
8,図9の実施例においては、書き込みデータDIと読
出しデータDOを並列に複数扱えるようにしたり、アレ
ーAとBとで別々に読出し回路OUTと書込み回路WR
を設けてもよい。
Further, two memory circuits A and B can be provided as in the embodiment shown in FIG. In FIG. 9, 13A and 13B are array control circuits for controlling the memory cell arrays A and B, respectively. Other circuits, such as a decoder, are not shown in the figure. According to the configuration of FIG. 9, by selecting one word line in each of the memory cell arrays A and B, information of the memory cells on both word lines can be read into the arithmetic circuit. If the configuration of FIG. 9 is used, the memory cell array A can store the neuron output value and the memory cell array B can store the connection weight value.
Controls such as writing can be simplified. In the embodiment shown in FIGS. 8 and 9, a plurality of write data DI and a plurality of read data DO can be handled in parallel, or the read circuits OUT and the write circuits WR are separately used in the arrays A and B.
May be provided.

【0027】図8,図9の実施例においてはワード線あ
るいは、特定のメモリセルの選択はアドレスにより通常
のメモリと同様に行なうことができる。したがって、ア
ドレスの選択順を変えることによりさまざまな型のネッ
トワークあるいは様々な並列演算の方式などに柔軟に対
応できる。
In the embodiments shown in FIGS. 8 and 9, selection of a word line or a specific memory cell can be performed in the same manner as in a normal memory by an address. Therefore, by changing the address selection order, it is possible to flexibly cope with various types of networks or various parallel operation methods.

【0028】図8,図9の実施例においてメモリ回路と
してDARMあるいは、SRAMなどの高集積半導体メ
モリを用いることができる。この場合にはメモリ回路に
多くの情報を蓄えることができるので、規模の大きいネ
ットワークを1チップに集積化できる。
In the embodiments shown in FIGS. 8 and 9, a highly integrated semiconductor memory such as a DRAM or an SRAM can be used as a memory circuit. In this case, since a large amount of information can be stored in the memory circuit, a large-scale network can be integrated on one chip.

【0029】次に、図9の構成を用いて階層型ネットワ
ークを実現する方法について詳細に述べる。並列演算の
方式としては、図6(a)の方式を例にとる。層の数は
m層で各層のニューロンの数はn個とする。なお、説明
を簡単にするために図2(b)あるいは図4(b)に示
した各ニューロンのオフセットΘについては、ここでは
省略する。しかし、図2(b)あるいは図4 (b) より
明らかなように、各ニューロンのオフセットΘは、各ニ
ューロン毎に入力されるニューロン出力値を1つ増やし
てその値を各ニューロンのオフセットΘ、対応する結合
重み値を1と置き、その積を他のニューロン出力値と結
合重み値の積の総和に足すことによって通常の他のニュ
ーロンからの出力値と同様に扱うことができる。
Next, a method for realizing a hierarchical network using the configuration of FIG. 9 will be described in detail. As a method of the parallel operation, the method of FIG. 6A is taken as an example. The number of layers is m and the number of neurons in each layer is n. For the sake of simplicity, the offset の of each neuron shown in FIG. 2B or FIG. 4B is omitted here. However, as is clear from FIG. 2 (b) or FIG. 4 (b), the offset の of each neuron is increased by one neuron output value inputted for each neuron, and the value is increased by the offset の of each neuron, By setting the corresponding connection weight value to 1 and adding the product to the sum of the products of the other neuron output values and the connection weight values, it can be handled in the same manner as the output values from other normal neurons.

【0030】図10はメモリセルと、結合重み値および
ニューロン出力値との対応の1実施例を示したものであ
る。Dは非線形関数回路であり、c1,c2,…cnは
加算器、m1,m2,…mnは乗算器である。c1,c
2,…cnは合わせて図2(b)における多入力の加算
器ADDを構成している。メモリセルアレーAにはニュ
ーロン出力値、メモリセルアレーBには結合重み値を収
納する。図にはニューロン出力値, 結合重み値を収納す
る分のメモリセルのみしか示していないが各ニューロン
のオフセットΘや学習に必要なデータなどその他のデー
タを収納する分のメモリセルを必要に応じて設けてもよ
いのはもちろんである。図に示したように、メモリセル
アレーA内のワード線sとデータ線iの交差部にあるメ
モリセルにニューロン出力値Visを収納する。すなわ
ち同じワード線には、同じ層のニューロン出力値が配置
される。メモリセルアレーBでは、ワード線(s,j)
とデータ線iの交差部にあるメモリセルに結合重み値T
sijを収納する。図11(a),(b) には、非線形
関数回路Dの入出力特性の1実施例を示してある。図1
1(a)は、g1とg2の2値の出力を持つ実施例であ
る。x1,x2はそれぞれ入力xの下限値および上限値
を表している。図11(a)では、入力xがxthを越
えると出力がg2でそれ以下だとg1になるので、メモ
リセルとして2値のものを使うときに適している。図1
1(b)は、g1とg2の間にgaとgbの出力を持つ
4値の実施例である。本実施例は、メモリセルとして4
値のものを使うときに適した例である。g1,ga,g
b,g2の間隔は、図では等間隔としたが必要に応じて
間隔を変えてもよいことはもちろんである。メモリセル
として連続値の情報、所謂アナログ値を記憶できるよう
なものを使う場合には非線形関数回路Dとして図3
(b)のような特性を持つものを使用してもよい。図1
2には、図10の実施例において入力層のニューロン出
力値から最終層のニューロン出力値を求めるためのワー
ド線の選択法および書込み先のアドレスの対応の1実施
例を示してある。以下、図10の動作を図12を用いて
説明する。まず、アレーAのs=1のワード線とアレー
Bの(s,j)=(1,1)のワード線を同時に立ち上
げる。するとアレーAのデータ線i=1,2,…,nに
は、入力層のニューロン出力値V11,V21,…,V
n1が出力される。一方アレーBのデータ線i=1,
2,…,nには、結合重み値T111,T112,…,T
11nが出力される。それらが乗算器m1,m2,…,
mnに入力されてT111V11,T112V21,…,
T11nVn1となりこれらが加算器c1,c2,…,
cnに入力される。その結果(T111V11+T11
2V21+…+T11nVn1)が非線形関数回路Dに
人力される。非線形関数の出力は書込み回路WR(図で
は省略)を通じてアレーA内の書込み先アドレス(s,
i)=(2,1)に対応するメモリセルに書き込まれ
る。このようにして2層目の1番目のニューロン出力値
V21の値が計算される。次に、アレーAのs=1のワ
ード線とアレーBの(s,j)=(1,2)のワード線
を同時に立ち上げる。するとアレーAのデータ線i=
1,2,…,nには、入力層のニューロン出力値V1
1,V21,…,Vn1が出力される。一方アレーBのデ
ータ線i=1,2,…,nには、結合重み値T121,
T122,…,T12nが出力される。それらが乗算器m
1,m2,…,mnに入力されてT121V11,T1
22V21,…,T12nVn1となりこれらが加算器c
1,c2,…,cnに入力される。その結果(T121
V11+T122V21+…+T12nVn1)が非線
形関数回路Dに入力される。非線形関数回路の出力は書
込み回路(図では省略)を通じてアレーA内の書込み先
アドレス(s,i)=(2,2)に対応するメモリセル
に書き込まれる。こうして2層目の2番目のニューロン
出力値V22の値が計算される。以上のような動作を図
12に従って続けていくことによりすべてのニューロン
出力値を求めることができる。本実施例によれば、演算
モードにおいて読出しと書込み動作を1回ずつ行なうこ
とにより1つのニューロン出力値を求めることができる
ため高速にニューラルネットワーク情報処理を行なうこ
とができる。また、演算回路をすべてのニューロンで共
用できるため高集積化が可能である。なお、図12はメ
モリセルの割当ての1例を示したものであり、これに限
定されることなく種々の変形が可能である。例えば、前
記したように複数の入力デー夕を連続して処理すること
もできる。この場合には、入力層のニューロン出力値は
複数組必要である。このため、アレーAの異なる複数の
ワード線上に複数の入力データに相当する入力層のニュ
ーロン出力値をあらかじめ書き込んでおいで、順番に使
用してもよい。このようにすれば情報処理の度に入力層
のニューロン出力値を読み込まなくてよいため、連続し
て高速に情報処理を行なうことができる。
FIG. 10 shows one embodiment of the correspondence between memory cells, connection weight values and neuron output values. D is a nonlinear function circuit, c1, c2,... Cn are adders, and m1, m2,. c1, c
2,... Cn together constitute a multi-input adder ADD in FIG. 2B. The memory cell array A stores a neuron output value, and the memory cell array B stores a connection weight value. In the figure, only memory cells for storing neuron output values and connection weights are shown, but memory cells for storing other data such as offset の of each neuron and data necessary for learning may be used as necessary. Of course, it may be provided. As shown in the figure, the neuron output value Vis is stored in the memory cell at the intersection of the word line s and the data line i in the memory cell array A. That is, neuron output values of the same layer are arranged on the same word line. In the memory cell array B, the word line (s, j)
Weight T is applied to the memory cell at the intersection of
sij is stored. FIGS. 11A and 11B show an embodiment of the input / output characteristics of the nonlinear function circuit D. FIG. FIG.
1 (a) is an embodiment having binary outputs of g1 and g2. x1 and x2 represent a lower limit value and an upper limit value of the input x, respectively. In FIG. 11A, when the input x exceeds xth, the output becomes g2, and when it is less than xth, the output becomes g1, which is suitable when a binary memory cell is used. FIG.
1 (b) is a quaternary embodiment having ga and gb outputs between g1 and g2. In the present embodiment, 4 memory cells are used.
This is a good example when using values. g1, ga, g
Although the intervals between b and g2 are equal in the drawing, it is needless to say that the intervals may be changed as necessary. When a memory cell that can store information of a continuous value, that is, a so-called analog value, is used as a nonlinear function circuit D in FIG.
A material having the characteristics as shown in FIG. FIG.
FIG. 2 shows an embodiment corresponding to the word line selection method and the write destination address for obtaining the neuron output value of the final layer from the neuron output value of the input layer in the embodiment of FIG. Hereinafter, the operation of FIG. 10 will be described with reference to FIG. First, the word line of s = 1 in the array A and the word line of (s, j) = (1, 1) in the array B are simultaneously activated. Then, the data lines i = 1, 2,..., N of the array A are connected to the neuron output values V11, V21,.
n1 is output. On the other hand, the data line i of array B = 1,
, N include connection weight values T111, T112,.
11n is output. These are multipliers m1, m2, ...,
mn to T111V11, T112V21, ...,
T11nVn1 and these are the adders c1, c2,.
cn. As a result (T111V11 + T11
2V21 +... + T11nVn1) is input to the nonlinear function circuit D. The output of the non-linear function is supplied to the write destination address (s,
i) = written into the memory cell corresponding to (2, 1). Thus, the value of the first neuron output value V21 of the second layer is calculated. Next, the s = 1 word line of the array A and the (s, j) = (1, 2) word line of the array B are simultaneously activated. Then, the data line i of array A =
, N are the neuron output values V1 of the input layer.
, Vn1, ..., Vn1 are output. On the other hand, the connection weight value T121,
, T12n are output. They are multipliers m
, Mn and T121V11, T1
, T12nVn1 and these are the adders c
, C2, ..., cn. As a result (T121
V11 + T122V21 +... + T12nVn1) are input to the nonlinear function circuit D. The output of the non-linear function circuit is written to the memory cell corresponding to the write destination address (s, i) = (2, 2) in the array A through a write circuit (not shown). Thus, the value of the second neuron output value V22 of the second layer is calculated. By continuing the above operation according to FIG. 12, all neuron output values can be obtained. According to the present embodiment, a single neuron output value can be obtained by performing a read operation and a write operation once in the operation mode, so that neural network information processing can be performed at high speed. Further, since the arithmetic circuit can be shared by all neurons, high integration is possible. FIG. 12 shows an example of memory cell allocation, and various modifications are possible without being limited to this. For example, a plurality of input data can be processed continuously as described above. In this case, a plurality of sets of neuron output values of the input layer are required. Therefore, neuron output values of the input layer corresponding to a plurality of input data may be written in advance on a plurality of word lines in different arrays A and used in order. With this configuration, it is not necessary to read the neuron output value of the input layer every time information processing is performed, so that high-speed information processing can be performed continuously.

【0031】ここではニューロン出力値, 結合重み値を
蓄えるのに1つのメモリセルを使用した。したがって、
2値のメモリセルを使用した場合にはニューロン出力
値, 結合重み値として2値の値しか取れないことにな
る。前記したように多値のメモリセルを使用することに
よって、ニューロン出力値, 結合重み値の値を増やすこ
ともできるが、多値のメモリセルでは、S/N比の問題
などにより信頼性にかける場合もあり得る。そのような
場合には、次に述べるように、ニューロン出力値,結合
重み値を蓄えるのに複数のメモリセルを使用することも
できる。
Here, one memory cell is used to store the neuron output value and the connection weight value. Therefore,
When a binary memory cell is used, only a binary value can be obtained as a neuron output value and a connection weight value. As described above, by using a multi-valued memory cell, the value of the neuron output value and the value of the connection weight can be increased. It is possible. In such a case, a plurality of memory cells can be used to store neuron output values and connection weight values, as described below.

【0032】図13は、1つのニューロン出力値を蓄え
るのにp個のメモリセル、1つの結合重み値を蓄えるの
にq個のメモリセルを使用した場合の1実施例である。
図中のi,j,sなどのニューロン出力値, 結合重み値
を示す添字は図10に示した実施例における添字と対応
している。図13の実施例ではアレーA内の1本のワー
ド線上の連続するp個のメモリセルで1つのニューロン
出力値を表し、アレーB内の1本のワード線上の連続す
るq個のメモリセルで1つの結合重み値を表す。ニュー
ロン出力値の計算は次のように行なわれる。まず、図1
0の実施例と同様に、アレーAのs=1のワード線とア
レーBの(s,j)=(1,1)のワード線を同時に立
ち上げる。するとアレーAのp本のデータ線よりなるデ
ータ線群i=1,2,…,nには、入力層のニューロン
出力値V11,V21,…,Vn1を表す情報が出力さ
れ、それらが群ごとに加算器a1,a2,…,anに入
力される。一方アレ一Bのq本のデータ線よりなるデー
タ線群i=1,2,…,nには、結合重み値T111,
T112,…,T11nを表す情報が出力され、それらが
群ごとに加算器b1,b2,…,bnに入力される。上
記した加算器a1,a2,…,an,b1,b2,…,
bnにより、ニューロン出力値V11,V21,…,Vn
1、結合重み値T111,T112,…,T11nが合成
され図示したように乗算器m1,m2,…,mnに入力
されてT111V11,T112V21,…,T11nV
n1を得る。これらが加算器c1,c2,…,cnに入
力され、その結果、(T111V11+T112V21
+…+T11nVn1)が非線形関数回路Dに入力され
る。非線形関数回路の出力は書込み回路WR(図では省
略)を通じてアレーA内の書込み先アドレス(s,i)
=(2,1)に対応するp個のメモリセル群に書き込ま
れる。同様な動作を図12と同じアドレスを用いて続け
ることによりすべてのニューロンの出力値を求めること
ができる。上記の実施例によればアレーA内の1本のワ
ード線上の連続するp個のメモリセルで1つのニューロ
ン出力値を表し、アレーB内の1本のワード線上の連続
するq個のメモリセルで1つの結合重み値を表すことに
より2値のメモリセルを使用して多値の値のニューロン
出力値、結合重み値を表現できることになる。このた
め、ニューロン出力値,結合重み値として多値の値を用
いる場合でも2値のメモリセルを用いて実現することが
できる。また、上記の実施例においては、アドレスの切
り換えの回数は図10の実施例と同じであるため図10
の実施例と同様に高速に情報処理を行なうことができ
る。なお、非線形関数回路の結果をニューロン出力値を
表すp個のメモリセルへ書込むには、p回の書込み動作
を連続して行なってもよいが、書込み回路をp個設ける
ことにより並列に行なうことも容易にできる。この場合
には、複数のメモリセルヘ書込むことによる時間の損失
をさけることができる。また、読出し回路を複数設ける
ことにより読出し動作の速度を上げることもできるのは
もちろんである。なお、図13の実施例において、乗算
器m1,…,mnとして多入力の回路を用いれば加算器
a1,…,an,b1,…,bnを設けることなく同様
の回路を実現できる。その他、演算回路の構成は、種々
の変形が可能である。
FIG. 13 shows an embodiment in which p memory cells are used to store one neuron output value and q memory cells are used to store one connection weight value.
Subscripts indicating neuron output values such as i, j, and s and connection weights in the figure correspond to the subscripts in the embodiment shown in FIG. In the embodiment of FIG. 13, one neuron output value is represented by p consecutive memory cells on one word line in the array A, and q continuous memory cells on one word line in the array B are represented by one memory cell. Represents one connection weight value. The calculation of the neuron output value is performed as follows. First, FIG.
In the same manner as the embodiment of FIG. 0, the word line of s = 1 in the array A and the word line of (s, j) = (1, 1) in the array B are simultaneously activated. Then, information representing neuron output values V11, V21,..., Vn1 of the input layer is output to the data line group i = 1, 2,. Are input to adders a1, a2,..., An. On the other hand, a data line group i = 1, 2,..., N composed of q data lines of array B has a connection weight value T111,
Information representing T112,..., T11n is output and input to the adders b1, b2,. The adders a1, a2,..., An, b1, b2,.
bn, neuron output values V11, V21,.
, T11n are combined and input to the multipliers m1, m2,..., Mn as shown in the figure, and T111V11, T112V21,.
n1 is obtained. These are input to the adders c1, c2,..., Cn, and as a result, (T111V11 + T112V21
+ ... + T11nVn1) is input to the nonlinear function circuit D. The output of the non-linear function circuit is passed through a write circuit WR (not shown), and the write destination address (s, i) in the array A is written.
= (2,1) is written to p memory cell groups. By continuing the same operation using the same address as in FIG. 12, the output values of all neurons can be obtained. According to the above embodiment, consecutive neuron output values are represented by p consecutive memory cells on one word line in array A, and continuous q memory cells on one word line in array B are represented. By expressing a single connection weight value by, a multi-valued neuron output value and a connection weight value can be expressed using a binary memory cell. Therefore, even when a multi-valued value is used as the neuron output value and the connection weight value, it can be realized by using a binary memory cell. Also, in the above embodiment, the number of times of address switching is the same as in the embodiment of FIG.
The information processing can be performed at high speed as in the embodiment. In order to write the result of the non-linear function circuit to p memory cells representing neuron output values, p write operations may be performed continuously, but by providing p write circuits, the write operations are performed in parallel. It can be done easily. In this case, time loss due to writing to a plurality of memory cells can be avoided. It is needless to say that the speed of the reading operation can be increased by providing a plurality of reading circuits. In the embodiment of FIG. 13, if a multi-input circuit is used as the multipliers m1,..., Mn, a similar circuit can be realized without providing the adders a1,..., An, b1,. In addition, the configuration of the arithmetic circuit can be variously modified.

【0033】図13の実施例では、ニューロン出力値を
蓄えるのにp個のメモリセル、結合重み値を蓄えるのに
q個のメモリセルを使用した。つまり、ニューロン出力
値をpビット、結合重み値をqビットで表していること
になる。複数のビットで情報を表現する方法はいろいろ
あるので必要に応じて表現方法を選び、それにあわせて
加算器、乗算器、あるいは、非線形関数回路の特性を設
計すればよい。例えば、ニューロン出力値を表すpビッ
トのメモリセルのうちその内容が1であるメモリセルの
数によってニューロン出力値を表すこともできる。図1
4の実施例は、そのような場合に適した非線形関数回路
Dの入出力特性の1実施例である。図14においてg
1,g2,…,gpは、非線形関数回路Dのp本の出力
を示している。それぞれの出力は、0または1の値を取
り、書込み回路WR(図では、省略)を通じて対応する
p個のメモリセルに0または1を書き込む。g1,g
2,…,gpは、それぞれ入力がxth1,xth2,
…,xthpを越えたときに1それ以外では0となる。
xth1,xth2,…,xthpは、入力の上限x
1,下限x2の間で等間隔に設定してもよいしあるいは
任意の間隔で設定してもよい。たとえばxthkとxt
hk+1(k=1,…,p−1)の間隔を図15のよう
にすれば非線形関数回路gとしてシグモイド状の特性を
持つものを実現できる。本実施例によれば、p個のメモ
リセルによって1つのニューロン出力値にp個の値を持
たせることができる。本実施例では、ニューロン出力値
を表すp個のメモリセルは、等価に扱われる。すなわ
ち、p個のうちどのメモリセルの情報が反転あるいは固
定されたとしてもニューロン出力値への影響は等しい。
したがって、一般的な2進表現と較べて1つのメモリセ
ルの情報の破壊によるニューロン出力値への影響を小さ
くすることができる。以下では、このような表現法を等
価的な表現と記すことにする。ここでは、ニューロン出
力値についてのべたが、結合重み値についても上記の等
価的な表現を使えるのはもちろんである。
In the embodiment of FIG. 13, p memory cells are used to store neuron output values, and q memory cells are used to store connection weight values. That is, the neuron output value is represented by p bits, and the connection weight value is represented by q bits. Since there are various methods for expressing information with a plurality of bits, an expression method may be selected as necessary, and the characteristics of an adder, a multiplier, or a nonlinear function circuit may be designed accordingly. For example, the neuron output value can be represented by the number of memory cells whose contents are 1 among the p-bit memory cells representing the neuron output value. FIG.
The fourth embodiment is an embodiment of the input / output characteristics of the nonlinear function circuit D suitable for such a case. In FIG. 14, g
1, g2,..., Gp indicate p outputs of the nonlinear function circuit D. Each output takes a value of 0 or 1, and writes 0 or 1 to the corresponding p memory cells through a write circuit WR (omitted in the figure). g1, g
2,..., Gp are inputs xth1, xth2,
.., Xthp becomes 1 and 0 otherwise.
xth1, xth2,..., xthp are input upper limits x
The interval may be set at an equal interval between 1 and the lower limit x2, or may be set at an arbitrary interval. For example, xthk and xt
By setting the interval of hk + 1 (k = 1,..., p−1) as shown in FIG. 15, a nonlinear function circuit g having a sigmoidal characteristic can be realized. According to the present embodiment, one neuron output value can have p values by using p memory cells. In this embodiment, p memory cells representing neuron output values are treated equivalently. That is, even if the information of any of the p memory cells is inverted or fixed, the effect on the neuron output value is equal.
Therefore, the influence on the neuron output value due to the destruction of information of one memory cell can be reduced as compared with a general binary expression. In the following, such an expression will be referred to as an equivalent expression. Here, the neuron output value has been described. Of course, the above equivalent expression can be used for the connection weight value.

【0034】もちろん、2進表現を使うこともできる。
この場合には、pビットで2p個の値を表現できるので
少ないメモリセルで多くの値を表現するのに適してい
る。図16は、ニューロン出力値と結合重み値に2進表
現を使った場合の1実施例を示したものである。アレー
Aでは、i=h(h=1,2,…n)であるデータ線上
のメモリセルのみ,アレーBでは、i=hであるデータ
線とs=f(f=1,2,…,m−1)であるワード線
上のメモリセルのみを示してある。図16においてWT
は重み付け回路であり、メモリセルの信号を重み付けし
て加算器ah,bhに伝える。ここで重み付けの係数は
図示したようにニューロン出力値については1から2p
まで結合重み値については1から2qまでメモリセル毎
に変えてある。これにより乗算器mhに入力されるニュ
ーロン出力値と結合重み値は、それぞれ2p個、2q個
の値を取ることができる。ニューロン出力値を計算する
ためのアドレスの選択法は、図13の実施例と同じよう
に図12に従えばよい。図17は、図16の実施例にお
ける非線形関数回路Dの特性の1実施例である。g1
は、(x2−x1)/2pだけ入力が変化する毎に0と1
を交互に繰り返し、g2は、g1の2倍の周期で0と1
を交互に繰り返す。以下同様に周期を倍ずつ変えてgp
では、(x2−x1)/2を境として0から1になるよ
うに設定する。すなわち、A/Dコンバータとして動作
するように非線形関数回路Dを設計すればよい。なお、
本実施例においても入力にたいしてニューロン出力値が
非線形に増加するように非線形関数回路Dを設計するこ
ともできる。例えば、入力に対してシグモイド関数状に
ニューロン出力値を増加させるには、異なるgの間の周
期の比を一定にしたまま、各出力が変化する周期を入力
の増加にともなって減少させ、入力が(x2−x1)/
2を越えたところから入力の増加にともなって周期を増
加させてやればよい。以上説明したように図16,図1
7に示した実施例によれば、ニューロン出力値と結合重
み値を表現するのに、それぞれp個とq個のメモリセル
を用いて、ニューロン出力値と結合重み値にそれぞれ2
p個、2q個の値を持たせることができる。したがっ
て、少ないメモリセルでニューロン出力値と結合重み値
に多数の値を持たせるのに適している。なお、本実施例
においても、乗算器m1,…,mnとして多入力の回路
を用いて、重み回路WT,加算器a1,…,an,b
1,…,bnの機能を乗算器に持たせるなど種種の変形
が可能なのは、もちろんである。ここでは、等価的な表
現と2進数表示による実施例を示したが、この他にもた
とえば、符号ビットを用いて負の数を表現したり、複数
のビットで情報を表現する方法はいろいろあるので必要
に応じて使いわけることができる。
Of course, a binary representation can also be used.
In this case, since 2p values can be expressed by p bits, it is suitable for expressing many values with a small number of memory cells. FIG. 16 shows an embodiment in which a binary expression is used for the neuron output value and the connection weight value. In the array A, only the memory cells on the data line where i = h (h = 1, 2,... N), and in the array B, the data line with i = h and s = f (f = 1, 2,. Only memory cells on the word line m-1) are shown. In FIG. 16, WT
Is a weighting circuit, which weights the signal of the memory cell and transmits it to the adders ah and bh. Here, the weighting coefficient is 1 to 2p for the neuron output value as shown.
The connection weight value is changed from 1 to 2q for each memory cell. As a result, the neuron output value and the connection weight value input to the multiplier mh can take 2p and 2q values, respectively. The method of selecting an address for calculating the neuron output value may be in accordance with FIG. 12 as in the embodiment of FIG. FIG. 17 shows one example of the characteristics of the nonlinear function circuit D in the embodiment of FIG. g1
Is 0 and 1 each time the input changes by (x2-x1) / 2p
Are alternately repeated, and g2 is 0 and 1 at twice the cycle of g1.
Is alternately repeated. In the same manner, gp is changed by changing the cycle by twice.
In this example, the value is set to be from 0 to 1 with (x2-x1) / 2 as a boundary. That is, the nonlinear function circuit D may be designed to operate as an A / D converter. In addition,
Also in this embodiment, the nonlinear function circuit D can be designed so that the neuron output value increases nonlinearly with respect to the input. For example, to increase the neuron output value in the form of a sigmoid function with respect to the input, the period at which each output changes is decreased as the input increases while the ratio of the periods between different g is kept constant. Is (x2-x1) /
From the point beyond 2, the period may be increased as the input increases. As described above, FIG.
According to the embodiment shown in FIG. 7, p and q memory cells are used to represent the neuron output value and the connection weight value, respectively, and the neuron output value and the connection weight value are respectively 2 and 2.
It can have p, 2q values. Therefore, it is suitable for giving a large number of neuron output values and connection weight values with a small number of memory cells. Also in this embodiment, a multi-input circuit is used as the multipliers m1,..., Mn, and the weighting circuit WT and the adders a1,.
Of course, various modifications are possible, such as giving the functions of 1,..., Bn to the multiplier. Here, an embodiment using an equivalent expression and a binary number has been described. However, there are various other methods of expressing a negative number using a sign bit and expressing information by a plurality of bits. So you can use them as needed.

【0035】次に1つのMOSトランジスタおよび1つ
の容量より構成されるダイナミックメモリセル(DRA
Mセル)をメモリ回路に用いた実施例を示す。
Next, a dynamic memory cell (DRA) composed of one MOS transistor and one capacitor
An example in which (M cells) are used in a memory circuit will be described.

【0036】図18は、図10に示した実施例をDRA
Mセルを用いて構成した実施例である。図18において
アレーA,アレーBは、互いに交差する複数のデータ線
対DA1,/DA1,…,DAn,/DAn,DB1,
/DB1,…DBn,/DBnと複数のワード線WA
1,WA2,…,WAm,WB1,1,WB1,2,…,WB
1,n,WB2,1,WB2,2,…,WBm-1,n および、それ
らの交差部に設けられたメモリセルMCより構成されて
いる。メモリセルMCは対をなすデータ線とワード線と
の交差部のいずれか一方に設けられている。図において
PR,SA,RSA,WSは、プリチャージ回路, セン
スアンプ, 読出しセンスアンプ, 書込みスイッチであ
り、図9のアレー制御回路13A,13Bに相当する。
演算回路の中のMTは、乗算回路である。16は、クロ
ック発生回路で、チップ外部より与えるアドレスADD
A,ADDBおよび、チップセレクト信号/CSA,/
CSBなどより、他の回路を制御するためのクロックΘ
A,ΘBなどを発生する。
FIG. 18 shows the embodiment shown in FIG.
This is an embodiment configured using M cells. In FIG. 18, an array A and an array B are a plurality of data line pairs DA1, / DA1,..., DAn, / DAn, DB1, which cross each other.
/ DB1,... DBn, / DBn and a plurality of word lines WA
1, WA2,..., WAm, WB1,1, WB1,2,.
, WB2,2,..., WBm-1, n, and memory cells MC provided at intersections thereof. The memory cell MC is provided at one of the intersections of a pair of a data line and a word line. In the figure, PR, SA, RSA, and WS are a precharge circuit, a sense amplifier, a read sense amplifier, and a write switch, and correspond to the array control circuits 13A and 13B in FIG.
MT in the operation circuit is a multiplication circuit. Reference numeral 16 denotes a clock generation circuit which is an address ADD given from outside the chip.
A, ADDB and chip select signals / CSA, /
Clock for controlling other circuits by CSB etc.
A, ΔB, etc. are generated.

【0037】以下では、上記図18の実施例の動作を図
19,図20,図21を用いて説明する。図19は、動
作モードと外部信号との関係の一実施例を示したもので
ある。前記したように、演算モード前半では、メモリセ
ルアレーA,Bのワード線を1本ずつ立ち上げ、後半で
は、メモリセルアレーAのワード線を1本立ち上げる。
また、メモリモードでは、メモリセルアレーAとBとで
独立に読出し、書き込みを行なう。図19では、これら
の制御を、容易に行なうために、動作モードをさらに細
分した。メモリモード中のAR,AW,BR,BWは、
それぞれ、アレーAからの読出し、アレーAへの書き込
み、アレーBからの読出し、アレーBへの書き込みを行
なうモードである。また、演算モード中のNR,NW
は、それぞれデータを読出して演算するまでの前半部分
と、演算結果を書き込む後半部分である。本実施例で
は、これら6つのモードを切り替えるために、チップセ
レクト信号/CSA,/CSB,書き込み制御信号/W
E,演算回路制御信号/NEの4つの外部入力信号を用
いた。チップセレクト信号/CSA,/CSBは、チッ
プの選択及び、アレーA,Bの選択を指定する。/CS
A,/CSBが両方H(高レベル)で、チップが非選択と
なり、/CSAがL (低レベル) でアレーAが、/CS
BがL(低レベル)でアレーBが、選択状態となる。書き
込み制御信号/WEは、前記したように書き込み、読み
だしを切り替える信号で、Hで読出し、Lで書き込み動
作となる。/NEについても、前記したとおりで、Hで
メモリモード、Lで演算モードとなる。したがって、例
えば/CSA,/CSBが共にL、/WEがH、/NE
をLとすれば、アレーAとB両方から読みだしを行なう
演算モード前半のモードNRとなる。アドレス信号につ
いては、チップセレクト信号でアレーA,Bの切り替え
を指定しだため、アレーAのメモリセルを選択するアド
レス群ADDAとアレーBのメモリセルを選択するアド
レス群ADDBとに分けることができる。ここで、アド
レス群ADDAはアレーAのワード線を選択するための
X系アドレスとアレーAのデータ線を選択するためのY
系アドレスの集まりを総称したものである。同様に、ア
ドレス群ADDBはアレーBのワード線を選択するため
のX系アドレスとアレーBのデータ線を選択するための
Y系アドレスの集まりを総称したものである。各動作モ
ードにおいては、図19に従ってこれらのアドレス群を
アドレスピンへ印加する。以上説明した図19の実施例
によれば、チップセレクト信号を2つ設けてアレーA,
Bの切り替えを行ない、アドレスをアレーAとBとで分
離した。このため、アレーAとBを独立に選択できるた
め、アレーAとBの両方、あるいは片方を選択する必要
のある各動作モードを容易に制御できる。なお、図19
以外にも、動作モードと外部信号の関係は種々変形して
実現可能であるのはもちろんである。たとえば、チップ
セレクト信号を/CSのみとして、アレーAとBの切り
替え用のアドレスを加える、あるいは、アドレスをアレ
ーAとBで分けずにアレーAまたはBのどちらかのみを
選択するようにしておいて、モードNRにおけるアレー
Bのワード線を選択するXアドレスは、チップ内部に設
けたカウンタにより発生してもよい。
The operation of the embodiment shown in FIG. 18 will be described below with reference to FIGS. 19, 20 and 21. FIG. 19 shows an embodiment of the relationship between the operation mode and the external signal. As described above, in the first half of the operation mode, the word lines of the memory cell arrays A and B are activated one by one, and in the latter half, one word line of the memory cell array A is activated.
In the memory mode, reading and writing are performed independently in the memory cell arrays A and B. In FIG. 19, the operation modes are further subdivided in order to easily perform these controls. AR, AW, BR, BW in the memory mode are:
These modes are for reading from array A, writing to array A, reading from array B, and writing to array B, respectively. Also, NR, NW in the calculation mode
Are the first half of reading data and performing the calculation, and the second half of writing the calculation result. In this embodiment, in order to switch these six modes, the chip select signals / CSA and / CSB and the write control signal / W
E, four external input signals of the arithmetic circuit control signal / NE were used. The chip select signals / CSA and / CSB specify selection of a chip and selection of arrays A and B. / CS
A and / CSB are both H (high level), the chip is unselected, / CSA is L (low level) and array A is / CS
When B is L (low level), the array B is in the selected state. As described above, the write control signal / WE is a signal for switching between writing and reading, and the reading operation is performed at H and the writing operation is performed at L. As for / NE, as described above, H indicates the memory mode, and L indicates the calculation mode. Therefore, for example, / CSA and / CSB are both L, / WE is H, / NE
Let L be the mode NR in the first half of the calculation mode in which reading is performed from both arrays A and B. Since the switching of the arrays A and B is specified by the chip select signal, the address signals can be divided into an address group ADDA for selecting the memory cells of the array A and an address group ADDB for selecting the memory cells of the array B. . Here, the address group ADDA includes an X-system address for selecting the word line of the array A and a Y address for selecting the data line of the array A.
This is a general term for a group of system addresses. Similarly, the address group ADDB is a general term for a group of an X-system address for selecting a word line of the array B and a Y-system address for selecting a data line of the array B. In each operation mode, these address groups are applied to the address pins according to FIG. According to the embodiment of FIG. 19 described above, two chip select signals are provided and the array A,
B was switched, and the addresses were separated between arrays A and B. Therefore, since the arrays A and B can be selected independently, it is possible to easily control each operation mode in which both or one of the arrays A and B needs to be selected. Note that FIG.
Other than that, the relationship between the operation mode and the external signal can be realized in various modifications. For example, the chip select signal is set to only / CS, and an address for switching between the arrays A and B is added. The X address for selecting the word line of the array B in the mode NR may be generated by a counter provided inside the chip.

【0038】図20はメモリモードにおける図18の波
形、図21は演算モードにおける図18の波形の実施例
である。
FIG. 20 shows an example of the waveform of FIG. 18 in the memory mode, and FIG. 21 shows an example of the waveform of FIG. 18 in the calculation mode.

【0039】メモリモードの動作は通常のDRAMの読
出し、書き込み動作と同様である。図20には、メモリ
モードにおいてアレーA内のワード線WA1とデー夕線
DA1の交差部にあるメモリセルに対して読出し動作
(モードAR) と書込み動作(モードAW) を続けて行な
う場合の電圧波形を示してある。図においてVccは、
正電位を示している。メモリモードであるため演算回路
制御信号/NEが高レベルであり、これにより演算回路
起動信号ΦNは、低電位に固定され演算回路12はオフ
している。読出し動作を始める前には、PPAとPNA
がVcc/2に設定されており、このためセンスアンプ
SAは、オフしている。まだ、プリチャージ信号ΦpA
が高電位にあるため、プリチャージ回路PRがオンして
DA1,/DA1,…,DAn,/DAnのデータ線対
は短絡されると共にプリチャージ電位VHに電位が設定
される。VHは、Vcc/2に設定しておく。チップセ
レクト信号/CSAが低電位になると、プリチャージ信
号ΦpAを立ち下げ、プリチャージ回路PRをオフし
て、アドレス信号ADDAによって選択されたワード線
WA1と読出しY選択信号YRA1を高電位に遷移させ
る。その結果ワード線WA1に接続されたすべてのメモ
リセルMCのMOSトランジスタが導通し、容量に蓄積
された電荷に応じて、データ線対DA1,/DA1,
…,DAn,/DAnにそれぞれ微妙な電位差が生じ
る。この電位差を読出しY選択信号YRA1の入力され
た読出しセンスアンプRSAで検出して読出し線OA,
/OAのインピーダンスの差に変換する。入出力回路で
は、これを電圧差に変換後、増幅してメモリセルの内容
である1もしくは0に対応する電位を読出しデータDO
として出力する。これらの動作と並行して次のようにし
て所謂再書込み動作が行なわれる。データ線対DA1,
/DA1,…,DAn,/DAnにそれぞれ微妙な電位
差が生じたのち、PPAを高電位に、PNAを低電位に
遷移させてセンスアンプSAを起動させる。そのためデ
ータ線対に生じた微妙な電位差が増幅されて、高電位側
のデータ線をVccに低電位側のデータ線を0Vに遷移
する。その結果、ワード線WA1に接続されたすべての
メモリセルMCの容量に読出し前の情報に対応する電位
が再び書き込まれる。再書込み動作の終了後、チップセ
レク卜信号/CSAが高電位になると、選択されたワー
ド線WA1と読出しY選択信号YRA1を低電位に遷移
し、その後PPA,PNAをVcc/2に遷移させ、セ
ンスアンプSAをオフさせるとともにプリチャージ信号
ΦpAを高電位に遷移させる。この結果、データ線対は
短絡されると共にプリチャージ電位VHに電位が設定さ
れて再びもとの状態に戻る。以上が読出し動作である。
The operation in the memory mode is the same as the ordinary DRAM read / write operation. FIG. 20 shows a read operation for a memory cell at the intersection of word line WA1 and data line DA1 in array A in the memory mode.
(Mode AR) and the voltage waveform when the write operation (mode AW) is performed successively. In the figure, Vcc is
It shows a positive potential. Since the operation mode is the memory mode, the operation circuit control signal / NE is at a high level, whereby the operation circuit start signal ΦN is fixed at a low potential and the operation circuit 12 is off. Before starting the read operation, PPA and PNA
Is set to Vcc / 2, so that the sense amplifier SA is off. Still, the precharge signal ΦpA
Is at a high potential, the precharge circuit PR is turned on, the data line pair of DA1, / DA1,..., DAn, / DAn is short-circuited and the potential is set to the precharge potential VH. VH is set to Vcc / 2. When the chip select signal / CSA becomes low potential, the precharge signal ΦpA falls, the precharge circuit PR is turned off, and the word line WA1 selected by the address signal ADDA and the read Y selection signal YRA1 transition to high potential. . As a result, the MOS transistors of all the memory cells MC connected to the word line WA1 are turned on, and the data line pair DA1, / DA1,
.., DAn and / DAn each have a slight potential difference. This potential difference is detected by the read sense amplifier RSA to which the read Y selection signal YRA1 is input, and the read lines OA,
/ OA. The input / output circuit converts this to a voltage difference, amplifies it, and reads the potential corresponding to 1 or 0 as the content of the memory cell.
Output as In parallel with these operations, a so-called rewrite operation is performed as follows. Data line pair DA1,
After a slight potential difference occurs between / DA1,..., DAn, and / DAn, the sense amplifier SA is activated by transitioning PPA to a high potential and PNA to a low potential. Therefore, a slight potential difference generated in the data line pair is amplified, and the data line on the high potential side transitions to Vcc and the data line on the low potential side transitions to 0V. As a result, the potential corresponding to the information before reading is written again to the capacitances of all the memory cells MC connected to the word line WA1. After the end of the rewrite operation, when the chip select signal / CSA becomes high potential, the selected word line WA1 and the read Y select signal YRA1 transition to low potential, and then PPA and PNA transition to Vcc / 2. The sense amplifier SA is turned off, and the precharge signal ΦpA transitions to a high potential. As a result, the data line pair is short-circuited, the potential is set to the precharge potential VH, and the data line pair returns to the original state. The above is the reading operation.

【0040】続いて同じセルへの書込み動作(モードA
W)に移る。書込み動作では、チップセレクト信号/C
SAが低電位となりさらに書込み制御入力/WEが低電
位となることによって、書込みデータDIに与えられた
情報がアレーA内の選択されたメモリセルに書き込まれ
る。書込み動作でもまず、チップセレクト信号/CSA
が低電位になると、プリチャージ信号ΦpAを立ち下
げ、プリチャージ回路PRをオフする。次に、アドレス
信号ADDAによって選択されだワード線WA1と読出
しY選択信号YRA1が高電位に遷移する。その結果、
ワード線WA1に接続されたすべてのメモリセルMCの
MOSトランジスタが導通し、容量に蓄積された電荷に
応じて、データ線対DA1,/DA1,…,DAn,/
DAnにそれぞれ微妙な電位差が生じる。データ線対に
生じた微妙な電位差は、センスアンプSAによって増幅
されていく。つづいて書込み制御入力/WEが低電位に
遷移したことにより発生された入力回路起動信号ΦWA
Rが高電位に遷移する。これによって書込みデータDI
に与えられた情報が、書込み線対IA,/IAへ差動信
号として伝えられる。また、書込みY選択信号YWA1
が高電位に遷移して書込み先のメモリセルが接続された
書込みスイッチWSがオンする。これにより書込み線対
IA,/IAはそれぞれデータ線対DA1,/DA1と
導通する。この結果データ線対DA1,/DA1は書込
みデータDIに与えられた情報に対応した電位に設定さ
れる。その後入力回路起動信号ΦWARは低電位に遷移
するがデー夕線対の電位はセンスアンプSAによって保
たれる。書込みスイッチWSがオンしなかったデータ線
対では初めに読出した信号がそのままセンスアンプによ
り増幅されて再書込みが行なわれる。再書込み動作の終
了後、チップセレクト信号/CSAが高電位になると、
選択されたワード線WA1と書込みY選択信号YWA1
が低電位に遷移し、その後PPA,PNAをVcc/2
に遷移させセンスアンプSAをオフさせるとともにプリ
チャージ信号ΦpAを高電位に遷移させる。この結果、
データ線対は短絡されると共にプリチャージ電位VHに
電位が設定されて再びもとの状態に戻る。以上が書込み
動作である。
Subsequently, a write operation to the same cell (mode A)
Move to W). In the write operation, the chip select signal / C
When SA becomes low potential and the write control input / WE becomes low potential, the information given to the write data DI is written to the selected memory cell in the array A. In the write operation, first, the chip select signal / CSA
Becomes low, the precharge signal ΦpA falls, and the precharge circuit PR is turned off. Next, the word line WA1 selected by the address signal ADDA and the read Y selection signal YRA1 transition to a high potential. as a result,
The MOS transistors of all the memory cells MC connected to the word line WA1 conduct, and the data line pairs DA1, / DA1,..., DAn, /
A slight potential difference occurs between DAn. The subtle potential difference generated in the data line pair is amplified by the sense amplifier SA. Subsequently, the input circuit start signal ΦWA generated by the transition of the write control input / WE to the low potential.
R transitions to a high potential. As a result, the write data DI
Is transmitted as a differential signal to the write line pair IA, / IA. Also, the write Y selection signal YWA1
Transitions to a high potential, and the write switch WS connected to the memory cell at the write destination is turned on. As a result, the write line pair IA, / IA is electrically connected to the data line pair DA1, / DA1, respectively. As a result, the data line pair DA1, / DA1 is set to a potential corresponding to the information given to the write data DI. Thereafter, the input circuit activation signal φWAR transitions to a low potential, but the potential of the data line pair is maintained by the sense amplifier SA. In the data line pair in which the write switch WS is not turned on, the signal read first is amplified by the sense amplifier as it is, and rewriting is performed. After the end of the rewrite operation, when the chip select signal / CSA becomes high potential,
The selected word line WA1 and the write Y selection signal YWA1
Changes to a low potential, and then PPA and PNA are changed to Vcc / 2.
And the sense amplifier SA is turned off, and the precharge signal ΦpA is changed to a high potential. As a result,
The data line pair is short-circuited, the potential is set to the precharge potential VH, and the data line pair returns to the original state. The above is the writing operation.

【0041】ここでは、アレーA内の同一のメモリセル
に続けて読出し動作と書込み動作を行なう場合について
説明したが、読出し動作あるいは書込み動作をそれぞれ
続けて行なうこともできるし、また、モードAR,A
W,BR,BWを切り換えることにより読出し動作ある
いは書込み動作の度に異なるメモリアレー内の所望の位
置にあるメモリセルについて読出し動作あるいは書込み
動作を行なうことができるのは、もちろんである。
Here, the case where the read operation and the write operation are successively performed on the same memory cell in array A has been described. However, the read operation or the write operation can be performed successively, respectively. A
Of course, by switching W, BR, and BW, a read operation or a write operation can be performed on a memory cell at a desired position in a different memory array every time a read operation or a write operation is performed.

【0042】次に演算モードの動作について説明する。
図21は、ニューロン出力値V12を得るための動作波
形を示したものである。すでにメモリモードにおける書
込み動作により必要な結合重み値、ニューロン出力値等
は書き込まれているものとする。まず、モードNRとす
るためにチップセレクト信号/CSAと/CSBを低レ
ベルとし、書き込み制御信号/WEを高レベル, 演算回
路制御信号/NEを低レベルとする。アドレスADD
A,ADDBは、アレーAのワード線WA1とアレーB
のワード線WB1を選択するように設定する。/CSA
と/CSBが低レベルになることによりプリチャージ信
号ΦPA,ΦPBが低レベルに、/NEが低レベルにな
ることにより演算回路起動信号ΦNが高レベルに遷移す
る。続いてワード線WA1とWB1とが立ち上がりWA
1上のメモリセルに蓄えられていたニューロン出力値V
11,V21,…,Vn1と結合重み値T111,T1
12,…,T11nがデータ線上に読み出される。こう
して、アレーAから読出されたニューロン出力値とアレ
ーBから読出された結合重み値は、図18に示したよう
に演算回路起動信号ΦNにより起動されている乗算回路
MTに入力される。乗算回路MTでは、アレーA側のデ
ータ線とアレーB側のデータ線は、MOSトランジスタ
のゲートにつながれており、それらのMOSトランジス
タは演算回路起動信号ΦNが入力されているスイッチ用
のMOSトランジスタを通じて積和出力線NOとダミー
線DMとにつながれている。積和出力線NOの一端は負
荷RM1を通じて電源VMに接続されており、ダミー線
DMの一端は接地されている。データ線に読出された信
号がセンスアンプSAによってVcc,あるいは、0V
に増幅されるとニューロン出力値と結合重み値の積が1
である乗算器では、負荷RM1を通じて電源VMより接
地電極へ電流が流れる。したがってニューロン出力値と
結合重み値の積が1であるような組合せの数に比例して
積和出力線NOの電位は下降する。積和出力線NOは、
非線形関数回路Dに入力されている。非線形関数回路D
ではニューロン出力値と結合重み値の積の合計が大きく
積和出力線NOの電位が参照電圧VRより下がるがどう
か検知して結果をNVへ出力する。図21に示した積和
出力線NOの波形のうち実線が積和の結果が小さかった
場合であり破線が積和の結果が大きかった場合である。
入出力回路では非線形関数回路Dの結果を検知して書込
み線対IA,/IAに次にメモリセルに書き込むべきニ
ューロン出力値V12を出力する。図21にはIAの波
形を示した。IAは、積和が大きい場合には破線のよう
に高レベルに、積和が小さい場合には実線のように低レ
ベルになる。/IAはIAと逆相となる。書込み線対I
A,/IAにニューロン出力値が出力された時点でラッ
チ信号ΦLを高電位に遷移する。この結果、書込み線対
IA,/IAに出力された電位は、入出力回路IO内に
設けたラッチ回路によりラッチされる。ラッチ信号ΦL
は、演算回路起動信号/NEの立ち下がりを受けてI
A,/IAに信号がでるまで遅延させて立ち上げればよ
い。つづいて、演算回路起動信号ΦNが低電位に遷移し
て演算回路をオフし、ワード線が立ち下がった後にメモ
リモード時と同様にデータ線のブリチャージを行なう。
このときラッチ信号ΦLは高電位のままにして、書込み
線対IA,/IAに出力されたニューロン出力値を保っ
ておく。
Next, the operation in the operation mode will be described.
FIG. 21 shows operation waveforms for obtaining the neuron output value V12. It is assumed that necessary connection weight values, neuron output values, and the like have already been written by the writing operation in the memory mode. First, in order to set the mode NR, the chip select signals / CSA and / CSB are set to low level, the write control signal / WE is set to high level, and the arithmetic circuit control signal / NE is set to low level. Address ADD
A and ADDB are the word line WA1 of the array A and the array B
Is set to select the word line WB1. / CSA
And / CSB go low, the precharge signals .PHI.PA and .PHI.PB go low, and / NE goes low, causing the arithmetic circuit start signal .phi.N to go high. Subsequently, the word lines WA1 and WB1 rise and WA
Neuron output value V stored in the memory cell on
, Vn1, and connection weight values T111, T1
, T11n are read out on the data lines. Thus, the neuron output value read from the array A and the connection weight read from the array B are input to the multiplication circuit MT activated by the operation circuit activation signal ΦN as shown in FIG. In the multiplication circuit MT, the data line on the array A side and the data line on the array B side are connected to the gates of MOS transistors, and these MOS transistors are connected to each other through a switch MOS transistor to which an arithmetic circuit start signal ΦN is input. It is connected to the product-sum output line NO and the dummy line DM. One end of the product-sum output line NO is connected to the power supply VM through the load RM1, and one end of the dummy line DM is grounded. The signal read to the data line is applied to Vcc or 0 V by the sense amplifier SA.
Is amplified, the product of the neuron output value and the connection weight value becomes 1
, The current flows from the power supply VM to the ground electrode through the load RM1. Therefore, the potential of the product-sum output line NO falls in proportion to the number of combinations in which the product of the neuron output value and the connection weight value is 1. The product-sum output line NO is
It is input to the nonlinear function circuit D. Nonlinear function circuit D
Detects whether the sum of the product of the neuron output value and the connection weight value is large and the potential of the product-sum output line NO falls below the reference voltage VR, and outputs the result to NV. In the waveform of the product-sum output line NO shown in FIG. 21, a solid line indicates a case where the result of the product-sum is small, and a broken line indicates a case where the result of the product-sum is large.
The input / output circuit detects the result of the nonlinear function circuit D, and outputs a neuron output value V12 to be written to the next memory cell to the write line pair IA, / IA. FIG. 21 shows the waveform of the IA. The IA is at a high level as indicated by a broken line when the sum of products is large, and is at a low level as indicated by a solid line when the sum of products is small. / IA is in opposite phase to IA. Write line pair I
When the neuron output value is output to A and / IA, the latch signal ΦL transitions to a high potential. As a result, the potential output to the write line pair IA, / IA is latched by the latch circuit provided in the input / output circuit IO. Latch signal ΦL
Receives I / O in response to the fall of the arithmetic circuit activation signal / NE.
What is necessary is to delay and start up until a signal appears at A, / IA. Subsequently, the arithmetic circuit start signal ΦN transitions to a low potential to turn off the arithmetic circuit, and after the word line falls, the data line is recharged as in the memory mode.
At this time, the latch signal ΦL is kept at the high potential, and the neuron output value output to the write line pair IA, / IA is kept.

【0043】次に演算モードの後半であるモードNWに
移る。まず、チップセレクト信号/CSAおよび書込み
制御信号/WEを低レベル,チップセレクト信号/CS
Bを高レベルとしてアレーA内のニューロン出力値を書
込むべきメモリセルが選択されるようにアドレスADD
Aを切り換える。演算回路起動信号/NEは低レベルの
ままにしておく。/CSAを立ち下げた結果、プリチャ
ージ信号ΦPAが低レベルとなりアレーAに書き込みが
できる状態となる。つづいて、選択されたワード線WA
2,書込みY選択信号YWA1が立ち上がる。これによ
り、書込み線対IA,/IAに出力されたニューロン出
力値V12は、ワード線WA2とデータ線DA1とに接
続されたメモリセルに書き込まれる。最後にワード線を
すべて立ち下げてプリチャージを行なう。また、演算回
路制御信号/NEを立ち上げることにより、ラッチ信号
ΦLが立ち下がりラッチがはずれる。こうして、次の動
作に備える。以上が演算モードの動作である。同様の動
作を図12に従ってアドレスを変えて続けることにより
すべてのニューロン出力値を計算できる。
Next, the process proceeds to the mode NW which is the latter half of the operation mode. First, the chip select signal / CSA and the write control signal / WE are set to low level,
B is set to a high level so that a memory cell to which a neuron output value in array A is to be written is selected.
Switch A. The arithmetic circuit activation signal / NE is kept at a low level. As a result of the fall of / CSA, the precharge signal ΦPA becomes low level, and the array A can be written. Subsequently, the selected word line WA
2. The write Y selection signal YWA1 rises. As a result, the neuron output value V12 output to the write line pair IA, / IA is written to the memory cell connected to the word line WA2 and the data line DA1. Finally, all the word lines are dropped to perform precharge. Further, when the arithmetic circuit control signal / NE rises, the latch signal φL falls and the latch is released. Thus, the next operation is prepared. The above is the operation in the operation mode. By continuing the same operation with changing the address according to FIG. 12, all neuron output values can be calculated.

【0044】以上において乗算器MTのうちダミー線D
Mに接続された側の回路は、省いてもよいが乗算器MT
のMOSトランジスタのゲート容量等が片方のデータ線
のみに付くとデータ線容量がアンバランスとなり場合に
よってはセンスアンプの動作などに支障を来すこともあ
る。そのような場合には図18のようにしておけばデー
タ線容量がアンバランスとなることによる悪影響を避け
ることができる。
In the above, the dummy line D of the multiplier MT
The circuit connected to M may be omitted, but the multiplier MT
If the gate capacitance or the like of the MOS transistor is attached to only one of the data lines, the data line capacitance becomes unbalanced and, in some cases, may hinder the operation of the sense amplifier. In such a case, if the data line capacitance is unbalanced as shown in FIG.

【0045】次に、図18に用いるのに好適な回路の実
施例を示す。図22(a)は、非線形関数回路Dの1実
施例である。本実施例は、バイポーラトランジスタQ7
20,Q719,抵抗R72およびMOSトランジスタ
Q721よりなる差動アンプと、インバータINV75
およびMOSトランジスタQ715,Q716,Q71
7,Q718,抵抗R71,ダイオードD71よりなる
インバータにより構成される。本回路は信号ΦNが高電
位になることにより起動される。図22(b)に非線形
関数回路Dの入力である積和出力線NOの電位と出力N
Vの電位の関係を示す。積和出力線NOの電位が参照電
位VRより低いと出力NVが高電位にNOの電位が参照
電位VRより高いと出力NVが低電位となる。本実施例
によれば差動アンプにバイポーラトランジスタを用いて
いるため入力の変化にたいして立上りの急峻な特性を持
つ非線形回路を実現できる。また、参照電位VRを所望
の値に設定することにより容易に非線形関数回路Dの特
性を変えることができる。なお、差動アンプの出力はバ
イポーラトランジスタQ719の飽和を避けるためにあ
まり大きくとることができない。そのため後段のインバ
ータに直接差動アンプの出力を接続するとインバータが
動作しないことがありうる。そこで、抵抗R71,ダイ
オードD71を設けてMOSトランジスタQ717に入
力される電位を降下させている。
Next, an embodiment of a circuit suitable for use in FIG. 18 will be described. FIG. 22A shows an embodiment of the nonlinear function circuit D. In this embodiment, the bipolar transistor Q7
20, Q719, a resistor R72 and a MOS transistor Q721, and an inverter INV75.
And MOS transistors Q715, Q716, Q71
7, Q718, a resistor R71 and a diode D71. This circuit is started when the signal ΦN becomes high potential. FIG. 22B shows the potential of the product-sum output line NO, which is the input of the nonlinear function circuit D, and the output N.
5 shows the relationship between V potentials. When the potential of the product-sum output line NO is lower than the reference potential VR, the output NV is high, and when the potential of NO is higher than the reference potential VR, the output NV is low. According to the present embodiment, since a bipolar transistor is used for the differential amplifier, it is possible to realize a non-linear circuit having a characteristic with a sharp rise with respect to an input change. Further, by setting the reference potential VR to a desired value, the characteristics of the nonlinear function circuit D can be easily changed. Note that the output of the differential amplifier cannot be so large to avoid saturation of the bipolar transistor Q719. Therefore, if the output of the differential amplifier is directly connected to the subsequent inverter, the inverter may not operate. Therefore, a resistor R71 and a diode D71 are provided to lower the potential input to the MOS transistor Q717.

【0046】図23は入出力回路IOの1実施例であ
る。図23に示したように書込み回路WRは入力バッフ
ァINBUF,書込み切り替えスイッチSWA,SW
B,ラッチ回路LATおよびインバータINVIA,I
NVIBより構成されている。書込み切り替えスイッチ
SWA,SWBは、書き込みデータDIをアレーAある
いは、アレーBのどちらのメモリセルに書き込むか切り
替えるためのものである。切り替え信号ΦWRAが高電
位のときには、書き込みデータDIは入力バッファIN
BUFを通じて書き込み線対IA,/IAよりアレーA
内のメモリセルに書き込まれる。切り替え信号ΦWRB
が高電位のときには、書き込みデータDIは入力バッフ
ァINBUFを通じて書き込み線対IB,/IBよりア
レーB内のメモリセルに書き込まれる。ラッチ回路LA
Tは、演算モードにおいて非線形回路Dの出力NVに出
力された情報をラッチして、書き込み線対IA,/IA
よりアレーA内のメモリセルに書き込むためのものであ
る。図より明らかなように、非線形回路Dの出力NVと
書き込み線対IA,/IAの電位関係は同相関係になる
ので、非線形関数回路Dの積和出力線NOと入力コモン
線IAの電位の関係は、図24に示したように反転関係
となる。前記したように図18の実施例では積和出力線
NOの電位はニューロン出力値と結合重み値との積和が
大きいほど低下するので、積和出力線NOと入力コモン
線IAの電位の関係が反転関係となるように回路を構成
した。積和出力線NOの電位がニューロン出力値と結合
重み値との積和が大きいほど上昇するように設計した場
合には積和出力線NOと入力コモン線IAの電位の関係
を同相関係となるように回路を構成すればよいのはもち
ろんである。
FIG. 23 shows an embodiment of the input / output circuit IO. As shown in FIG. 23, the write circuit WR includes an input buffer INBUF and write changeover switches SWA and SW.
B, latch circuit LAT and inverter INVIA, I
It consists of NVIB. The write changeover switches SWA and SWB are used to switch between the memory cells of the array A and the array B to write the write data DI. When the switching signal ΦWRA is at a high potential, the write data DI
Array A from write line pair IA, / IA through BUF
Is written to the memory cells in the cell. Switching signal ΦWRB
Is high potential, the write data DI is written to the memory cells in the array B from the write line pair IB, / IB through the input buffer INBUF. Latch circuit LA
T latches the information output to the output NV of the non-linear circuit D in the operation mode, and sets the write line pair IA, / IA
This is for writing data into the memory cells in the array A. As is apparent from the figure, the relationship between the output NV of the nonlinear circuit D and the potential relationship between the write line pair IA and / IA is in-phase, so the relationship between the product sum output line NO of the nonlinear function circuit D and the potential of the input common line IA. Have an inversion relationship as shown in FIG. As described above, in the embodiment of FIG. 18, since the potential of the product-sum output line NO decreases as the product sum of the neuron output value and the connection weight value increases, the relationship between the product-sum output line NO and the potential of the input common line IA Are configured to have an inverting relationship. When the potential of the product-sum output line NO is designed to increase as the product sum of the neuron output value and the connection weight value increases, the relationship between the product-sum output line NO and the potential of the input common line IA becomes an in-phase relationship. Needless to say, the circuit may be configured as described above.

【0047】図25は読出し回路OUTの1実施例であ
る。読出し回路OUTは電流電圧変換回路IVOUT
1,レベルシフト回路LS,読出しラッチ回路OUTL
Tおよび出力バッファBUFOUTにより構成される。
電流電圧変換回路IVOUT1では、読出し線OA,/
OAあるいは読出し線OB,/OBにインピーダンスの
差として読出された情報をそれぞれ、OA′,/OA′
あるいは読出し線OB′,/OB′の電圧の差に変換す
る。レベルシフト回路LSでは、電流電圧変換回路IV
OUT1より読出された情報の電圧を後段の読出しラッ
チ回路OUTLT内のバイポーラトランジスタが飽和し
ないレベルにシフトして読出しラッチ回路OUTLTに
伝達する。
FIG. 25 shows an embodiment of the read circuit OUT. The read circuit OUT is a current-voltage conversion circuit IVOUT
1, level shift circuit LS, read latch circuit OUTL
T and an output buffer BUFOUT.
In the current-voltage conversion circuit IVOUT1, the read lines OA, /
The information read as the difference in impedance between OA and the read lines OB and / OB is OA 'and / OA', respectively.
Alternatively, it is converted into a voltage difference between the read lines OB 'and / OB'. In the level shift circuit LS, the current-voltage conversion circuit IV
The voltage of the information read from OUT1 is shifted to a level at which the bipolar transistor in the subsequent read latch circuit OUTLT is not saturated, and transmitted to the read latch circuit OUTLT.

【0048】読出しラッチ回路OUTLTの詳細な実施
例を図26に示した。読出しラッチ回路OUTLT内の
読出し差動アンプAMPA,AMPBは、アレーAのメ
モリセルから読出し線OA,/OAを通じてL1,L2
に読出された情報とアレーBのメモリセルから読出し線
OB,/OBを通じてL3,L4に読出された情報のど
ちらを読出しデータDOとして読出すか切り替えるため
のものである。切り替え信号ΦAが高電位のときには、
アレーAのメモリセルから読出された情報が、切り替え
信号ΦBが高電位のときには、アレーBのメモリセルか
ら読出された情報が読出しデータDOとして出力され
る。読出しラッチ回路OUTLTでは、読出しラッチ信
号ΦLRを電圧VB2より高電位に遷移するとバイポー
ラトランジスタQ1Aがオフし、Q1Bがオンする。そ
のため、差動アンプAMPA,AMPBがオフし、AM
PCがオンする。その結果差動アンプAMPCとレベル
シフ卜回路LSCにより、読出し情報がラッチされる。
すなわち、本実施例によれば、読出し情報が確定した
後、読出しラッチ信号ΦLRを電圧VB2より高電位に
遷移することによって所望の期間だけ読出しデータDO
をラッチして出力しつづけることができる。
FIG. 26 shows a detailed embodiment of the read latch circuit OUTLT. The read differential amplifiers AMPA and AMPB in the read latch circuit OUTLT connect the memory cells of the array A to the read lines OA and / OA through the read lines OA and / OA.
To switch which of the information read out from the memory cell of the array B and the information read out from the memory cells of the array B into the read lines L3 and L4 through the read lines OB and / OB as the read data DO. When the switching signal ΦA is at a high potential,
When the information read from the memory cells of array A is high and the switching signal ΦB is at a high potential, the information read from the memory cells of array B is output as read data DO. In read latch circuit OUTLT, when read latch signal φLR transitions to a potential higher than voltage VB2, bipolar transistor Q1A turns off and Q1B turns on. Therefore, the differential amplifiers AMPA and AMPB are turned off,
The PC turns on. As a result, the read information is latched by the differential amplifier AMPC and the level shift circuit LSC.
That is, according to the present embodiment, after the read information is determined, the read latch signal ΦLR transitions to a potential higher than the voltage VB2, thereby enabling the read data DO for a desired period.
Can be latched and output.

【0049】なお、図18に示した乗算機MTの実施例
では、アレーAのデータ線対がアレーBのデータ線対よ
り接地電極から遠い方のMOSトランジスタのゲートに
接続されている。このため、積をとるときにニューロン
出力値と結合重み値とは等価に扱われない。このことが
問題となるときには、図27の実施例を用いればよい。
図27では、データ線DAiはMOSトランジスタQ7
C3とQ7C6,DBiはQ7C5とQ7C4のゲート
に接続されている。両者共、接地電極に近い方のMOS
トランジスタと遠い方のMOSトランジスタに接続され
ているので、積をとるときに、ニューロン出力値と結合
重み値とが等価に扱われることになる。
In the embodiment of the multiplier MT shown in FIG. 18, the data line pair of the array A is connected to the gate of the MOS transistor farther from the ground electrode than the data line pair of the array B. Therefore, when taking the product, the neuron output value and the connection weight value are not treated equivalently. If this poses a problem, the embodiment of FIG. 27 may be used.
In FIG. 27, data line DAi is connected to MOS transistor Q7.
C3, Q7C6, and DBi are connected to the gates of Q7C5 and Q7C4. In both cases, the MOS closer to the ground electrode
Since the transistor is connected to the farthest MOS transistor, the neuron output value and the connection weight value are treated equivalently when taking the product.

【0050】以上説明したように図18に示した実施例
によれば1つのMOSトランジスタおよび1つの容量よ
り構成されるDRAMセルを用いて図10に示した実施
例を実現できる。DRAMセルは、占有面積を非常に小
さくできるのでチップ上に高集積に実現できるというメ
リットがある。
As described above, according to the embodiment shown in FIG. 18, the embodiment shown in FIG. 10 can be realized using a DRAM cell composed of one MOS transistor and one capacitor. Since the occupied area of the DRAM cell can be made very small, there is an advantage that the DRAM cell can be realized with high integration on a chip.

【0051】なお、以上の説明では触れなかったが、よ
く知られているように1トランジスタ,1キャパシタを
用いたDRAMセルでは、キャパシタの電流リークによ
る蓄積電荷の減少を補償するために一定時間内にリフレ
ッシュ動作が必要である。本発明においても、メモリモ
ード,演算モードにかかわらず必要に応じてリフレッシ
ュ動作を行うことは通常のDRAMと同様にして容易に
できる。
Although not described in the above description, as is well known, in a DRAM cell using one transistor and one capacitor, it is necessary to compensate for a decrease in accumulated charge due to current leakage of the capacitor within a certain period of time. Requires a refresh operation. Also in the present invention, the refresh operation can be easily performed as necessary regardless of the memory mode and the operation mode, similarly to a normal DRAM.

【0052】上記の実施例では、メモリセルとしてDR
AMセルを用いたがこれに限定されることはなく、他の
メモリセルを用いても同様の情報処理装置を実現でき
る。次にSRAMセルを用いた実施例を示す。図28
(a),(b)は、SRAMセルの実施例であり、両者
共DRAMセルと異なり再書込みあるいはリフレッシュ
動作が不要なためDRAMセルを用いた場合に比べて制
御が容易にできるという利点がある。図29は、図28
(a)あるいは(b)等のSRAMセルを用いて図10
の実施例を実現するための1実施例である。図29にお
いて、MCSはSRAMセル、LDは、デー夕線負荷で
ある。図30,図31に動作波形の例を示す。図30
は、メモリモードにおいてデータ線DA1,/DA1と
ワード線WA1に接続されたセルに対して読出し動作と
書込み動作を連続して行なう場合の例であり,図31は
演算モードにおいてワード線WA1上のメモリセルに記
憶されたニューロン出力値V11,V21,…,Vn1
とワード線WB1上のメモリセルに記憶された結合重み
値T111,T121,…,T1n1からニューロン出
力値V12を計算する場合の動作波形の例である。基本
的な動作は前記のDRAMセルの場合と同様であるので
説明は省略する。SRAMセルは、再書込み動作,リフ
レッシュ動作が不要なためDRAMセルに比べて制御が
簡単であるというメリットがある。さらに、再書込み動
作が不要なため、メモリモードにおける読出し,書込み
の速度および演算モードのサイクルを高速にできるとい
うメリットがある。
In the above embodiment, the memory cells are DR
Although an AM cell is used, the present invention is not limited to this, and a similar information processing device can be realized using another memory cell. Next, an embodiment using an SRAM cell will be described. FIG.
(A) and (b) are embodiments of an SRAM cell, and both of them do not require a rewrite or refresh operation unlike DRAM cells, and thus have the advantage that control can be performed more easily than in the case of using DRAM cells. . FIG. 29 corresponds to FIG.
FIG. 10 shows an example in which the SRAM cell shown in FIG.
This is one embodiment for realizing the embodiment of the present invention. In FIG. 29, MCS is an SRAM cell, and LD is a data line load. 30 and 31 show examples of operation waveforms. FIG.
FIG. 31 shows an example in which the read operation and the write operation are continuously performed on the cells connected to data lines DA1, / DA1 and word line WA1 in the memory mode. FIG. 31 shows the operation on word line WA1 in the operation mode. The neuron output values V11, V21,..., Vn1 stored in the memory cells
, T1n1 stored in the memory cell on the word line WB1 and the calculation value of the neuron output value V12. The basic operation is the same as in the case of the DRAM cell described above, and a description thereof will be omitted. An SRAM cell has an advantage that control is simpler than that of a DRAM cell because a rewrite operation and a refresh operation are not required. Further, since the rewrite operation is not required, there is an advantage that the read / write speed in the memory mode and the cycle in the operation mode can be increased.

【0053】以上、DRAMセルとSRAMセルを用い
て図10の実施例を実現するための回路構成例を説明し
てきた。次にニューロン出力値、結合重み値を複数のメ
モリセルを用いて表現するためのを回路構成例につき説
明する。以下では、DRAMセルを用いた実施例を示す
が、SRAMセルを用いても同様に実現できることはも
ちろんである。
The example of the circuit configuration for realizing the embodiment of FIG. 10 using the DRAM cell and the SRAM cell has been described above. Next, an example of a circuit configuration for expressing a neuron output value and a connection weight value using a plurality of memory cells will be described. Hereinafter, an embodiment using a DRAM cell will be described, but it is needless to say that the same can be realized by using an SRAM cell.

【0054】次に、DRAMセルを用いてニューロン出
力値,結合重み値を複数のメモリセルを用いて表現する
ための回路構成例について説明する。
Next, an example of a circuit configuration for expressing a neuron output value and a connection weight value using a plurality of memory cells using DRAM cells will be described.

【0055】図32において、アレーA内のデータ線対
DA11,/DA11,DA12,/DA12,…,D
A1P,/DA1Pは、図13において加算器a1に入
力されるアレーA内のデータ線対に対応している。ま
た、アレーA内のデータ線対DAn1,/DAn1,D
An2,/DAn2,…,DAnP,/DAnPは、図
13において加算器anに入力されるアレーA内のデー
タ線対に対応している。アレーBについても同様であ
る。入出力回路DIO10に示したように入力端子をD
O1,…,DOrのr本、出力端子をDI1,…,DI
rのr本設けて(ここでrはpまたはqのどちらか大き
い方の数)メモリモード時にニューロン出力値または結
合重み値を表すpビットあるいはqビットの情報を同時
に読出し、あるいは書込みできるようにしている。演算
モードにおいてアレーAでは、ワード線を立ち上げるこ
とによってデータ線に読出されたpビット毎の情報が加
算器ADDによって合成され、ニューロン出力値出力線
VO1,VO2,…,VOnにニューロン出力値が出力
される。また、アレーBでも、ワード線を立ち上げるこ
とによってデータ線に読出されたqビットの情報が加算
器ADDによって合成されて、結合重み値出力線TO
1,TO2,…,TOnに結合重み値が出力される。こ
れらはBLK2に入力され、積和演算が行なわれて非線
形関数回路D10に入力される。ニューロン出力値に相
当する非線形関数回路D10の出力は入出力回路DIO
10へ伝えられてラッチ信号ΦLによってラッチされ
る。つづいて、求めたニューロン出力値を書き込むべき
p個のセルを選択するようにアドレスを切り換えて、書
き込みY選択信号YWAiを立ち上げ、ラッチしておい
たニューロン出力値を選択したp個のセルヘ並列に書き
込む。このような動作を続けることにより図18 の実
施例と同様にしてニューロン出力値を更新していくこと
ができる。本実施例によれば、加算器ADDに入力され
た複数のメモリセルの情報を等価に加算することによっ
て図13の実施例を実現することができる。また、加算
器ADDに入力された複数のメモリセルの情報をビット
毎に重み付けして加算することによってニューロン出力
値,結合重み値を複数のビットによる2進数によって表
す図16の実施例も実現することができる。この他ニュ
ーロン出力値,結合重み値を他の方法で複数のビットで
表す場合にも容易に対処できるので目的に応じて多様な
情報処理を行なうことができる。本実施例では、DRA
Mセルを用いているので高集積化を図ることができる。
さらに、メモリモード、あるいは演算モードともに複数
のメモリセルの情報を並列に扱っているためニューロン
出力値、結合重み値を複数のビットで表しているにもか
かわらず、1ビットで表した場合と同様の高速な情報処
理を行なうことができる。ここでは、BLK1において
加算器により複数のメモリセルの信号を合成し、その結
果を積和回路であるBLK2に入力するようにした。し
かし、BLK1における加算を省略してニューロン出力
値あるいは、結合重み値をあらわす複数のメモリセルの
情報を並列に積和回路BLK2へ入力して積和演算を行
なうなど種々の変形も可能である。
In FIG. 32, a pair of data lines DA11, / DA11, DA12, / DA12,.
A1P and / DA1P correspond to the data line pairs in the array A input to the adder a1 in FIG. Also, a pair of data lines DAn1, / DAn1, D in array A
, DAnP, / DAnP correspond to the data line pairs in the array A input to the adder an in FIG. The same applies to array B. As shown in the input / output circuit DIO10, the input terminal
R of O1,..., DOr, output terminals are DI1,.
By providing r r (where r is the larger of p and q), p-bit or q-bit information representing a neuron output value or a connection weight value can be simultaneously read or written in the memory mode. ing. In the operation mode, in the array A, the information for each p bit read out to the data line by the rise of the word line is synthesized by the adder ADD, and the neuron output value output lines VO1, VO2,. Is output. Also in the array B, the q-bit information read to the data line by the rise of the word line is synthesized by the adder ADD, and the connection weight value output line TO
The connection weight value is output to 1, TO2,..., TOn. These are input to BLK2, where a product-sum operation is performed and input to the nonlinear function circuit D10. The output of the nonlinear function circuit D10 corresponding to the neuron output value is the input / output circuit DIO.
10 is latched by the latch signal φL. Subsequently, the address is switched so as to select the p cells to which the obtained neuron output values are to be written, the write Y selection signal YWAi is raised, and the latched neuron output values are paralleled to the selected p cells. Write to. By continuing such an operation, the neuron output value can be updated in the same manner as in the embodiment of FIG. According to the present embodiment, the embodiment of FIG. 13 can be realized by equivalently adding information of a plurality of memory cells input to the adder ADD. Further, the information of the plurality of memory cells input to the adder ADD is weighted for each bit and added, thereby realizing the embodiment of FIG. 16 in which the neuron output value and the connection weight value are represented by a binary number of a plurality of bits. be able to. In addition, since it is possible to easily deal with the case where the neuron output value and the connection weight value are represented by a plurality of bits by another method, various information processing can be performed according to the purpose. In this embodiment, the DRA
Since M cells are used, high integration can be achieved.
Further, in both the memory mode and the operation mode, the information of a plurality of memory cells is handled in parallel, so that the neuron output value and the connection weight value are represented by a plurality of bits, but are represented by one bit. High-speed information processing. Here, signals of a plurality of memory cells are combined by an adder in BLK1, and the result is input to BLK2 which is a product-sum circuit. However, various modifications are possible, such as omitting the addition in the BLK1 and inputting in parallel the information of a plurality of memory cells representing the neuron output value or the connection weight value to the product-sum circuit BLK2 to perform the product-sum operation.

【0056】以下では、まず、図32に示した実施例に
よりニューロン出力値、結合重み値を複数の等価的なビ
ットで表す図13の実施例を実現する方法についてのべ
る。図33は、図32のBLK1の1実施例である。こ
こでは、アレーAのデータ線DA11,…DA1Pに接
続されたBLK1を示した。アレーAの他のBLK1に
も同じ回路が使える。アレーBでもデータ線対,読出し
線対、あるいは書込み線対の本数をp本からq本に変更
しプリチャージ回路PRなどp個設けた回路をq個にす
れば、本実施例の回路を使うことができる。本実施例で
は、並列にp個のメモリセルへの書込み、あるいは読出
しができるように、p対の読出し線対OA1,/OA
1,…,OAp,/OApおよびp対の書込み線対IA
1,/IA1,……,IAp,/IApを設けた。読出
しセンスアンプRSAと書込みスイッチWSは、図に示
したように同一のBLK1内では順番に読出し線対OA
1,/OA1,…,OAp,/OApおよびp対の書込
み線対IA1,/IA1,…,IAp,/IApに接続
されている。すなわち1対の読出し線あるいは書込み線
についてみるとp対毎にデータ線対に接続されているこ
とになる。加算回路ADDは、負荷回路LD103およ
びp個の電圧電流変換器VIより構成されている。電圧
電流変換器VIでは、データ線DA11,DA12,
…,DA1pがMOS卜ランジスタのゲートに接続され
ており、上記MOSトランジスタは、演算回路起動信号
ΦNがゲートに入力されているMOSトランジスタと直
列に接続されて接地電極とニューロン出力値出力線VO
1とを結んでいる。ニューロン出力値出力線VO1は負
荷回路において抵抗を通じて電源VM01につながって
いる。したがって、演算回路起動信号ΦNにより起動さ
れた状態でデータ線電位の増幅が終了すると、ニューロ
ン出力値出力線V01の電位は、高電位つまりVccと
なったデータ線の本数に比例した電圧だけ低下する。し
たがって、本実施例によれば、ニューロン出力値出力線
V01の電位低下によってニューロン出力値を表すこと
ができる。なお、データ線の片側、/DA11,…,/
DA1pにも同様の回路を設けたのは、図18の乗算器
MTと同様の理由でデータ線容量のアンバランスを避け
るためである。上記の実施例によれば複数のメモリセル
によって表したニューロン出力値あるいは、結合重み値
をニューロン出力値出力線あるいは結合重み値出力線に
読みだすことができる。
In the following, a method for realizing the embodiment shown in FIG. 13 in which the neuron output value and the connection weight value are represented by a plurality of equivalent bits according to the embodiment shown in FIG. 32 will be described. FIG. 33 shows an example of the BLK1 of FIG. Here, BLK1 connected to the data lines DA11,... DA1P of the array A is shown. The same circuit can be used for the other BLK1 of the array A. In the array B, if the number of data line pairs, read line pairs, or write line pairs is changed from p to q and the number of p provided circuits such as the precharge circuit PR is changed to q, the circuit of this embodiment is used. be able to. In this embodiment, p read line pairs OA1 and / OA are connected so that writing or reading can be performed on p memory cells in parallel.
1,..., OAp, / OAp and p pairs of write line pairs IA
1, / IA1,..., IAp, / IAp. The read sense amplifier RSA and the write switch WS are sequentially connected to the read line pair OA in the same BLK1 as shown in FIG.
, OAp, / OAp, and p write line pairs IA1, / IA1, ..., IAp, / IAp. That is, as for a pair of read lines or write lines, every p pairs are connected to a data line pair. The addition circuit ADD includes a load circuit LD103 and p voltage-current converters VI. In the voltage-current converter VI, the data lines DA11, DA12,
.., DA1p are connected to the gate of the MOS transistor. The MOS transistor is connected in series with the MOS transistor to which the arithmetic circuit start signal ΦN is input to the gate, and the ground electrode and the neuron output value output line VO are connected.
Connected to 1. The neuron output value output line VO1 is connected to a power supply VM01 through a resistor in a load circuit. Therefore, when the amplification of the data line potential is completed in a state activated by the arithmetic circuit activation signal ΦN, the potential of the neuron output value output line V01 decreases by a voltage in proportion to the high potential, that is, the number of data lines that have become Vcc. . Therefore, according to the present embodiment, the neuron output value can be represented by the potential drop of the neuron output value output line V01. Note that one side of the data line, / DA11,.
The reason why a similar circuit is provided in DA1p is to avoid imbalance in data line capacitance for the same reason as in the multiplier MT of FIG. According to the above embodiment, a neuron output value or a connection weight value represented by a plurality of memory cells can be read out to a neuron output value output line or a connection weight value output line.

【0057】図34はニューロン出力値と結合重み値の
積和を計算するためのブロックBLK2と非線形関数回
路D10の1実施例を示したものである。図34におい
てプロックBLK2は、負荷回路LD102と乗算器M
T10より構成されている。ニューロン出力値出力線V
O1,VO2,…,VOおよび結合重み値出力線TO
1,TO2,…,TOnはMT10内のMOSトランジ
スタM16c1,M16c2のゲー卜に接続されてお
り、上記MOSトランジスタは、演算回路起動信号ΦN
がゲートに入力されているMOSトランジスタM16c
3と直列に接続されて接地電極と積和出力線NOとを結
んでいる。一方、積和出力線NOは負荷回路LD102
において抵抗R02を通じて電源VM02につながって
いる。したがって、演算回路起動信号ΦNが高レベルに
なり、本回路が起動された状態では、対応するニューロ
ン出力値出力線VO1,VO2,…,VOと結合重み値
出力線TO1,TO2,…,TOnの電位の積の総和が
大きいほど積和出力線NOの電位が低下する。前記した
ようにニューロン出力値出力線VO1,VO2,…,V
Oと結合重み値出力線TO1,TO2,…,TOnの電
位は、ニューロン出力値と結合重み値の大きさにほぼ比
例して低下するため、ニューロン出力値と結合重み値の
積和が、大きいほど積和出力線NOの電位は高電位とな
る。積和出力線NOは非線形関数回路D10に入力され
る。非線形関数回路D10は、図35に示したような回
路をn個並列に接続して構成することができる。図35
の回路は、図22(a)の非線形関数回路Dと同じよう
に差動アンプとインバータを組合せたものである。ただ
し、積和出力線NOとニューロン出力値と結合重み値の
積和との極性が図18と図32,図33,図34の実施
例では異なるので、図35では差動アンプの抵抗Rxを
図22(a)の抵抗R72とは、逆の位置に付けてい
る。このため、図35では積和出力線NOが参照電圧V
Rx(x=1,2,…,p)を越えると出力NVxが高
電位に遷移する。このような非線形関数回路DSxをp
個設けておき図36のように参照電圧VRxを変えてお
けばp本の出力NVxのうち高電位になっているものの
本数で積和出力線NOの変化量を示すことができる。本
実施例によれば参照電圧VRxの値を変えることによっ
て非線形関数回路の特性を容易に変化させることができ
る。なお、図34に示したの回路を乗算器MT10とし
て用いる場合などにはMOSトランジスタの特性などに
より積和出力線NOの電位変化はニューロン出力値と結
合重み値の積和の大きさに対して一般的には線形にはな
らない。したがって、非線形関数回路の特性が所望の形
状になるように、乗算器あるいは、加算器の特性も考慮
してVRxの値を設定すればよい。場合によっては、製
造条件の変動などにより個々のチップの特性を精度よく
知ることが困難な場合もある。そのような場合には、実
際にアレーA,Bに既知のニューロン出力値と結合重み
値を書込み、演算モードで動作させて積和出力線NOの
電位を計測しその結果に応じてVRxの値をトリミング
して所望の特性に合わせればよい。
FIG. 34 shows an embodiment of the block BLK2 for calculating the product sum of the neuron output value and the connection weight value and the nonlinear function circuit D10. In FIG. 34, a block BLK2 includes a load circuit LD102 and a multiplier M
It is composed of T10. Neuron output value output line V
O1, VO2,..., VO and connection weight value output line TO
, TO2 are connected to the gates of the MOS transistors M16c1 and M16c2 in the MT10.
MOS transistor M16c having its gate input
3 is connected in series to connect the ground electrode and the product-sum output line NO. On the other hand, the product-sum output line NO is connected to the load circuit LD102.
Is connected to the power supply VM02 through the resistor R02. Therefore, when the arithmetic circuit activation signal .PHI.N goes high and the circuit is activated, the corresponding neuron output value output lines VO1, VO2,... VO and the connection weight value output lines TO1, TO2,. The larger the sum of the potential products, the lower the potential of the product-sum output line NO. As described above, the neuron output value output lines VO1, VO2,.
Since the potential of O and the connection weight value output lines TO1, TO2,..., Ton decrease almost in proportion to the neuron output value and the magnitude of the connection weight value, the product sum of the neuron output value and the connection weight value is large. The higher the sum-of-products output line NO is, the higher the potential is. The product-sum output line NO is input to the nonlinear function circuit D10. The nonlinear function circuit D10 can be configured by connecting n circuits as shown in FIG. 35 in parallel. FIG.
Is a combination of a differential amplifier and an inverter as in the case of the nonlinear function circuit D of FIG. However, since the polarities of the product-sum output line NO and the product sum of the neuron output value and the connection weight value are different in the embodiments of FIGS. 18 and 32, 33, and 34, the resistance Rx of the differential amplifier is set in FIG. The resistor R72 shown in FIG. For this reason, in FIG. 35, the product-sum output line NO
When Rx (x = 1, 2,..., P) is exceeded, the output NVx transitions to a high potential. Such a nonlinear function circuit DSx is represented by p
By changing the reference voltage VRx as shown in FIG. 36 and changing the reference voltage VRx as shown in FIG. 36, the change amount of the product-sum output line NO can be indicated by the number of the p-outputs NVx having a high potential. According to the present embodiment, the characteristics of the nonlinear function circuit can be easily changed by changing the value of the reference voltage VRx. In the case where the circuit shown in FIG. 34 is used as the multiplier MT10, the potential change of the product-sum output line NO depends on the magnitude of the product sum of the neuron output value and the connection weight value due to the characteristics of the MOS transistor. Generally, it is not linear. Therefore, the value of VRx may be set in consideration of the characteristics of the multiplier or the adder so that the characteristics of the nonlinear function circuit have a desired shape. In some cases, it may be difficult to accurately know the characteristics of individual chips due to fluctuations in manufacturing conditions and the like. In such a case, the known neuron output value and the connection weight value are actually written in the arrays A and B, operated in the operation mode, the potential of the product-sum output line NO is measured, and the value of VRx is calculated according to the result. May be trimmed to meet desired characteristics.

【0058】なお、ここでは図32における入出力回路
DIO10の詳細については省略するが、図23,図2
5,図26に示した読出し回路OUT,あるいは書き込
み回路WRと同様な回路を複数用いることにより複数の
メモリセルヘ並列に読出しあるいは書き込みを行なう回
路は容易に実現できる。また、クロック発生回路16の
構成についても省略するが、通常のメモリに用いる回路
と同様にして容易に実現できる。
Although the details of the input / output circuit DIO10 in FIG. 32 are omitted here, FIGS.
5, by using a plurality of circuits similar to the read circuit OUT or the write circuit WR shown in FIG. 26, a circuit for reading or writing data in parallel to a plurality of memory cells can be easily realized. Although the configuration of the clock generation circuit 16 is also omitted, it can be easily realized in the same manner as a circuit used for a normal memory.

【0059】次に、図32の実施例を用いて、ニューロ
ン出力値、結合重み値を複数のビットによる2進表示に
よって表す図16の実施例を実現するための方法につい
て説明する。図16に示したように複数のビットによる
2進表示で表された情報を加算するには複数のメモリセ
ルの情報をビッ卜毎に重み付けして加算する必要があ
る。このためには図33において電圧電流変換器VI
1,VI2,…,VIp内のデータ線に接続されたMO
Sトランジスタのゲート幅の比を1:2:4:…:2p
とすれば、ニューロン出力値出力線VO1の電位は、2
進表示によるニューロン出力値の大きさに比例して降下
する。したがって、同様の回路を他のニューロン出力
値、あるいは結合重み値に対して使用すれば図16に示
したような重み付けした加算を実現できる。乗算器につ
いては、図34に示したブロックBLK2をそのまま用
いることができる。非線形関数回路については、積和出
力線NOに出力された演算結果を再び2進表示にして複
数のメモリセルヘ書き込むためにADコンバータの機能
を持たせる必要がある。そのためには、図37に示した
ような実施例を用いることができる。図37の実施例
は、z個(以下z=2pとする。)の非線形関数回路D
S1,DS2,…,DSzとエンコーダとを組合せたも
のである。非線形関数回路DS1,DS2,…,DSz
には図35の回路を使用し参照電圧VRxを調整するこ
とにより図38に示したような特性を持たせておく。す
ると、図34実施例と同様に出力NA1,NA2,…,
NAzのうち高電位であるものの本数によりニューロン
出力値と結合重み値の積和の大きさを知ることができ
る。このままでは、zビットの等価表示であるためエン
コーダによりpビットの2進表示にしてp本の出力線N
V1,NV2,…,NVpにより書き込み回路へ伝達す
る必要がある。したがって、図37のエンコーダには図
39に示したような入出力関係を持たせればよい。この
ようなエンコーダは、容易に実現できる。p=3のとき
の構成例を図40に示す。本実施例は、p=3以外のと
きにも容易に拡張することができる。
Next, a method for realizing the embodiment shown in FIG. 16 in which the neuron output value and the connection weight value are represented by a plurality of bits in binary representation will be described with reference to the embodiment shown in FIG. As shown in FIG. 16, in order to add information represented by a plurality of bits in binary notation, it is necessary to add information by weighting information of a plurality of memory cells for each bit. For this purpose, in FIG.
, VI2,..., MO connected to data lines in VIp
The ratio of the gate width of the S transistor is 1: 2: 4:...: 2p
, The potential of the neuron output value output line VO1 becomes 2
Decreases in proportion to the magnitude of the neuron output value in hexadecimal notation. Therefore, if the same circuit is used for other neuron output values or connection weight values, weighted addition as shown in FIG. 16 can be realized. As for the multiplier, the block BLK2 shown in FIG. 34 can be used as it is. It is necessary for the nonlinear function circuit to have an AD converter function in order to convert the operation result output to the product-sum output line NO into binary display again and write the result into a plurality of memory cells. For this purpose, an embodiment as shown in FIG. 37 can be used. In the embodiment of FIG. 37, z (hereinafter, z = 2p) nonlinear function circuits D are used.
S1, DS2,..., DSz are combined with an encoder. Non-linear function circuits DS1, DS2, ..., DSz
In this case, the circuit shown in FIG. 38 is used to adjust the reference voltage VRx using the circuit shown in FIG. Then, as in the embodiment of FIG. 34, outputs NA1, NA2,.
The magnitude of the product sum of the neuron output value and the connection weight value can be known from the number of the high-potential NAz. In this state, the equivalent display of z bits is performed, so that the encoder outputs the binary data of p bits by the encoder and outputs p output lines N
V1, NV2,..., NVp need to be transmitted to the write circuit. Therefore, the encoder of FIG. 37 may have the input / output relationship as shown in FIG. Such an encoder can be easily realized. FIG. 40 shows a configuration example when p = 3. This embodiment can be easily extended even when p = 3.

【0060】以上では、階層型のニューラルネットワー
クを例にとって説明してきた。しかし本発明は、階層型
のニューラルネットワークに限定されるものではなく、
これまで述べてきた実施例を用いて他のタイプのネット
ワークにも適用できる。図41(a),(b)および、
図42(a),(b)の実施例は、図6(b)のアルゴ
リズムによってホップフィールド型のネットワークによ
る情報処理を実現するための実施例である。図41
(a)はニューロン出力値,結合重み値を表現するのに
1つづつのメモリセルを用いて非同期型のホップフィー
ルド型のネットワークを実現するための実施例である。
図2,図4を用いて説明したように階層型のニューラル
ネットワークでもホップフィールド型のネットワークで
も基本的な演算法は同じである。ただし、ホップフィー
ルド型のネットワークでは自身を含めてすべてのニュー
ロンからのニューロン出力値を用いて演算を行なう。そ
こで、図41(a)では、アレーA内の1本のワード線
にすべてのニューロン出力値を収納する。図に示したよ
うに、アレーBには、1つのニューロン出力値を計算す
るのに必要な結合重み値が同じワード線上に並ぶように
収納する。ニューロン出力値の更新は、次のようにして
行なうことができる。例えば、ニューロン出力値V1を
更新するには、アレーAのワード線WAとアレーBのj
=1のワード線を立ち上げる。この結果、新しいV1で
あるg(T11V1+T12V2+…+T1nVn)が
計算される。これをアレーAのワード線WA上のi=1
の位置にあるメモリセルに書き込めばよい。その他のニ
ューロン出力値の更新も同様であり、例えば、V4を更
新するには、アレーAのワード線WAとアレーBのj=
4のワード線を立ち上げる。この結果、新しいV4であ
るg(T41V1+T42V2+…+T4nVn)が計
算される。これをアレーAのワード線WA上のi=4の
位置にあるメモリセルに書き込めばよい。このようにし
て所望の順番でニューロン出力値Viを更新していくこ
とによって非同期型のホップフィールド型ネットワーク
の演算を行なうことができる。同期型のホップフィール
ド型ネットワークの演算を行なうには、図41(b)の
ようにアレーAにおいてワード線WA1上のメモルセル
を現在のニューロン出力値を記憶するために用いて、ワ
ード線WA2上のメモルセルを新しいニューロン出力値
を記憶するために用いれば容易に実現できる。まず、ア
レーAのワード線WA1とアレーBのj=1のワード線
を立ち上げる。この結果、新しいV1であるg(T11
V1+T12V2+…+T1nVn)が計算される。こ
れをアレーAのワード線WA2上のi=1の位置にある
メモリセルに書き込めばよい。つづいて、ニューロン出
力値V2,V3,…,Vnを更新してアレーAのワード線
WA2上のメモリセルに書き込む。すべてのニューロン
出力値の更新が終わったところで今度は、アレーAのワ
ード線WA1とWA2の役割を変えて、ニューロン出力
値の計算時には、ワード線WA2を立ち上げ、二ューロ
ン出力値を収納するときにはワード線WA1を立ち上げ
るようにしてニューロン出力値の更新を続ける。以下、
同様にしてアレーAのワード線WA1とWA2の役割を
変えながら処理を進める。このように図41(b)の実
施例によれば、同期型のホップフィールド型ネットワー
クの演算を行なうことができる。
The above description has been made with reference to a hierarchical neural network as an example. However, the present invention is not limited to a hierarchical neural network,
The embodiments described so far can be applied to other types of networks. FIGS. 41 (a) and (b), and
The embodiment of FIGS. 42 (a) and (b) is an embodiment for realizing information processing by a Hopfield network by the algorithm of FIG. 6 (b). FIG.
(A) is an embodiment for realizing an asynchronous hopfield type network using one memory cell for expressing a neuron output value and a connection weight value.
As described with reference to FIGS. 2 and 4, the basic arithmetic method is the same for a hierarchical neural network and a Hopfield network. However, in a Hopfield type network, calculations are performed using neuron output values from all neurons including itself. Therefore, in FIG. 41A, all neuron output values are stored in one word line in the array A. As shown in the figure, the array B stores the connection weight values necessary for calculating one neuron output value so as to be arranged on the same word line. Updating of the neuron output value can be performed as follows. For example, to update the neuron output value V1, the word line WA of the array A and the j of the array B
= 1 is activated. As a result, g (T11V1 + T12V2 +... + T1nVn), which is a new V1, is calculated. This is expressed as i = 1 on the word line WA of the array A.
What is necessary is just to write to the memory cell at the position of. The same applies to the update of other neuron output values. For example, to update V4, the word line WA of array A and j =
4 word line is activated. As a result, g (T41V1 + T42V2 +... + T4nVn), which is a new V4, is calculated. This may be written to the memory cell at the position of i = 4 on the word line WA of the array A. In this way, by updating the neuron output value Vi in a desired order, the operation of the asynchronous Hopfield network can be performed. To perform the operation of the synchronous Hopfield type network, the memory cell on the word line WA1 is used to store the current neuron output value in the array A as shown in FIG. This can be easily realized if the memoll cell is used to store a new neuron output value. First, the word line WA1 of the array A and the word line j = 1 of the array B are activated. As a result, g (T11
V1 + T12V2 +... + T1nVn) are calculated. This may be written to the memory cell at the position of i = 1 on the word line WA2 of the array A. Subsequently, the neuron output values V2, V3,..., Vn are updated and written to the memory cells on the word line WA2 of the array A. When all the neuron output values have been updated, this time, the roles of the word lines WA1 and WA2 of the array A are changed, and when calculating the neuron output values, the word line WA2 is started up and the neuron output values are stored. The updating of the neuron output value is continued by raising the word line WA1. Less than,
Similarly, the process proceeds while changing the roles of the word lines WA1 and WA2 of the array A. As described above, according to the embodiment of FIG. 41B, it is possible to perform the operation of the synchronous Hopfield network.

【0061】同様にしてニューロン出力値, 結合重み値
を表現するのに複数のメモリセルを用いてホップフィー
ルド型のネットワークを実現することもできる。図42
(a)はニューロン出力値, 結合重み値を表現するのに
それぞれp個,q個づつのメモリセルを等価に用いて非
同期型のホップフィールド型のネットワークを実現する
ための実施例である。図41(a)と同様に、アレーA
内の1本のワード線にすべてのニューロン出力値を収納
する。ただし、p個のセルで1つのニューロン出力値を
表している。アレーBには、1つのニューロン出力値を
計算するのに必要な結合重み値がq個のセル毎に同じワ
ード線上に並ぶように収納する。ニューロン出力値の更
新は、図41(a)の実施例と同様にすればよい。ただ
し、ニューロン出力値を表現するのにそれぞれp個づつ
のメモリセルを用いているので演算結果をp個のセルに
並列に書き込めるように、非線形関数回路Dの出力線を
p本設けてある。同期型ホップフィールドネットワーク
についても図41(b)と同様にアレーAの2本のワー
ド線を用いれば図42(b)のようにして容易に実現で
きる。同様にして図16のようにニューロン出力値, 結
合重み値を表現するのにそれぞれp個,q個づつのメモ
リセルによる2進表現を用いて同期型、非同期型のホッ
プフィールド型のネットワークを実現することもできる
ことはもちろんである。
Similarly, a Hopfield-type network can be realized by using a plurality of memory cells to express neuron output values and connection weight values. FIG.
(A) is an embodiment for realizing an asynchronous hopfield type network by using p and q memory cells equivalently to express a neuron output value and a connection weight value, respectively. As in FIG. 41A, the array A
All the neuron output values are stored in one of the word lines. However, one neuron output value is represented by p cells. In the array B, the connection weight values necessary for calculating one neuron output value are stored such that they are arranged on the same word line every q cells. Updating of the neuron output value may be performed in the same manner as in the embodiment of FIG. However, since p memory cells are used to express the neuron output value, p output lines of the nonlinear function circuit D are provided so that the operation result can be written in p cells in parallel. As shown in FIG. 41B, a synchronous hop field network can be easily realized as shown in FIG. 42B by using two word lines of the array A. Similarly, as shown in FIG. 16, synchronous and asynchronous Hopfield networks are realized by using a binary representation of p and q memory cells to represent the neuron output value and the connection weight value, respectively. Of course, you can.

【0062】図10と図41(a),(b)ならびに図
13と図42(a),(b)とは基本的な構成は同一で
ある。したがって、図18から図40までの実施例を用
いれば、図41(a),(b)および、図42(a),
(b)の実施例による情報処理を容易に実現することが
できる。なお、ホップフィールド型のネットワークにお
いては、ニューロン出力値の更新を続ける過程におい
て、エネルギーを最小とする状態でなく極小とする状
態、所謂ローカルミニマムに落ちこんでニューロン出力
値が変化しなくなってしまうことがありうる。それを避
けるにはよく知られている擬似焼き鈍し法を用いること
ができる。ニューラルネットワーク情報処理(産業図
書、麻生英樹著) 122ページに述べられているよう
に、擬似焼き鈍し法を実現するために非線形関数の形を
徐々に変えるという方法が、知られている。本発明によ
れば特性の異なる非線形関数回路Dを複数設けて切り替
えたり、あるいは、外部より非線形関数回路Dの特性を
コントロールするなどによって容易に上記の方法が実現
できる。
FIGS. 10 and 41 (a) and (b) and FIGS. 13 and 42 (a) and (b) have the same basic configuration. Therefore, if the embodiments of FIGS. 18 to 40 are used, FIGS. 41 (a) and (b) and FIGS.
The information processing according to the embodiment (b) can be easily realized. In a Hopfield type network, in the process of continuously updating the neuron output value, the neuron output value may not change because it falls into a state where energy is minimized instead of being minimized, that is, a so-called local minimum. It is possible. To avoid this, a well-known pseudo-annealing method can be used. As described on page 122 of neural network information processing (Sangyo Tosho, written by Hideki Aso), a method of gradually changing the shape of a nonlinear function to realize a pseudo-annealing method is known. According to the present invention, the above-described method can be easily realized by providing a plurality of nonlinear function circuits D having different characteristics, switching the characteristics, or externally controlling the characteristics of the nonlinear function circuit D.

【0063】これまでは、主に階層型、あるいはホップ
フィールド型ネットワークにおいてニューロン出力値,
結合重み値を正の数として扱う例を述べてきたが、応用
対象によってはこれらの両方あるいは片方が正の値も負
の値も取り得るとした方が便利な場合もある。そのよう
な場合にも本発明は容易に適用できる。図43はニュー
ロン出力値、結合重み値ともに正, 負の値を取ることが
できるように構成した本発明の1実施例である。図43
においてニューロン出力値はメモリセルアレーA,結合
重み値はメモリセルアレーBに蓄えられている。それぞ
れの値は絶対値の大きさを表すpあるいはqビットと符
号を表す1ビットにより表されている。符号を表す(以
下、符号ビット)は、“1”で正“0”で負を表す。こ
れまで述べてきたのと同様の方法で読出されたニューロ
ン出力値と結合重み値のうち絶対値の大きさを表すpあ
るいはqビットの部分は加算器、a1,…,anおよび
b1,…,bnに入力され、アナログ値となって乗算器
m1,…,mnに入力される。なお、ニューロン出力
値、結合重み値を2進表現で表すときには、上記の加算
器a1,…,anおよびb1,…,bnに入力される各
々p,qビットのデータを図16に示したのと同じよう
に重み付けして入力すればよい。一方、符号ビットは、
図43に示したように排他的OR(エクスクルーシブオ
ア)回路EOR1,…,EORnに入力される。符号ビ
ットが一致しない場合、すなわち乗算の結果が負のとき
には上記排他的OR回路の出力は高レベルとなり、一致
した場合すなわち、乗算の結果が正のときには上記排他
的OR回路の出力は低レベルとなる。スイッチSW1,
…,SWnは、排他的OR回路の出力が低レベルの時に
は乗算器の出力を加算器c1,…,cnに、高レベルの
ときには乗算器の出力を加算器c1′,…,cn′に伝
えるように動作する。この結果、積和出力線NOには、
乗算の結果が正のものの総計が、積和出力線NO′に
は、乗算の結果が負のものの総計が出力される。非線形
回路Dでは積和出力線NOと積和出力線NO′との信号
の差をpビットのデジタル値に変換してバスABSに、
積和出力線NOと積和出力線NO′との信号の大小で符
号ビットを決定してバスSIGNへ出力する。なお、ニ
ューロン出力値の表現にあわせて図14、あるいは図1
7に示したような非線形特性を持たせることは、これま
で述べたのと同様な方法で容易に実現できる。本実施例
によれば、ニューロン出力値、結合重み値ともに正, 負
の値をとることができる。したがって、情報処理の適用
範囲が広がるという利点がある。ここでは、ニューロン
出力値, 結合重み値ともに正, 負の値をとるようにした
が、どちらか片方のみを正の値に限るなどの変形は容易
に実現できる。
Until now, neuron output values, mainly in hierarchical or Hopfield networks,
Although an example has been described in which the connection weight value is treated as a positive number, depending on the application object, it may be more convenient to assume that both or one of them can take both a positive value and a negative value. The present invention can be easily applied to such a case. FIG. 43 shows an embodiment of the present invention in which both the neuron output value and the connection weight value can take positive and negative values. FIG.
, The neuron output value is stored in a memory cell array A, and the connection weight value is stored in a memory cell array B. Each value is represented by p or q bits representing the magnitude of the absolute value and 1 bit representing the sign. The sign (hereinafter, sign bit) represents a sign “1” and a positive “0” representing a negative. Of the neuron output value and the connection weight read out in the same manner as described above, the p or q bit portion representing the magnitude of the absolute value is an adder, a1,..., An and b1,. bn, and becomes an analog value and is input to the multipliers m1,..., mn. When the neuron output value and the connection weight value are expressed in binary notation, p- and q-bit data input to the adders a1,..., An and b1,. What is necessary is just to input with weighting in the same way as in. On the other hand, the sign bit is
As shown in FIG. 43, the signals are input to exclusive OR (exclusive OR) circuits EOR1,..., EORn. When the sign bits do not match, that is, when the result of the multiplication is negative, the output of the exclusive OR circuit goes high, and when they match, that is, when the result of the multiplication is positive, the output of the exclusive OR circuit goes low. Become. Switch SW1,
, SWn transmit the output of the multiplier to the adders c1,..., Cn when the output of the exclusive OR circuit is at a low level, and transmit the output of the multiplier to the adders c1 ',. Works like that. As a result, the product-sum output line NO:
The sum of positive multiplication results is output to the product-sum output line NO ', and the sum of negative multiplication results is output to the product-sum output line NO'. The nonlinear circuit D converts the difference between the signal of the product-sum output line NO and the signal of the product-sum output line NO 'into a p-bit digital value,
The sign bit is determined based on the magnitude of the signal on the product-sum output line NO and the product-sum output line NO 'and output to the bus SIGN. 14 or FIG. 1 according to the expression of the neuron output value.
The provision of the non-linear characteristic as shown in FIG. 7 can be easily realized by the same method as described above. According to the present embodiment, both the neuron output value and the connection weight value can take positive and negative values. Therefore, there is an advantage that the applicable range of the information processing is expanded. Here, both the neuron output value and the connection weight value take positive and negative values, but modifications such as limiting only one of them to a positive value can be easily realized.

【0064】これまでは、演算回路としてニューロン出
力値を計算するのに必要な積和機能と非線形関数回路を
実現する実施例を説明してきた。しかし、演算回路にさ
らに他の演算を行なう回路を追加することもできる。た
とえば、本発明による情報処理装置は階層型ネットワー
クを用いた音声認識, 文字認識など入力されたパターン
をいくつかの組に分けるような所謂クラス分け問題に適
用することができる。このような場合には前記したよう
に演算回路内に比較器があると便利である。クラス分け
問題では、入力されたパターンが、明らかにあるクラス
に分類される場合には、出力としてクラスに対応する期
待値を得ることができる。しかし、入力されたパターン
が、複数のいずれかのクラスに分類されるか微妙な場合
には、複数のクラスの期待値の中間的なものとなること
がある。例えば、音声認識において入力された音声が
‘K’のときには、符号化して入力層に与えた音声波形
に対して出力層に1111というニューロン出力値 (期
待値) が得られるように、また、入力が‘C’のときに
は、0000という出力値 (期待値) を出すように結合
重み値を設定した場合に、‘K’、‘C’の中間的な音
声波形が与えられると出力層のニューロン出力値は、0
001とか1110など中間的な値を出すことがある。
このような場合には出力層のニューロン出力値と‘K’
に対する期待値1111あるいは‘C’に対する期待値
0000との距離が入力音声の‘K’あるいは‘C’に
対する近さを与える尺度と解釈することができる。した
がって、演算回路に出力層のニューロン出力値とクラス
の期待値を比較する回路を設けて出力結果と期待値の距
離を求める機能がある便利である。
The embodiment has been described in which the product-sum function and the non-linear function circuit required for calculating the neuron output value are realized as the arithmetic circuit. However, a circuit for performing another operation can be added to the operation circuit. For example, the information processing apparatus according to the present invention can be applied to a so-called classification problem in which an input pattern is divided into several sets, such as voice recognition and character recognition using a hierarchical network. In such a case, it is convenient to provide the comparator in the arithmetic circuit as described above. In the classification problem, when an input pattern is clearly classified into a certain class, an expected value corresponding to the class can be obtained as an output. However, when the input pattern is classified into any one of a plurality of classes or is delicate, it may be an intermediate value between the expected values of the plurality of classes. For example, when the input speech in speech recognition is 'K', a neuron output value (expected value) of 1111 is obtained in the output layer with respect to the speech waveform encoded and supplied to the input layer. Is "C", the neuron output of the output layer is given when an intermediate sound waveform of "K" or "C" is given when the connection weight value is set so as to output an output value (expected value) of 0000. Value is 0
Intermediate values such as 001 and 1110 may be output.
In such a case, the neuron output value of the output layer and 'K'
Can be interpreted as a measure that gives the proximity of the input voice to 'K' or 'C'. Therefore, it is convenient to provide a circuit for comparing the neuron output value of the output layer and the expected value of the class in the arithmetic circuit and obtain a distance between the output result and the expected value.

【0065】図44は1つの半導体チップにニューロン
出力値と期待値の比較を行なう演算回路12aと、ニュ
ーロン出力値を計算するための演算回路12bとを集積
した1実施例である。図44において、期待値はメモリ
回路TGに、ニューロン出力値はメモリ回路Aに結合重
み値はメモリ回路Bに記憶されている。ニューロン出力
値を計算するには、これまで述べてきたのと同様な方法
でメモリ回路Aからニューロン出力値をメモリ回路Bか
ら結合重み値を読出して演算回路12bによってニュー
ロン出力値を計算し、その結果をメモリ回路Aに書き込
めば良い。比較を行うには、メモリ回路Aからニューロ
ン出力値をメモリ回路TGから期待値を読出して演算回
路12bにより並列に距離を求めてその結果をメモリ回
路TGに書き込むかあるいは、入出力装置を通じて出力
する。本実施例ではメモリ回路TG,Aならびに演算回
路12aともに同一チップ上にあるため、バス1,2の
本数を容易に増やすことができ、多数のビットを並列に
処理できる。このため高速に距離の計算ができるという
利点がある。なお、このような構成においては、演算モ
ードをニューロン出力値を計算するニューロン出力値計
算モードとニューロン出力値と期待値を比較して距離を
求める比較モードとに分けると便利である。演算モード
の切り換えは、例えば2つの演算回路制御信号/NE1
と/NE2とにより容易に行なうことができる。すなわ
ち、/NE1,/NE2ともに高レベルのときにはメモ
リモード,/NE1が低レベル、/NE2が高レベルで
ニューロン出力値計算モード,/NE1が高レベル,/
NE2が低レベルで比較モードなどとすればよい。な
お、図44では、メモリ回路を3つに、演算回路を2つ
に分けたが、これらはチップ上に混在して構成しても良
いことはもちろんである。以上述べたように本実施例に
よればニューロン出力値と期待値との距離を高速に求め
ることができる。このため、階層型ネットワークを用い
たパターン認識などのようにニューロン出力値と各期待
値とを比較してその距離を求める必要がある場合に情報
処理速度を上げることができる。
FIG. 44 shows an embodiment in which an arithmetic circuit 12a for comparing a neuron output value and an expected value and an arithmetic circuit 12b for calculating a neuron output value are integrated on one semiconductor chip. In FIG. 44, the expected value is stored in the memory circuit TG, the neuron output value is stored in the memory circuit A, and the connection weight value is stored in the memory circuit B. In order to calculate the neuron output value, the neuron output value is read from the memory circuit A, the connection weight value is read from the memory circuit B, and the neuron output value is calculated by the arithmetic circuit 12b. The result may be written in the memory circuit A. In order to perform the comparison, the neuron output value is read from the memory circuit A, the expected value is read from the memory circuit TG, the distance is obtained in parallel by the arithmetic circuit 12b, and the result is written to the memory circuit TG or output through the input / output device. . In this embodiment, since the memory circuits TG and A and the arithmetic circuit 12a are all on the same chip, the number of buses 1 and 2 can be easily increased and a large number of bits can be processed in parallel. Therefore, there is an advantage that the distance can be calculated at a high speed. In such a configuration, it is convenient to divide the operation mode into a neuron output value calculation mode for calculating a neuron output value and a comparison mode for comparing a neuron output value with an expected value to obtain a distance. Switching of the operation mode is performed, for example, by using two operation circuit control signals / NE1.
And / NE2. That is, when both / NE1 and / NE2 are at the high level, the memory mode, / NE1 is at the low level, / NE2 is at the high level and the neuron output value calculation mode, / NE1 is at the high level,
NE2 may be set to the low level and the comparison mode may be set. In FIG. 44, the memory circuit is divided into three and the arithmetic circuit is divided into two. However, it is needless to say that these may be mixed and configured on a chip. As described above, according to this embodiment, the distance between the neuron output value and the expected value can be obtained at high speed. Therefore, the information processing speed can be increased when it is necessary to compare the neuron output value and each expected value to obtain the distance, such as in pattern recognition using a hierarchical network.

【0066】図45は、図44の演算回路12aの1実
施例であり、出力層のニューロン出力値と期待値を比較
してそのハミング距離の大きさを計算する回路である。
以下では図44のメモリ回路TG,Aは図18,図29
あるいは図32のようにデータ線対にメモリセルの情報
が読出される形式のものであり、それぞれアレーTG,
アレーAを有しているとする。図45は、比較器CMP
と比較結果変換回路COMPOUTより構成されてい
る。比較器CMPは並列に設けた比較回路CMPUと負
荷抵抗RCMPより構成され比較結果変換回路COMP
OUTは差動アンプAMP211,AMP212,…,
AMP21Zより構成されている。比較器CMPには、
アレーTGのデータ線DTG1,/DTG1,…,DT
Gr,/DTGrおよびアレーAのデータ線DA1,/
DA1,…,DAr,/DArが入力されている。ここ
でrは1本のワード線上のメモリセルの数で、ニューロ
ン出力値を1ビットで表すときにはn,pビットで表す
ときにはnとpの積に等しい。本実施例によれば、アレ
ーTGのデータ線DTG1,/DTG1,…,DTG
r,/DTGr上に読出した情報とアレーAのデータ線
DA1,/DA1,…,DAr,/DAr上に読出した
情報とのハミング距離を計算することができる。本実施
例の動作は、以下の通りである。まず、あらかじめクリ
ア信号ΦCを立ち上げMOSトランジスタQ216をオ
ンさせて、MOSトランジスタQ215のゲート電圧を
立ち下げておく。クリア信号ΦCを立ち下げてデータ線
に信号が読出されデータ線電位がVccあるいは0Vに
なった後、比較器起動信号ΦCMPにより比較器を起動
する。すると比較回路に入力されたデータ線(DTG
1,DA1),(DTG2,DA2),…,(DTG
r,DAr)のそれぞれの組で排他的オア(EXCLU
SIVE−OR)の論理がとられる。その結果、アレー
TG側のデータ線とA側のデータ線とで情報が一致して
いる場合にはMOSトランジスタQ215のゲートが低
電位のままであるが、一致していない場合には高電位に
遷移する。このため、アレーTG側のデータ線とA側の
データ線とで情報が一致しない比較器CMPUではMO
SトランジスタQ215がオンする。この結果、データ
線(DTG1,DA1),(DTG2,DA2),…,
(DTGr,DAr)のそれぞれの組で不一致の数が多
いほど電源VCMPから負荷抵抗RCMPを通じて接地
電極へ向けて電流が流れる。そのため、比較線COの電
位は一致しないものが多いほど低下する。比較線CO
は、比較結果変換回路COMPOUTに設けられた差動
アンプAMP211,AMP212,…,AMP21Z
に接続されている。これらの差動アンプの参照電圧VR
C1,VRC2,VRCZを適当な値に設定しておけ
ば、比較線COの電位低下が大きいほど比較結果出力線
DCO1,DCO2,…,DCOZのうち高電位になる
本数が増加する。すなわち、比較結果変換回路COMP
OUTは1種のAD変換器として動作する。このように
図45の実施例によればアレーTGの複数のデータ線に
読出された情報とアレーAの複数のデータ線に読出され
た情報を比較してそのハミング距離の大きさを求めるこ
とができる。したがって、アレーTGとアレーAで1本
ずつワード線を選択すれば、選択されたワード線上のメ
モリセルに記憶された情報同土を比較することができ
る。このため各期待値をそれぞれアレーTGのワード線
上のメモリセルに記憶しておけば、アレーAの1本のワ
ード線上のメモリセルに記憶されたニューロン出力値と
比較して、そのニューロン出力値がどの期待値にどのく
らい近いのか知ることができる。したがって、得られた
ニューロン出力値がクラスに対応する期待値と一致しな
いような場合でも高速にどのクラスにどのくらい近いの
か知ることができる。
FIG. 45 shows an embodiment of the arithmetic circuit 12a of FIG. 44, which is a circuit for comparing the neuron output value of the output layer with an expected value and calculating the magnitude of the Hamming distance.
In the following, the memory circuits TG, A of FIG.
Alternatively, as shown in FIG. 32, information of a memory cell is read out to a data line pair.
Suppose you have an array A. FIG. 45 shows a comparator CMP
And a comparison result conversion circuit COMPOUT. The comparator CMP includes a comparison circuit CMPU and a load resistor RCMP provided in parallel, and includes a comparison result conversion circuit COMP.
OUT is a differential amplifier AMP211, AMP212,.
It is composed of AMP21Z. In the comparator CMP,
Array TG data lines DTG1, / DTG1,..., DT
Gr, / DTGr and data line DA1, / of array A
DA1,..., DAr, / DAr are input. Here, r is the number of memory cells on one word line, and is equal to the product of n and p when the neuron output value is represented by 1 bit and when the neuron output value is represented by p bits. According to the present embodiment, the data lines DTG1, / DTG1,.
r, / DTGr, and the Hamming distance between the information read on data lines DA1, / DA1,..., DAr, / DAr of array A can be calculated. The operation of this embodiment is as follows. First, the clear signal ΦC is raised, the MOS transistor Q216 is turned on, and the gate voltage of the MOS transistor Q215 is lowered. After the clear signal ΦC falls and the signal is read out to the data line and the data line potential becomes Vcc or 0 V, the comparator is activated by the comparator activation signal ΦCMP. Then, the data line (DTG) input to the comparison circuit
1, DA1), (DTG2, DA2), ..., (DTG
r, DAr) is exclusive OR (EXCLU)
(SIVE-OR) logic. As a result, the gate of the MOS transistor Q215 remains at the low potential when the information is matched between the data line on the array TG side and the data line on the A side. Transition. For this reason, in the comparator CMPU in which the information does not match between the data line on the array TG side and the data line on the A side, MO
S transistor Q215 turns on. As a result, the data lines (DTG1, DA1), (DTG2, DA2),.
As the number of mismatches in each set of (DTGr, DAr) increases, a current flows from the power supply VCMP to the ground electrode through the load resistor RCMP. Therefore, the potential of the comparison line CO decreases as the number of mismatches increases. Comparison line CO
Are differential amplifiers AMP211, AMP212,..., AMP21Z provided in the comparison result conversion circuit COMPOUT.
It is connected to the. The reference voltage VR of these differential amplifiers
If C1, VRC2, and VRCZ are set to appropriate values, the number of the comparison result output lines DCO1, DCO2,... That is, the comparison result conversion circuit COMP
OUT operates as one type of AD converter. As described above, according to the embodiment of FIG. 45, it is possible to compare the information read to the plurality of data lines of the array TG with the information read to the plurality of data lines of the array A to determine the magnitude of the Hamming distance. it can. Therefore, if one word line is selected in each of the array TG and the array A, the same information stored in the memory cells on the selected word line can be compared. Therefore, if each expected value is stored in the memory cell on the word line of the array TG, the neuron output value is compared with the neuron output value stored in the memory cell on one word line of the array A. You can know how close to what expected value. Therefore, even when the obtained neuron output value does not match the expected value corresponding to the class, it is possible to quickly know which class and how close to it.

【0067】なお、図45の実施例において比較結果出
力線に出力された結果は、比較の度に入出力回路を通じ
てチップ外へ出力してもよいし、メモリ回路TGの容量
を期待値を記憶するのに必要な量よりも大きくとってお
き、そこに書き込んでおいて、まとめて出力してもよ
い。
In the embodiment shown in FIG. 45, the result output to the comparison result output line may be output to the outside of the chip through the input / output circuit every time the comparison is made, or the capacity of the memory circuit TG may be stored as an expected value. It is also possible to set a larger value than necessary for writing, write the data there, and output it collectively.

【0068】最後にレジスタを用いて本発明の装置をさ
らに高速化する実施例について述べる。これまで述べて
きたように本発明では、ニューロン出力値を計算するの
に、必要なデータをメモリ回路から続出し、演算回路で
ニューロン出力値を求め、その結果を再びメモリ回路へ
書き込むという動作を続ける。すなわち、1回の演算モ
ード (ニューロン出力値演算モード) サイクルは読出し
動作と書込み動作よりなり、書込み動作中には演算回路
が休止していることになる。したがって、演算回路が休
止している時間を短くすれば、より一層の演算モードの
高速化を図ることができる。図46は上記の観点に基づ
いて演算モードの高速化を図った1実施例である。図4
6は図9の実施例にレジスタ14とスイッチSW1,
…,SWrとを付加したものである。図46の実施例に
よれば図6のアルゴリズムを用いて高速にニューロ出力
値を計算することが出来る。以下では、階層型のネット
ワークを例にとって説明を行うが、ホップフィールド型
ネットワークにおいても同様の効果がある。図46の実
施例では第s層の第1ニューロンの出力値を計算するに
のに、メモリセルアレーAのワード線を1本立ち上げて
第s−1層のニューロン出力値を読出し、スイッチSW
1,…, SWrを閉じて第s−1層のニューロン出力
値をレジスタ14に書き込み、スイッチSW1,…,S
Wrを開ける。次に、メモリセルアレーBのワード線を
1本立ち上げて第s−1層のニューロンと第s層の第1
ニューロンの間の結合重み値を読出すとともにレジスタ
14より、第s−1層のニューロン出力値を読出して演
算回路12により第s層の第1ニューロンの出力値を計
算する。その結果をメモリセルアレーAへ書き込む。こ
のとき同時にセルアレーBのワード線を1本立ち上げて
第s−1層のニューロンと第s層の第2ニューロンの間
の結合重み値を読出すとともにレジスタ14より、第s
−1層のニューロン出力値を読出して演算回路12によ
り第s層の第2ニューロンの出力値を計算する。以下同
様にして第s層のニューロンの出力値を計算していく。
次に第s+1層のニューロンの出力値を計算するにはメ
モリセルアレーAのワード線を1本立ち上げて先に求め
た第s層のニューロン出力値を読出し、スイッチSW
1,…,SWrを閉じて第s層のニューロン出力値をレ
ジスタ14に書き込み、以下同様にして計算を進める。
以上のように本実施例によれば、レジスタ14を設けた
ことにより書込みと読出しとを同時に行う事ができるた
め、高速の動作を実現する。
Finally, an embodiment for further speeding up the device of the present invention using a register will be described. As described above, in the present invention, the operation of calculating necessary neuron output values is continued from the memory circuit, the operation circuit obtains the neuron output values, and the result is written back to the memory circuit. to continue. That is, one operation mode (neuron output value operation mode) cycle includes a read operation and a write operation, and the operation circuit is at rest during the write operation. Therefore, if the time during which the operation circuit is at rest is shortened, the operation mode can be further speeded up. FIG. 46 shows an embodiment in which the operation mode is speeded up based on the above viewpoint. FIG.
6 is the same as the embodiment of FIG.
.., SWr. According to the embodiment of FIG. 46, the neuro output value can be calculated at high speed using the algorithm of FIG. In the following, a description will be given taking a hierarchical network as an example, but the same effect can be obtained in a Hopfield network. In the embodiment of FIG. 46, in order to calculate the output value of the first neuron of the s-th layer, one word line of the memory cell array A is activated to read the neuron output value of the s-th layer, and the switch SW
, SWr are closed and the neuron output value of the s-1th layer is written into the register 14, and the switches SW1,.
Open Wr. Next, one word line of the memory cell array B is started up, and the neurons in the s-1th layer and the first
The connection weight value between the neurons is read out, the neuron output value of the s-1th layer is read out from the register 14, and the output value of the first neuron of the sth layer is calculated by the arithmetic circuit 12. The result is written to the memory cell array A. At this time, one word line of the cell array B is simultaneously activated to read out the connection weight value between the neuron of the s-1th layer and the second neuron of the s-th layer.
The neuron output value of the -1st layer is read out, and the arithmetic circuit 12 calculates the output value of the second neuron of the s-th layer. Hereinafter, the output values of the neurons in the s-th layer are calculated in the same manner.
Next, in order to calculate the output value of the neuron of the s + 1-th layer, one word line of the memory cell array A is activated, and the neuron output value of the s-th layer previously obtained is read out, and the switch SW
, SWr are closed, the neuron output value of the s-th layer is written into the register 14, and the calculation proceeds in the same manner.
As described above, according to the present embodiment, writing and reading can be performed at the same time by providing the register 14, thereby realizing high-speed operation.

【0069】これまでは、本発明を用いておもにニュー
ロン出力値を計算する方法について説明し、必要な結合
重み値は、すでに与えられていると仮定してきた。必要
な結合重み値は、課題によっては、初めから容易に与え
られることもあるが、所謂学習によって求める必要のあ
ることもある。たとえば、バックプロパゲーションとよ
ばれる階層型のネットワークのための学習では、あらか
じめ入力層のニューロン出力値 (テストパターン) をい
くつか用意しておき、そのテストパターンに対して所望
のニューロン出力値が出力層に得られるような結合重み
値を求めることができる。また、ニューラルネットワー
ク情報処理(産業図書、麻生英樹著) 第2章に記載され
ているようにホップフィールド型のネットワークでもニ
ューロン出力値の平衡状態が所望の状態になるように結
合重み値を設定する学習アルゴリズムが知られている。
そのような学習を本発明に応用するには、次のように3
つの方法がある。第1の方法は、外部の計算機を用いて
学習を行い、得られた結合重み値を本発明による情報処
理装置に書込む方法である。この方法では、学習をソフ
トウエアで行うこともできるため学習アルゴリズムの変
更が容易にできるという利点があるが、学習速度を上げ
ることが困難である。第2の方法は本発明による装置の
演算回路に学習のための演算機能を設けておき、オンチ
ップで学習を行う方法である。この方法では、高速に学
習を行うことができるが学習に必要な回路をすべて同一
チップ上に集積するのは困難な場合がある。第3の方法
は第1の方法と第2の方法の中間的なもので、学習に必
要な演算の1部を本発明の装置で行い、外部の計算機で
学習に必要な演算の残りの部分を行う方法である。この
方法は、第1の方法に比べて学習速度を上げることがで
き、本発明の装置の演算回路を単純に構成できるという
利点がある。以下では、この第3の方法について具体的
に述べる。なお、学習法としては階層型ネットワークに
おけるバックプロパゲーション法を例に採る。バックプ
ロバゲーション法 (以下、BP法と記す。) では、以下
の式にしたがって結合重み値の更新を行う。
Up to now, the method of calculating the neuron output value by using the present invention has been described, and it has been assumed that the necessary connection weight values have already been given. The required connection weight value may be easily given from the beginning depending on the task, but may need to be obtained by so-called learning. For example, in learning for a hierarchical network called back propagation, several neuron output values (test patterns) in the input layer are prepared in advance, and the desired neuron output values are output for the test pattern. The connection weight value as obtained for the layer can be determined. Also, as described in Chapter 2 of Neural Network Information Processing (Sangyo Tosho, written by Hideki Aso), even in a Hopfield type network, a connection weight value is set so that an equilibrium state of neuron output values becomes a desired state. Learning algorithms are known.
To apply such learning to the present invention, 3
There are two ways. The first method is a method in which learning is performed using an external computer, and the obtained connection weight value is written in the information processing apparatus according to the present invention. This method has an advantage that the learning algorithm can be easily changed because the learning can be performed by software, but it is difficult to increase the learning speed. A second method is a method in which an arithmetic circuit for learning is provided in an arithmetic circuit of the device according to the present invention, and learning is performed on-chip. In this method, learning can be performed at high speed, but it may be difficult to integrate all circuits necessary for learning on the same chip. The third method is an intermediate between the first method and the second method, in which a part of the operation required for learning is performed by the apparatus of the present invention, and the remaining part of the operation required for learning is performed by an external computer. How to do. This method has an advantage that the learning speed can be increased as compared with the first method, and the arithmetic circuit of the device of the present invention can be simply configured. Hereinafter, the third method will be specifically described. As a learning method, a back propagation method in a hierarchical network is taken as an example. In the back propagation method (hereinafter referred to as BP method), the connection weight value is updated according to the following equation.

【0070】 TSij=TSij+εdjSViS−1 djm=(tj−Vjm)g′(Ujm) djS=g′(UjS)Σi(TS+1ijdiS+1) …(3) (s=m−1,…,2) ここで、εは小さな正の数、tjは最終層のニューロン
出力値Vjmの目標値、g′は非線形関数gの導関数、
UjSは第s層第jニューロンにおいて非線形関数gを
通す前の量で次式で定義される。
TSij = TSij + εdjSViS−1 djm = (tj−Vjm) g ′ (Ujm) djS = g ′ (UjS) Σi (TS + 1ijdiS + 1) (3) (s = m−1,..., 2) Is a small positive number, tj is a target value of the neuron output value Vjm of the final layer, g ′ is a derivative of the nonlinear function g,
UjS is a quantity before passing the nonlinear function g in the s-th layer j-th neuron and is defined by the following equation.

【0071】 UjS=Σi(TS−1jiViS−1+Θjs) …(4) 結合重み値の更新は、学習用の入力データ毎に上記の式
(1)から(4)により更新量を求めて更新してもよい
し、学習用の入力データのすべてについて更新量を総計
してそれを用いて更新を行ってもよい。また、(1)式
に慣性項といわれる次項を足して更新を行ってもよい。
UjS = Σi (TS-1 jiViS-1 + Θjs) (4) The update of the connection weight value is performed by obtaining the update amount by the above formulas (1) to (4) for each input data for learning. Alternatively, the update amount may be totaled for all the input data for learning, and the update may be performed using the total amount. The update may be performed by adding the following term called the inertia term to the equation (1).

【0072】 μΔTSij′ …(5) ここで、μは小さな正の定数、ΔTSij′は前回の更
新時の修正量である。学習は、最終層のニューロン出力
値とその目標値との誤差が十分小さくなるまで続ける。
ΜΔTSij ′ (5) Here, μ is a small positive constant, and ΔTSij ′ is a correction amount at the time of the previous update. Learning is continued until the error between the neuron output value of the final layer and its target value becomes sufficiently small.

【0073】上記の学習は以下のようにして図44に示
した実施例と外部の計算機とにより実行することができ
る。以下では、入力データすべての更新量の総計により
更新する場合にについて説明するが、入力データ毎に結
合重みを更新する場合についても同様である。なお、以
下では、3層のネットワークについて説明を行うが3層
以上の場合についても同様である。
The above learning can be executed by the embodiment shown in FIG. 44 and an external computer as follows. In the following, a case will be described in which the update is performed based on the total update amount of all the input data, but the same applies to a case in which the connection weight is updated for each input data. Hereinafter, a three-layer network will be described, but the same applies to a case of three or more layers.

【0074】まず、すべての学習用の入力データとその
目標値とをそれぞれメモリ回路AならびにTGヘ書込
む。次に絶対値の小さな乱数を結合重み値の初期値とし
てメモリ回路Bへ書込む。さらに、第1の入力データを
第1層のニューロン出力値とみなして演算回路12bへ
読出し、同じに第1層, 第2層間の結合重み値をメモリ
回路Bより演算回路12bへ読出す。前記した方法によ
り並列に乗算を行い第2層のニューロン出力値を計算し
てメモリ回路Aへ書き込む。続けて第3層のニューロン
出力値を計算しメモリ回路Aへ書き込む。上記の計算を
学習用入力データ全てについて行なって、各入力データ
に対する各層のニューロン出力値, 各入力データに対す
る期待値, 結合重み値をチップ外のメモリへ読出す。次
に外部の計算機で結合重み値の更新量を計算し、更新し
た結合重み値を本発明による装置のメモリ回路Bへ書き
込む。なお、(2) , (3) 式におけるg′(UjS) に
ついても本発明による装置内でニューロン出力値VjS
を計算する際に非線形関数回路Dに人力するUjSより
計算してもよいしあるいは外部計算機でVjSより逆に g′(UjS)=g′(g−1(VjS)) …(6) として計算することもできる。また、(5)式の慣性工
を加えるには、更新の度に結合重み値の修正量をチップ
外のメモリに蓄えておいて新しく求めた修正量に(5)
式に従って加算すればよい。
First, all input data for learning and their target values are written to the memory circuits A and TG, respectively. Next, a random number having a small absolute value is written to the memory circuit B as an initial value of the connection weight value. Further, the first input data is read as the neuron output value of the first layer to the arithmetic circuit 12b, and similarly, the connection weight value between the first layer and the second layer is read from the memory circuit B to the arithmetic circuit 12b. Multiplication is performed in parallel by the above-described method, and the neuron output value of the second layer is calculated and written to the memory circuit A. Subsequently, the neuron output value of the third layer is calculated and written to the memory circuit A. The above calculation is performed for all the learning input data, and the neuron output value of each layer for each input data, the expected value for each input data, and the connection weight value are read out to a memory outside the chip. Next, an update amount of the connection weight value is calculated by an external computer, and the updated connection weight value is written to the memory circuit B of the device according to the present invention. Note that g '(UjS) in the equations (2) and (3) is also used in the neuron output value VjS in the apparatus according to the present invention.
May be calculated from UjS which is manually applied to the nonlinear function circuit D, or may be calculated by an external computer as g ′ (UjS) = g ′ (g−1 (VjS)) (6) You can also. Further, in order to add the inertia process of the formula (5), the correction amount of the connection weight value is stored in the memory outside the chip every time the update is performed, and the newly obtained correction amount is calculated by the formula (5).
What is necessary is just to add according to a formula.

【0075】上記の更新を繰返し行なって学習を進める
ことができる。学習の進み具合を知るには、各入力デー
タに対する最終層のニューロン出力値とその期待値との
距離を目安にすることができる。この距離は図45の実
施例を用いれば高速に計算することができる。このた
め、学習時にその進行具合を確かめることが容易にでき
る。
Learning can be advanced by repeating the above update. To know the progress of the learning, the distance between the neuron output value of the final layer for each input data and its expected value can be used as a guide. This distance can be calculated at high speed by using the embodiment of FIG. Therefore, it is easy to confirm the progress of the learning.

【0076】以上説明したように、本発明によれば、学
習用の入力データに対するニューロン出力値の計算を本
発明の装置内で高速に行なうことができる。また、本発
明ではメモリ回路TG,A,Bにメモリアレーよりなる
メモリ装置を用いているので、すべての入力データ, 期
待値, 前層のニューロン出力値などを容易に収納できま
た、ワード線を立ち上げることにより並列に多数のビッ
トを読みだすことができる。このため、外部メモリへの
情報の転送をまとめて高速に行なうことができる。この
ため、学習を高速に進めることができる。
As described above, according to the present invention, the calculation of the neuron output value for the learning input data can be performed at high speed in the apparatus of the present invention. Further, in the present invention, since a memory device composed of a memory array is used for the memory circuits TG, A, and B, all input data, expected values, neuron output values of the previous layer, and the like can be easily stored. By starting up, many bits can be read out in parallel. Therefore, the transfer of information to the external memory can be performed collectively and at high speed. For this reason, learning can be advanced at high speed.

【0077】本発明ではメモリ回路の容量を十分に大き
くしておけば、ニューロン数を用途に応じて変えること
も容易にできる。この場合、ニューロン数を大きく変え
ると非線形関数回路のダイナミックレンジを変える必要
が生じることがある。この場合には特性の異なる非線形
関数回路を複数設けて切り替えて使ったり、あるいは、
非線形関数回路内のアンプの参照電圧を切り替えて使う
こともできる。階層型ネットワークで層ごとのニューロ
ン数が異なる場合にも層ごとに非線形関数回路のダイナ
ミックレシジを変える必要が生じることがある。この場
合にも同様の方法で対処できる。
In the present invention, if the capacity of the memory circuit is made sufficiently large, the number of neurons can be easily changed according to the application. In this case, if the number of neurons is significantly changed, the dynamic range of the nonlinear function circuit may need to be changed. In this case, a plurality of non-linear function circuits having different characteristics are provided and switched for use, or
The reference voltage of the amplifier in the nonlinear function circuit can be switched and used. Even when the number of neurons differs for each layer in the hierarchical network, it may be necessary to change the dynamic regime of the nonlinear function circuit for each layer. This case can be dealt with in a similar manner.

【0078】なお、これまでは、主にいわゆる1トラン
ジスタ1キャパシタのDRAMセルや図28(a),
(b)に示したようなSRAMセルを用いた実施例を示
したが、その他のメモリセルを本発明に用いることもも
ちろんできる。たとえば、結合重み値を記憶する部分な
どは情報処理時には頻繁に書き替える必要がないので不
揮発性のメモリセルを、ニューロン出力値を記憶する部
分にはDRAMセルやSRAMセルを用いるなどメモリ
の内容によりセルの種類を変えることもできる。
Note that, so far, a so-called one-transistor, one-capacitor DRAM cell or a DRAM cell of FIG.
Although the embodiment using the SRAM cell as shown in FIG. 1B has been described, other memory cells can of course be used in the present invention. For example, it is not necessary to frequently rewrite the portion for storing the connection weight value during information processing, so that a non-volatile memory cell is used. You can also change the cell type.

【0079】メモリ回路を高集積化すると、微小な配線
を用いるためにときには1部のメモリセルが動作しない
ことがある。ニューラルネットワークは、結合重み値を
多少変えても機能への影響が少ないという特長を持つ
が、ニューロン出力値を蓄えるメモリセルが動作しない
ような場合には情報処理に支障を来すことがある。この
ような問題を避けるには、通常の高集積半導体メモリで
使われているような冗長ワード線あるいは、データ線を
設けておいて欠陥のあるセルを使わないようにすること
もできる。
When a memory circuit is highly integrated, a part of memory cells sometimes does not operate due to use of minute wiring. The neural network has a feature that even if the connection weight value is slightly changed, the effect on the function is small. However, when the memory cell storing the neuron output value does not operate, the information processing may be hindered. In order to avoid such a problem, a redundant word line or a data line as used in an ordinary highly integrated semiconductor memory can be provided so that a defective cell is not used.

【0080】また、図22(a),図25,図26,図
35などでは、バイポーラトランジスタを用いたがCM
OSでも実現できる。さらに、バイポーラトランジス
タ,MOSトランジスタに限らず本発明を他のデバイス
で実現してもよいことはもちろんである。
In FIGS. 22A, 25, 26, 35, etc., bipolar transistors are used.
It can also be realized by OS. Furthermore, it goes without saying that the present invention may be realized by other devices other than the bipolar transistor and the MOS transistor.

【0081】これまで、主に階層型とホップフィールド
型のネットワークを例にとり説明してきたが、本発明は
これらに限定されることなく様々な型のネットワークに
よるニューラルネットワーク情報処理に適用できる。た
とえば、ボルツマンマシンのようなニューロン出力値の
更新が確率的に行なわれるようなネットワークも実現で
きる。ニューラルネットワーク情報処理(産業図書、麻
生英樹著)第27ページに説明されているように、ボル
ツマンマシンは、ネットワークの形状はホップフィール
ド型のネットワークと同様であるが、ニューロン出力値
(0または1)が、ニューロンに入力されるニューロン出
力値と結合重み値の他の積和によって一意に決まらず、
確率的に決まるという特長を持っている。ニューロン出
力値が1となる確率Pは、 P=1/(1+exp(−I/T)) と表せられる。ここで、Iはニューロンに入力されるニ
ューロン出力値と結合重み値の積和で、Tは温度とよば
れるパラメータである。本発明により上記のボルツマン
マシンは容易に実現できる。例えば、図35に示した非
線形回路Dの参照電圧VRxを定常値でなく積和出力線
NOの変動範囲で時間的に変化させればよい。このよう
にするとニューロン出力値を確率的に決めることができ
る。変化の速度を変えることにより温度Tを変化するの
と同様の効果を得ることができる。
Although the description has been given mainly of the hierarchical and hopfield networks as examples, the present invention is not limited to these, and can be applied to neural network information processing using various types of networks. For example, a network such as a Boltzmann machine in which neuron output values are updated stochastically can be realized. As described on page 27 of neural network information processing (Sangyo Tosho, written by Hideki Aso), the Boltzmann machine has a network shape similar to that of a Hopfield type network, but the neuron output value
(0 or 1) is not uniquely determined by the product sum of the neuron output value input to the neuron and the connection weight value,
It has the feature of being determined stochastically. The probability P that the neuron output value becomes 1 is expressed as P = 1 / (1 + exp (−I / T)). Here, I is the product sum of the neuron output value input to the neuron and the connection weight value, and T is a parameter called temperature. According to the present invention, the above Boltzmann machine can be easily realized. For example, the reference voltage VRx of the non-linear circuit D shown in FIG. 35 may be changed over time not in a steady value but in a fluctuation range of the product-sum output line NO. In this way, the neuron output value can be determined stochastically. By changing the changing speed, the same effect as changing the temperature T can be obtained.

【0082】さらに、図12と図41(a),(b)と
を較べると明らかなようにメモリ回路の容量が十分あれ
ばニューロン出力値,結合重み値を記憶するメモリセル
のアドレスを変更するだけで様々な型のネットワークを
同一の装置で実現できる。したがって、本発明は、高い
汎用性を持つ。
Further, when comparing FIG. 12 with FIGS. 41A and 41B, if the capacity of the memory circuit is sufficient, the address of the memory cell storing the neuron output value and the connection weight value is changed. Alone can realize various types of networks with the same device. Therefore, the present invention has high versatility.

【0083】以上では、ニューラルネットワーク情報処
理への応用について説明したが、本発明はそれに限定さ
れることはなく、同様の演算機能を持つ多数の演算要素
をネットワーク状に接続して情報処理を行なうような装
置ならば高い集積度で実現することができることはもち
ろんである。
Although the application to neural network information processing has been described above, the present invention is not limited to this. Information processing is performed by connecting a large number of arithmetic elements having similar arithmetic functions in a network. Such a device can of course be realized with a high degree of integration.

【0084】これまで示した実施例においては、演算回
路としてアナログ演算を行なうものを主に示してきた。
アナログ演算回路は、高速で、回路規模も小さいという
利点をもつ。しかし、本発明は、これに限定されること
なく、発明の主旨を変えることなくデジタル演算回路を
用いることもできる。その場合にはデジタル演算回路の
ため、高精度の計算を行なうことができる。
In the above-described embodiments, an arithmetic circuit that performs analog arithmetic has been mainly described.
The analog operation circuit has advantages of high speed and small circuit scale. However, the present invention is not limited to this, and a digital arithmetic circuit can be used without changing the gist of the invention. In that case, since the digital arithmetic circuit is used, highly accurate calculations can be performed.

【0085】[0085]

【発明の効果】以上述べてきたように、本発明によれば
メモリ回路と演算回路を組合せ、演算回路により並列演
算を行なうことにより、比較的単純な演算を行なう演算
器が多数ネッ卜ワーク状に接続されたニューラルネット
ワークなどの並列分散処理装置と同様な情報処理を行な
う装置を速度の犠牲を大きくすることなく、高集積に実
現することができる。
As described above, according to the present invention, by combining a memory circuit and an arithmetic circuit and performing parallel arithmetic with the arithmetic circuit, a large number of arithmetic units performing relatively simple arithmetic operations can be implemented in a network. A device that performs the same information processing as a parallel distributed processing device such as a neural network connected to a computer can be realized with high integration without increasing the speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による情報処理装置を半導体チップ上に
実現する場合の構成を示した1実施例。
FIG. 1 is an embodiment showing a configuration when an information processing apparatus according to the present invention is realized on a semiconductor chip.

【図2】(a),(b)は、階層型ニューラルネットワ
ークの原理を示した図。
FIGS. 2A and 2B are diagrams showing the principle of a hierarchical neural network.

【図3】(a),(b)は、非線形関数回路Dの特性の
例を示した図。
FIGS. 3A and 3B are diagrams illustrating examples of characteristics of a nonlinear function circuit D. FIGS.

【図4】(a),(b)は、ホップフィールド型ニュー
ラルネットワークの原理を示した図。
FIGS. 4A and 4B are diagrams showing the principle of a Hopfield type neural network.

【図5】複数のチップを用いた従来のニューラルネット
ワーク情報処理装置の例。
FIG. 5 is an example of a conventional neural network information processing apparatus using a plurality of chips.

【図6】(a),(b)は、それぞれ階層型ニューラル
ネットワークとホップフィールド型ニューラルネットワ
ークについて演算を並列に行なう方法の1実施例。
6 (a) and 6 (b) show one embodiment of a method for performing operations in parallel on a hierarchical neural network and a Hopfield neural network, respectively.

【図7】(a),(b)は、それぞれ階層型ニューラル
ネッ卜ワークとホップフィールド型ニューラルネットワ
ークについて演算を並列に行なう方法の第2の実施例。
FIGS. 7 (a) and 7 (b) show a second embodiment of a method for performing operations in parallel on a hierarchical neural network and a Hopfield neural network, respectively.

【図8】1本のワード線を選択することにより多数の情
報をデータ線上に読み出すことのできるメモリアレーを
用いて本発明による情報処理装置を実現する場合の構成
を示した1実施例。
FIG. 8 is an embodiment showing a configuration in a case where an information processing apparatus according to the present invention is realized by using a memory array capable of reading out a large amount of information onto a data line by selecting one word line.

【図9】1本のワード線を選択することにより多数の情
報をデータ線上に読み出すことのできるメモリアレーを
2つ用いて本発明による情報処理装置を実現する場合の
構成を示した1実施例。
FIG. 9 is a diagram illustrating a configuration of an information processing apparatus according to an embodiment of the present invention using two memory arrays capable of reading out a large amount of information on data lines by selecting one word line; .

【図10】図9の実施例を用いて階層型ニューラルネッ
トワークを実現する場合のニューロン出力値, 結合重み
値とメモリセルとの対応関係を示した1実施例でニュー
ロン出力値, 結合重み値を1つづつのメモリセルで表現
した実施例。
FIG. 10 shows a neuron output value and a connection weight value in one embodiment showing a correspondence relationship between a neuron output value and a connection weight value and a memory cell when a hierarchical neural network is realized using the embodiment of FIG. An embodiment represented by one memory cell.

【図11】(a)は図10の実施例においてメモリセル
に2値のものを用いる場合に好適な非線形関数回路Dの
特性を示した1実施例、(b)は図10の実施例におい
てメモリセルに4値のものを用いる場合に好適な非線形
関数回路Dの特性を示した1実施例。
11 (a) shows one embodiment showing characteristics of a nonlinear function circuit D suitable for using a binary memory cell in the embodiment of FIG. 10, and FIG. 11 (b) shows the characteristics of the embodiment of FIG. One embodiment showing characteristics of a non-linear function circuit D suitable for using a four-valued memory cell.

【図12】図10の実施例において演算モードでのワー
ド線およびメモリセルの選択の方法を示した1実施例。
FIG. 12 is an embodiment showing a method of selecting a word line and a memory cell in the operation mode in the embodiment of FIG. 10;

【図13】図9の実施例を用いて階層型ニューラルネッ
トワークを実現する場合のニューロン出力値, 結合重み
値とメモリセルとの対応関係を示した第2の実施例であ
りニューロン出力値, 結合重み値を複数のメモリセルで
表現した実施例。
FIG. 13 is a second embodiment showing the correspondence between the neuron output value, the connection weight value and the memory cell in the case of realizing a hierarchical neural network using the embodiment of FIG. 9; An embodiment in which a weight value is expressed by a plurality of memory cells.

【図14】図13の実施例においてニューロン出力値,
結合重み値を複数のメモリセルで等価的に表現する場合
に好適な非線形関数回路Dの特性を示した1実施例。
FIG. 14 shows a neuron output value,
1 is an embodiment showing characteristics of a non-linear function circuit D suitable for expressing a connection weight value equivalently by a plurality of memory cells.

【図15】非線形関数回路Dにシグモイド状の特性を持
たせるための図14のXth1,…,Xthpの設定法
を示した1実施例。
FIG. 15 is an embodiment showing a method of setting Xth1,..., Xthp in FIG.

【図16】図9の実施例を用いて階層型ニューラルネッ
トワークを実現する場合のニューロン出力値, 結合重み
値とメモリセルとの対応関係を示した第3の実施例であ
りニューロン出力値、結合重み値を複数のメモリセルで
2進表示により表現した実施例。
16 is a third embodiment showing the correspondence between neuron output values, connection weight values and memory cells when a hierarchical neural network is realized using the embodiment of FIG. 9; FIG. An embodiment in which a weight value is expressed by a plurality of memory cells in a binary display.

【図17】図16の実施例においてニューロン出力値,
結合重み値を複数のメモリセルで2進表示により表現し
た場合に好適な非線形関数回路Dの特性を示した1実施
例。
FIG. 17 shows a neuron output value,
1 is an embodiment showing characteristics of a nonlinear function circuit D suitable for a case where a connection weight value is expressed by a plurality of memory cells in a binary display.

【図18】図10の実施例においてメモリセルにDRA
Mセルを用いた場合の1実施例。
FIG. 18 shows a case where a DRA is added to a memory cell in the embodiment of FIG.
One embodiment using M cells.

【図19】動作モードと外部信号との関係を示した1実
施例。
FIG. 19 is a diagram illustrating a relationship between an operation mode and an external signal according to an embodiment;

【図20】図18の実施例のメモリモードにおける動作
波形の1実施例。
FIG. 20 is an example of an operation waveform in a memory mode of the embodiment of FIG. 18;

【図21】図18の実施例の演算モードにおける動作波
形の1実施例。
FIG. 21 is a diagram illustrating an example of operation waveforms in the calculation mode of the embodiment of FIG. 18;

【図22】(a)は図18などの実施例に好適な非線形
関数回路Dの1実施例、(b)は図22(a)の非線形
関数回路Dの特性を示した1実施例。
22A is an embodiment of a nonlinear function circuit D suitable for the embodiment of FIG. 18 and the like, and FIG. 22B is an embodiment showing characteristics of the nonlinear function circuit D of FIG. 22A.

【図23】図18などの実施例に好適な入出力回路IO
の1実施例。
FIG. 23 shows an input / output circuit IO suitable for the embodiment shown in FIG.
One embodiment of.

【図24】図22(a)の非線形関数回路と図23の書
き込み回路を用いた場合の積和出力線NOと書込み線L
Aの電位関係を示した1実施例。
24 shows a product-sum output line NO and a write line L when the nonlinear function circuit of FIG. 22A and the write circuit of FIG. 23 are used;
One embodiment showing the potential relationship of A.

【図25】図18などの実施例に好適な読出し回路OU
Tの1実施例。
FIG. 25 is a read circuit OU suitable for the embodiment such as FIG.
One embodiment of T.

【図26】図25の読出し回路OUTの実施例に好適な
読出しラッチ回路OUTLTの1実施例。
FIG. 26 shows an embodiment of a read latch circuit OUTLT suitable for the embodiment of the read circuit OUT of FIG. 25;

【図27】図18内の乗算回路MTの第2の実施例。FIG. 27 shows a second embodiment of the multiplication circuit MT in FIG. 18;

【図28】(a),(b)はSRAMセルの例。FIGS. 28A and 28B are examples of an SRAM cell.

【図29】図10の実施例においてメモリセルに図28
(a),(b)などのSRAMセルを用いた場合の1実
施例。
FIG. 29 is a circuit diagram of the embodiment shown in FIG.
(A), (b) shows an embodiment in which SRAM cells are used.

【図30】図29の実施例のメモリモードにおける動作
波形の1実施例。
FIG. 30 is an example of an operation waveform in the memory mode of the embodiment in FIG. 29;

【図31】図29の実施例の演算モードにおける動作波
形の1実施例。
FIG. 31 is a diagram illustrating one example of an operation waveform in the calculation mode of the embodiment in FIG. 29;

【図32】図13の実施例あるいは図16の実施例にお
いてメモリセルにDRAMセルを用いた場合の1実施
例。
FIG. 32 shows an embodiment in which a DRAM cell is used as a memory cell in the embodiment of FIG. 13 or the embodiment of FIG.

【図33】図32の実施例におけるブロックBLK1構
成の1実施例。
FIG. 33 shows an embodiment of the configuration of a block BLK1 in the embodiment of FIG. 32;

【図34】図32の実施例におけるブロックBLK2と
非線形関数回路D10の構成の1実施例。
FIG. 34 shows an embodiment of the configuration of a block BLK2 and a non-linear function circuit D10 in the embodiment of FIG. 32.

【図35】図34の実施例における非線形関数回路D1
0を構成する個々の非線形関数回路DSx(x=1,
2,…,p)の構成の1実施例。
FIG. 35 shows a non-linear function circuit D1 in the embodiment of FIG. 34;
0, each nonlinear function circuit DSx (x = 1,
2, embodiment, p).

【図36】図34の実施例における非線形関数回路D1
0を構成する個々の非線形関数回路DSx(x=1,
2,…,p)の特性の1実施例。
FIG. 36 shows a non-linear function circuit D1 in the embodiment of FIG. 34;
0, each nonlinear function circuit DSx (x = 1,
2, one example of the characteristic of p).

【図37】図32の実施例においてニューロン出力値,
結合重み値を複数のメモリセルで2進表示により表現し
た場合に好適な非線形関数回路D10の構成を示す1実
施例。
FIG. 37 shows the neuron output value,
One embodiment showing a configuration of a nonlinear function circuit D10 suitable for a case where a connection weight value is represented by a plurality of memory cells in a binary display.

【図38】図32の実施例における非線形関数回路DS
x(x=1,2,…,z)の特性の1実施例。
FIG. 38 shows a non-linear function circuit DS in the embodiment of FIG. 32;
One embodiment of the characteristic of x (x = 1, 2,..., z).

【図39】図40の実施例におけるエンコーダの特性の
1実施例。
FIG. 39 is a diagram illustrating one example of the characteristics of the encoder in the embodiment of FIG. 40;

【図40】図37の実施例におけるエンコーダの構成の
1実施例。
40 shows an embodiment of the configuration of the encoder in the embodiment of FIG. 37.

【図41】(a)は図9の実施例を用いて非同期的なホ
ップフィールド型ニューラルネットワークを実現する場
合のニューロン出力値, 結合重み値とメモリセルとの対
応関係を示した1実施例で、ニューロン出力値, 結合重
み値を1つづつのメモリセルで表現した実施例、(b)
は図9の実施例を用いて同期的なホップフィールド型ニ
ューラルネットワークを実現する場合のニューロン出力
値, 結合重み値とメモリセルとの対応関係を示した1実
施例で、ニューロン出力値, 結合重み値を1つづつのメ
モリセルで表現した実施例。
FIG. 41 (a) is an embodiment showing a correspondence relationship between a neuron output value, a connection weight value and a memory cell when an asynchronous Hopfield type neural network is realized using the embodiment of FIG. 9; , Neuron output value, and connection weight value are represented by one memory cell, (b)
FIG. 9 shows an example of the relationship between the neuron output values and the connection weight values and the memory cells when a synchronous Hopfield type neural network is realized using the embodiment of FIG. An embodiment in which a value is represented by one memory cell.

【図42】(a)は図9の実施例を用いて非同期的なホ
ップフィールド型ニューラルネットワークを実現する場
合のニューロン出力値, 結合重み値とメモリセルとの対
応関係を示した1実施例で、ニューロン出力値, 結合重
み値を複数のメモリセルで表現した実施例、(b)は図
9の実施例を用いて同期的なホップフィールド型ニュー
ラルネットワークを実現する場合のニューロン出力値,
結合重み値とメモリセルとの対応関係を示した1実施例
で、ニューロン出力値, 結合重み値を複数のメモリセル
で表現した実施例。
FIG. 42 (a) is an embodiment showing a correspondence relationship between a neuron output value, a connection weight value and a memory cell when an asynchronous Hopfield type neural network is realized using the embodiment of FIG. 9; , A neuron output value, and a connection weight value are represented by a plurality of memory cells. FIG. 9B shows a neuron output value when a synchronous Hopfield type neural network is realized using the embodiment of FIG.
In this embodiment, the correspondence between the connection weight value and the memory cell is shown, and the neuron output value and the connection weight value are represented by a plurality of memory cells.

【図43】符号ビット用いてニューロン出力値,結合重
み値に正負両方の値を取ることができるようにする場合
の1実施例。
FIG. 43 shows an embodiment in which both positive and negative neuron output values and connection weight values can be taken using sign bits.

【図44】ニューロン出力値と期待値の比較を行なう機
能を本発明による装置に持たせた場合の1実施例。
FIG. 44 shows an embodiment in which the device according to the present invention has a function of comparing a neuron output value with an expected value.

【図45】メモリセルアレーTGとメモリセルアレーA
の複数のデータ線対に読出された情報を比較してその一
致の程度を計算する比較回路の1実施例。
FIG. 45 shows a memory cell array TG and a memory cell array A
Is an embodiment of a comparison circuit for comparing information read to a plurality of data line pairs and calculating the degree of coincidence.

【図46】レジスタを設けてニューロン出力値の更新の
高速化を図った1実施例。
FIG. 46 shows an embodiment in which registers are provided to speed up updating of neuron output values.

【符号の説明】[Explanation of symbols]

A,B,TG…メモリ回路、D…非線形関数回路、1
2,12a,12b…演算回路、OUT…読みだし回
路、m1,m2…乗算器、a1,a2,…加算器、b
1,b2…加算器、c1,c2…加算器、c1′,c
2′…加算器、SW1,SW2…スイッチ、WR…書き
込み回路、NE…演算回路制御信号、Vis,Vi…ニ
ューロン出力値、Tij,Tilj…結合重み値、PR
…プリチャージ回路、SA…センスアンプ、RSA…読
み出しセンスアンプ、WS…書き込みスイッチ、MT…
乗算器、LAT…ラッチ回路、OUTLT…読み出しラ
ッチ回路、NO…積和出力線、NV…非線形関数回路出
力線、WAi,WBi,j…ワード線、DAi,/DA
i…データ線、DBi,/DBi…データ線、DTG
i,/DTGi…データ線、IA,IA…書込み線、I
B,IB…書込み線、OA,OA…読み出し線、OB,
OB…読み出し線、DI…書込みデータ、DO…読み出
しデータ、ΦL…ラッチ信号。
A, B, TG: memory circuit, D: nonlinear function circuit, 1
2, 12a, 12b: arithmetic circuit, OUT: readout circuit, m1, m2: multiplier, a1, a2, ... adder, b
1, b2: adder, c1, c2: adder, c1 ', c
2 ': adder, SW1, SW2: switch, WR: write circuit, NE: arithmetic circuit control signal, Vis, Vi: neuron output value, Tij, Tilj: connection weight value, PR
... precharge circuit, SA ... sense amplifier, RSA ... read sense amplifier, WS ... write switch, MT ...
Multiplier, LAT: Latch circuit, OUTLT: Read latch circuit, NO: Product-sum output line, NV: Nonlinear function circuit output line, WAi, WBi, j: Word line, DAi, / DA
i: data line, DBi, / DBi: data line, DTG
i, / DTGi: data line, IA, IA: write line, I
B, IB: write line, OA, OA: read line, OB,
OB: read line, DI: write data, DO: read data, ΦL: latch signal.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 川尻 良樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平1−128296(JP,A) 特開 平1−159890(JP,A) 特開 昭63−39191(JP,A) 特開 平1−30091(JP,A) 特開 平1−201764(JP,A) 特開 平2−91881(JP,A) 特開 昭63−76194(JP,A) 特開 昭63−228498(JP,A) 特開 昭63−234497(JP,A) 特開 昭62−145418(JP,A) 特開 昭54−14624(JP,A) 特開 昭63−126018(JP,A) 特開 昭57−43238(JP,A) 特表 平2−501167(JP,A) 国際公開89/2134(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06N 1/00 - 7/08 G06G 7/60 G11C 11/34 G11C 7/00 G06F 12/00 - 12/06 G06F 7/00 G06T 1/00 - 17/00 G06F 9/30 G06F 15/78 G06F 1/00 332 CSDB(日本国特許庁) JSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Yoshiki Kawajiri 1-280 Higashi Koigakubo, Kokubunji-shi, Tokyo Inside the Hitachi, Ltd. Central Research Laboratory (56) References JP-A-1-128296 (JP, A) JP-A-1 JP-A-159890 (JP, A) JP-A-63-39191 (JP, A) JP-A-1-30091 (JP, A) JP-A-1-201764 (JP, A) JP-A-2-91881 (JP, A) JP-A-63-76194 (JP, A) JP-A-63-228498 (JP, A) JP-A-63-234497 (JP, A) JP-A-62-145418 (JP, A) 14624 (JP, A) JP-A-63-126018 (JP, A) JP-A-57-43238 (JP, A) JP-A-2-501167 (JP, A) International publication 89/2134 (WO, A1) ( 58) Fields surveyed (Int.Cl. 7 , DB name) G06N 1/00-7/08 G06G 7/60 G11C 11/34 G11C 7/0 0 G06F 12/00-12/06 G06F 7/00 G06T 1/00-17/00 G06F 9/30 G06F 15/78 G06F 1/00 332 CSDB (Japan Patent Office) JST file (JOIS)

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のデータ線と、それらと交わるように
配置された複数のワード線と、上記複数のデータ線と上
記複数のワード線の交差部に配置された複数のメモリセ
ルを有したメモリセルアレーと、 上記メモリセルアレーに記憶されている情報を用いて演
算を行う演算回路と、上記メモリセルアレーと上記演算回路とを接続する第1
バスと、 ラッチ回路を具備する 入出力回路と、上記演算回路と上記入出力回路とを接続する第2バス
と、 上記メモリアレーと上記入出力回路とを接続する第3バ
スと、 変換回路と を具備し、半導体チップ上に集積化された情
報処理装置であって、上記第3バスを用いて 情報が上記チップ外部から上記メ
モリセルアレーに書き込まれる又は情報が上記メモリセ
ルアレーから上記チップ外部に読み出される第1のモー
ドと、2のモードとを備え、上記第2モードでは、上記第1バスを用いて上記メモリ
セルアレーから上記演算回路に情報を読み出し、上記第
2バスを用いて上記演算回路から上記ラッチ回路に演算
結果に応じたデータを出力する動作と、 上記第3バスを用いて上記ラッチ回路にある演算結果に
応じたデータをメモリアレーに書き込む動作とを行い、 前記変換回路は、上記演算回路に読み出された情報のビ
ット数と上記メモリアレーに書き込まれる演算結果に応
じたデータのビット数が等しくなるように演算結果を変
換する ことを特徴とする情報処理装置。
A plurality of data lines, a plurality of word lines arranged to intersect the plurality of data lines, and a plurality of memory cells arranged at intersections of the plurality of data lines and the plurality of word lines. A memory cell array, an operation circuit for performing an operation using information stored in the memory cell array, and a first circuit for connecting the memory cell array to the operation circuit
A bus, an input / output circuit including a latch circuit, and a second bus connecting the arithmetic circuit and the input / output circuit
And a third bus connecting the memory array and the input / output circuit.
Graphics and, provided with a conversion circuit, a integrated information processing device on a semiconductor chip, or information the memory information by using the third bus is written into the memory cell array from the outside of the chip a first mode read from the cell array to the outside of the chip, and a second mode, in the second mode, the memory by using the first bus
The information is read from the cell array to the arithmetic circuit, and
Operation from the arithmetic circuit to the latch circuit using two buses
An operation of outputting data according to the result, and an operation result in the latch circuit using the third bus.
The conversion circuit performs an operation of writing the corresponding data to the memory array, and the conversion circuit performs the operation of reading the information read by the arithmetic circuit.
The number of data and the operation result written to the memory array.
Operation result so that the number of bits of the
An information processing apparatus characterized in that the information is exchanged .
【請求項2】上記第1のモードと上記第2のモードとは
上記チップ外部からの信号に従って選択されることを特
徴とする請求項1に記載の情報処理装置。
2. The information processing apparatus according to claim 1, wherein the first mode and the second mode are selected according to a signal from outside the chip.
【請求項3】上記演算回路は、演算器と、電源と上記演
算器との間にソース・ドレイン経路を有するMOSトラ
ンジスタを更に有し、 上記第1のモードが選択された場合は、上記MOSトラ
ンジスタがオフ状態となるように制御されことを特徴
とする請求項1乃至請求項2のいずれかに記載の情報処
理装置。
3. The arithmetic circuit further includes an arithmetic unit and a MOS transistor having a source / drain path between a power supply and the arithmetic unit, and when the first mode is selected, the MOS transistor transistor information processing apparatus according to any one of claims 1 to 2, characterized in that that will be controlled to be turned off.
【請求項4】上記メモリセルアレーを複数有し、上記第
1のモードが選択された場合、上記複数のメモリセルア
レーのうちの一つが選択され、 上記演算器は上記複数のメモリアレーのうちの2つのメ
モリアレーの間に配置され 上記演算回路は、隣接する2つのメモリアレーの出力を
受ける ことを特徴とする請求項1乃至3のいずれかに記
載の情報処理装置。
4. When there are a plurality of said memory cell arrays and said first mode is selected, one of said plurality of memory cell arrays is selected, and said arithmetic unit is one of said plurality of memory arrays. Is arranged between the two memory arrays, and the arithmetic circuit outputs the outputs of the two adjacent memory arrays.
The information processing apparatus according to claim 1, wherein the information processing apparatus receives the information.
【請求項5】 更に演算結果と期待値の比較を行う比較回
路を有する請求項1乃至請求項4のいずれかに記載の情
報処理装置。
5. The information processing apparatus according to claim 1, further comprising a comparison circuit for comparing the operation result with an expected value.
【請求項6】 上記メモリアレーと上記演算回路との間に
設けられたレジスタを更に有し、 上記第2モードにおいて、上記読み出し動作と上記書き
込み動作とを同時に行うことを特徴とする請求項1乃至
5のいずれかに記載の情報処理装置。
6. The semiconductor device according to claim 1 , further comprising a register provided between said memory array and said arithmetic circuit, wherein said read operation and said write operation are performed simultaneously in said second mode. 6. The information processing apparatus according to any one of claims 1 to 5,
【請求項7】上記複数のメモリセルのそれぞれが一つの
MOSトランジスタと一つの容量から成り、 上記複数のデータ線は複数のデータ線対から成り、上記
それぞれのデータ線対にはセンスアンプとプリチャージ
回路が接続されることを特徴とする請求項1乃至請求項
6のいずれかに記載の情報処理装置。
7. Each of the plurality of memory cells is one
4. The semiconductor device according to claim 1, wherein said plurality of data lines comprise a plurality of data line pairs, and each of said plurality of data line pairs is connected to a sense amplifier and a precharge circuit. The information processing device according to claim 6.
JP2001220831A 1990-01-24 2001-07-23 Information processing device Expired - Fee Related JP3353786B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001220831A JP3353786B2 (en) 1990-01-24 2001-07-23 Information processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-12538 1990-01-24
JP1253890 1990-01-24
JP2001220831A JP3353786B2 (en) 1990-01-24 2001-07-23 Information processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11982890A Division JP3260357B2 (en) 1990-01-24 1990-05-11 Information processing device

Publications (2)

Publication Number Publication Date
JP2002117389A JP2002117389A (en) 2002-04-19
JP3353786B2 true JP3353786B2 (en) 2002-12-03

Family

ID=26348169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001220831A Expired - Fee Related JP3353786B2 (en) 1990-01-24 2001-07-23 Information processing device

Country Status (1)

Country Link
JP (1) JP3353786B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127075B2 (en) * 2007-07-20 2012-02-28 Seagate Technology Llc Non-linear stochastic processing storage device
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
JP2019057053A (en) * 2017-09-20 2019-04-11 東芝メモリ株式会社 Semiconductor memory device
US11348002B2 (en) 2017-10-24 2022-05-31 International Business Machines Corporation Training of artificial neural networks
US10803379B2 (en) 2017-12-12 2020-10-13 Amazon Technologies, Inc. Multi-memory on-chip computational network
JP7179853B2 (en) * 2017-12-12 2022-11-29 アマゾン テクノロジーズ インコーポレイテッド On-chip computational network
CN108777155A (en) * 2018-08-02 2018-11-09 北京知存科技有限公司 Flash chip
JP6989541B2 (en) * 2019-01-30 2022-01-05 株式会社東芝 Computational device
WO2020202352A1 (en) 2019-03-29 2020-10-08 株式会社ワコム Pen condition detection circuit and pen condition detection method
JP7123860B2 (en) * 2019-06-17 2022-08-23 株式会社東芝 Arithmetic unit
TWI749552B (en) * 2020-05-13 2021-12-11 國立中正大學 Device for computing an inner product
JP7456501B2 (en) 2020-05-26 2024-03-27 日本電気株式会社 Information processing circuit and information processing circuit design method

Also Published As

Publication number Publication date
JP2002117389A (en) 2002-04-19

Similar Documents

Publication Publication Date Title
JP3260357B2 (en) Information processing device
US11361216B2 (en) Neural network circuits having non-volatile synapse arrays
JP6477924B2 (en) Memristor neuromorphological circuit and method for training memristor neuromorphological circuit
JP3353786B2 (en) Information processing device
US11354569B2 (en) Neural network computation circuit including semiconductor storage elements
JP6844013B2 (en) Neural network arithmetic circuit and operation method using semiconductor memory element
US10453527B1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
CN110729011B (en) In-memory arithmetic device for neural network
JPH0467259A (en) Information processor
JP2001034735A (en) Information processor
JPH1091605A (en) Information processor
JPH1074187A (en) Information processor
CN115719087A (en) Long-short term memory neural network circuit and control method
JP3182813B2 (en) Information processing device
US5519813A (en) Neuron unit for processing digital information
JPH06187472A (en) Analog neural network
CN117636945B (en) 5-bit signed bit AND OR accumulation operation circuit and CIM circuit
US20240028297A1 (en) Semiconductor device performing a multiplication and accumulation operation
CN115983358A (en) Hardware implementation method of Bellman equation based on strategy iteration
JP2831076B2 (en) Neurocomputer
KR20220141652A (en) Apparatus and method for multi-bit operation
CN117290635A (en) Annealing system for solving combination optimization problem based on DRAM
JPH0573704A (en) Signal processing circuit device
JPH04235663A (en) Method and device for signal processing

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees