JP4073009B2 - 演算回路 - Google Patents

演算回路 Download PDF

Info

Publication number
JP4073009B2
JP4073009B2 JP2002272180A JP2002272180A JP4073009B2 JP 4073009 B2 JP4073009 B2 JP 4073009B2 JP 2002272180 A JP2002272180 A JP 2002272180A JP 2002272180 A JP2002272180 A JP 2002272180A JP 4073009 B2 JP4073009 B2 JP 4073009B2
Authority
JP
Japan
Prior art keywords
analog
arithmetic circuit
arithmetic
digital
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
JP2002272180A
Other languages
English (en)
Other versions
JP2004110420A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002272180A priority Critical patent/JP4073009B2/ja
Priority to AU2003260956A priority patent/AU2003260956A1/en
Priority to PCT/JP2003/011497 priority patent/WO2004027680A1/en
Publication of JP2004110420A publication Critical patent/JP2004110420A/ja
Priority to US11/078,287 priority patent/US7610326B2/en
Application granted granted Critical
Publication of JP4073009B2 publication Critical patent/JP4073009B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06N3/065Analogue means

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はアナログ回路によりアナログ値として算出した部分和をデジタル回路により随時デジタル値に変換し、デジタル値として加減算することにより、累算値を算出するアナログ・デジタル混載型の演算回路に関する。
【0002】
【従来の技術】
現在、コンピュータは大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、これらノイマン型と呼ばれるコンピュータは、その処理方式自体の特性により、人が容易に行うことができる処理(リアルタイムでの人の顔の認識等)を非常に不得意としている。
【0003】
これに対して、脳の情報処理様式を真似た演算処理モデルである、ニューラルネットワークの研究が行われている。
【0004】
ニューラルネットワークを構成するニューロンのモデルとしては、ニューロンに相当するユニットに対して、他の複数のユニット(ニューロン)の出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値の総和値をさらに非線形変換した値を出力値とするものが一般的である。
【0005】
すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換により、所望の処理が実現される。
【0006】
このニューロンモデルを用いたニューラルネットワークアーキテクチャとしては、これまでに、非線形な入出力特性を有するユニットを相互に結合した連想メモリや、同じく非線型な入出力特性を有するユニットを階層的に結合したパターン認識モデル等が提案されている。
【0007】
ここでニューラルネットワークは、超並列・分散型の情報処理モデルであるため、逐次処理方式であるノイマン型コンピュータでの実行は極めて効率が悪い。従って、ニューラルネットワークの実用化に際しては、専用のハードウェアとしての集積回路化が必須である。
【0008】
また集積回路化に際しては、前記の積和演算や非線形変換を実現する演算回路としてアナログ演算回路を使用することで、デジタル演算回路に比較して、素子数の大幅な削減が可能である。
【0009】
すなわちアナログ演算回路で前記の積和演算や非線形変換を実現する場合は、デバイスや材料の物理的性質を機能的に利用することにより、デジタル演算回路よりも桁違いに少ない素子で所望の機能を実現することが可能となる。そこで、上記のようなニューロンモデル、及びニューラルネットワークアーキテクチャに適する回路が、各種提案されている。
【0010】
例えば、T.Morie, J.Funakoshi, M.Nagata andA.Iwata, 「An Analog−Digital Merged Neural Circuit Using Pulse Width Modulation Technique」, IEICE Trans. Fundamentals,
Vol. E82−A, No.2, pp.356−363, 1999,
http;//search.ieice.org/1999/files/e000a02.htm/e82−a,2,356では、正負のシナプス荷重に対して、それぞれ符号に対応するキャパシタを用意し、各符号毎に積和演算結果を電荷として蓄え、その後キャパシタの結合で正負の加算結果を得る方式を提案している。
【0011】
【非特許文献1】
T.Morie, J.Funakoshi, M.Nagata and A.Iwata, 「An Analog−Digital Merged Neural Circuit Using Pulse Width Modulation Technique」, IEICE Trans. Fundamentals,
Vol. E82−A, No.2, pp.356−363, 1999,
<URL:http;//search.ieice.org/1999/files/e000a02.htm/e82−a,2,356>
【発明が解決しようとする課題】
前記従来技術においては、多数のアナログ演算回路による並列演算処理された演算結果を精度良く保持する場合に、キャパシタ容量を大きくする必要があった。このため、チップ上の占有面積の視点から、キャパシタ容量の低減のためのより一層の性能向上が望まれていた。
【0012】
また、正負のシナプス荷重に対して、それぞれ符号に対応する二つのキャパシタを用意するため、チップ上の占有面積の視点から、総キャパシタ容量の低減のためのより一層の性能向上が望まれていた。
【0013】
また、演算結果を用いて、さらに累積値を算出したい場合などには、演算結果を高精度に長時間保持する必要があるが、キャパシタに蓄積した電荷は、pn接合部分の漏れのために短時間で消失してしまうという問題があった。このため、さらなる性能向上が望まれていた。
【0014】
本発明は、上記課題を鑑みてなされたものであり、多数項の演算を行う際に回路の占有面積の増大を招くことなく、かつ演算結果の保持精度が短時間で低下することの無い演算回路を得ることを目的とするものである。
【0015】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る演算回路は以下のような構成を備える。即ち、
並列演算処理された演算結果の累積値を算出する演算回路であって、
互いに符号の等しい荷重値のそれぞれを、対応して入力される正のアナログ信号に乗算し、それぞれの演算結果の絶対値を出力する複数のアナログ演算回路と、
前記複数のアナログ演算回路による演算結果の絶対値の総和値に比例する電荷量を蓄えるキャパシタと、
前記キャパシタに蓄えられた電荷量をデジタルデータに変換するAD変換回路と、
デジタルデータを保持するメモリと、
前記アナログ演算回路による演算結果がそれぞれとなる正の荷重値の場合、前記メモリに保持されたデジタルデータと前記変換されたデジタルデータとを加算して、加算結果を前記メモリに保持させ、前記アナログ演算回路による演算結果がそれぞれとなる負の荷重値の場合、前記メモリに保持されたデジタルデータから前記変換されたデジタルデータを減算し、減算結果を前記メモリに保持させることで、前記演算結果の累積値を算出するデジタル演算回路とを備える。
【0016】
【発明の実施の形態】
【第一の実施形態】
以下、図面を参照して本発明の第一の実施形態を詳細に説明する。
【0017】
図1は、本実施形態でのアナログ・デジタル混載演算回路100の全体構成図を示す。
【0018】
図1に示すように、アナログ・デジタル混載演算回路は、複数のアナログ演算回路1、前記複数のアナログ演算回路1に接続するキャパシタ2と、キャパシタ2に接続するA/D変換回路3と、A/D変換回路3に接続するデジタル加算回路4と、デジタル加算回路4に接続するデジタルメモリ5とから構成される。
【0019】
このアナログ・デジタル混載演算回路100は、複数の乗算結果の累積値を算出する機能を実現するものである。
【0020】
また図2は、図1に示されたアナログ演算回路1とキャパシタ2の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路1とキャパシタ2は、キャパシタ2に接続するバスに、複数のアナログ演算回路1が並列に接続する構成となっている。
【0021】
また図3は、本実施形態でのアナログ演算回路1の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路1は、定電流源として機能する1つのPMOSトランジスタM1を有する。
【0022】
ここでは、まず図3を用いてアナログ演算回路1の演算処理過程について説明し、続いて図2を用いてアナログ演算回路1による演算結果が、どのように部分和としてキャパシタ2に保持されるかについて説明し、さらに図1を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。
【0023】
図3に示すアナログ演算回路1は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。なおA、Bは、以下の条件式を満たすものとする。
【0024】
A≧0、B≧0
ここで、被乗算値Aと乗算値Bは、前記乗算をアナログ演算回路1で実現するために、後述するように所定の換算を施したPWM信号Vin7と、アナログ電圧Vw8としてそれぞれ入力される。
【0025】
なおアナログ演算回路1は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。
【0026】
まず図3において、被乗算値Aに所定の換算を施したPWM信号Vin7が入力端子9に入力され、また乗算値Bに所定の換算を施したアナログ電圧Vw8が入力端子10に入力される。
【0027】
ここで、PWM信号の特性について簡単に説明しておく。PWM(PulseWidth Modulation)は、情報をパルス波形の幅に持たせた変調方式であり、ノイズに強いデジタル的な特性(電圧方向にHighレベルとLowレベルの2値の情報を有するという特性)と、連続情報を1パルスで表現することができるアナログ的な特性(時間方向に連続情報を有するという特性)の両者を併せ持つものである。
【0028】
M1のゲート端子には、入力端子10に入力された乗算値Bに相当するVw8の電圧がかかる。また、M1のソース端子には、入力端子9よりPWM信号Vin7が入力される。なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施形態では3.3V)と設定している。
【0029】
ここで、PWM信号がHighレベルの時、すなわちM1のソース端子にVddが加えられた時に、M1が飽和領域で動作するようにアナログ電圧Vw8を適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、M1を定電流源として動作させることができる。
【0030】
またこの時、M1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号Vin7のパルス幅は、被乗算値Aに比例するように換算されている。またアナログ電圧Vw8は、(Vdd−Vw)によって決定される電流量が乗算値Bに比例するように換算されている。
【0031】
従ってM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、M1が流す電荷量は、A×Bに比例したものとなる。
【0032】
続いて図2を用いて、アナログ演算回路1による演算結果が、どのように部分和としてキャパシタに保持されるかについて説明する。図2において、前記のようにM1が流す電荷量は、バスによってアナログ演算回路1に接続されたキャパシタ2に蓄積される。
【0033】
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路1が接続されているため、それぞれのアナログ演算回路により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ2に蓄積され、加算される。
【0034】
従って、一回の並列な演算処理が完了するごとにキャパシタ2に蓄積される総電荷量は、共通のバスでキャパシタ2に接続された複数のアナログ演算回路1の演算結果の総和値を示している。なお後述するように、この総和値は、最終的に算出しようとする累算値の部分和に相当している。
【0035】
続いて、図1を用いて前記部分和から所望の累算値を算出する過程について説明していく。
【0036】
本実施形態において、所望の累算値は以下の演算式(1)で表されるとする。
【0037】
【数1】
Figure 0004073009
【0038】
これに対して、最終的な累算値を求めるために、図2に示す4つのアナログ演算回路1がバスを介してキャパシタ2に接続した構成を用いる。なお、この際トータルの演算個数(本実施形態では12)が、アナログ演算回路数(4個)の倍数となっていなくても、乗算値B=0に相当するアナログ電圧Vw8を入力することで、演算個数を調整することができる。
【0039】
ここでは、まず図2を用いて説明したように、4つのアナログ演算回路1によって、以下の演算式(2)で表される演算を並列に行い、演算結果を電荷量、または電圧値としてキャパシタ2に保持する。
【0040】
【数2】
Figure 0004073009
【0041】
ここでの演算結果は、所望の演算(演算式(1))に対する部分和とみなすことができる。
【0042】
続いて、キャパシタ2に電荷量、または電圧値としてアナログ的に保持した演算結果をA/D変換回路3によってデジタル値に変換する。そしてさらに、デジタル加算回路4によって、前記デジタル値をデジタルメモリ5に保存されているデジタル値に加算し、その演算結果をデジタルメモリ5に保持する。
【0043】
なお前記演算は、所望の演算(演算式(1))に対する一つ目の部分和の演算であるため、デジタルメモリ5に事前に保持された部分和は存在せず、全て0が保持されている。従って、ここでデジタルメモリ5に保持されたデジタル値は、演算式(2)の演算結果と等しい。
【0044】
続いて、二つ目の部分和の演算を前記と同様にアナログ演算回路1によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路1によって、以下の演算式(3)で表される演算を並列に行い、演算結果を電荷量、または電圧値としてキャパシタ2に保持する。
【0045】
【数3】
Figure 0004073009
【0046】
ここでの演算結果は、所望の演算(演算式(1))に対する部分和とみなすことができる。
【0047】
続いて、キャパシタ2に電荷量、または電圧値としてアナログ的に保持した演算結果をA/D変換回路3によってデジタル値に変換する。
【0048】
そしてさらに、デジタル加算回路4によって、前記デジタル値をデジタルメモリに保存されているデジタル値に加算し、その演算結果をデジタルメモリ5に保持する。
【0049】
ここで、デジタルメモリ5に事前に保持されていたデジタル値は、演算式(2)の演算結果に相当するため、演算式(3)の演算結果を加算してデジタルメモリ5に保存した結果は、以下の演算式(4)で表される。
【0050】
【数4】
Figure 0004073009
【0051】
続いて、三つ目の部分和の演算を前記と同様にアナログ演算回路1によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路1によって、以下の演算式(5)で表される演算を並列に行い、演算結果を電荷量、または電圧値としてキャパシタ2に保持する。
【0052】
【数5】
Figure 0004073009
【0053】
ここでの演算結果は、所望の演算(演算式(1))に対する部分和とみなすことができる。
【0054】
続いて、キャパシタ2に電荷量、または電圧値としてアナログ的に保持した演算結果をA/D変換器3によってデジタル値に変換する。
【0055】
そしてさらに、デジタル加算回路4によって、前記デジタル値をデジタルメモリ5に保存されているデジタル値に加算し、その演算結果をデジタルメモリ5に保持する。
【0056】
ここで、デジタルメモリ5に事前に保持されていたデジタル値は、演算式(4)の演算結果に相当するため、演算式(5)の演算結果を加算してデジタルメモリに保存した結果は、以下の演算式(6)で表されるように、所望の累算値となる。
【0057】
【数6】
Figure 0004073009
【0058】
以上説明したように、複数の乗算をアナログ演算回路1によりアナログ的に行い、それぞれの結果をキャパシタ2でアナログ的に加算して所望の累算値に対する部分和を算出する。
【0059】
さらに前記のように算出された部分和をA/D変換器3によりデジタルデータに変換した後、デジタル加算回路4により、デジタルメモリ5が保持する値にデジタル的に加算することにより所望の演算を実現する。
【0060】
このように、超並列・分散型の情報処理モデルの実用化にあたり、積和演算や非線形変換等の演算をアナログ演算回路を用いて実現することで、デジタル演算回路を用いて実現した場合と比較して、素子数の大幅な削減(回路の専有面積の削減)を達成する一方、キャパシタに蓄積した電荷量(または電圧値)をデジタルデータに変換したうえで加算処理し、加算結果を随時デジタルメモリに保持することで、所望の累積値を得るような構成とした結果、キャパシタに蓄積した電荷が短時間で消失する問題を解決し、演算結果である累積値を長時間保持することが可能となった。
【0061】
【第二の実施形態】
本発明の第二の実施形態におけるアナログ・デジタル混載演算回路200の構成例を図4に示す。
【0062】
図4から分かるように、本実施形態は、第一の実施形態で説明したアナログ・デジタル混載回路100を複数配置して構成されていることが第一の実施形態と異なっている。
【0063】
なお図4においては、それぞれのアナログ・デジタル混載演算回路中のデジタルメモリを共通の構造を有する1つのデジタルメモリとしてまとめて描写している。ここで、デジタルメモリの総ビット数は、同一である。
【0064】
また図4では、第一の実施形態で説明したアナログ・デジタル混載演算回路4個を縦列配置しているが、アナログ・デジタル混載演算回路の個数は2個以上であればいくつ配置しても構わない。またその配置も、縦列配置以外の適当な配置構造で構わない。
【0065】
このようにすることにより、第一の実施形態で説明した演算を並列に行うことが可能となり、複数の累算値を算出する場合に、前記演算をシリアルに繰り返すよりも演算時間の削減が可能となる。
【0066】
すなわち、図4に示す4個のアナログ・デジタル混載演算回路は、それぞれが第一の実施形態で説明した演算を行い、最終的な累算値をデジタルメモリに保存する。
【0067】
例えば、第一の実施形態で4種類の累算値の算出を行う場合には、第一の実施形態で説明した演算を4回行う必要があるが(さらにこの場合、一回の演算が完了するごとに、累積値をデジタルメモリから読み出す機構が必要となるが)、本実施形態のようにアナログ・デジタル混載演算回路を構成した場合、4種類の累積値を4個のアナログ・デジタル混載演算回路による1回の並列演算で算出することが可能となる。つまり、上記第一の実施形態と同様の効果を奏しつつ、第一の実施形態にかかる演算回路よりも、高速処理が可能となる。
【0068】
【第三の実施形態】
本発明の第三の実施形態にかかるアナログ・デジタル混載演算回路の構成例300を図5に示す。
【0069】
本実施形態は、第一および第二の実施形態で説明したアナログ・デジタル混載回路において、デジタル加算回路をデジタル加減算回路11で置き換え、さらにアナログ演算回路1において、正負の符号を有する乗算値Bに対して、それぞれの符号ごとに別個に乗算を行い、また乗算値Bの符号を表す符合ビット12をデジタル加減算回路11に入力し、また負の乗算値Bに対する演算結果の部分和は、デジタルメモリに保存されたデジタルデータとの演算において、前記デジタル加減算回路によって、デジタルメモリのデジタルデータから減算を行うことが第一および第二の実施形態と異なっている。
【0070】
すなわち本実施形態におけるアナログ演算回路1における乗算は、乗算値Bの正負の符号に関して、正の符号の乗算と、負の符号の乗算をそれぞれ別個に行う。
【0071】
以下で、前記の演算手順について詳しく説明する。以下の演算式(7)で表される演算を図5のアナログ・デジタル混載回路300で行う場合、4つのアナログ演算回路1では、演算式(8)(9)(10)(11)で表されるように、乗算値Bの符号に関して正負別々の演算を行う。
【0072】
【数7】
Figure 0004073009
【0073】
なおこの際、第一の実施形態と同様に、トータルの演算個数(前記ケースでは16)が、アナログ演算回路数(4個)の倍数となっていなくても、乗算値B=0に相当するアナログ電圧Vw8を入力することで、演算個数を調整することができる。
【0074】
続いて、第一、第二の実施形態と同様に演算式(8)〜(11)で表される部分和をアナログ演算回路1によって算出する。なおこの際には、それぞれの部分和は、乗算値Bの正負の符号を考慮しない絶対値として算出される。
【0075】
次に、算出された演算式(8)〜(11)で表される部分和をA/D変換器3によりデジタルデータに変換し、変換されたデジタルデータは、デジタル加減算回路11に入力される。またこの際、乗算値Bの符号を表す符合ビット12もデジタル加減算回路11に入力される。
【0076】
続いて、デジタル加減算回路11では、入力された部分和のデジタルデータの符号ビットが1(乗算値Bが正)の時には、第一および第二の実施形態の場合と同様に、デジタルメモリに保持されたデジタルデータに対して、入力された部分和のデジタルデータを加算する。
【0077】
一方、入力された部分和のデジタルデータの符号ビットが0(乗算値Bが負)の時には、デジタルメモリに保持されたデジタルデータから、入力された部分和のデジタルデータを減算する。
【0078】
以上の様に、乗算値Bの正負の符号に対応して、それぞれ別個にアナログ演算回路1によって部分和を算出し、さらに正負の符号に対応して、デジタルメモリ5に保持されているデジタルデータとの加減算を行うことにより、以下の演算式(12)で示される通り、正負別々のキャパシタを用意することなく、正負の符号を含む乗算結果の累算値を算出することが可能となる。
【0079】
【数8】
Figure 0004073009
【0080】
またさらに上記演算において、以下の演算式(13)で示されるように、乗算値Bの正負の符号に対応する演算処理工程を正負交互に行う場合、正負の部分和が互いに相殺し合う為、デジタルメモリ5における線形加算精度の範囲(累算値のレンジ)が狭まり、デジタルメモリ5のビット長を少なくすることが可能となる。
【0081】
【数9】
Figure 0004073009
【0082】
例えば、(8)(9)(10)(11)の演算式で表される部分和がそれぞれ順に、(85、53、60、71)である場合に、同一の符号を連続して加減算したとすると、演算の途中経過でデジタルメモリ5に保存される値は、次の(14)(15)(16)(17)の式で表される。
【0083】
【数10】
Figure 0004073009
【0084】
従って、この場合の部分和を加減算していく途中経過での最大値は、138となるため、デジタルメモリ5のビット長は、8ビット必要となる。
【0085】
これに対して、正負の符号に対応する演算を正負交互に行う場合に、演算の途中経過でデジタルメモリ5に保存される値は、次の(18)(19)(20)(21)の式で表される。
【0086】
【数11】
Figure 0004073009
【0087】
従って、この場合の部分和を加減算していく途中経過での最大値は、85となるため、デジタルメモリ5のビット長は、7ビットとなり、前記例よりも少ないビット長で済むことが分かる。
【0088】
【第四の実施形態】
本発明の第四の実施形態におけるニューラルネットワーク回路の構成例400を図6に示す。図6に示すように、本実施形態におけるニューラルネットワーク回路400は、第一、第二、および第三の実施形態で説明したアナログ・デジタル混載演算回路と、デジタル−PWM変換回路13を含むことを特徴としている。
【0089】
ただし、本実施形態で説明するアナログ・デジタル混載演算回路におけるアナログ演算回路は、第一、第二および第三の実施形態とは異なり、後述するように重み付け演算と非線形変換を同時に演算可能なアナログ演算回路14を用いている。
【0090】
また、本実施形態で実現するニューラルネットワークモデルの構成図500を図7に示し、各ニューロンの特性を図8に示す。
【0091】
以下では、まず図7と図8を用いて本実施形態におけるニューラルネットワークのモデルについて説明した後、図6を用いて本実施形態におけるニューラルネットワーク回路400について説明する。
【0092】
図7に示すように、本実施形態におけるニューラルネットワークは、複数のニューロン15が階層構造を成し、かつ異なる階層間のニューロン15が互いにシナプス16を介して結合している。
【0093】
なお、ニューラルネットワークの構成には、本実施形態の他にニューロンがアレイ状に配置されたものなどがあり、またニューロン間の結合にも、2つのニューロン間で相互に結合を有するものなどがある。
【0094】
本発明におけるニューラルネットワークは、その構成や結合手法によって限定されるものではなく、本実施形態で示す階層構造以外の構造および結合手法を有するものであっても構わない。
【0095】
続いて、各ニューロン15における演算処理を図8を用いて説明する。各ニューロン15は、前段に接続する複数のニューロン15の出力値をシナプス荷重で重み付けした後、入力として受け取る。ニューロン内部では、入力された値の総和値を算出し、これに所定の変換を施して出力値とする。ここで各ニューロンにおける演算処理は、次式(22)で表される。
【0096】
【数12】
Figure 0004073009
【0097】
なお変換関数としては、様々なモデルが提案されているが、本実施形態では、次式(23)で表される一般的なシグモイド関数を適用している。シグモイド関数の特性を図8にグラフで示す。
【0098】
【数13】
Figure 0004073009
【0099】
なお、本発明におけるニューラルネットワークは、ニューロンにおける変換手法によって限定されるものではなく、本実施形態で示すシグモイド関数以外の変換関数を適用したものであっても構わない。
【0100】
続いて、図6を用いて本実施形態におけるニューラルネットワーク回路を説明する。図6を見ると分かるように、本実施形態におけるニューラルネットワーク回路は、第二および第三の実施形態で説明したアナログ・デジタル混載演算回路を階層的に構成したものを含んでいる。
【0101】
ただし、本実施形態で説明するアナログ・デジタル混載演算回路におけるアナログ演算回路14は、第二および第三の実施形態とは異なり、重み付け演算と非線形変換を同時に演算可能なアナログ演算回路を用いている。
【0102】
ここで、重み付け演算と非線形変換を同時に演算可能なアナログ演算回路14は、図7に示したニューロンモデルにおける、非線形変換を施された前段ニューロンの出力値とシナプス荷重による重み付け演算を実現している。
【0103】
なお、重み付け演算と非線形変換を同時に演算可能なアナログ演算回路14の動作メカニズムに関しては、本発明の主眼とは異なるので説明を省略する(詳細については、本出願人が本願と同時に出願する整理番号4746002の出願を参照されたい。)。
【0104】
またさらに、本実施形態で説明するアナログ・デジタル混載演算回路では、階層的な演算処理を行うために、ある階層のアナログ・デジタル混載演算回路により算出された演算結果を次の階層のアナログ・デジタル混載演算回路の入力としている。
【0105】
この際には、デジタル−PWM変換回路13により、デジタルメモリに保持された演算結果をPWM信号として読み出している。ここでデジタル−PWM変換回路13は、デジタルメモリに保持された離散値をカウンタでカウントし、カウントに要する時間と等しい時間幅を有するPWM信号を生成する機能を有する。
【0106】
本実施形態においては、前記機能を有するデジタル−PWM変換回路13を論理合成により設計したが、デジタルデータを読み出してPWM信号を生成する機能を有する回路であれば、他のものでも構わない。またデジタル−PWM変換回路は、本発明において主眼とするところではないため、詳しい説明は省略する。
【0107】
本実施形態のアナログ・デジタル混載演算回路における演算処理過程は、前記アナログ演算回路14による演算工程と、前記のデジタル−PWM変換回路13による演算結果の読み出し以外は、第二および第三の実施形態と全く同様である。
【0108】
なお、本実施形態のアナログ・デジタル混載演算回路の演算処理過程において、キャパシタに保持される部分和は、各ニューロンにおける、前段ニューロンとの結合の一部に関する入力値の総和値を実現しており、また最終的にデジタルメモリに保持される累算値が、各ニューロンにおける、結合する前段ニューロン全ての入力値の累算値を実現している。なお、図8に示す非線形変換は、前述したようにアナログ演算回路14において実現されている。
【0109】
以上の様にデジタルメモリに保持された、各ニューロンにおける累算値をデジタル−PWM変換回路によってアナログ値として読み出し、次の階層のニューロンに対する出力とすることで、図7に示したニューラルネットワークのモデルを実現することができる。
【0110】
【第五の実施形態】
本発明の第五の実施形態における画像信号処理回路の構成例を図9に示す。図9に示すように、本実施形態における画像信号処理回路は、第四の実施形態で説明したニューラルネットワーク回路を含むことを特徴としている。なお図9では、第四の実施形態で説明した階層構造の初段のみを示しており、それ以降の階層の記述を省略している。
【0111】
また、ニューラルネットワーク回路中のアナログ・デジタル混載演算回路数が、第四の実施形態で説明した図6のニューラルネットワーク回路とは異なっているが、それぞれのアナログ・デジタル混載演算回路における演算動作自体は、第四の実施形態と同様である。
【0112】
ここで、ニューラルネットワーク回路中のアナログ演算回路に対して、PWM信号として入力される信号は、二次元信号である画像信号である。すなわち、本実施形態における画像信号処理回路は、入力された画像信号に対して、ニューラルネットワーク回路により所定の演算を行うことにより、所望の画像処理(例えばパターン検出およびパターン認識)を行うことを目的とするものである。
【0113】
なお、実際に実現される画像処理の内容は、ニューラルネットワーク回路の回路パラメータ等を適当に調整することで、所望の処理内容(例えばパターン検出およびパターン認識)が実現されるよう設定することが可能であるが、その詳しい調整方法は、本発明の主眼とするところではないので、説明を省略する。
【0114】
ここで本実施形態においては、前記画像信号は、撮像素子(例えばCCDまたはCMOSイメージセンサなど)から出力される、各画素に対応する信号強度をパルスの時間幅に変換したPWM信号として入力している。
【0115】
なお、撮像素子からの出力信号をPWM信号に変換する際には、図9に示すように、コンパレータ17に入力したランプ電圧波形と、撮像素子から読み出された電圧値とをコンパレータ17により比較し、ランプ電圧波形のスタート時にHighレベルに立ち上がった出力が、ランプ電圧値とキャパシタの電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。
【0116】
なお、PWM信号の生成過程に関しては、本発明の主眼とするところではないため、これ以上の詳しい説明は省略する。
【0117】
また本実施形態においては、撮像素子として、CCDまたはCMOSイメージセンサを想定しているが、画像を二次元信号として取り込むものであれば、その他の撮像素子を用いても問題は無い。
【0118】
続いて、ニューラルネットワーク回路に対する画像信号の入力方法について説明する。
【0119】
ニューラルネットワーク回路においては、第四の実施形態で説明したように、各アナログ・デジタル混載演算回路a、bにおいて、所定の複数の入力信号に対して非線形変換と重み付け演算を行い、その累算値を算出して対応するニューロンの内部状態値とする。
【0120】
この時、本実施形態における画像処理回路では、一点鎖線で囲んだ各アナログ・デジタル混載演算回路a、bが処理対象とする複数の入力信号は、二次元的にアレイされた撮像素子18の一部の領域に対応させている。
【0121】
すなわち、図9に示すように、各アナログ・デジタル混載演算回路a、bにおいて、非線形変換と重み付け演算を行い、さらにその累算値を算出する対象となる画像信号を出力する領域は、破線で囲まれた領域A、Bで示される。ここで、撮像素子からの画像信号出力は、1列ごとに出力される。
【0122】
それに対して、ニューラルネットワーク回路におけるアナログ演算回路による演算は、第一、第二、第三および第四の実施形態で説明したように、前記1列分の画像信号出力に対する演算を並列に行うことが可能である。
【0123】
従って、前記の撮像素子からの1列分の出力信号に対する、ニューラルネットワーク回路による演算結果は、第一、第二、第三および第四の実施形態で説明したように、各ニューロンの内部状態値に対する部分和に相当する。
【0124】
そして、前記の演算処理を領域A、Bの列数回(本実施形態では4回)繰り返すことにより、最終的に各ニューロンの内部状態値に相当する累算値を算出することができる。
【0125】
以上説明したように、ニューラルネットワーク回路による演算処理を演算対象領域の列数回だけ繰り返すことにより、所望の演算処理(例えばパターン検出およびパターン認識など)を達成することができる。
【0126】
また、上記説明では、撮像素子からの画像信号出力が1列ごとに行われるとしたが、撮像素子からの信号出力が1行ごとに行われる場合も、ニューラルネットワーク回路における演算を出力信号1行ごとに並列に行うことで、上記説明と同様な処理を行うことが可能である。
【0127】
以上説明したように、1列毎または1行毎に出力される画像信号に対して、本実施形態におけるニューラルネットワーク回路による演算を適用し、ニューロンの内部状態値を1列毎または1行毎に部分和として演算していき、そしてその部分和の累算値として最終的な内部状態値を算出することで、所望の演算処理を実現することが可能となる。
【0128】
【発明の効果】
以上説明したように本発明によれば、多数項の累算演算を行う際に、回路の占有面積の増大を招くことなく、かつ演算結果の保持精度が短時間で低下することの無い演算回路を得ることができる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態にかかるアナログ・デジタル混載演算回路の全体構成を示す図である。
【図2】本発明の第一の実施形態にかかるアナログ・デジタル混載演算回路を構成するアナログ演算回路とキャパシタとを示す図である。
【図3】本発明の第一の実施形態にかかるアナログ・デジタル混載演算回路を構成するアナログ演算回路を示す図である。
【図4】本発明の第二の実施形態にかかるアナログ・デジタル混載演算回路の全体構成を示す図である。
【図5】本発明の第三の実施形態にかかるアナログ・デジタル混載演算回路の全体構成を示す図である。
【図6】ニューラルネットワーク回路の構成を示す図である。
【図7】ニューラルネットワークモデルの構成を示す図である。
【図8】ニューロンの特性を示す図である。
【図9】ニューラルネットワーク回路を備える画像信号処理回路の構成を示す図である。
【符号の説明】
1 アナログ演算回路
2 キャパシタ
3 A/D変換回路
4 デジタル加算回路
5 デジタルメモリ
7 PWM信号Vin
8 アナログ電圧Vw
9 入力端子
10 入力端子
11 デジタル加減算回路
12 符号ビット
13 デジタル−PWM変換回路
14 アナログ演算回路
15 ニューロン
16 シナプス
M1 PMOSトランジスタ
100 アナログ・デジタル混載演算回路
200 アナログ・デジタル混載演算回路
300 アナログ・デジタル混載演算回路
400 ニューラルネットワーク回路
500 ニューラルネットワークモデル

