JP3260357B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3260357B2
JP3260357B2 JP11982890A JP11982890A JP3260357B2 JP 3260357 B2 JP3260357 B2 JP 3260357B2 JP 11982890 A JP11982890 A JP 11982890A JP 11982890 A JP11982890 A JP 11982890A JP 3260357 B2 JP3260357 B2 JP 3260357B2
Authority
JP
Japan
Prior art keywords
circuit
neuron
output value
value
memory cell
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
JP11982890A
Other languages
English (en)
Other versions
JPH03250244A (ja
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 JP11982890A priority Critical patent/JP3260357B2/ja
Priority to US07/634,046 priority patent/US5165009A/en
Priority to DE69028617T priority patent/DE69028617T2/de
Priority to EP90125680A priority patent/EP0438800B1/en
Priority to KR1019910001014A priority patent/KR0178878B1/ko
Publication of JPH03250244A publication Critical patent/JPH03250244A/ja
Priority to US07/938,755 priority patent/US5426757A/en
Priority to US08/369,163 priority patent/US5594916A/en
Priority to US08/723,012 priority patent/US5875347A/en
Priority to US09/198,658 priority patent/US6205556B1/en
Priority to US09/739,758 priority patent/US7043466B2/en
Application granted granted Critical
Publication of JP3260357B2 publication Critical patent/JP3260357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、大規模かつ高速な並列分散処理を実現する
ためのメモリ回路を内蔵した情報処理装置に関するもの
である。特にニューラルネットワーク情報処理を行なう
情報処理装置に関するものである。
〔従来の技術〕
ニューロコンピューティングとよばれるニューラルネ
ットワークを用いた並列分散型情報処理(以下ニューラ
ルネットワーク情報処理)は、コンプレックスシステム
ズ1(1987年)第145頁から第168頁(Sejnowski,T.J.,a
nd Rosenberg,C.R.1987.Parallel networks that learn
to pronounce English text.Complex Systems 1,pp.14
5−168)あるいはニューラルネットワーク情報処理(産
業図書、麻生英樹著)などに述べられているように音声
あるいは画像処理などの分野において注目を集めてい
る。ニューラルネットワーク情報処理では、ネットワー
ク状に結合した多数のニューロンと呼ばれる演算要素
が、結合と呼ばれる伝達線を通じて情報をやりとりして
高度な情報処理を行なう。各々のニューロンでは他のニ
ューロンから送られてきた情報(ニューロン出力値)に
対して積あるいは和などの単純な演算が行なわれる。各
々のニューロン内の演算、さらには、異なるニューロン
の演算も並列に行なうことが可能なため、原理的には、
高速に情報処理を行なうことができる特長を持ってい
る。また、ネイチャー323−9、(1986年a)第533頁か
ら第535頁(Rumelhart,D.E.,Hinton,G.E.,and William
s,R.J.1986a.Learning representations by back−prop
agation errors.Nature 323−9,pp.533−536)、あるい
はニューラルネットワーク情報処理(産業図書、麻生英
樹著)第2章などに述べられているように、望ましい情
報処理を行なわせるためにニューロン同志をつなぐ結合
の重み値を設定するアルゴリズム(学習)も提案されて
いるため、目的に応じた様々な情報処理をさせることが
できる。
〔発明が解決しようとする課題】
まず、ニューラルネットワークの動作原理を2種類の
代表的なネットワークである階層型ネットワークとホッ
プフィールド型ネットワークについて説明する。第2図
(a)は、階層型ネットワーク、第3図(a)は、ホッ
プフィールド型ネットワークの構造を示したものであ
る。これらは、どちらもニューロンとニューロン同土を
つなぐ結合から構成されている。ここでは、ニューロン
という用語を用いるが、場合によってはノード、あるい
は演算要素などと呼ばれることもある。結合の矢印の向
きは、ニューロン出力値の伝わる方向を示している。階
層型ネットワークは、第2図(a)に示したように、ニ
ューロンが複数の階層をなすように並び、入力層から出
力層へ向かう方向にのみニューロン出力値が伝わるもの
である。一方、ホップフィールド型ネットワークは、第
3図(a)に示したように、同じニューロンにニューロ
ン出力値がフィードバックされるほか、任意の2つのニ
ューロン間で両方向にニューロン出力値が伝わるもので
ある。
第2図(b),第3図(b)にニューロン内で行なわ
れる演算の原理を示した。演算の原理はどちらのネット
ワークでも同様なので、第2図(b)を用いて階層型ネ
ットワークについて説明する。第2図(b)は、S+1
番目の層内のj番目のニューロンを拡大して示したもの
である。このニューロン内には結合を通じて前層、すな
わちS番目の層内のニューロンの出力値V1S,…,ViS,…,
VnS Sが入力される。ここで、nSはS番目の層内のニュ
ーロンの数を示している。ニューロン内では入力された
ニューロンの出力値V1S,…,ViS,…,VnS Sと結合重み値T
S j 1,…,TS j i,…,TS j nSとの積V1STS j 1,…,ViSTS j i,
…,VnS STS j nSが乗算機MTにより計算される。つぎに、
これらの積とオフセットΘjS+1との和を加算機ADDによ
り計算する。オフセットΘjS+1は場合によっては、省略
してもよい。さらに、その結果を非線形関数回路Dに入
力してニューロンの出力値VjS+1を得る。非線形関数回
路Dは第2図(c)あるいは、(d)に示したような特
性を持ち、入力xに対して出力g(x)を出力する。第
2図(c)は、入力xがあるしきい値xthを越えるか否
かにより2値の出力g1あるいはg2を出力する非線形関数
の例であり、第2図(d)は、シグモイド関数を用いた
例で連続的な出力を出す。非線形関数回路Dには、必要
に応じてこの他の特性を持たせることもある。また、場
合によっては、線形の特性を持たせてもよい。
上記の演算の原理は、第3図(b)に示したようにホ
ップフィールド型ネットワークでも同様である。ただ
し、ポップフィールド型ネットワークでは、1つのニュ
ーロンに1層前のニューロンだけでなく、すべてのニュ
ーロンの出力値が入力される。
第2図(a),(b)より判るように、階層型ネット
ワークでは、まず、入力層のニューロンの出力値を与え
たあと次の層内のニューロンの出力値が更新され、さら
に次の層内のニューロンの出力値が更新されて1つの処
理が終了する。一方、第3図(a)のようにホップフィ
ールド型ネットワークでは、層というものがないため、
それぞれのニューロンは、適当なタイミングで出力値を
更新することができる。このホップフィールド型ネット
ワークでは、すべてのニューロン出力値を適当に与え、
ニューロン出力値が平衡状態となるまでニューロン出力
値の更新を続ける。すべてのニューロンの出力値を同時
に更新するものを同期的なホップフィールド型ネットワ
ーク、それぞれのニューロンが、勝手なタイミングで出
力値を更新するものを非同期的なホップフィールド型ネ
ットワークと呼んで区別する。
上記のようなニューラルネットワークの演算を行なう
ためにソフトウエアを用いる方法とハードウエアを用い
る方法とが用いられてきた。ソフトウエアを用いる方法
では、計算機言語で書かれたプログラムによりニューロ
ンの演算を行なうので目的に応じてニューロンの数を変
えたりネットワークの構造を容易に変えることができ
る。しかし、演算を逐次的に行なうためニューロンの数
を増やすと情報処理時間が急激に増加するという欠点が
あった。たとえば、n個のニューロンを用いたホップフ
ィールド型ネットワークでは、1つのニューロンの出力
値を更新するのにn回の積を計算しなければならない。
したがって、すべてのニューロンの出力値を少なくとも
1回更新するためには、n2回の積を計算する必要があ
る。すなわち、ニューロン数nの増大とともに計算量は
n2のオーダーで増加する。その結果、乗算を逐次的に行
なうと情報処理時間もn2のオーダーで増加してしまう。
ハードウエアを用いる方法では、乗算などの演算を行
なうニューロンをハードウエア化することによって、演
算の時間を短縮できる。さらに、ハードウエア化したニ
ューロンを多数用いることによって演算を並列に行ない
さらに高速化を図る試みもなされてきた。しかし、ニュ
ーロンの数を増やすとニューロン間の信号線にあたる配
線の本数がn2のオーダーで増加するため、大規模なネッ
トワークを実現するのが困難であった。
配線の問題を解決する方法の一例として日経マイクロ
デバイス1989年3月号p.123−129に記載されたものの原
理を第4図に示す。第4図はアナログニューロプロセッ
サANPとSRAMとを用いて3層で各層に3つのニューロン
を用いた階層型ネットワークを構成した例を示してい
る。ANPは、第2図(b)における乗算機MTと加算機ADD
が1つずつと非線形関数回路Dなどが1チップに集積さ
れてものである。別のチップであるSRAMには、各ニュー
ロンに属する結合重み値が記憶されている。異なる層の
ニューロンとは、アナログコモンバスと呼ばれる1本の
信号線を使って結合されている。入力層のニューロン出
力値は外部から入力するため、入力層のニューロンに相
当するANPとSRAMは省略されている。
動作は次のようになる。まず、所望の情報処理に必要
な各ANP用の結合重み値を外部から、それぞれのSRAMに
読み込む。次に入力信号線から、入力層内の1つのニュ
ーロンの出力値にあたる入力アナログ信号を入力する。
入力信号は、中間層のニューロンに相当するANPに直
接、並列に入る。入力信号に同期させて、重みデータを
SRAMから各ANPにデータを読出す。次に2つの信号の積
を計算しその結果を各ANPに記憶する。つづいて、入力
層の別のニューロンの出力値にあたる入力アナログ信号
を入力して同様に積を計算しその結果を中間層の各ANP
に記憶されている値に足し合わせる。入力層の最後のニ
ューロンの出力値にあたる入力アナログ信号について同
様の演算を行なった後に、中間層のニューロン出力値V
12,V22,V32をANP内の非線形関数回路により順番に中間
層アナログコモンバスに出力し上記と同様の演算を続け
る。最後に出力層のANP内の非線形関数回路により出力
層のニューロン出力値V13,V23,V33を出力層アナログコ
モンバスに順番に出力する。
上記のように第4図に示した従来例に依れば、コモン
バスを時分割で駆動することにより配線の問題を回避す
ることができる。また、1層内のニューロンの数だけの
乗算を並列に行なうことができるので、ハードウエア化
による演算スピードの高速化とあいまって情報処理速度
をソフトウエアによる方法と比べて大幅に上げることが
できる。
しかし、ANPとSRAMとを別々のチップとしているため
大規模なネットワークを高密度に実現するのは、困難で
ある。上記の日経マイクロデバイス1989年3月号p.129
に記載されているように10mm角のチップ上に32ニューロ
ンを集積することが可能だとしても1つのニューロンに
ついて加算器,乗算器,非線形関数回路を1つずつ用意
する必要があるため、数百,数千のニューロンを1つの
チップ上に集積することは困難である。
また、上記従来例では、実際の問題に適用する際に次
のような問題がある。階層型ネットワークの応用例とし
て3層のネットワークに英文字を入力してその発音、ア
クセントを出力する例がコンプレックスシステムズ1
(1987年)第145頁から第168頁(Sejnowski,T.J.,and R
osenberg,C.R.1987.Parallel networks that learn to
pronounce English text.Complex Systems 1,pp.145−1
68)に述べられている。第1層のニューロン出力値とし
て英文字7文字のコードが設定され、第3層の26個のニ
ューロンの出力値として上記7文字の中央の文字の発
音、アクセントに対応するコードを出力するというもの
である。このような例では、入力によっては、出力層の
ニューロンの出力値が、あらかじめ定義しておいた発
音,アクセントのコードに一致せずあいまいな値が得ら
れることがある。したがって、得られた出力と、すべて
の発音,アクセントのコードを比較して最も近いコード
を見つけてそれを正解とする必要がある。このような出
力値と出力の期待値(上記例では発音,アクセントのコ
ード)との比較は、ニューラルネットワークによるパタ
ーン認識などでも同様に必要となる。上記の従来例では
この点が考慮されおらず、実際の問題に適用する際に不
便であった。
さらに上記従来例では所望の情報処理に必要な結合重
み値を外部のコンピュータで求めてその結果を第4図の
SRAMに書き込んでいる。従って学習をソフトウエアです
べて行うため、学習を高速に行うことは困難であった。
本発明の目的は、多数のニューロンを含むネットワー
クにおいてニューロン出力値の計算を、少数の回路を用
いて高速に行なう装置を提供することにある。また、本
発明の他の目的は、ニューロン出力値と期待値を高速に
比較する機能を上記装置に持たせることにある。さら
に、本発明の更に他の目的は学習に必要な演算の少なく
とも1部を処理する機能を上記装置に持たせることにあ
る。本発明の他の目的は以下の説明及び図面によって、
明らかにされる。
〔課題を解決するための手段〕
上記課題を解決するために、本発明では、ニューロン
出力値,結合重み値,出力の期待値ならびに学習に必要
なデータなどを記憶するメモリ回路、該メモリ回路に情
報を書き込んだり、該メモリ回路より情報を読出したり
するための入出力回路、該メモリ回路に記憶されている
情報を用いて積和および非線形変換等ニューロン出力値
を求めるための演算ならびに出力値とその期待値の比
較,学習に必要な演算などを行なう演算回路,上記メモ
リ回路,入出力回路,演算回路の動作を制御するための
制御回路を設けた。上記演算回路は加算器,乗算器,非
線形関数回路,比較器などのいずれかを少なくとも1つ
以上含んで構成され、積和等ニューロン出力値を求める
ために必要な演算の少なくとも1部を並列に行なえるよ
うにした。しかも、これらの回路を複数のニューロンで
共用させ、時分割で動作させることによって、複数のニ
ューロン出力値を求めるようにした。また、上記比較器
は、求めたニューロン出力値と出力の期待値とを並列に
比較するようにした。
〔作用〕 上記のように演算回路に含まれる加算器、乗算器、非
線形関数回路を複数のニューロンについて共用したた
め、多数のニューロンを用いたニューラルネットワーク
においてニューロン出力値を計算する装置を少数の回路
で実現することができる。また、上記演算回路で積和等
ニューロン演算の少なくとも1部を並列に行なうため、
情報処理を高速に行なうことができる。また、上記比較
器により、得られた出力値と出力の期待値とを並列に比
較することができるため、得られた出力値と期待値との
距離(得られた出力値と期待値との一致度、いわゆるハ
ミング距離)を高速に求めることができる。さらに、学
習に必要な演算の少なくとも1部を装置のハードウエア
で行うため学習の高速化を図ることができる。
〔実施例〕
第1図は、本発明による情報処理装置を半導体チップ
上に集積化した場合の1実施例である。
情報を記憶するメモリ回路、該メモリ回路に情報を書
き込み、及び、該メモリ回路より情報を読出す動作の少
なくとも一方を行なう入出力回路,ニューロン出力値を
求めるための演算,出力値と期待値との比較(得られた
出力値と期待値との一致度、いわゆるハミング距離の算
定)、あるいは学習に必要な演算などを該メモリ回路に
記憶されている情報を用いて行う演算回路,上記メモリ
回路,入出力回路,演算回路の動作を制御するための制
御回路を半導体チップ上に集積してある。各ブロックを
結ぶバスは1本の配線とは限らず必要な複数の配線で構
成される。上記メモリ回路には、ニューラルネットワー
ク情報処理に必要な結合重み値,ニューロン出力値,出
力の期待値あるいは学習に必要なデータなどを記憶する
ことができる。本実施例により次のようにしてニューロ
ン出力値の計算、出力値と期待値との比較、あるいは学
習に必要な計算などニューラルネットワーク情報処理を
行なうことができる。
初めにニューロン出力値を計算する方法について述べ
る。まず、制御回路により、メモリ回路から演算回路に
バス1を通じてニューラルネットワーク情報処理のため
の演算を行うのに必要な結合重み値ならびにニューロン
出力値あるいは、オフセットなどを並列に読出す。次に
演算回路によりニューロン出力値を求めるのに必要な積
和,非線形変換などの演算を並列に行ない、得られた結
果を入出力回路を通じてメモリ回路へ書込む。以上の動
作を必要な回数続けてニューロン出力値を求めていく。
演算回路では1回の動作で1つあるいは複数のニューロ
ン出力値を同時に求めてもよいし、あるいはニューロン
出力値を求める計算の1部を行ってもよい。このように
すれば、階層型ネットワーク、あるいは同期型,非同期
型のホップフィールド型ネットワークなど様々なニュー
ラルネットワークによる情報処理を行なうことができ
る。なお同期型のホップフィールド型ネットワークで
は、すべてのニューロンの出力値を同期的に更新するた
め、すべてのニューロンの出力値の更新が終わるまで前
回のすべてのニューロンの出力値を記憶しておく必要が
ある。この場合には、前回のすべてのニューロンの出力
値をメモリ回路に記憶しておいてニューロンの出力値の
更新に使用すればよい。
本実施例によれば、ニューロン出力値を計算するのに
必要な乗算器,加算器,非線形関数回路を必要な個数だ
け演算回路に設けて反復使用すればよいため各ニューロ
ン毎にこれらの回路を用意する場合に比べて大幅に回路
数を削減できる。例えば、各層が100個のニューロンか
らなる3層の階層型ネットワークを実現するのに第6図
の従来例では、乗算器と加算器ならびに非線形関数回路
を200個ずつ用意しなくてはならないのに対して本実施
例では、最低1つの乗算器と1つの加算器ならびに1つ
の非線形関数回路を用意すればよい。速度を上げるため
に1つのニューロン出力値を更新するのに必要な乗算を
並列に行なうとしても100個の乗算器と1つの加算器な
らびに1つの非線形関数回路を用意すればよい。したが
って本実施例に依れば従来例に比べて回路数を削減でき
る。なお、上記の差はネットワークが大規模になるほど
大きくなる。ホップフィールド型等他のネットワークで
も事情は同じである。
ニューロン出力値を求める場合の情報処理速度は、乗
算等の演算速度の他に並列に行なう演算の量が大きく寄
与する。前記したように、たとえば、n個のニューロン
を用いたホップフィールド型ネットワークは、すべての
ニューロンの出力値を更新するのにn2回の積を計算しな
くてはならない。したがって、乗算を逐次的に行なうと
すべてのニューロンの出力値を更新するのに少なくとも
1回の乗算に要する時間のn2倍の時間を要してしまう。
その結果、乗算に要する時間がニューロン数の増大と共
にニューロン数の2乗のオーダーで急速に増加してしま
う。階層型ネットワークでも事情は同じである。従って
数多くの乗算を並列に計算することが望ましい。以下で
は、第1図の実施例においてニューロン出力値を求める
ために乗算を並列化して情報処理速度を上げるための演
算方式の実施例について説明する。
第5図は演算を並列に行なう1方式について、階層型
ネットワーク(a)とホップフィールド型ネットワーク
(b)について説明したものである。本実施例では、図
に示したように1つのニューロン出力値を求めるために
必要な積を並列に計算する。つまり、1つのニューロン
に入力されるニューロン出力値と結合重み値とを並列に
メモリ回路から読出し、それらの積を並列に計算する。
このため、乗算に要する時間はニューロン数の増大と共
にニューロン数の1乗のオーダーで増加する。したがっ
て、乗算を逐次的に行なう場合に比べて情報処理時間を
大幅に短縮できる。第5図では1つのニューロンの出力
値の更新に必要な乗算のみを並列に行なうとしたが、第
1図の実施例は、これに限定されるものではなく、集積
度が許容される範囲で演算回路を追加して複数のニュー
ロンの出力値の更新を並列に行なってもよいことはもち
ろんである。その場合は、より高速に情報処理を行なう
ことができる。その他第6図に示したように他の方式で
並列に演算を行なうこともできる。第6図は、階層型ネ
ットワーク(a)とホップフィールド型ネットワーク
(b)について1つのニューロンの出力値が入力される
複数のニューロンについて乗算を並列に行なう1実施例
を示したものである。この方法では、ニューロン出力値
と結合重み値を並列にメモリ回路から読出し,ニューロ
ン出力値の更新に必要な演算を複数のニューロンについ
て少しずつ行なうことになる。そのため、非同期型のホ
ップフィールド型ネットワークを実現することはできな
いが、第5図の方式と同様に乗算に要する時間はニュー
ロン数の増大と共にニューロン数のおよそ1乗のオーダ
ーで増加するため乗算を逐次的に行なう場合に比べて情
報処理時間を大幅に短縮できる。
第4図の従来例でもこの方式で演算を並列に行なって
いるが、以下に述べるように、第1図の構成によれば従
来例に比べてより少数の回路で実現することができる。
第6図に示した方式においては、図中に斜線で示したよ
うに各ニューロンにおいて1つの乗算器だけが並列に動
作する。したがって、第1図の実施例では1度に演算を
行なうニューロンの数だけの乗算器を演算回路に設けれ
ばよく、従来例のようにニューロン毎にすべての乗算器
を設ける場合に比べて少数の回路でこの方式を実現する
ことができる。例えば、3層で各層に3つのニューロン
をもつ階層型ネットワークでは、乗算器,加算器,非線
形関数回路を6個ずつ設ける従来例に比べて第1図の実
施例を用いると例えば乗算器、加算器、非線形関数回路
を3個ずつ用いるだけで同様の並列化を実現できる。
このように第1図に示した実施例に依れば、演算回路
に含まれる加算器、乗算器、非線形関数回路を複数のニ
ューロンについて共用することにより、多数のニューロ
ンを用いたニューラルネットワークと同様な情報処理を
行なう装置を必要最小限の回路で実現することができ
る。また、上記演算回路で積和等の演算を並列に行なう
ことにより、情報処理を高速に行なうことができる。な
お、演算を並列化するとメモリ回路と演算回路の間のバ
スの配線本数を増加して1度に多くのデータを演算回路
に送る必要が生じるが、第1図では、同一のチップ上に
メモリと演算器を配置しているため、バスの配線本数を
増加することは容易にできる。
これまではニューロン出力値を計算する方法について
述べたが、第1図の実施例によれば、ニューロン出力値
とその期待値との比較を行うこともできる。そのために
は、あらかじめ期待値をメモリ回路に記憶しておき、上
記の方法で得られた出力値との距離の計算を演算回路で
行えばよい。この計算は、期待値と計算値の一致度を計
算するものである。このとき、バス1の本数を増加する
ことにより、多数のビットからなる期待値と出力値とを
同時に演算回路に読出して並列に処理することは容易に
できる。このように第1図の実施例によれば外部のコン
ピュータを用いて1ビットずつシリアルに比較を行う場
合に比べてパターン認識などの情報処理を高速に行うこ
とができる。
さらに、第1図の実施例によれば学習に必要な演算を
演算回路で行うことにより、ソフトウエアで行う場合に
比べて高速に学習を行うことができる。具体的な実施例
については、後述する。
ニューラルネットワーク情報処理は、結合重み値を換
えることにより様々な情報処理を行なうことができると
いう利点を持つ。第1図に示した実施例に依ればメモリ
回路に記憶した結合重み値を書き換えることにより容易
にこの利点を活かすことができる。また、メモリ回路の
容量をニューロン出力値の計算に必要な量より大きくし
ておくことにより、異なる情報処理に必要な何種類かの
結合重み値をあらかじめ記憶しておくこともできる。そ
の場合には結合重み値を書き替える時間を失うことなく
連続して異なる種類の情報処理を行うことができるとい
うメリットがある。その他、続けて数多くの入力データ
について情報処理を行なう場合には、あらかじめ必要な
入力データや、得られたデータをメモリ回路の1部に記
憶しておくこともできる。このようにすれば、1つの入
力データ毎にメモリ回路にデータを読み込み、演算を行
ってその結果を装置外へ出力するという動作を繰り返す
場合に比べて読み込み、演算、出力の動作モードを切り
替える回数が少なく処理時間を短縮することができる。
次に、第1図の実施例を基にしたより具体的な実施例
について説明する。説明を簡単にするため、まず、演算
回路にニューロン出力値を計算する機能を持たせる場合
について説明し、最後に比較、あるいは学習の機能を持
たせる方法について述べる。
第7図(a)は、第1図の実施例においてメモリ回路
に格子状のメモリセルアレーを有するものを用いた場合
の1実施例である。第7図(a)においてAは、メモリ
セルアレーで、複数のデータ線とそれと交差するように
配置した複数のワード線とそれらの所望の交差部に配置
されたメモリセルを有し、上記ワード線の1本を選択す
ることにより、上記異なる複数のメモリセルの信号を複
数のデータ線上に読みだすことができる。12は、演算回
路である。10,11,13,14,15,16は、第1図の制御回路に
相当するものである。10,15は、それぞれX系アドレ
ス、Y系アドレス用のアドレスバッファ、11,14は、そ
れぞれX系アドレス,Y系アドレス用のデコーダ,ドライ
バである。13は、メモリセルアレーを制御するためのア
レー制御回路、16はクロック発生回路であり、外部から
入力される信号をもとにメモリの動作を制御するための
クロックを発生する。OUTとWRは、それぞれ読出し回
路,書込み回路である。チップセレクト/CSは、このチ
ップの選択信号である。書込み制御信号/WEは、書込
み、読出し動作の切り換え用信号であり、低レベルで書
込み動作、高レベルで読出し動作となる。/NEは、演算
回路制御信号であり、低レベルで演算回路が起動され、
高レベルで演算回路が停止して通常のメモリとして動作
する。以下では、/NEを高レベルとした状態をメモリモ
ード,低レベルとしたときを演算モードということにす
る。メモリモードでは、X系アドレス,Y系アドレスによ
り所望のメモリセルを選択し、そのセルに対して書込み
データDIを書き込んだり、セルから情報を読出して読出
しデータDOとして出力することができる。演算モードで
は、メモリセルに記憶されている情報を演算回路12へ読
出し、演算回路12の演算の結果もしくは演算の結果に応
じたデータを入力回路を通じてメモリセルへ書き込むこ
とができる。本実施例によれば、ワード線の1本を選択
することにより、そのワード線上のすべてのメモリセル
の情報がデータ線に出力される。したがって、容易に多
数の情報を演算回路12に取り込むことができ、多くの演
算を並列に行なうことができる。本実施例によりニュー
ロン出力値の計算を行うには、まず、メモリモードとし
て演算回路を停止し、必要な結合重み値,ニューロン出
力値,オフセットなどをメモリ回路に書き込んでおく。
つぎに演算モードとして演算回路を起動し、1本のワー
ド線を選択することにより必要な情報を演算回路に読出
す。次にその結果をメモリ回路に書き込む。さらに演算
に必要な情報の読出しと結果の書込みを必要な回数だけ
続ければ、ニューラルネットワーク情報処理を高速に容
易に行なうことができる。上記のように第7図(a)に
示した実施例によれば1度に多くの情報を演算回路に読
み込むことができるので、例えば、第5図あるいは第6
図に示したような方式の並列演算を行なうのに適してい
る。このように、本実施例によれば並列に演算を行なう
ため高速にニューラルネットワーク情報処理を行なうこ
とができる。さらに、演算回路12を反復使用することに
より複数のニューロンで出力値の計算回路を共用するこ
とができ、容易に高集積化できる。
また、複数のワード線上のメモリセルに蓄えた情報を
使って並列に演算を行なう場合には、演算回路内に1次
記憶のためのレジスタを設けておきワード線を持ち上げ
て得た情報を1度レジスタに収納して、別のワード線を
立ち上げてその結果読出した情報と合わせて演算を行な
うこともできる。
さらに、第7図(b)に示した実施例のようにメモリ
回路をA,Bの2つ設けることもできる。第7図(b)に
おいて13A,13BはそれぞれメモリセルアレーA,Bを制御す
るアレー制御回路である。デコーダなど他の回路は、図
には示していない。第7図(b)の構成によればメモリ
セルアレーAとBにおいてワード線を1本ずつ選択する
ことにより両方のワード線上のメモリセルの情報を演算
回路に読み込むことができる。第7図(b)の構成を用
いれば、メモリセルアレーAにはニューロン出力値,メ
モリセルアレーBには結合重み値を収納するなど情報の
種類によりメモリアレーを使いわけることもできるの
で、読出し、書込みなどの制御を簡単化することができ
る。なお、第7図(a),(b)の実施例においては、
書き込みデータDIと読出しデータDOを並列に複数扱える
ようにしたり、アレーAとBとで別々に読出し回路OUT
と書込み回路WRを設けてもよい。
第7図(a),(b)の実施例においてはワード線あ
るいは、特定のメモリセルの選択はアドレスにより通常
のメモリと同様に行なうことができる。したがって、ア
ドレスの選択順を変えることによりさまざまな型のネッ
トワークあるいは様々な並列演算の方式などに柔軟に対
応できる。
第7図(a),(b)の実施例においてメモリ回路と
してDARMあるいは、SRAMなどの高集積半導体メモリを用
いることができる。この場合にはメモリ回路に多くの情
報を蓄えることができるので、規模の大きいネットワー
クを1チップに集積化できる。
次に、第7図(b)の構成を用いて階層型ネットワー
クを実現する方法について詳細に述べる。並列演算の方
式としては、第5図(a)の方式を例にとる。層の数は
m層で各層のニューロンの数はn個とする。なお、説明
を簡単にするために第2図(b)あるいは第3図(b)
に示した各ニューロンのオフセットΘについては、ここ
では省略する。しかし、第2図(b)あるいは第3図
(b)より明らかなように、各ニューロンのオフセット
Θは、各ニューロン毎に入力されるニューロン出力値を
1つ増やしてその値を各ニューロンのオフセットΘ、対
応する結合重み値を1と置き、その積を他のニューロン
出力値と結合重み値の積の総和に足すことによって通常
の他のニューロンからの出力値と同様に扱うことができ
る。
第8図(a)はメモリセルと、結合重み値およびニュ
ーロン出力値との対応の1実施例を示したものである。
Dは非線形関数回路であり、c1,c2,…cnは加算器、m1,m
2,…mnは乗算器である。c1,c2,…cnは合わせて第2図
(b)における多入力の加算器ADDを構成している。メ
モリセルアレーAにはニューロン出力値、メモリセルア
レーBには結合重み値を収納する。図にはニューロン出
力値,結合重み値を収納する分のメモリセルのみしか示
していないが各ニューロンのオフセットΘや学習に必要
なデータなどその他のデータを収納する分のメモリセル
を必要に応じて設けてもよいのはもちろんである。図に
示したように、メモリセルアレーA内のワード線sとデ
ータ線iの交差部にあるメモリセルにニューロン出力値
ViSを収納する。すなわち同じワード線には、同じ層の
ニューロン出力値が配置される。メモリセルアレーBで
は、ワード線(s,j)とデータ線iの交差部にあるメモ
リセルに結合重み値TS ijを収納する。第8図(b),
(c)には、非線形関数回路Dの入出力特性の1実施例
を示してある。第8図(b)は、g1とg2の2値の出力を
持つ実施例である。x1,x2はそれぞれ入力xの下限値お
よび上限値を表している。第8図(b)では、入力xが
xthを越えると出力がg2でそれ以下だとg1になるので、
メモリセルとして2値のものを使うときに適している。
第8図(c)は、g1とg2の間にgaとgbの出力を持つ4値
の実施例である。本実施例は、メモリセルとして4値の
ものを使うときに適した例である。g1,ga,gb,g2の間隔
は、図では等間隔としたが必要に応じて間隔を変えても
よいことはもちろんである。メモリセルとして連続値の
情報、所謂アナログ値を記憶できるようなものを使う場
合には非線形関数回路Dとして第2図(d)のような特
性を持つものを使用してもよい。第8図(d)には、第
8図(a)の実施例において入力層のニューロン出力値
から最終層のニューロン出力値を求めるためのワード線
の選択法および書込み先のアドレスの対応の1実施例を
示してある。以下、第8図(a)の動作を第8図(d)
を用いて説明する。まず、アレーAのs=1のワード線
とアレーBの(s,j)=(1,1)のワード線を同時に立ち
上げる。するとアレーAのデータ線i=1,2,…,nには、
入力層のニューロン出力値V11,V21,…,Vn1が出力され
る。一方アレーBのデータ線i=1,2,…,nには、結合重
み値T1 11,T1 12,…,T1 1nが出力される。それらが乗算器m
1,m2,…,mnに入力されてT1 11V11,T1 12V21,…,T1 1nVn1
なりこれらが加算器c1,c2,…,cnに入力される。その結
果(T1 11V11+T1 12V21+…+T1 1nVn1)が非線形関数回
路Dに入力される。非線形関数の出力は書込み回路WR
(図では省略)を通じてアレーA内の書込み先アドレス
(s,i)=(2,1)に対応するメモリセルに書き込まれ
る。このようにして2層目の1番目のニューロン出力値
V21の値が計算される。次に、アレーAのs=1のワー
ド線とアレーBの(s,j)=(1,2)のワード線を同時に
立ち上げる。するとアレーAのデータ線i=1,2,…,nに
は、入力層のニューロン出力値V11,V21,…,Vn1が出力さ
れる。一方アレーBのデータ線i=1,2,…,nには、結合
重み値T1 21,T1 22,…,T1 2nが出力される。それらが乗算
器m1,m2,…,mnに入力されてT1 21V11,T1 22V21,…,T1 2nV
n1となりこれらが加算器c1,c2,…,cnに入力される。そ
の結果(T1 21V11+T1 22V21+…+T1 2nVn1)が非線形関
数回路Dに入力される。非線形関数回路の出力は書込み
回路(図では省略)を通じてアレーA内の書込み先アド
レス(s,i)=(2,2)に対応するメモリセルに書き込ま
れる。こうして2層目の2番目のニューロン出力値V22
の値が計算される。以上のような動作を第8図(d)に
従って続けていくことによりすべてのニューロン出力値
を求めることができる。本実施例によれば、演算モード
において読出しと書込み動作を1回ずつ行なうことによ
り1つのニューロン出力値を求めることができるため高
速にニューラルネットワーク情報処理を行なうことがで
きる。また、演算回路をすべてのニューロンで共用でき
るため高集積化が可能である。なお、第8図(d)はメ
モリセルの割当ての1例を示したものであり、これに限
定されることなく種々の変形が可能である。例えば、前
記したように複数の入力データを連続して処理すること
もできる。この場合には、入力層のニューロン出力値は
複数組必要である。このため、アレーAの異なる複数の
ワード線上に複数の入力データに相当する入力層のニュ
ーロン出力値をあらかじめ書き込んでおいて、順番に使
用してもよい。このようにすれば情報処理の度に入力層
のニューロン出力値を読み込まなくてよいため、連続し
て高速に情報処理を行なうことができる。
ここではニューロン出力値,結合重み値を蓄えるのに
1つのメモリセルを使用した。したがって、2値のメモ
リセルを使用した場合にはニューロン出力値,結合重み
値として2値の値しか取れないことになる。前記したよ
うに多値のメモリセルを使用することによって、ニュー
ロン出力値,結合重み値の値を増やすこともできるが、
多値のメモリセルでは、S/N比の問題などにより信頼性
にかける場合もあり得る。そのような場合には、次に述
べるように、ニューロン出力値,結合重み値を蓄えるの
に複数のメモリセルを使用することもできる。
第9図(a)は、1つのニューロン出力値を蓄えるの
にp個のメモリセル、1つの結合重み値を蓄えるのにq
個のメモリセルを使用した場合の1実施例である。図中
のi,j,sなどのニューロン出力値,結合重み値を示す添
字は第8図に示した実施例における添字と対応してい
る。第9図(a)の実施例ではアレーA内の1本のワー
ド線上の連続するp個のメモリセルで1つのニューロン
出力値を表し、アレーB内の1本のワード線上の連続す
るq個のメモリセルで1つの結合重み値を表す。ニュー
ロン出力値の計算は次のように行なわれる。まず、第8
図の実施例と同様に、アレーAのs=1のワード線とア
レーBの(s,j)=(1,1)のワード線を同時に立ち上げ
る。するとアレーAのp本のデータ線よりなるデータ線
群i=1,2,…,nには、入力層のニューロン出力値V11,V
21,…,Vn1を表す情報が出力され、それらが群ごとに加
算器a1,a2,…,anに入力される。一方アレーBのq本の
データ線よりなるデータ線群i=1,2,…,nには、結合重
み値T1 11,T1 12,…,T1 1nを表す情報が出力され、それら
が群ごとに加算器b1,b2,…,bnに入力される。上記した
加算器a1,a2,…,an、b1,b2,…,bnにより、ニューロン出
力値V11,V21,…,Vn1、結合重み値T1 11,T1 12,…,T1 1n
合成され図示したように乗算器m1,m2,…,mnに入力され
てT1 11V11,T1 12V21,…,T1 1nVn1を得る。これらが加算器
c1,c2,…,cnに入力され、その結果、(T1 11V11+T1 12V
21+…+T1 1nVn1)が非線形関数回路Dに入力される。
非線形関数回路の出力は書込み回路WR(図では省略)を
通じてアレーA内の書込み先アドレス(s,i)=(2,1)
に対応するp個のメモリセル群に書き込まれる。同様な
動作を第8図(d)と同じアドレスを用いて続けること
によりすべてのニューロンの出力値を求めることができ
る。上記の実施例によればアレーA内の1本のワード線
上の連続するp個のメモリセルで1つのニューロン出力
値を表し、アレーB内の1本のワード線上の連続するq
個のメモリセルで1つの結合重み値を表すことにより2
値のメモリセルを使用して多値の値のニューロン出力
値、結合重み値を表現できることになる。このため、ニ
ューロン出力値,結合重み値として多値の値を用いる場
合でも2値のメモリセルを用いて実現することができ
る。また、上記の実施例においては、アドレスの切り換
えの回数は第8図の実施例と同じであるため第8図の実
施例と同様に高速に情報処理を行なうことができる。な
お、非線形関数回路の結果をニューロン出力値を表すp
個のメモリセルへ書込むには、p回の書込み動作を連続
して行なってもよいが、書込み回路をp個設けることに
より並列に行なうことも容易にできる。この場合には、
複数のメモリセルへ書込むことによる時間の損失をさけ
ることができる。また、読出し回路を複数設けることに
より読出し動作の速度を上げることもできるのはもちろ
んである。なお、第9図(a)の実施例において、乗算
器m1,…,mnとして多入力の回路を用いれば加算器a1,…,
an,b1,…,bnを設けることなく同様の回路を実現でき
る。その他、演算回路の構成は、種々の変形が可能であ
る。
第9図(a)の実施例では、ニューロン出力値を蓄え
るのにp個のメモリセル、結合重み値を蓄えるのにq個
のメモリセルを使用した。つまり、ニューロン出力値を
pビット、結合重み値をqビットで表していることにな
る。複数のビットで情報を表現する方法はいろいろある
ので必要に応じて表現方法を選び、それにあわせて加算
器、乗算器、あるいは、非線形関数回路の特性を設計す
ればよい。例えば、ニューロン出力値を表すpビットの
メモリセルのうちその内容が1であるメモリセルの数に
よってニューロン出力値を表すこともできる。第9図
(b)の実施例は、そのような場合に適した非線形関数
回路Dの入出力特性の1実施例である。第9図(b)に
おいてg1,g2,…,gpは、非線形関数回路Dのp本の出力
を示している。それぞれの出力は、0または1の値を取
り、書込み回路WR(図では、省略)を通じて対応するp
個のメモリセルに0または1を書き込む。g1,g2,…,gp
は、それぞれ入力がxth1,xth2,…,xthpを越えたときに
1それ以外では0となる。xth1,xth2,…,xthpは、入力
の上限x1,下限x2の間で等間隔に設定してもよいしある
いは任意の間隔で設定してもよい。たとえばxthkとxthk
+1(k=1,…,p−1)の間隔を第9図(c)のように
すれば非線形関数回路gとしてシグモイド状の特性を持
つものを実現できる。本実施例によれば、p個のメモリ
セルによって1つのニューロン出力値にp個の値を持た
せることができる。本実施例では、ニューロン出力値を
表すp個のメモリセルは、等価に扱われる。すなわち、
p個のうちどのメモリセルの情報が反転あるいは固定さ
れたとしてもニューロン出力値への影響は等しい。した
がって、一般的な2進表現と較べて1つのメモリセルの
情報の破壊によるニューロン出力値への影響を小さくす
ることができる。以下では、このような表現法を等価的
な表現と記すことにする。ここでは、ニューロン出力値
についてのべたが、結合重み値についても上記の等価的
な表現を使えるのはもちろんである。
もちろん、2進表現を使うこともできる。この場合に
は、pビットで2P個の値を表現できるので少ないメモリ
セルで多くの値を表現するのに適している。第10図
(a)は、ニューロン出力値と結合重み値に2進表現を
使った場合の1実施例を示したものである。アレーAで
は、i=h(h=1,2,…n)であるデータ線上のメモリ
セルのみ,アレーBでは、i=hであるデータ線とs=
f(f=1,2,…,m−1)であるワード線上のメモリセル
のみを示してある.第10図(a)においてWTは重み付け
回路であり、メモリセルの信号を重み付けして加算器a
h,bhに伝える。ここで重み付けの係数は図示したように
ニューロン出力値については1から2Pまで結合重み値に
ついては1から2qまでメモリセル毎に変えてある。これ
により乗算器mhに入力されるニューロン出力値と結合重
み値は、それぞれ2P個、2q個の値を取ることができる。
ニューロン出力値を計算するためのアドレスの選択法
は、第9図の実施例と同じように第8図(d)に従えば
よい。第10図(b)は、第10図(a)の実施例における
非線形関数回路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を越えたところから入力の
増加にともなって周期を増加させてやればよい。以上説
明したように第10図(a),(b)に示した実施例によ
れば、ニューロン出力値と結合重み値を表現するのに、
それぞれp個とq個のメモリセルを用いて、ニューロン
出力値と結合重み値にそれぞれ2P個、2q個の値を持たせ
ることができる。したがって、少ないメモリセルでニュ
ーロン出力値と結合重み値に多数の値を持たせるのに適
している。なお、本実施例においても、乗算器m1,…,mn
として多入力の回路を用いて、重み回路WT,加算器a1,
…,an,b1,…,bnの機能を乗算器に持たせるなど種種の変
形が可能なのは、もちろんである。ここでは、等価的な
表現と2進数表示による実施例を示したが、この他にも
たとえば、符号ビットを用いて負の数を表現したり、複
数のビットで情報を表現する方法はいろいろあるので必
要に応じて使いわけることができる。
次に1つのMOSトランジスタおよび1つの容量より構
成されるダイナミックメモリセル(DRAMセル)をメモリ
回路に用いた実施例を示す。
第11図は、第8図(a)に示した実施例をDRAMセルを
用いて構成した実施例である。第11図においてアレーA,
アレーBは、互いに交差する複数のデータ線対DA1,/DA
1,…,DAn,/DAn,DB1,/DB1,…DBn,/DBnと複数のワード線W
A1,WA2,…,WAm,WB1,1,WB1,2,…,WB1,n,WB2,1,WB2,2,…,
WBm−1,nおよび、それらの交差部に設けられたメモリセ
ルMCより構成されている。メモリセルMCは対をなすデー
タ線とワード線との交差部のいずれか一方に設けられて
いる。図においてPR,SA,RSA,WSは、プリチャージ回路,
センスアンプ,読出しセンスアンプ,書込みスイッチで
あり、第7図(b)のアレー制御回路13A,13Bに相当す
る。演算回路の中のMTは、乗算回路である。16は、クロ
ック発生回路で、チップ外部より与えるアドレスADDA,A
DDBおよび、チップセレクト信号/CSA,/CSBなどより、他
の回路を制御するためのクロックΦAなどを発生す
る。
以下では、上記第11図の実施例の動作を第12図,第13
図(a),(b)を用いて説明する。第12図は、動作モ
ードと外部信号との関係の一実施例を示したものであ
る。前記したように、演算モード前半では、メモリセル
アレーA,Bのワード線を1本ずつ立ち上げ、後半では、
メモリセルアレーAのワード線を1本立ち上げる。ま
た、メモリモードでは、メモリセルアレーAとBとで独
立に読出し、書き込みを行なう。第12図では、これらの
制御を、容易に行なうために、動作モードをさらに細分
した。メモリモード中のAR,AW,BR,BWは、それぞれ、ア
レーAからの読出し、アレーAへの書き込み、アレーB
からの読出し、アレーBへの書き込みを行なうモードで
ある。また、演算モード中のNR,NWは、それぞれデータ
を読出して演算するまでの前半部分と、演算結果を書き
込む後半部分である。本実施例では、これら6つのモー
ドを切り替えるために、チップセレクト信号/CSA,/CSB,
書き込み制御信号/WE,演算回路制御信号/NEの4つの外
部入力信号を用いた。チップセレクト信号/CSA,/CSB
は、チップの選択及び、アレーA,Bの選択を指定する。/
CSA,/CSBが両方H(高レベル)で、チップが非選択とな
り、/CSAがL(低レベル)でアレーAが、/CSBが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系アドレスの集まりを総称したものであ
る。各動作モードにおいては、第12図に従ってこれらの
アドレス群をアドレスピンへ印加する。以上説明した第
12図の実施例によれば、チップセレクト信号を2つ設け
てアレーA,Bの切り替えを行ない、アドレスをアレーA
とBとで分離した。このため、アレーAとBを独立に選
択できるため、アレーAとBの両方、あるいは片方を選
択する必要のある各動作モードを容易に制御できる。な
お、第12図以外にも、動作モードと外部信号の関係は種
々変形して実現可能であるのはもちろんである。たとえ
ば、チップセレクト信号を/CSのみとして、アレーAと
Bの切り替え用のアドレスを加えるあるいは、アドレス
をアレーAとBで分けずにアレーAまたはBのどちらか
のみを選択するようにしておいて、モードNRにおけるア
レーBのワード線を選択するXアドレスは、チップ内部
に設けたカウンタにより発生してもよい。
第13図(a)はメモリモードにおける第11図の波形、
第13図(b)は演算モードにおける第11図の波形の実施
例である。
メモリモードの動作は通常のDRAMの読出し、書き込み
動作と同様である。第13図(a)には、メモリモードに
おいてアレーA内のワード線WA1とデータ線DA1の交差部
にあるメモリセルに対して読出し動作(モードAR)と書
込み動作(モードAW)を続けて行なう場合の電圧波形を
示してある。図においてVccは、正電位を示している。
メモリモードであるため演算回路制御信号/NEが高レベ
ルであり、これにより演算回路起動信号Φは、低電位
に固定され演算回路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に接続されたすべてのメモリセルM
Cの容量に読出し前の情報に対応する電位が再び書き込
まれる。再書込み動作の終了後、チップセレクト信号/C
SAが高電位になると、選択されたワード線WA1と読出し
Y選択信号YRA1を低電位に遷移し、その後PPA,PNAをVcc
/2に遷移させ、センスアンプSAをオフさせるとともにプ
リチャージ信号ΦpAを高電位に遷移させる。この結果、
データ線対は短絡されると共にプリチャージ電位VHに電
位が設定されて再びもとの状態に戻る。以上が読出し動
作である。
続いて同じセルへの書込み動作(モードAW)に移る。
書込み動作では、チップセレクト信号/CSAが低電位とな
りさらに書込み制御入力/WEが低電位となることによっ
て、書込みデータDIに与えられた情報がアレーA内の選
択されたメモリセルに書き込まれる。書込み動作でもま
ず、チップセレクト信号/CSAが低電位になると、プリチ
ャージ信号ΦPAを立ち下げ、プリチャージ回路PRをオフ
する。次に、アドレス信号ADDAによって選択されたワー
ド線WA1と読出しY選択信号YRA1が高電位に遷移する。
その結果、ワード線WA1に接続されたすべてのメモリセ
ルMCのMOSトランジスタが導通し、容量に蓄積された電
荷に応じて、データ線対DA1,/DA1,…,DAn,/DAnにそれぞ
れ微妙な電位差が生じる。データ線対に生じた微妙な電
位差は、センスアンプSAによって増幅されていく。つづ
いて書込み制御入力/WEが低電位に遷移したことにより
発生された入力回路起動信号ΦWRAが高電位に遷移す
る。これによって書込みデータDIに与えられた情報が、
書込み線対IA,/IAへ差動信号として伝えられる。また、
書込みY選択信号YWA1が高電位に遷移して書込み先のメ
モリセルが接続された書込みスイッチWSがオンする。こ
れにより書込み線対IA,/IAはそれぞれデータ線対DA1,/D
A1と導通する。この結果データ線対DA1,/DA1は書込みデ
ータDIに与えられた情報に対応した電位に設定される。
その後入力回路起動信号ΦWRAは低電位に遷移するがデ
ータ線対の電位はセンスアンプSAによって保たれる。書
込みスイッチWSがオンしなかったデータ線体では初めに
読出した信号がそのままセンスアンプにより増幅されて
再書込みが行なわれる。再書込み動作の終了後、チップ
セレクト信号/CSAが高電位になると、選択されたワード
線WA1と書込みY選択信号YWA1が低電位に遷移し、その
後PPA,PNAをVcc/2に遷移させセンスアンプSAをオフさせ
るとともにプリチャージ信号ΦpAを高電位に遷移させ
る。この結果、データ線対は短絡されると共にプリチャ
ージ電位VHに電位が設定されて再びもとの状態に戻る。
以上が書込み動作である。
ここでは、アレーA内の同一のメモリセルに続けて読
出し動作と書込み動作を行なう場合について説明した
が、読出し動作あるいは書込み動作をそれぞれ続けて行
なうこともできるし、また、モードAR,AW,BR,BWを切り
換えることにより読出し動作あるいは書込み動作の度に
異なるメモリアレー内の所望の位置にあるメモリセルに
ついて読出し動作あるいは書込み動作を行なうことがで
きるのは、もちろんである。
次に演算モードの動作について説明する。第13図
(b)は、ニューロン出力値V12を得るための動作波形
を示したものである。すでにメモリモードにおける書込
み動作により必要な結合重み値、ニューロン出力値等は
書き込まれているものとする。まず、モードNRとするた
めにチップセレクト信号/CSAと/CSBを低レベルとし、書
き込み制御信号/WEを高レベル,演算回路制御信号/NEを
低レベルとする。アドレスADDA,ADDBは、アレーAのワ
ード線WA1とアレーBのワード線WB1を選択するように設
定する。/CSAと/CSBが低レベルになることによりプリチ
ャージ信号ΦPAPBが低レベルに、/NEが低レベルにな
ることにより演算回路起動信号Φが高レベルに遷移す
る。続いてワード線WA1とWB1とが立ち上がりWA1上のメ
モリセルに蓄えられていたニューロン出力値V11,V21,
…,Vn1と結合重み値T1 11,T1 12,…,T1 1nがデータ線上に
読み出される。こうして、アレーAから読出されたニュ
ーロン出力値とアレーBから読出された結合重み値は、
第11図に示したように演算回路起動信号Φにより起動
されている乗算回路MTに入力される。乗算回路MTでは、
アレーA側のデータ線とアレーB側のデータ線は、MOS
トランジスタのゲートにつながれており、それらのMOS
トランジスタは演算回路起動信号Φが入力されている
スイッチ用のMOSトランジスタを通じて積和出力線NOと
ダミー線DMとにつながれている。積和出力線NOの一端は
負荷RM1を通じて電源VMに接続されており、ダミー線DM
の一端は接地されている。データ線に読出された信号が
センスアンプSAによってVcc,あるいは、0Vに増幅される
とニューロン出力値と結合重み値の積が1である乗算器
では、負荷RM1を通じて電源VMより接地電極へ電流が流
れる。したがってニューロン出力値と結合重み値の積が
1であるような組合せの数に比例して積和出力線NOの電
位は下降する。積和出力線NOは、非線形関数回路Dに入
力されている。非線形関数回路Dではニューロン出力値
と結合重み値の積の合計が大きく積和出力線NOの電位が
参照電圧VRより下がるかどうか検知して結果をNVへ出力
する。第13図(b)に示した積和出力線NOの波形のうち
実線が積和の結果が小さかった場合であり破線が積和の
結果が大きかった場合である。入出力回路では非線形関
数回路Dの結果を検知して書込み線対IA,/IAに次にメモ
リセルに書き込むべきニューロン出力値V12を出力す
る。第13図(b)にはIAの波形を示した。IAは、積和が
大きい場合には破線のように高レベルに、積和が小さい
場合には実線のように低レベルになる。/IAはIAと逆相
となる。書込み線対IA,/IAにニューロン出力値が出力さ
れた時点でラッチ信号Φを高電位に遷移する。この結
果、書込み線対IA,/IAに出力された電位は、入出力回路
IO内に設けたラッチ回路によりラッチされる。ラッチ信
号Φは、演算回路起動信号/NEの立ち下がりを受けてI
A,/IAに信号がでるまで遅延させて立ち上げればよい。
つづいて、演算回路起動信号Φが低電位に遷移して演
算回路をオフし、ワード線が立ち下がった後にメモリモ
ード時と同様にデータ線のプリチャージを行なう。この
ときラッチ信号Φは高電位のままにして、書込み線対
IA,/IAに出力されたニューロン出力値を保っておく。
次に演算モードの後半であるモードNWに移る。まず、
チップセレクト信号/CSAおよび書込み制御信号/WEを低
レベル,チップセレクト信号/CSBを高レベルとしてアレ
ーA内のニューロン出力値を書込むべきメモリセルが選
択されるようにアドレスADDAを切り換える。演算回路起
動信号/NEは低レベルのままにしておく。/CSAを立ち下
げた結果、プリチャージ信号ΦPAが低レベルとなりアレ
ーAに書き込みができる状態となる。つづいて、選択さ
れたワード線WA2,書込みY選択信号YWA1が立ち上がる。
これにより、書込み線対IA,/IAに出力されたニューロン
出力値V12は、ワード線WA2とデータ線DA1とに接続され
たメモリセルに書き込まれる。最後にワード線をすべて
立ち下げてプリチャージを行なう。また、演算回路制御
信号/NEを立ち上げることにより、ラッチ信号Φが立
ち下がりラッチがはずれる。こうして、次の動作に備え
る。以上が演算モードの動作である。同様の動作を第8
図(d)に従ってアドレスを変えて続けることによりす
べてのニューロン出力値を計算できる。
以上において乗算器MTのうちダミー線DMに接続された
側の回路は、省いてもよいが乗算器MTのMOSトランジス
タのゲート容量等が片方のデータ線のみに付くとデータ
線容量がアンバランスとなり場合によってはセンスアン
プの動作などに支障を来すこともある。そのような場合
には第11図のようにしておけばデータ線容量がアンバラ
ンスとなることによる悪影響を避けることができる。
次に、第11図に用いるのに好適な回路の実施例を示
す。第14図(a)は、非線形関数回路Dの1実施例であ
る。本実施例は、バイポーラトランジスタQ720,Q719,抵
抗R72およびMOSトランジスタQ721よりなる差動アンプ
と、インバータINV75およびMOSトランジスタQ715,Q716,
Q717,Q718,抵抗R71,ダイオードD71よりなるインバータ
により構成される。本回路は信号Φが高電位になるこ
とにより起動される。第14図(b)に非線形関数回路D
の入力である積和出力線NOの電位と出力NVの電位の関係
を示す。積和出力線NOの電位が参照電位VRより低いと出
力NVが高電位にNOの電位が参照電位VRより高いと出力NV
が低電位となる。本実施例によれば差動アンプにバイポ
ーラトランジスタを用いているため入力の変化にたいし
て立上りの急峻な特性を持つ非線形回路を実現できる。
また、参照電位VRを所望の値に設定することにより容易
に非線形関数回路Dの特性を変えることができる。な
お、差動アンプの出力はバイポーラトランジスタQ719の
飽和を避けるためにあまり大きくとることができない。
そのため後段のインバータに直接差動アンプの出力を接
続するとインバータが動作しないことがありうる。そこ
で、抵抗R71,ダイオードD71を設けてMOSトランジスタQ7
17に入力される電位を降下させている。
第14図(c)は入出力回路IOの1実施例である。第14
図(c)に示したように書込み回路WRは入力バッファIN
BUF,書込み切り替えスイッチSWA,SWB,ラッチ回路LATお
よびインバータINVIA,INVIBより構成されている。書込
み切り替えスイッチSWA,SWBは、書き込みデータDIをア
レーAあるいは、アレーBのどちらのメモリセルに書き
込むか切り替えるためのものである。切り替え信号Φ
WRAが高電位のときには、書き込みデータDIは入力バッ
ファINBUFを通じて書き込み線対IA,/IAよりアレーA内
のメモリセルに書き込まれる。切り替え信号ΦWRBが高
電位のときには、書き込みデータDIは入力バッファINBU
Fを通じて書き込み線対IB,/IBよりアレーB内のメモリ
セルに書き込まれる。ラッチ回路LATは、演算モードに
おいて非線形回路Dの出力NVに出力された情報をラッチ
して、書き込み線対IA,/IAよりアレーA内のメモリセル
に書き込むためのものである。図より明らかなように、
非線形回路Dの出力NVと書き込み線対IA,/IAの電位関係
は同相関係になるので、非線形関数回路Dの積和出力線
NOと入力コモン線IAの電位の関係は、第14図(d)に示
したように反転関係となる。前記したように第11図の実
施例では積和出力線NOの電位はニューロン出力値と結合
重み値との積和が大きいほど低下するので、積和出力線
NOと入力コモン線IAの電位の関係が反転関係となるよう
に回路を構成した。積和出力線NOの電位がニューロン出
力値と結合重み値との積和が大きいほど上昇するように
設計した場合には積和出力線NOと入力コモン線IAの電位
の関係を同相関係となるように回路を構成すればよいの
はもちろんである。
第14図(e)は読出し回路OUTの1実施例である。読
出し回路OUTは電流電圧変換回路IVOUT1,レベルシフト回
路LS,読出しラッチ回路OUTLTおよび出力バッファBUFOUT
により構成される。電流電圧変換回路IVOUT1では、読出
し線OA,/OAあるいは読出し線OB,/OBにインピーダンスの
差として読出された情報をそれぞれ、OA′,/OA′あるい
は読出し線OB′,/OB′の電圧の差に変換する。レベルシ
フト回路LSでは、電流電圧変換回路IVOUT1より読出され
た情報の電圧を後段の読出しラッチ回路OUTLT内のバイ
ポーラトランジスタが飽和しないレベルにシフトして読
出しラッチ回路OUTLTに伝達する。
読出しラッチ回路OUTLTの詳細な実施例を第14図
(f)に示した。読出しラッチ回路OUTLT内の読出し差
動アンプAMPA,AMPBは、アレーAのメモリセルから読出
し線OA,/OAを通じてL1,L2に読出された情報とアレーB
のメモリセルから読出し線OB,/OBを通じてL3,L4に読出
された情報のどちらを読出しデータDOとして読出すか切
り替えるためのものである。切り替え信号Φが高電位
のときには、アレーAのメモリセルから読出された情報
が、切り替え信号Φが高電位のときには、アレーBの
メモリセルから読出された情報が読出しデータDOとして
出力される。読出しラッチ回路OUTLTでは、読出しラッ
チ信号ΦLRを電圧VB2より高電位に遷移するとバイポー
ラトランジスタQ1Aがオフし、Q1Bがオンする。そのた
め、差動アンプAMPA,AMPBがオフし、AMPCがオンする。
その結果差動アンプAMPCとレベルシフト回路LSCによ
り、読出し情報がラッチされる。すなわち、本実施例に
よれば、読出し情報が確定した後、読出しラッチ信号Φ
LRを電圧VB2より高電位に遷移することによって所望の
期間だけ読出しデータDOをラッチして出力しつづけるこ
とができる。
なお、第11図に示した乗算機MTの実施例では、アレー
Aのデータ線対がアレーBのデータ線対より接地電極か
ら遠い方のMOSトランジスタのゲートに接続されてい
る。このため、積をとるときにニューロン出力値と結合
重み値とは等価に扱われない。このことが問題となると
きには、第15図の実施例を用いればよい。第15図では、
データ線DAiはMOSトランジスタQ7C3とQ7C6,DBiはQ7C5と
Q7C4のゲートに接続されている。両者共、接地電極に近
い方のMOSトランジスタと遠い方のMOSトランジスタに接
続されているので、積をとるときに、ニューロン出力値
と結合重み値とが等価に扱われることになる。
以上説明したように第11図に示した実施例によれば1
つのMOSトランジスタおよび1つの容量より構成されるD
RAMセルを用いて第8図(a)に示した実施例を実現で
きる。DRAMセルは、占有面積を非常に小さくできるので
チップ上に高集積に実現できるというメリットがある。
なお、以上の説明では触れなかったが、よく知られて
いるように1トランジスタ,1キャパシタを用いたDRAMセ
ルでは、キャパシタの電流リークによる蓄積電荷の減少
を補償するために一定時間内にリフレッシュ動作が必要
である。本発明においても、メモリモード,演算モード
にかかわらず必要に応じてリフレッシュ動作を行うこと
は通常のDRAMと同様にして容易にできる。
上記の実施例では、メモリセルとしてDRAMセルを用い
たがこれに限定されることはなく、他のメモリセルを用
いても同様の情報処理装置を実現できる。次にSRAMセル
を用いた実施例を示す。第16図(a),(b)は、SRAM
セルの実施例であり、両者共DRAMセルと異なり再書込み
あるいはリフレッシュ動作が不要なためDRAMセルを用い
た場合に比べて制御が容易にできるという利点がある。
第16図(c)は、第16図(a)あるいは(b)等のSRAM
セルを用いて第8図(a)の実施例を実現するための1
実施例である。第16図(c)において、MCSはSRAMセ
ル、LDは、データ線負荷である。第17図(a),(b)
に動作波形の例を示す。第17図(a)は、メモリモード
においてデータ線DA1,/DA1とワード線WA1に接続された
セルに対して読出し動作と書込み動作を連続して行なう
場合の例であり,第17図(b)は演算モードにおいてワ
ード線WA1上のメモリセルに記憶されたニューロン出力
値V11,V21,…,Vn1とワード線WB1上のメモリセルに記憶
された結合重み値T1 11,T1 21,…,T1 n1からニューロン出
力値V12を計算する場合の動作波形の例である。基本的
な動作は前記のDRAMセルの場合と同様であるので説明は
省略する。SRAMセルは、再書込み動作,リフレッシュ動
作が不要なためDRAMセルに比べて制御が簡単であるとい
うメリットがある。さらに、再書込み動作が不要なた
め、メモリモードにおける読出し,書込みの速度および
演算モードのサイクルを高速にできるというメリットが
ある。
以上、DRAMセルとSRAMセルを用いて第8図(a)の実
施例を実現するための回路構成例を説明してきた。次に
ニューロン出力値、結合重み値を複数のメモリセルを用
いて表現するためのを回路構成例につき説明する。以下
では、DRAMセルを用いた実施例を示すが、SRAMセルを用
いても同様に実現できることはもちろんである。
次に、DRAMセルを用いてニューロン出力値,結合重み
値を複数のメモリセルを用いて表現するための回路構成
例について説明する。
第18図(a)において、アレーA内のデータ線対DA1
1,/DA11,DA12,/DA12,…,DA1P,/DA1Pは、第9図(a)に
おいて加算器a1に入力されるアレーA内のデータ線対に
対応している。また、アレーA内のデータ線対DAn1,/DA
n1,DAn2,/DAn2,…,DAnP,/DAnPは、第9図(a)におい
て加算器anに入力されるアレーA内のデータ線対に対応
している。アレーBについても同様である。入出力回路
DIO10に示したように入力端子をDO1,…,DOrのr本、出
力端子をDI1,…,DIrのr本設けて(ここでrはpまたは
qのどちらか大きい方の数)メモリモード時にニューロ
ン出力値または結合重み値を表すpビットあるいはqビ
ットの情報を同時に読出し、あるいは書込みできるよう
にしている。演算モードにおいてアレーAでは、ワード
線を立ち上げることによってデータ線に読出されたpビ
ット毎の情報が加算器ADDによって合成され、ニューロ
ン出力値出力線VO1,VO2,…,VOnにニューロン出力値が出
力される。また、アレーBでも、ワード線を立ち上げる
ことによってデータ線に読出されたqビットの情報が加
算器ADDによって合成されて、結合重み値出力線TO1,TO
2,…,TOnに結合重み値が出力される。これらはBLK2に入
力され、積和演算が行なわれて非線形関数回路D10に入
力される。ニューロン出力値に相当する非線形関数回路
D10の出力は入出力回路DIO10へ伝えられてラッチ信号Θ
によってラッチされる。つづいて、求めたニューロン
出力値を書き込むべきp個のセルを選択するようにアド
レスを切り換えて、書き込みY選択信号YWAiを立ち上
げ、ラッチしておいたニューロン出力値を選択したp個
のセルへ並列に書き込む。このような動作を続けること
により第11図(a)の実施例と同様にしてニューロン出
力値を更新していくことができる。本実施例によれば、
加算器ADDに入力された複数のメモリセルの情報を等価
に加算することによって第9図(a)の実施例を実現す
ることができる。また、加算器ADDに入力された複数の
メモリセルの情報をビット毎に重み付けして加算するこ
とによってニューロン出力値,結合重み値を複数のビッ
トによる2進数によって表す第10図(a)の実施例も実
現することができる。この他ニューロン出力値,結合重
み値を他の方法で複数のビットで表す場合にも容易に対
処できるので目的に応じて多様な情報処理を行なうこと
ができる。本実施例では、DRAMセルを用いているので高
集積化を図ることができる。さらに、メモリモード、あ
るいは演算モードともに複数のメモリセルの情報を並列
に扱っているためニューロン出力値、結合重み値を複数
のビットで表しているにもかかわらず、1ビットで表し
た場合と同様の高速な情報処理を行なうことができる。
ここでは、BLK1において加算器により複数のメモリセル
の信号を合成し、その結果を積和回路であるBLK2に入力
するようにした。しかし、BLK1における加算を省略して
ニューロン出力値あるいは、結合重み値をあらわす複数
のメモリセルの情報を並列に積和回路BLK2へ入力して積
和演算を行なうなど種々の変形も可能である。
以下では、まず、第18図(a)に示した実施例により
ニューロン出力値、結合重み値を複数の等価的なビット
で表す第9図の実施例を実現する方法についてのべる。
第18図(b)は、第18図(a)のBLK1の1実施例であ
る。ここでは、アレーAのデータ線DA11,…DA1Pに接続
されたBLK1を示した。アレーAの他のBLK1にも同じ回路
が使える。アレーBでもデータ線対,読出し線対、ある
いは書込み線対の本数をp本からq本に変更しプリチャ
ージ回路PRなどp個設けた回路をq個にすれば、本実施
例の回路を使うことができる。本実施例では、並列にp
個のメモリセルへの書込み、あるいは読出しができるよ
うに、p対の読出し線対OA1,/OA1,…,OAp,/OApおよびp
対の書込み線対IA1,/IA1,……,IAp,/IApを設けた。読出
しセンスアンプRSAと書込みスイッチWSは、図に示した
ように同一のBLK1内では順番に読出し線対OA1,/OA1,…,
OAp,/OApおよびp対の書込み線対IA1,/IA1,…,IAp,/IAp
に接続されている。すなわち1対の読出し線あるいは書
込み線についてみるとp対毎にデータ線対に接続されて
いることになる。加算回路ADDは、負荷回路LD103および
p個の電圧電流変換器VIより構成されている。電圧電流
変換器VIでは、データ線DA11,DA12,…,DA1pがMOSトラン
ジスタのゲートに接続されており、上記MOSトランジス
タは、演算回路起動信号Φがゲートに入力されている
MOSトランジスタと直列に接続されて接地電極とニュー
ロン出力値出力線VO1とを結んでいる。ニューロン出力
値出力線VO1は負荷回路において抵抗を通じて電源VM01
につながっている。したがって、演算回路起動信号Φ
により起動された状態でデータ線電位の増幅が終了する
と、ニューロン出力値出力線VO1の電位は、高電位つま
りVccとなったデータ線の本数に比例した電圧だけ低下
する。したがって、本実施例によれば、ニューロン出力
値出力線VO1の電位低下によってニューロン出力値を表
すことができる。なお、データ線の片側、/DA11,…,/DA
1pにも同様の回路を設けたのは、第11図(a)の乗算器
MTと同様の理由でデータ線容量のアンバランスを避ける
ためである。上記の実施例によれば複数のメモリセルに
よって表したニューロン出力値あるいは、結合重み値を
ニューロン出力値出力線あるいは結合重み値出力線に読
みだすことができる。
第18図(c)はニューロン出力値と結合重み値の積和
を計算するためのブロックBLK2と非線形関数回路D10の
1実施例を示したものである。第18図(c)においてブ
ロックBLK2は、負荷回路LD102と乗算器MT10より構成さ
れている。ニューロン出力値出力線VO1,VO2,…,VOおよ
び結合重み値出力線TO1,TO2,…,TOnはMT10内のMOSトラ
ンジスタM16c1,M16c2のゲートに接続されており、上記M
OSトランジスタは、演算回路起動信号Φがゲートに入
力されているMOSトランジスタM16c3と直列に接続されて
接地電極と積和出力線NOとを結んでいる。一方、積和出
力線NOは負荷回路LD102において抵抗R02を通じて電源VM
02につながっている。したがって、演算回路起動信号Φ
が高レベルになり、本回路が起動された状態では、対
応するニューロン出力値出力線VO1,VO2,…,VOと結合重
み値出力線TO1,TO2,…,TOnの電位の積の総和が大きいほ
ど積和出力線NOの電位が低下する。前記したようにニュ
ーロン出力値出力線VO1,VO2,…,VOと結合重み値出力線T
O1,TO2,…,TOnの電位は、ニューロン出力値と結合重み
値の大きさにほぼ比例して低下するため、ニューロン出
力値と結合重み値の積和が、大きいほど積和出力線NOの
電位は高電位となる。積和出力線NOは非線形関数回路D1
0に入力される。非線形関数回路D10は、第18図(d)に
示したような回路をn個並列に接続して構成することが
できる。第18図(d)の回路は、第14図(a)の非線形
関数回路Dと同じように差動アンプとインバータを組合
せたものである。ただし、積和出力線NOとニューロン出
力値と結合重み値の積和との極性が第11図と第18図
(a),(b),(c)の実施例では異なるので、第18
図(d)では差動アンプの抵抗Rxを第14図(a)の抵抗
R72とは、逆の位置に付けている。このため、第18図
(d)では積和出力線NOが参照電圧VRx(x=1,2,…,
p)を越えると出力NVxが高電位に遷移する。このような
非線形関数回路DSxをp個設けておき第18図(e)のよ
うに参照電圧VRxを変えておけばp本の出力NVxのうち高
電位になっているものの本数で積和出力線NOの変化量を
示すことができる。本実施例によれば参照電圧VRxの値
を変えることによって非線形関数回路の特性を容易に変
化させることができる。なお、第18図(c)に示したの
回路を乗算器MT10として用いる場合などにはMOSトラン
ジスタの特性などにより積和出力線NOの電位変化はニュ
ーロン出力値と結合重み値の積和の大きさに対して一般
的には線形にはならない。したがって、非線形関数回路
の特性が所望の形状になるように、乗算器あるいは、加
算器の特性も考慮してVRxの値を設定すればよい。場合
によっては、製造条件の変動などにより個々のチップの
特性を精度よく知ることが困難な場合もある。そのよう
な場合には、実際にアレーA,Bに既知のニューロン出力
値と結合重み値を書込み、演算モードで動作させて積和
出力線NOの電位を計測しその結果に応じてVRxの値をト
リミングして所望の特性に合わせればよい。
なお、ここでは第18図(a)における入出力回路DIO1
0の詳細については省略するが、第14図(c),
(e),(f)に示した読出し回路OUT,あるいは書き込
み回路WRと同様な回路を複数用いることにより複数のメ
モリセルへ並列に読出しあるいは書き込みを行なう回路
は容易に実現できる。また、クロック発生回路16の構成
についても省略するが、通常のメモリに用いる回路と同
様にして容易に実現できる。
次に、第18図(a)の実施例を用いて、ニューロン出
力値、結合重み値を複数のビットによる2進表示によっ
て表す第10図の実施例を実現するための方法について説
明する。第10図(a)に示したように複数のビットによ
る2進表示で表された情報を加算するには複数のメモリ
セルの情報をビット毎に重み付けして加算する必要があ
る。このためには第18図(b)において電圧電流変換器
VI1,VI2,…,VIp内のデータ線に接続されたMOSトランジ
スタのゲート幅の比を1:2:4:…:2Pとすれば、ニューロ
ン出力値出力線VO1の電位は、2進表示によるニューロ
ン出力値の大きさに比例して降下する。したがって、同
様の回路を他のニューロン出力値、あるいは結合重み値
に対して使用すれば第10図(a)に示したような重み付
けした加算を実現できる。乗算器については、第18図
(c)に示したブロックBLK2をそのまま用いることがで
きる。非線形関数回路については、積和出力線NOに出力
された演算結果を再び2進表示にして複数のメモリセル
へ書き込むためにADコンバータの機能を持たせる必要が
ある。そのためには、第19図(a)に示したような実施
例を用いることができる。第19図(a)の実施例は、z
個(以下z=2Pとする。)の非線形関数回路DS1,DS2,
…,DSzとエンコーダとを組合せたものである。非線形関
数回路DS1,DS2,…,DSzには第18図(d)の回路を使用し
参照電圧VRxを調整することにより第19図(b)に示し
たような特性を持たせておく。すると、第18図(c)実
施例と同様に出力NA1,NA2,…,NAzのうち高電位であるも
のの本数によりニューロン出力値と結合重み値の積和の
大きさを知ることができる。このままでは、zビットの
等価表示であるためエンコーダによりpビットの2進表
示にしてp本の出力線NV1,NV2,…,NVpにより書き込み回
路へ伝達する必要がある。したがって、第19図(a)の
エンコーダには第19図(c)に示したような入出力関係
を持たせればよい。このようなエンコーダは、容易に実
現できる。p=3のときの構成例を第19図(d)に示
す。本実施例は、p=3以外のときにも容易に拡張する
ことができる。
以上では、階層型のニューラルネットワークを例にと
って説明してきた。しかし本発明は、階層型のニューラ
ルネットワークに限定されるものではなく、これまで述
べてきた実施例を用いて他のタイプのネットワークにも
適用できる。第20図(a),(b)および、第21図
(a),(b)の実施例は、第5図(b)のアルゴリズ
ムによってホップフィールド型のネットワークによる情
報処理を実現するための実施例である。第20図(a)は
ニューロン出力値,結合重み値を表現するのに1つづつ
のメモリセルを用いて非同期型のホップフィールド型の
ネットワークを実現するための実施例である。第2図,
第3図を用いて説明したように階層型のニューラルネッ
トワークでもホップフィールド型のネットワークでも基
本的な演算法は同じである。ただし、ホップフィールド
型のネットワークでは自身を含めてすべてのニューロン
からのニューロン出力値を用いて演算を行なう。そこ
で、第20図(a)では、アレーA内の1本のワード線に
すべてのニューロン出力値を収納する。図に示したよう
にアレーBには、1つのニューロン出力値を計算するの
に必要な結合重み値が同じワード線上に並ぶように収納
する。ニューロン出力値の更新は、次のようにして行な
うことができる。例えば、ニューロン出力値V1を更新す
るには、アレーAのワード線WAとアレーBのj=1のワ
ード線を立ち上げる。この結果、新しいV1であるg(T
11V1+T12V2+…+T1nVn)が計算される。これをアレー
Aのワード線WA上のi=1の位置にあるメモリセルに書
き込めばよい。その他のニューロン出力値の更新も同様
であり、例えば、V4を更新するには、アレーAのワード
線WAとアレーBのj=4のワード線を立ち上げる。この
結果、新しいV4であるg(T41V1+T42V2+…+T4nVn
が計算される。これをアレーAのワード線WA上のi=4
の位置にあるメモリセルに書き込めばよい。このように
して所望の順番でニューロン出力値Viを更新していくこ
とによって非同期型のホップフィールド型ネットワーク
の演算を行なうことができる。同期型のホップフィール
ド型ネットワークの演算を行なうには、第20図(b)の
ようにアレーAにおいてワード線WA1上のメモルセルを
現在のニューロン出力値を記憶するために用いて、ワー
ド線WA2上のメモルセルを新しいニューロン出力値を記
憶するために用いれば容易に実現できる。まず、アレー
Aのワード線WA1とアレーBのj=1のワード線を立ち
上げる。この結果、新しいV1であるg(T11V1+T12V2
…+T1nVn)が計算される。これをアレーAのワード線W
A2上のi=1の位置にあるメモリセルに書き込めばよ
い。つづいて、ニューロン出力値V2,V3,…,Vnを更新し
てアレーAのワード線WA2上のメモリセルに書き込む。
すべてのニューロン出力値の更新が終わったところで今
度は、アレーAのワード線WA1とWA2の役割を変えて、ニ
ューロン出力値の計算時には、ワード線WA2を立ち上
げ、ニューロン出力値を収納するときにはワード線WA1
を立ち上げるようにしてニューロン出力値の更新を続け
る。以下、同様にしてアレーAのワード線WA1とWA2の役
割を変えながら処理を進める。このように第20図(b)
の実施例によれば、同期型のホップフィールド型ネット
ワークの演算を行なうことができる。
同様にしてニューロン出力値,結合重み値を表現する
のに複数のメモリセルを用いてホップフィールド型のネ
ットワークを実現することもできる。第21図(a)はニ
ューロン出力値,結合重み値を表現するのにそれぞれp
個,q個づつのメモリセルを等価に用いて非同期型のホッ
プフィールド型のネットワークを実現するための実施例
である。第20図(a)と同様に、アレーA内の1本のワ
ード線にすべてのニューロン出力値を収納する。ただ
し、p個のセルで1つのニューロン出力値を表してい
る。アレーBには、1つのニューロン出力値を計算する
のに必要な結合重み値がq個のセル毎に同じワード線上
に並ぶように収納する。ニューロン出力値の更新は、第
20図(a)の実施例と同様にすればよい。ただし、ニュ
ーロン出力値を表現するのにそれぞれp個づつのメモリ
セルを用いているので演算結果をp個のセルに並列に書
き込めるように、非線形関数回路Dの出力線をp本設け
てある。同期型ホップフィールドネットワークについて
も第20図(b)と同様にアレーAの2本のワード線を用
いれば第21図(b)のようにして容易に実現できる。同
様にして第10図(a)のようにニューロン出力値,結合
重み値を表現するのにそれぞれp個,q個づつのメモリセ
ルによる2進表現を用いて同期型、非同期型のホップフ
ィールド型のネットワークを実現することもできること
はもちろんである。
第8図(a)と第20図(a),(b)ならびに第9図
(a)と第21図(a),(b)とは基本的な構成は同一
である。したがって、第11図から第19図までの実施例を
用いれば、第20図(a),(b)および、第21図
(a),(b)の実施例による情報処理を容易に実現す
ることができる。なお、ホップフィールド型のネットワ
ークにおいては、ニューロン出力値の更新を続ける過程
において、エネルギーを最小とする状態でなく極小とす
る状態、所謂ローカルミニマムに落ちこんでニューロン
出力値が変化しなくなってしまうことがありうる。それ
を避けるにはよく知られている擬似焼き鈍し法を用いる
ことができる。ニューラルネットワーク情報処理(産業
図書、麻生英樹著)122ページに述べられているよう
に、擬似焼き鈍し法を実現するために非線形関数の形を
徐々に変えるという方法が、知られている。本発明によ
れば特性の異なる非線形関数回路Dを複数設けて切り替
えたり、あるいは、外部より非線形関数回路Dの特性を
コントロールするなどによって容易に上記の方法が実現
できる。
これまでは、主に階層型、あるいはホップフィールド
型ネットワークにおいてニューロン出力値,結合重み値
を正の数として扱う例を述べてきたが、応用対象によっ
てはこれらの両方あるいは片方が正の値も負の値も取り
得るとした方が便利な場合もある。そのような場合にも
本発明は容易に適用できる。第22図はニューロン出力
値、結合重み値ともに正,負の値を取ることができるよ
うに構成した本発明の1実施例である。第22図において
ニューロン出力値はメモリセルアレーA,結合重み値はメ
モリセルアレーBに蓄えられている。それぞれの値は絶
対値の大きさを表すpあるいはqビットと符号を表す1
ビットにより表されている。符号を表す(以下、符号ビ
ット)は、“1"で正“0"で負を表す。これまで述べてき
たのと同様の方法で読出されたニューロン出力値と結合
重み値のうち絶対値の大きさを表すpあるいはqビット
の部分は加算器、a1,…,anおよびb1,…,bnに入力され、
アナログ値となって乗算器m1,…,mnに入力される。な
お、ニューロン出力値、結合重み値を2進表現で表すと
きには、上記の加算器a1,…,anおよびb1,…,bnに入力さ
れる各々p,qビットのデータを第10図に示したのと同じ
ように重み付けして入力すればよい。一方、符号ビット
は、第22図に示したように排他的OR(エクスクルーシブ
オア)回路EOR1,…,EORnに入力される。符号ビットが一
致しない場合、すなわち乗算の結果が負のときには上記
排他的OR回路の出力は高レベルとなり、一致した場合す
なわち、乗算の結果が正のときには上記排他的OR回路の
出力は低レベルとなる。スイッチSW1,…,SWnは、排他的
OR回路の出力が低レベルの時には乗算器の出力を加算器
c1,…,cnに、高レベルのときには乗算器の出力を加算器
c1′,…,cn′に伝えるように動作する。この結果、積
和出力線NOには、乗算の結果が正のものの総計が、積和
出力線NO′には、乗算の結果が負のものの総計が出力さ
れる。非線形回路Dでは積和出力線NOと積和出力線NO′
との信号の差をpビットのデジタル値に変換してバスAB
Sに、積和出力線NOと積和出力線NO′との信号の大小で
符号ビットを決定してバスSIGNへ出力する。なお、ニュ
ーロン出力値の表現にあわせて第9図、あるいは第10図
に示したような非線形特性を持たせることは、これまで
述べたのと同様な方法で容易に実現できる。本実施例に
よれば、ニューロン出力値、結合重み値ともに正,負の
値をとることができる。したがって、情報処理の適用範
囲が広がるという利点がある。ここでは、ニューロン出
力値,結合重み値ともに正,負の値をとるようにした
が、どちらか片方のみを正の値に限るなどの変形は容易
に実現できる。
これまでは、演算回路としてニューロン出力値を計算
するのに必要な積和機能と非線形関数回路を実現する実
施例を説明してきた。しかし、演算回路にさらに他の演
算を行なう回路を追加することもできる。たとえば、本
発明による情報処理装置は階層型ネットワークを用いた
音声認識,文字認識など入力されたパターンをいくつか
の組に分けるような所謂クラス分け問題に適用すること
ができる。このような場合には前記したように演算回路
内に比較器があると便利である。クラス分け問題では、
入力されたパターンが、明らかにあるクラスに分類され
る場合には、出力としてクラスに対応する期待値を得る
ことができる。しかし、入力されたパターンが、複数の
いずれかのクラスに分類されるか微妙な場合には、複数
のクラスの期待値の中間的なものとなることがある。例
えば、音声認識において入力された音声が‘K'のときに
は、符号化して入力層に与えた音声波形に対して出力層
に1111というニューロン出力値(期待値)が得られるよ
うに、また、入力が‘C'のときには、0000という出力値
(期待値)を出すように結合重み値を設定した場合に、
‘K'、‘C'の中間的な音声波形が与えられると出力層の
ニューロン出力値は、0001とか1110など中間的な値を出
すことがある。このような場合には出力層のニューロン
出力値と‘K'に対する期待値1111あるいは‘C'に対する
期待値0000との距離が入力音声の‘K'あるいは‘C'に対
する近さを与える尺度と解釈することができる。したが
って、演算回路に出力層のニューロン出力値とクラスの
期待値を比較する回路を設けて出力結果と期待値の距離
を求める機能がある便利である。
第23図は1つの半導体チップにニューロン出力値と期
待値の比較を行なう演算回路12aと、ニューロン出力値
を計算するための演算回路12bとを集積した1実施例で
ある。第23図において、期待値はメモリ回路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が低レベ
ルで比較モードなどとすればよい。なお、第23図では、
メモリ回路を3つに、演算回路を2つに分けたが、これ
らはチップ上に混在して構成しても良いことはもちろん
である。以上述べたように本実施例によればニューロン
出力値と期待値との距離を高速に求めることができる。
このため、階層型ネットワークを用いたパターン認識な
どのようにニューロン出力値と各期待値とを比較してそ
の距離を求める必要がある場合に情報処理速度を上げる
ことができる。
第24図は、第23図の演算回路12aの1実施例であり、
出力層のニューロン出力値と期待値を比較してそのハミ
ング距離の大きさを計算する回路である。以下では第23
図のメモリ回路TG,Aは第11図,第16図あるいは第18図の
ようにデータ線対にメモリセルの情報が読出される形式
のものであり、それぞれアレーTG,アレーAを有してい
るとする。第24図は、比較器CMPと比較結果変換回路COM
POUTより構成されている。比較器CMPは並列に設けた比
較回路CMPUと負荷抵抗RCMPより構成され比較結果変換回
路COMPOUTは差動アンプAMP211,AMP212,…,AMP21Zより構
成されている。比較器CMPには、アレーTGのデータ線DTG
1,/DTG1,…,DTGr,/DTGrおよびアレーAのデータ線DA1,/
DA1,…,DAr,/DArが入力されている。ここでrは1本の
ワード線上のメモリセルの数で、ニューロン出力値を1
ビットで表すときにはn,pビットで表すときにはnとp
の積に等しい。本実施例によれば、アレーTGのデータ線
DTG1,/DTG1,…,DTGr,/DTGr上に読出した情報とアレーA
のデータ線DA1,/DA1,…,DAr,/DAr上に読出した情報との
ハミング距離を計算することができる。本実施例の動作
は、以下の通りである。まず、あらかじめクリア信号Φ
を立ち上げMOSトランジスタQ216をオンさせて、MOSト
ランジスタQ215のゲート電圧を立ち下げておく。クリア
信号Φを立ち下げてデータ線に信号が読出されデータ
線電位がVccあるいは0Vになった後、比較器起動信号Φ
CMPにより比較器を起動する。すると比較回路に入力さ
れたデータ線(DTG1,DA1),(DTG2,DA2),…,(DTG
r,DAr)のそれぞれの組で排他的オア(EXCLUSIVE−OR)
の論理がとられる。その結果、アレーTG側のデータ線と
A側のデータ線とで情報が一致している場合にはMOSト
ランジスタQ215のゲートが低電位のままであるが、一致
していない場合には高電位に遷移する。このため、アレ
ーTG側のデータ線とA側のデータ線とで情報が一致しな
い比較器CMPUではMOSトランジスタQ215がオンする。こ
の結果、データ線(DTG1,DA1),(DTG2,DA2),…,
(DTGr,DAr)のそれぞれの組で不一致の数が多いほど電
源VCMPから負荷抵抗RCMPを通じて接地電極へ向けて電流
が流れる。そのため、比較線COの電位は一致しないもの
が多いほど低下する。比較線COは、比較結果変換回路CO
MPOUTに設けられた差動アンプAMP211,AMP212,…,AMP21Z
に接続されている。これらの差動アンプの参照電圧VRC
1,VRC2,…,VRCZを適当な値に設定しておけば、比較線CO
の電位低下が大きいほど比較結果出力線DCO1,DCO2,…,D
COZのうち高電位になる本数が増加する。すなわち、比
較結果変換回路COMPOUTは1種のAD変換器として動作す
る。このように第24図の実施例によればアレーTGの複数
のデータ線に読出された情報とアレーAの複数のデータ
線に読出された情報を比較してそのハミング距離の大き
さを求めることができる。したがって、アレーTGとアレ
ーAで1本ずつワード線を選択すれば、選択されたワー
ド線上のメモリセルに記憶された情報同土を比較するこ
とができる。このため各期待値をそれぞれアレーTGのワ
ード線上のメモリセルに記憶しておけば、アレーAの1
本のワード線上のメモリセルに記憶されたニューロン出
力値と比較して、そのニューロン出力値がどの期待値に
どのくらい近いのか知ることができる。したがって、得
られたニューロン出力値がクラスに対応する期待値と一
致しないような場合でも高速にどのクラスにどのくらい
近いのか知ることができる。
なお、第24図の実施例において比較結果出力線に出力
された結果は、比較の度に入出力回路を通じてチップ外
へ出力してもよいし、メモリ回路TGの容量を期待値を記
憶するのに必要な量よりも大きくとっておき、そこに書
き込んでおいて、まとめて出力してもよい。
最後にレジスタを用いて本発明の装置をさらに高速化
する実施例について述べる。これまで述べてきたように
本発明では、ニューロン出力値を計算するのに、必要な
データをメモリ回路から読出し、演算回路でニューロン
出力値を求め、その結果を再びメモリ回路へ書き込むと
いう動作を続ける。すなわち、1回の演算モード(ニュ
ーロン出力値演算モード)サイクルは読出し動作と書込
み動作よりなり、書込み動作中には演算回路が休止して
いることになる。したがって、演算回路が休止している
時間を短くすれば、より一層の演算モードの高速化を図
ることができる。第25図は上記の観点に基づいて演算モ
ードの高速化を図った1実施例である。第25図は第7図
の実施例にレジスタ14とスイッチSW1,…,SWrとを付加し
たものである。第25図の実施例によれば第5図のアルゴ
リズムを用いて高速にニューロ出力値を計算することが
出来る。以下では、階層型のネットワークを例にとって
説明を行うが、ホップフィールド型ネットワークにおい
ても同様の効果がある。第25図の実施例では第s層の第
1ニューロンの出力値を計算するにのに、メモリセルア
レーAのワード線を1本立ち上げて第s−1層のニュー
ロン出力値を読出し、スイッチSW1,…,SWrを閉じて第s
−1層のニューロン出力値をレジスタ14に書き込み、ス
イッチSW1,…,SWrを開ける。次に、メモリセルアレー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層のニューロン出力値を読出し、スイ
ッチSW1,…,SWrを閉じて第s層のニューロン出力値をレ
ジスタ14に書き込み、以下同様にして計算を進める。以
上のように本実施例によれば、レジスタ14を設けたこと
により書込みと読出しとを同時に行う事ができるため、
高速の動作を実現する。
これまでは、本発明を用いておもにニューロン出力値
を計算する方法について説明し、必要な結合重み値は、
すでに与えられていると仮定してきた。必要な結合重み
値は、課題によっては、初めから容易に与えられること
もあるが、所謂学習によって求める必要のあることもあ
る。たとえば、バックプロパゲーションとよばれる階層
型のネットワークのための学習では、あらかじめ入力層
のニューロン出力値(テストパターン)をいくつか用意
しておき、そのテストパターンに対して所望のニューロ
ン出力値が出力層に得られるような結合重み値を求める
ことができる。また、ニューラルネットワーク情報処理
(産業図書、麻生英樹著)第2章に記載されているよう
にホップフィールド型のネットワークでもニューロン出
力値の平衡状態が所望の状態になるように結合重み値を
設定する学習アルゴリズムが知られている。そのような
学習を本発明に応用するには、次のように3つの方法が
ある。第1の方法は、外部の計算機を用いて学習を行
い、得られた結合重み値を本発明による情報処理装置に
書込む方法である。この方法では、学習をソフトウエア
で行うこともできるため学習アルゴリズムの変更が容易
にできるという利点があるが、学習速度を上げることが
困難である。第2の方法は本発明による装置の演算回路
に学習のための演算機能を設けておき、オンチップで学
習を行う方法である。この方法では、高速に学習を行う
ことができるが学習に必要な回路をすべて同一チップ上
に集積するのは困難な場合がある。第3の方法は第1の
方法と第2の方法の中間的なもので、学習に必要な演算
の1部を本発明の装置で行い、外部の計算機で学習に必
要な演算の残りの部分を行う方法である。この方法は、
第1の方法に比べて学習速度を上げることができ、本発
明の装置の演算回路を単純に構成できるという利点があ
る。以下では、この第3の方法について具体的に述べ
る。なお、学習法としては階層型ネットワークにおける
バックプロパゲーション法を例に採る。バックプロパゲ
ーション法(以下、BP法と記す。)では、以下の式にし
たがって結合重み値の更新を行う。
TS i j=TS i j+εdjSViS-1 …(1) djm=(tj−Vjm)g′(Ujm) …(2) djS=g′(UjS)Σ(TS+1 i jdiS+1) …(3) (s=m−1,…,2) ここで、εは小さな正の数、tjは最終層のニューロン
出力値Vjmの目標値、g′は非線形関数gの導関数、UjS
は第s層第jニューロンにおいて非線形関数gを通す前
の量で次式で定義される。
UjS=Σ(TS-1 j iViS-1+ΘjS) …(4) 結合重み値の更新は、学習用の入力データ毎に上記の
式(1)から(4)により更新量を求めて更新してもよ
いし、学習用の入力データのすべてについて更新量を総
計してそれを用いて更新を行ってもよい。また、(1)
式に慣性項といわれる次項を足して更新を行ってもよ
い。
μΔTS i j′ …(5) ここで、μは小さな正の定数、ΔTS i j′は前回の更
新時の修正量である。学習は、最終層のニューロン出力
値とその目標値との誤差が十分小さくなるまで続ける。
上記の学習は以下のようにして第23図に示した実施例
と外部の計算機とにより実行することができる。以下で
は、入力データすべての更新量の総計により更新する場
合にについて説明するが、入力データ毎に結合重みを更
新する場合についてについても同様である。なお、以下
では、3層のネットワークについて説明を行うが3層以
上の場合についても同様である。
まず、すべての学習用の入力データとその目標値とを
それぞれメモリ回路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)
式に従って加算すればよい。
上記の更新を繰返し行なって学習を進めることができ
る。学習の進み具合を知るには、各入力データに対する
最終層のニューロン出力値とその期待値との距離を目安
にすることができる。この距離は第24図の実施例を用い
れば高速に計算することができる。このため、学習時に
その進行具合を確かめることが容易にできる。
以上説明したように、本発明によれば、学習用の入力
データに対するニューロン出力値の計算を本発明の装置
内で高速に行なうことができる。また、本発明ではメモ
リ回路TG,A,Bにメモリアレーよりなるメモリ装置を用い
ているので。すべての入力データ,期待値,前層のニュ
ーロン出力値などを容易に収納できまた、ワード線を立
ち上げることにより並列に多数のビットを読みだすこと
ができる。このため、外部メモリへの情報の転送をまと
めて高速に行なうことができる。このため、学習を高速
に進めることができる。
本発明ではメモリ回路の容量を十分に大きくしておけ
ば、ニューロン数を用途に応じて変えることも容易にで
きる。この場合、ニューロン数を大きく変えると非線形
関数回路のダイナミックレンジを変える必要が生じるこ
とがある。この場合には特性の異なる非線形関数回路を
複数設けて切り替えて使ったり、あるいは、非線形関数
回路内のアンプの参照電圧を切り替えて使うこともでき
る。階層型ネットワークで層ごとのニューロン数が異な
る場合にも層ごとに非線形関数回路のダイナミックレン
ジを変える必要が生じることがある。この場合にも同様
の方法で対処できる。
なお、これまでは、主にいわゆる1トランジスタ1キ
ャパシタのDRAMセルや第16図(a),(b)に示したよ
うなSRAMセルを用いた実施例を示したが、その他のメモ
リセルを本発明に用いることももちろんできる。たとえ
ば、結合重み値を記憶する部分などは情報処理時には頻
繁に書き替える必要がないので不揮発性のメモリセル
を、ニューロン出力値を記憶する部分にはDRAMセルやSR
AMセルを用いるなどメモリの内容によりセルの種類を変
えることもできる。
1トランジスタ1キャパシタのDRAMセルなどの微小な
メモリセルを用いてメモリ回路を高集積化すると、微小
な配線を用いるためにときには1部のメモリセルが動作
しないことがある。ニューラルネットワークは、結合重
み値を多少変えても機能への影響が少ないという特長を
持つが、ニューロン出力値を蓄えるメモリセルが動作し
ないような場合には情報処理に支障を来すことがある。
このような問題を避けるには、通常の高集積半導体メモ
リで使われているような冗長ワード線あるいは、データ
線を設けておいて欠陥のあるセルを使わないようにする
こともできる。
また、第14図(a),(e),(f),第18図(d)
などでは、バイポーラトランジスタを用いたがCMOSでも
実現できる。さらに、バイポーラトランジスタ,MOSトラ
ンジスタに限らず本発明を他のデバイスで実現してもよ
いことはもちろんである。
これまで、主に階層型とホップフィールド型のネット
ワークを例にとり説明してきたが、本発明はこれらに限
定されることなく様々な型のネットワークによるニュー
ラルネットワーク情報処理に適用できる。たとえば、ボ
ルツマンマシンのようなニューロン出力値の更新が確率
的に行なわれるようなネットワークも実現できる。ニュ
ーラルネットワーク情報処理(産業図書、麻生英樹著)
第27ページに説明されているように、ボルツマンマシン
は、ネットワークの形状はホップフィールド型のネット
ワークと同様であるが、ニューロン出力値(0または
1)が、ニューロンに入力されるニューロン出力値と結
合重み値の他の積和によって一意に決まらず、確率的に
決まるという特長を持っている。ニューロン出力値が1
となる確率Pは、 P=1/(1+exp(−I/T)) と表せられる。ここで、Iはニューロンに入力されるニ
ューロン出力値と結合重み値の積和で、Tは温度とよば
れるパラメータである。本発明により上記のボルツマン
マシンは容易に実現できる。例えば、第18図(d)に示
した非線形回路Dの参照電圧VRxを定常値でなく積和出
力線NOの変動範囲で時間的に変化させればよい。このよ
うにするとニューロン出力値を確率的に決めることがで
きる。変化の速度を変えることにより温度Tを変化する
のと同様の効果を得ることができる。
さらに、第8図(a)と第20図(a),(b)とを較
べると明らかなようにメモリ回路の容量が十分あればニ
ューロン出力値,結合重み値を記憶するメモリセルのア
ドレスを変更するだけで様々な型のネットワークを同一
の装置で実現できる。したがって、本発明は、高い汎用
性を持つ。
以上では、ニューラルネットワーク情報処理への応用
について説明したが、本発明はそれに限定されることは
なく、同様の演算機能を持つ多数の演算要素をネットワ
ーク状に接続して情報処理を行なうような装置ならば高
い集積度で実現することができることはもちろんであ
る。
これまで示した実施例においては、演算回路としてア
ナログ演算を行なうものを主に示してきた。アナログ演
算回路は、高速で、回路規模も小さいという利点をも
つ。しかし、本発明は、これに限定されることなく、発
明の主旨を変えることなくデジタル演算回路を用いるこ
ともできる。その場合にはデジタル演算回路のため、高
精度の計算を行なうことができる。
〔発明の効果〕
以上述べてきたように、本発明によればメモリ回路と
演算回路を組合せ、演算回路により並列演算を行なうこ
とにより、比較的単純な演算を行なう演算器が多数ネッ
トワーク状に接続されたニューラルネットワークなどの
並列分散処理装置と同様な情報処理を行なう装置を速度
の犠牲を大きくすることなく、高集積に実現することが
できる。
【図面の簡単な説明】
第1図は本発明による情報処理装置を半導体チップ上に
実現する場合の構成を示した1実施例。 第2図(a),(b)は、階層型ニューラルネットワー
クの原理を示した図。 第2図(c),(d)は、非線形関数回路Dの特性の例
を示した図。 第3図(a),(b)は、ホップフィールド型ニューラ
ルネットワークの原理を示した図。 第4図は複数のチップを用いた従来のニューラルネット
ワーク情報処理装置の例。 第5図(a),(b)は、それぞれ階層型ニューラルネ
ットワークとホップフィールド型ニューラルネットワー
クについて演算を並列に行なう方法の1実施例。 第6図(a),(b)は、それぞれ階層型ニューラルネ
ットワークとホップフィールド型ニューラルネットワー
クについて演算を並列に行なう方法の第2の実施例。 第7図(a)は1本のワード線を選択することにより多
数の情報をデータ線上に読み出すことのできるメモリア
レーを用いて本発明による情報処理装置を実現する場合
の構成を示した1実施例。 第7図(b)は1本のワード線を選択することにより多
数の情報をデータ線上に読み出すことのできるメモリア
レーを2つ用いて本発明による情報処理装置を実現する
場合の構成を示した1実施例。 第8図(a)は第7図(b)の実施例を用いて階層型ニ
ューラルネットワークを実現する場合のニューロン出力
値,結合重み値とメモリセルとの対応関係を示した1実
施例でニューロン出力値,結合重み値を1つづつのメモ
リセルで表現した実施例。 第8図(b)は第8図(a)の実施例においてメモリセ
ルに2値のものを用いる場合に好適な非線形関数回路D
の特性を示した1実施例。 第8図(c)は第8図(a)の実施例においてメモリセ
ルに4値のものを用いる場合に好適な非線形関数回路D
の特性を示した1実施例。 第8図(d)は第8図(a)の実施例において演算モー
ドでのワード線およびメモリセルの選択の方法を示した
1実施例。 第9図(a)は第7図(b)の実施例を用いて階層型ニ
ューラルネットワークを実現する場合のニューロン出力
値,結合重み値とメモリセルとの対応関係を示した第2
の実施例でありニューロン出力値,結合重み値を複数の
メモリセルで表現した実施例。 第9図(b)は第9図(a)の実施例においてニューロ
ン出力値,結合重み値を複数のメモリセルで等価的に表
現する場合に好適な非線形関数回路Dの特性を示した1
実施例。 第9図(c)は非線形関数回路Dにシグモイド状の特性
を持たせるための第9図(b)のXth1,…,Xthpの設定法
を示した1実施例。 第10図(a)は第7図(b)の実施例を用いる階層型ニ
ューラルネットワークを実現する場合のニューロン出力
値,結合重み値とメモリセルとの対応関係を示した第3
の実施例でありニューロン出力値、結合重み値を複数の
メモリセルで2進表示により表現した実施例。 第10図(b)は第10図(a)の実施例においてニューロ
ン出力値,結合重み値を複数のメモリセルで2進表示に
より表現した場合に好適な非線形関数回路Dの特性を示
した1実施例。 第11図は第8図(a)の実施例においてメモリセルにDR
AMセルを用いた場合の1実施例。 第12図は動作モードと外部信号との関係を示した1実施
例。 第13図(a)は第11図の実施例のメモリモードにおける
動作波形の1実施例。 第13図(b)は第11図の実施例の演算モードにおける動
作波形の1実施例。 第14図(a)は第11図などの実施例に好適な非線形関数
回路Dの1実施例。 第14図(b)は第14図(a)の非線形関数回路Dの特性
を示した1実施例。 第14図(c)は第11図などの実施例に好適な入出力回路
IOの1実施例。 第14図(d)は第14図(a)の非線形関数回路と第14図
(c)の書き込み回路を用いた場合の積和出力線NOと書
込み線IAの電位関係を示した1実施例。 第14図(e)は第11図などの実施例に好適な読出し回路
OUTの1実施例。 第14図(f)は第14図(e)の読出し回路OUTの実施例
に好適な読出しラッチ回路OUTLTの1実施例。 第15図は、第11図内の乗算回路MTの第2の実施例。 第16図(a),(b)はSRAMセルの例。 第16図(c)は第8図(a)の実施例においてメモリセ
ルに第16図(a),(b)などのSRAMセルを用いた場合
の1実施例。 第17図(a)は第16図(c)の実施例のメモリモードに
おける動作波形の1実施例。 第17図(b)は第16図(c)の実施例の演算モードにお
ける動作波形の1実施例。 第18図(a)は第9図(a)の実施例あるいは第10図
(a)の実施例においてメモリセルにDRAMセルを用いた
場合の1実施例。 第18図(b)は第18図(a)の実施例におけるブロック
BLK1構成の1実施例。 第18図(c)は第18図(a)の実施例におけるブロック
BLK2と非線形関数回路D10の構成の1実施例。 第18図(d)は第18図(c)の実施例における非線形
関数回路D10を構成する個々の非線形関数回路DSx(x=
1,2,…,p)の構成の1実施例。 第18図(e)は第18図(c)の実施例における非線形関
数回路D10を構成する個々の非線形関数回路DSx(x=1,
2,…,p)の特性の1実施例。 第19図(a)は第18図(a)の実施例においてニューロ
ン出力値,結合重み値を複数のメモリセルで2進表示に
より表現した場合に好適な非線形関数回路D10の構成を
示す1実施例。 第19図(b)は第18図(a)の実施例における非線形関
数回路DSx(x=1,2,…,z)の特性の1実施例。 第19図(c)は第19図(a)の実施例におけるエンコー
ダの特性の1実施例。 第19図(d)は第19図(a)の実施例におけるエンコー
ダの構成の1実施例。 第20図(a)は第7図(b)の実施例を用いて非同期的
なホップフィールド型ニューラルネットワークを実現す
る場合のニューロン出力値,結合重み値とメモリセルと
の対応関係を示した1実施例で、ニューロン出力値,結
合重み値を1つづつのメモリセルで表現した実施例。 第20図(b)は第7図(b)の実施例を用いて同期的な
ホップフィールド型ニューラルネットワークを実現する
場合のニューロン出力値,結合重み値とメモリセルとの
対応関係を示した1実施例で、ニューロン出力値,結合
重み値を1つづつのメモリセルで表現した実施例。 第21図(a)は第7図(b)の実施例を用いて非同期的
なホップフィールド型ニューラルネットワークを実現す
る場合のニューロン出力値,結合重み値とメモリセルと
の対応関係を示した1実施例で、ニューロン出力値,結
合重み値を複数のメモリセルで表現した実施例。 第21図(b)は第7図(b)の実施例を用いて同期的な
ホップフィールド型ニューラルネットワークを実現する
場合のニューロン出力値,結合重み値とメモリセルとの
対応関係を示した1実施例で、ニューロン出力値,結合
重み値を複数のメモリセルで表現した実施例。 第22図は符号ビット用いてニューロン出力値,結合重み
値に正負両方の値を取ることができるようにする場合の
1実施例。 第23図はニューロン出力値と期待値の比較を行なう機能
を本発明による装置に持たせた場合の1実施例。 第24図はメモリセルアレーTGとメモリセルアレーAの複
数のデータ線対に読出された情報を比較してその一致の
程度を計算する比較回路の1実施例。 第25図はレジスタを設けてニューロン出力値の更新の高
速化を図った1実施例。 A,B,TG……メモリ回路、D……非線形関数回路、12,12
a,12b……演算回路、OUT……読みだし回路、m1,m2,……
乗算器、a1,a2,……加算器、b1,b2,……加算器、c1,c2,
……加算器、c1′,c2′,……加算器、SW1,SW2,……ス
イッチ、WR……書き込み回路、NE……演算回路制御信
号、ViS,Vi……ニューロン出力値、Tij,Ti l j……結合重
み値、PR……プリチャージ回路、SA……センスアンプ、
RSA……読み出しセンスアンプ、WS……書き込みスイッ
チ、MT……乗算器、LAT……ラッチ回路、OUTLT……読み
出しラッチ回路、NO……積和出力線、NV……非線形関数
回路出力線、WAi,WBi,j……ワード線、DAi,/DAi……デ
ータ線、DBi,/DBi……データ線、DTGi,/DTGi……データ
線、IA,IA……書込み線、IB,IB……書込み線、OA,OA…
…読み出し線、OB,OB……読み出し線、DI……書込みデ
ータ、DO……読み出しデータ、Φ……ラッチ信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 川尻 良樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平1−128296(JP,A) 特開 昭62−46486(JP,A) 特開 平1−159890(JP,A) 特開 平1−271888(JP,A) 特開 昭58−215813(JP,A) 特開 昭63−244268(JP,A) 特開 昭61−39157(JP,A) 特開 昭62−172431(JP,A) 特開 昭62−271185(JP,A) Paulos,J.J.;Holli s,P.W.,Neural netw orks using analog multipliers,Proc.o f IEEE Int.Symp.on Circuits and Syst ems,米国,1988年,vol.1,p p.499−502,INSPEC Acce ssion Number:3317043 (58)調査した分野(Int.Cl.7,DB名) G06N 1/00 - 7/00 G06F 17/10 G06F 17/16 G11C 5/00 - 27/00 G06F 12/00 G06F 12/16 G06F 11/10 G06F 7/60 - 7/62 G06G 7/14 - 7/16 G06J 1/00 - 3/00 CSDB(日本国特許庁) JICSTファイル(JOIS) Ieeexplore(http://i eeexplore.ieee.org /)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】n個の第1データ線群と複数の第1ワード
    線の交点に設けられた複数の第1メモリセルを含む第1
    メモリセルアレーと、 n個の第2データ線群に交差するn本の第2ワード線の
    交点に設けられた複数の第2メモリセルを含み、前記複
    数の第2メモリセルにn行n列の重み値を記憶するため
    の第2メモリセルアレーと、 前記第1データ線群は複数の第1データ線を含むもので
    あって、それぞれが前記n個の第1データ線群の1つと
    結合され、1個の当該第1データ線群内において複数の
    第1データ線から出力される複数のデータを加算してそ
    の加算結果を出力するためのn個の第1加算器と、 前記第2データ線群は複数の第2データ線を含むもので
    あって、それぞれが前記n個の第2データ線群の1つと
    結合され、1個の当該第2データ線群内において複数の
    第2データ線から出力される複数のデータを加算してそ
    の加算結果を出力するためのn個の第2加算器と、 それぞれが前記n個の第1加算器の一つと前記n個の第
    2加算器の一つと結合され、前記n個の第1加算器の一
    つから出力される加算結果と前記n個の第2加算器の一
    つから出力される加算結果との積をそれぞれに計算する
    ためのn個の乗算器と、 前記n個の乗算器から出力されるn個の乗算結果の和を
    計算するための第3加算器と、 前記第3加算器の計算結果を受けて、その計算結果に基
    づく値を前記第1メモリセルアレーの前記複数のワード
    線の1つと前記n個の第1データ線群の1つによって選
    ばれる前記複数の第1メモリセルに書き込むための手段
    とを有することを特徴とする情報処理装置。
  2. 【請求項2】請求項1において、 前記情報処理装置は、前記第3加算器の計算結果を受け
    て、前記第1メモリセルアレーの前記複数の第1ワード
    線の1つと前記n個の第1データ線群の1つによって選
    ばれる前記複数の第1メモリセルのビット数で表される
    値に変換するための手段を更に有することを特徴とする
    情報処理装置。
  3. 【請求項3】請求項1または2において、 上記第1メモリセルアレーの前記複数の第1ワード線の
    一つと上記第2メモリセルアレーの前記複数の第2ワー
    ド線の一つとは重複して選択される期間を有し、前記n
    個の第1加算器の計算結果と、n個の第2加算器の計算
    結果とが前記n個の乗算器に並列して供給される期間を
    有することを特徴とする情報処理装置。
  4. 【請求項4】請求項1から3のいずれかににおいて、 前記第1メモリセルアレーと第2メモリセルアレーと
    は、前記n個の第1加算機、前記n個の前記n個の乗算
    器、及び前記n個の第2加算器を挟んで配置されること
    を特徴とする情報処理装置。
  5. 【請求項5】請求項1から4のいずれかにおいて、 前記複数の第1及び第2メモリセルのそれぞれは一つの
    MOSトランジスタと一つの容量を含み、0または1の1
    ビットを記憶するものであることを特徴とする情報処理
    装置。
  6. 【請求項6】請求項1から5のいずれかにおいて、 上記情報処理装置は1つの半導体チップ上に形成される
    ことを特徴とする情報処理装置。
JP11982890A 1990-01-24 1990-05-11 情報処理装置 Expired - Fee Related JP3260357B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP11982890A JP3260357B2 (ja) 1990-01-24 1990-05-11 情報処理装置
US07/634,046 US5165009A (en) 1990-01-24 1990-12-26 Neural network processing system using semiconductor memories
DE69028617T DE69028617T2 (de) 1990-01-24 1990-12-28 Halbleiterspeicher benutzendes neuronales Netzwerk
EP90125680A EP0438800B1 (en) 1990-01-24 1990-12-28 Neural network processing system using semiconductor memories
KR1019910001014A KR0178878B1 (ko) 1990-01-24 1991-01-22 반도체 메모리를 사용한 정보처리 시스템
US07/938,755 US5426757A (en) 1990-01-24 1992-09-01 Data processing circuits in a neural network for processing first data stored in local register simultaneous with second data from a memory
US08/369,163 US5594916A (en) 1990-01-24 1995-01-04 Neural network processing system using semiconductor memories and processing paired data in parallel
US08/723,012 US5875347A (en) 1990-01-24 1996-09-30 Neural network processing system using semiconductor memories
US09/198,658 US6205556B1 (en) 1990-01-24 1998-11-24 Semiconductor integrated circuit device comprising a memory array and a processing circuit
US09/739,758 US7043466B2 (en) 1990-01-24 2000-12-20 Neural network processing system using semiconductor memories

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-12538 1990-01-24
JP1253890 1990-01-24
JP11982890A JP3260357B2 (ja) 1990-01-24 1990-05-11 情報処理装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP9119083A Division JPH1091605A (ja) 1997-05-09 1997-05-09 情報処理装置
JP9119082A Division JPH1074187A (ja) 1997-05-09 1997-05-09 情報処理装置
JP2001220831A Division JP3353786B2 (ja) 1990-01-24 2001-07-23 情報処理装置

Publications (2)

Publication Number Publication Date
JPH03250244A JPH03250244A (ja) 1991-11-08
JP3260357B2 true JP3260357B2 (ja) 2002-02-25

Family

ID=26348168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11982890A Expired - Fee Related JP3260357B2 (ja) 1990-01-24 1990-05-11 情報処理装置

Country Status (5)

Country Link
US (6) US5165009A (ja)
EP (1) EP0438800B1 (ja)
JP (1) JP3260357B2 (ja)
KR (1) KR0178878B1 (ja)
DE (1) DE69028617T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463912B1 (en) 1998-04-22 2002-10-15 Toyota Jidosha Kabushiki Kaisha Intake air volume detection device for internal combustion engine
JP2019109887A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置及びその動作方法並びにメモリシステム

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9113553D0 (en) * 1991-06-21 1991-08-14 Univ London Neural network architecture
EP0591279A1 (en) * 1991-06-21 1994-04-13 University College London Devices for use in neural processing
US5636327A (en) * 1991-09-18 1997-06-03 Matsushita Electric Industrial Co., Ltd. Neural network circuit
US5278945A (en) * 1992-01-10 1994-01-11 American Neuralogical, Inc. Neural processor apparatus
WO1993021598A1 (en) * 1992-04-09 1993-10-28 Omron Corporation Neural network/fuzzy conversion device
EP0566015A3 (en) * 1992-04-14 1994-07-06 Eastman Kodak Co Neural network optical character recognition system and method for classifying characters in amoving web
US5256911A (en) * 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
EP0654158A4 (en) * 1992-08-05 1996-03-27 Sarnoff David Res Center MASSIVE PARALLEL COMPUTER DEVICE.
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5579527A (en) * 1992-08-05 1996-11-26 David Sarnoff Research Center Apparatus for alternately activating a multiplier and a match unit
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5479574A (en) * 1993-04-01 1995-12-26 Nestor, Inc. Method and apparatus for adaptive classification
DE4316533C2 (de) * 1993-05-18 1997-09-18 Bodenseewerk Geraetetech Neuronales Netz für dynamische Prozesse
JP3345478B2 (ja) * 1993-09-20 2002-11-18 株式会社東芝 ニューラルネットワーク装置およびその学習方法
US5603046A (en) * 1993-11-02 1997-02-11 Motorola Inc. Method for complex data movement in a multi-processor data processing system
US5548771A (en) * 1993-11-02 1996-08-20 Motorola Inc. Multi-processor data processing system having multiple ports coupled to multiple interface circuits
US6335878B1 (en) * 1998-07-28 2002-01-01 Hitachi, Ltd. Non-volatile multi-level semiconductor flash memory device and method of driving same
US6665639B2 (en) * 1996-12-06 2003-12-16 Sensory, Inc. Speech recognition in consumer electronic products
US6041322A (en) * 1997-04-18 2000-03-21 Industrial Technology Research Institute Method and apparatus for processing data in a neural network
WO1999033019A1 (en) * 1997-12-19 1999-07-01 Bae Systems Plc Neural networks and neural memory
US6523018B1 (en) * 1998-12-29 2003-02-18 International Business Machines Corporation Neural chip architecture and neural networks incorporated therein
US6502083B1 (en) * 1998-12-29 2002-12-31 International Business Machines Corporation Neuron architecture having a dual structure and neural networks incorporating the same
JP2001155486A (ja) * 1999-11-25 2001-06-08 Nec Corp 半導体スタティックメモリ
US6424961B1 (en) * 1999-12-06 2002-07-23 AYALA FRANCISCO JOSé Adaptive neural learning system
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
FI113714B (fi) * 2000-12-28 2004-05-31 Ari Paasio Prosessori, piiri ja menetelmä kuvien käsittelemiseksi rinnakkaisprosessoriverkossa
US6754645B2 (en) * 2001-03-20 2004-06-22 Winbond Electronics Corp. Voltage-mode pulse width modulation VLSI implementation of neural networks
US6999952B1 (en) * 2001-04-18 2006-02-14 Cisco Technology, Inc. Linear associative memory-based hardware architecture for fault tolerant ASIC/FPGA work-around
US7293002B2 (en) * 2001-06-19 2007-11-06 Ohio University Self-organizing data driven learning hardware with local interconnections
US7027446B2 (en) * 2001-07-18 2006-04-11 P-Cube Ltd. Method and apparatus for set intersection rule matching
US6836767B2 (en) * 2001-10-03 2004-12-28 International Business Machines Corporation Pipelined hardware implementation of a neural network circuit
US7062476B2 (en) * 2002-06-17 2006-06-13 The Boeing Company Student neural network
US6738301B2 (en) 2002-08-29 2004-05-18 Micron Technology, Inc. Method and system for accelerating coupling of digital signals
JP2007504576A (ja) * 2003-01-17 2007-03-01 アヤラ,フランシスコ,ジェイ 人工知能を開発するためのシステム及び方法
US7493295B2 (en) * 2003-01-17 2009-02-17 Francisco J. Ayala Method, system and computer program for developing cortical algorithms
GB2399899B (en) 2003-03-27 2005-06-22 Micron Technology Inc Active memory command engine and method
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US8443169B2 (en) * 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US8081592B2 (en) * 2005-10-26 2011-12-20 Qualcomm Incorporated Flexible medium access control (MAC) for ad hoc deployed wireless networks
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
JP5045797B2 (ja) * 2010-02-24 2012-10-10 株式会社デンソー 通信用スレーブ
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
JP2013140541A (ja) * 2012-01-06 2013-07-18 Toshiba Corp 半導体記憶装置
US9159020B2 (en) 2012-09-14 2015-10-13 International Business Machines Corporation Multiplexing physical neurons to optimize power and area
US8990130B2 (en) 2012-11-21 2015-03-24 International Business Machines Corporation Consolidating multiple neurosynaptic cores into one memory
US9542643B2 (en) * 2013-05-21 2017-01-10 Qualcomm Incorporated Efficient hardware implementation of spiking networks
US9390368B2 (en) 2013-10-21 2016-07-12 International Business Machines Corporation Coupling parallel event-driven computation with serial computation
US9852006B2 (en) 2014-03-28 2017-12-26 International Business Machines Corporation Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits
US9489618B2 (en) * 2014-05-27 2016-11-08 Purdue Research Foudation Electronic comparison systems
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US10242313B2 (en) * 2014-07-18 2019-03-26 James LaRue Joint proximity association template for neural networks
US10318861B2 (en) * 2015-06-17 2019-06-11 International Business Machines Corporation Artificial neuron apparatus
KR101803409B1 (ko) * 2015-08-24 2017-12-28 (주)뉴로컴즈 다중 계층 신경망 컴퓨팅 장치 및 방법
CN108701474B (zh) * 2016-03-18 2022-12-30 株式会社半导体能源研究所 半导体装置及使用该半导体装置的系统
WO2017200088A1 (ja) * 2016-05-19 2017-11-23 国立大学法人北海道大学 ニューラルネットワーク回路及びニューラルネットワーク集積回路
EP3465550B1 (en) * 2016-05-26 2023-09-27 Samsung Electronics Co., Ltd. Accelerator for deep neural networks
US10090047B2 (en) * 2016-11-09 2018-10-02 International Business Machines Corporation Memory cell structure
CN108255514A (zh) * 2016-12-28 2018-07-06 上海磁宇信息科技有限公司 用于细胞阵列计算系统的神经元计算器操作方法
JP6668282B2 (ja) * 2017-03-21 2020-03-18 キオクシア株式会社 半導体記憶装置
US11222260B2 (en) * 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
EP3652680B1 (en) * 2017-07-11 2025-09-03 Technion Research & Development Foundation Limited Reconfigurable dac implemented by memristor based neural network
JP2019021367A (ja) * 2017-07-20 2019-02-07 株式会社東芝 半導体装置
CN111052153B (zh) * 2017-09-07 2023-07-14 松下控股株式会社 使用半导体存储元件的神经网络运算电路及动作方法
US10586598B2 (en) * 2017-09-14 2020-03-10 Silicon Storage Technology, Inc. System and method for implementing inference engine by optimizing programming operation
KR102356708B1 (ko) * 2017-09-28 2022-01-27 삼성전자주식회사 컨볼루션 연산을 수행하는 연산 장치 및 연산 방법
US10878897B2 (en) * 2018-01-04 2020-12-29 Silicon Storage Technology, Inc. System and method for storing and retrieving multibit data in non-volatile memory using current multipliers
US11501140B2 (en) * 2018-06-19 2022-11-15 International Business Machines Corporation Runtime reconfigurable neural network processor core
US10971200B2 (en) * 2018-07-17 2021-04-06 Macronix International Co., Ltd. Semiconductor circuit and operating method for the same
EP3852028B1 (en) 2018-09-14 2026-04-29 Fujitsu Limited Optimization device, control method for optimization device, and control program for optimization device
US11443185B2 (en) * 2018-10-11 2022-09-13 Powerchip Semiconductor Manufacturing Corporation Memory chip capable of performing artificial intelligence operation and method thereof
US10741568B2 (en) 2018-10-16 2020-08-11 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US12075618B2 (en) 2018-10-16 2024-08-27 Silicon Storage Technology, Inc. Input and digital output mechanisms for analog neural memory in a deep learning artificial neural network
TWI906891B (zh) 2019-02-15 2025-12-01 日商半導體能源研究所股份有限公司 半導體裝置及電子裝置
US11119674B2 (en) * 2019-02-19 2021-09-14 Macronix International Co., Ltd. Memory devices and methods for operating the same
KR102164996B1 (ko) 2019-03-26 2020-10-13 주식회사 푸른기술 지폐 감별 시스템 전면의 커버 개폐기구
WO2020202352A1 (ja) 2019-03-29 2020-10-08 株式会社ワコム ペン状態検出回路及びペン状態検出方法
US10832745B1 (en) 2019-07-26 2020-11-10 Micron Technology, Inc. Apparatuses and methods for performing operations using sense amplifiers and intermediary circuitry
US11556759B2 (en) 2019-08-06 2023-01-17 Micron Technology, Inc. Comparison of biometric identifiers in memory
US11054997B2 (en) 2019-08-12 2021-07-06 Micron Technology, Inc. Artificial neural networks in memory
US11169737B2 (en) * 2019-08-13 2021-11-09 Micron Technology, Inc. Speculation in memory
US11055003B2 (en) 2019-08-20 2021-07-06 Micron Technology, Inc. Supplemental AI processing in memory
US11694065B2 (en) 2019-08-28 2023-07-04 Micron Technology, Inc. Spiking neural unit
US11152054B2 (en) 2019-08-28 2021-10-19 Micron Technology, Inc. Apparatuses and methods for performing background operations in memory using sensing circuitry
US11681797B2 (en) 2019-08-28 2023-06-20 Micron Technology, Inc. Row activation prevention using fuses
US11270756B2 (en) 2019-08-28 2022-03-08 Micron Technology, Inc. Row hammer mitigation
WO2021053453A1 (ja) * 2019-09-20 2021-03-25 株式会社半導体エネルギー研究所 半導体装置
DE102020121214B4 (de) 2019-11-15 2024-10-31 Samsung Electronics Co., Ltd. Neuromorphe Vorrichtung basierend auf einem Speicher
KR102793518B1 (ko) * 2019-11-18 2025-04-11 에스케이하이닉스 주식회사 신경망 처리 회로를 포함하는 메모리 장치
KR102782076B1 (ko) * 2019-12-13 2025-03-18 삼성전자주식회사 스위칭 소자와 저항 소자를 포함하는 3차원 뉴로모픽 장치
US12504952B2 (en) 2020-01-07 2025-12-23 SK Hynix Inc. Multiplication and accumulation (MAC) operator and processing-in-memory (PIM) device including the mac operator
TWI868210B (zh) * 2020-01-07 2025-01-01 韓商愛思開海力士有限公司 記憶體中處理(pim)系統
US12136470B2 (en) 2020-01-07 2024-11-05 SK Hynix Inc. Processing-in-memory (PIM) system that changes between multiplication/accumulation (MAC) and memory modes and operating methods of the PIM system
US11635911B2 (en) 2020-01-07 2023-04-25 SK Hynix Inc. Processing-in-memory (PIM) system and operating methods of the PIM system
US12386777B2 (en) 2020-01-07 2025-08-12 SK Hynix Inc. Processing-in-memory (PIM) device to perform a memory access operation and an arithmetic operation in response to a command from a PIM controller and a high speed interface, respectively
JP7430425B2 (ja) 2020-02-10 2024-02-13 国立研究開発法人科学技術振興機構 双安定回路および電子回路
US11417372B2 (en) 2020-03-06 2022-08-16 Micron Technology, Inc. Interface protocol configuration for memory
US11081149B1 (en) * 2020-03-31 2021-08-03 Winbond Electronics Corp. Memory device for artificial intelligence operation
US11372585B2 (en) 2020-05-05 2022-06-28 Micron Technology, Inc. Asynchronous process topology in a memory device
US11144482B1 (en) 2020-05-05 2021-10-12 Micron Technology, Inc. Bidirectional interface configuration for memory
US11348622B2 (en) 2020-05-06 2022-05-31 Micron Technology, Inc. Conditional write back scheme for memory
TWI749552B (zh) * 2020-05-13 2021-12-11 國立中正大學 內積計算裝置
JP6983952B1 (ja) * 2020-07-07 2021-12-17 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. 人工知能操作用のメモリ装置
US11449269B2 (en) 2020-07-22 2022-09-20 Micron Technology, Inc. Edge compute components under a memory array
CN114115995B (zh) * 2020-08-27 2025-05-16 华为技术有限公司 人工智能芯片及运算板卡、数据处理方法及电子设备
JP7126534B2 (ja) * 2020-09-29 2022-08-26 株式会社日立製作所 計算機システム、リソース再割当方法
JP7458960B2 (ja) * 2020-11-10 2024-04-01 ルネサスエレクトロニクス株式会社 半導体装置
EP4268228B1 (en) * 2020-12-23 2025-12-10 Silicon Storage Technology, Inc. Input and digital output mechanisms for analog neural memory in a deep learning artificial neural network
US11144822B1 (en) * 2021-01-04 2021-10-12 Edgecortix Pte. Ltd. Neural network accelerator run-time reconfigurability
TWI788128B (zh) * 2021-04-16 2022-12-21 旺宏電子股份有限公司 記憶體裝置及其操作方法
JP2023128729A (ja) * 2022-03-04 2023-09-14 国立大学法人九州工業大学 演算処理装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4254474A (en) * 1979-08-02 1981-03-03 Nestor Associates Information processing system using threshold passive modification
US4471426A (en) * 1981-07-02 1984-09-11 Texas Instruments Incorporated Microcomputer which fetches two sets of microcode bits at one time
US4611299A (en) * 1982-02-22 1986-09-09 Hitachi, Ltd. Monolithic storage device
KR860007588A (ko) * 1985-03-25 1986-10-15 미쓰다 가쓰시게 데이터 처리장치
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US4777858A (en) * 1986-04-14 1988-10-18 Petschulat David J Adjustable string contact system for a musical instrument
JP2569010B2 (ja) * 1986-05-21 1997-01-08 株式会社日立製作所 半導体メモリ
JPS6339191A (ja) 1986-08-05 1988-02-19 Fujitsu Ltd 半導体記憶装置
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US4797858A (en) * 1987-03-30 1989-01-10 Motorola, Inc. Semiconductor memory with divided word lines and shared sense amplifiers
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
JP3016392B2 (ja) * 1987-08-28 2000-03-06 株式会社日立製作所 スタティック型ram
GB8720387D0 (en) 1987-08-28 1987-10-07 British Telecomm Matching vectors
US4955024A (en) * 1987-09-14 1990-09-04 Visual Information Technologies, Inc. High speed image processing computer with error correction and logging
US4975961A (en) * 1987-10-28 1990-12-04 Nec Corporation Multi-layer neural network to which dynamic programming techniques are applicable
JPH01128296A (ja) 1987-11-13 1989-05-19 Nippon Telegr & Teleph Corp <Ntt> 半導体記憶装置
US5023833A (en) * 1987-12-08 1991-06-11 California Institute Of Technology Feed forward neural network for unary associative memory
JPH01159890A (ja) 1987-12-17 1989-06-22 Mitsubishi Electric Corp 半導体記憶装置
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
US4979126A (en) * 1988-03-30 1990-12-18 Ai Ware Incorporated Neural network with non-linear transformations
US4873962A (en) * 1988-05-09 1989-10-17 F & B Mfg. Co. High efficiency electrical alternator system
US5165010A (en) * 1989-01-06 1992-11-17 Hitachi, Ltd. Information processing system
US5107442A (en) * 1989-01-12 1992-04-21 Recognition Equipment Incorporated Adaptive neural network image processing system
US4974169A (en) * 1989-01-18 1990-11-27 Grumman Aerospace Corporation Neural network with memory cycling
US4988891A (en) * 1989-05-09 1991-01-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor neural network including photosensitive coupling elements
US5140670A (en) * 1989-10-05 1992-08-18 Regents Of The University Of California Cellular neural network
US5163120A (en) * 1989-10-13 1992-11-10 Texas Instruments Incorporated Second nearest-neighbor communication network for synchronous vector processor, systems and methods
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5142665A (en) * 1990-02-20 1992-08-25 International Business Machines Corporation Neural network shell for application programs
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Paulos,J.J.;Hollis,P.W.,Neural networks using analog multipliers,Proc.of IEEE Int.Symp.on Circuits and Systems,米国,1988年,vol.1,pp.499−502,INSPEC Accession Number:3317043

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463912B1 (en) 1998-04-22 2002-10-15 Toyota Jidosha Kabushiki Kaisha Intake air volume detection device for internal combustion engine
JP2019109887A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置及びその動作方法並びにメモリシステム
CN110047543A (zh) * 2017-12-19 2019-07-23 三星电子株式会社 非易失性存储器件及其操作方法和存储系统
JP7421265B2 (ja) 2017-12-19 2024-01-24 三星電子株式会社 不揮発性メモリ装置及びその動作方法並びにメモリシステム
CN110047543B (zh) * 2017-12-19 2024-05-28 三星电子株式会社 非易失性存储器件及其操作方法和存储系统

Also Published As

Publication number Publication date
US20020032670A1 (en) 2002-03-14
JPH03250244A (ja) 1991-11-08
DE69028617D1 (de) 1996-10-24
EP0438800A2 (en) 1991-07-31
US5594916A (en) 1997-01-14
US5875347A (en) 1999-02-23
US6205556B1 (en) 2001-03-20
EP0438800B1 (en) 1996-09-18
KR910014830A (ko) 1991-08-31
KR0178878B1 (ko) 1999-05-15
US5165009A (en) 1992-11-17
DE69028617T2 (de) 1997-04-03
EP0438800A3 (en) 1992-05-20
US5426757A (en) 1995-06-20
US7043466B2 (en) 2006-05-09

Similar Documents

Publication Publication Date Title
JP3260357B2 (ja) 情報処理装置
JP6844013B2 (ja) 半導体記憶素子を用いたニューラルネットワーク演算回路及び動作方法
JP6477924B2 (ja) メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法
US11354569B2 (en) Neural network computation circuit including semiconductor storage elements
JPH0467259A (ja) 情報処理装置
US10453527B1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
JP3353786B2 (ja) 情報処理装置
TW202006609A (zh) 用於類神經網路的記憶體內運算裝置
US20230023123A1 (en) Information processing system, information processing device, information processing method, and information processing program
WO2021155851A1 (zh) 神经网络电路和神经网络系统
CN117636945A (zh) 5bit带符号位的同或与同或累加运算电路、CIM电路
US11106971B2 (en) Neuromorphic device and a synapse network including a post-synaptic neuron having a subtracting circuit
JPH1091605A (ja) 情報処理装置
JPH1074187A (ja) 情報処理装置
JP3182813B2 (ja) 情報処理装置
US5274747A (en) Neuron unit for processing digital information
JPH06187472A (ja) アナログニューラルネットワーク
CN119204122B (zh) 基于闪存的存算方法及人工智能集成存储器
JP2831076B2 (ja) ニューロコンピュータ
US20240028297A1 (en) Semiconductor device performing a multiplication and accumulation operation
KR20240076869A (ko) 비트 라인의 전압 변화를 이용한 뉴런 회로
CN121441312A (zh) 一种乘累加计算读出电路及存算装置、存算方法
CN121681450A (zh) 一种电容型存内计算加速器和加速器控制方法
JPH04318658A (ja) 信号処理装置

Legal Events

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