Claims (11)

  1. 並列演算処理された演算結果の累積値を算出する演算回路であって、
    互いに符号の等しい荷重値のそれぞれを、対応して入力される正のアナログ信号に乗算し、それぞれの演算結果の絶対値を出力する複数のアナログ演算回路と、
    前記複数のアナログ演算回路による演算結果の絶対値の総和値に比例する電荷量を蓄えるキャパシタと、
    前記キャパシタに蓄えられた電荷量をデジタルデータに変換するAD変換回路と、
    デジタルデータを保持するメモリと、
    前記アナログ演算回路による演算結果がそれぞれとなる正の荷重値の場合、前記メモリに保持されたデジタルデータと前記変換されたデジタルデータとを加算して、加算結果を前記メモリに保持させ、前記アナログ演算回路による演算結果がそれぞれとなる負の荷重値の場合、前記メモリに保持されたデジタルデータから前記変換されたデジタルデータを減算し、減算結果を前記メモリに保持させることで、前記演算結果の累積値を算出するデジタル演算回路と
    を備えることを特徴とする演算回路。
  2. 前記キャパシタには、並列に接続された前記複数のアナログ演算回路が直列に接続されていることを特徴とする請求項1に記載の演算回路。
  3. 前記キャパシタには、
    入力されるアナログ信号に基づいて、前記算出される累積値の部分和に相当する電荷量が蓄えられることを特徴とする請求項1に記載の演算回路。
  4. 前記デジタル演算回路は、
    前記複数のアナログ演算回路における演算処理が完了するごとに、処理を実行することを特徴とする請求項1に記載の演算回路。
  5. 前記アナログ演算回路は、
    前記入力されるアナログ信号に対して、所定の非線形変換を行うことを特徴とする請求項1に記載の演算回路。
  6. 前記アナログ演算回路は、
    前記非線形変換の出力値に対して、所定の荷重値を乗算することを特徴とする請求項5に記載の演算回路。
  7. 前記入力されるアナログ信号に基づいて算出される累積値は、該入力されるアナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値と等価であることを特徴とする請求項1に記載の演算回路。
  8. 前記キャパシタに蓄えられる電荷量は、前記入力されるアナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値に対する部分和と等価であることを特徴とする請求項1に記載の演算回路。
  9. 前記入力されるアナログ信号は、画像信号であり、
    前記アナログ演算回路は、該画像信号について1行ごとに演算処理することを特徴とする請求項1に記載の演算回路。
  10. 前記デジタル演算回路では、加算処理と減算処理とが交互に実行されることを特徴とする請求項1に記載の演算回路。
  11. 前記アナログ演算回路は、前記入力されるアナログ信号をソース端子に入力し、ゲート端子に所定の電圧を印加するトランジスタを備えることを特徴とする請求項1に記載の演算回路。
JP2002272180A 2002-09-18 2002-09-18 演算回路 Expired - Fee Related JP4073009B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002272180A JP4073009B2 (ja) 2002-09-18 2002-09-18 演算回路
AU2003260956A AU2003260956A1 (en) 2002-09-18 2003-09-09 Arithmetic circuit
PCT/JP2003/011497 WO2004027680A1 (en) 2002-09-18 2003-09-09 Arithmetic circuit
US11/078,287 US7610326B2 (en) 2002-09-18 2005-03-14 Arithmetic circuit for calculating a cumulative value as a result of parallel arithmetic processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002272180A JP4073009B2 (ja) 2002-09-18 2002-09-18 演算回路

Publications (2)

Publication Number Publication Date
JP2004110420A JP2004110420A (ja) 2004-04-08
JP4073009B2 true JP4073009B2 (ja) 2008-04-09

Family

ID=32024901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002272180A Expired - Fee Related JP4073009B2 (ja) 2002-09-18 2002-09-18 演算回路

Country Status (3)

Country Link
JP (1) JP4073009B2 (ja)
AU (1) AU2003260956A1 (ja)
WO (1) WO2004027680A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102505695B1 (ko) 2016-03-18 2023-03-02 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 이를 사용한 시스템
CN108256638B (zh) * 2018-01-05 2021-06-22 上海兆芯集成电路有限公司 微处理器电路以及执行神经网络运算的方法
JP2019168851A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 演算装置及び演算方法
CN112749784B (zh) * 2019-10-31 2024-05-14 华为技术有限公司 一种计算设备及神经网络的加速方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485416A (en) * 1994-05-05 1996-01-16 Ward; Calvin B. Computational circuit based on capacitor arrays
EP1089221A3 (en) * 1999-09-29 2007-05-02 Lucent Technologies Inc. Spike-based hybrid computation

Also Published As

Publication number Publication date
AU2003260956A1 (en) 2004-04-08
WO2004027680A1 (en) 2004-04-01
JP2004110420A (ja) 2004-04-08

Similar Documents

Publication Publication Date Title
Salamat et al. Rnsnet: In-memory neural network acceleration using residue number system
KR100875937B1 (ko) 적화 연산 회로 및 방법
JP7240657B2 (ja) ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
Choi et al. A high-precision VLSI winner-take-all circuit for self-organizing neural networks
Lee et al. Hardware annealing in analog VLSI neurocomputing
US7120617B2 (en) Operation circuit and operation control method thereof
US5167008A (en) Digital circuitry for approximating sigmoidal response in a neural network layer
US7610326B2 (en) Arithmetic circuit for calculating a cumulative value as a result of parallel arithmetic processing
WO2021044821A1 (ja) 演算装置及び積和演算システム
JP7447790B2 (ja) 演算装置、積和演算装置、積和演算システム、及び積和演算方法
JP4073009B2 (ja) 演算回路
JP7259253B2 (ja) 人工ニューラルネットワーク回路
Tripathi et al. Analog neuromorphic system based on multi input floating gate mos neuron model
US5115492A (en) Digital correlators incorporating analog neural network structures operated on a bit-sliced basis
Chappa et al. Squeeze-and-Excitation SqueezeNext: An Efficient DNN for Hardware Deployment
CN108513042B (zh) 用于图像处理的装置
JPH07210534A (ja) ニューラルネットワーク
Kawaguchi et al. Analog learning neural circuit with switched capacitor and the design of deep learning model
EP0469885B1 (en) System for performing weighted summations
Krid et al. Hardware implementation of a pulse mode neural network-based edge detection system
JP2004157757A (ja) アナログ演算回路
Zamanlooy et al. Area-efficient robust Madaline based on continuous valued number system
Mirhassani et al. A feed-forward time-multiplexed neural network with mixed-signal neuron–synapse arrays
Zamanlooy et al. Efficient hardware implementation of threshold neural networks
Bakambekova et al. Generate while sensing-intelligent imaging with memristive pixel-CNN

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140201

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees