JP2017228295A - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP2017228295A
JP2017228295A JP2017119950A JP2017119950A JP2017228295A JP 2017228295 A JP2017228295 A JP 2017228295A JP 2017119950 A JP2017119950 A JP 2017119950A JP 2017119950 A JP2017119950 A JP 2017119950A JP 2017228295 A JP2017228295 A JP 2017228295A
Authority
JP
Japan
Prior art keywords
time
signal
input
output
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017119950A
Other languages
English (en)
Other versions
JP6846297B2 (ja
Inventor
大輔 宮下
Daisuke Miyashita
大輔 宮下
昌平 香西
Shohei Kozai
昌平 香西
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.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of JP2017228295A publication Critical patent/JP2017228295A/ja
Application granted granted Critical
Publication of JP6846297B2 publication Critical patent/JP6846297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Pulse Circuits (AREA)

Abstract

【課題】Deep Learningの処理を高速、低電力で実行することを可能にする。
【解決手段】実施形態による演算装置は、ニューラルネットワークに用いられ、各々が、
第1の時間信号及び第2の時間信号が入力され、重み係数と入力データに応じた時間だけ
遅延させた第3及び第4の時間信号を出力する、縦続接続された複数のデジタル時間変換
回路と、最終段の前記デジタル時間変換回路から出力される前記第3及び前記第4の時間
信号を比較して、デジタル信号を生成する時間デジタル変換回路とを備える。
【選択図】図2

Description

本発明の実施形態は、演算装置に関する。
近年、Deep Learning関連の研究の進歩が目覚ましい。Deep Learningにより、高い表現
力を持った多層ニューラルネットワークを構築できるようになりつつある。そして、Deep
Learningの処理をハードウェアで行うことが考えられている。その中で、高速化や低電
力化を狙いデータのbit数を減らす研究も精力的に行われており、成果も出始めている。
しかし、一般的にDeep Learningの処理を実行するのに用いられているCPU、GPU、DSPなど
の機器は32bitの単精度浮動小数点演算に最適化されているため、そのような機器を利用
した場合データのbit数を減らすことによって得られる高速化や低電力化のメリットは限
定的であった。
特許第5885719号公報
本発明は、Deep Learningの処理を高速、低電力で実行することを可能にする演算装置
を提供する。
本実施形態の演算装置は、ニューラルネットワークに用いられる演算装置であって、
各々が、第1の時間信号及び第2の時間信号が入力され、重み係数と入力データに応じた
時間だけ遅延させた第3及び第4の時間信号を出力する、縦続接続された複数のデジタル
時間変換回路と、最終段の前記デジタル時間変換回路から出力される前記第3及び前記第
4の時間信号を比較して、デジタル信号を生成する時間デジタル変換回路とを備える。
ニューラルネットワークの概略構成を示すブロック図。 演算装置の概略構成を示すブロック図。 基本ユニット2iの概略構成を示すブロック図。 遅延回路の一例を示す回路図。 切替回路の一例を示す回路図。 入力回路の一例を示す回路図。 基本ユニットの動作の一例を説明するタイムチャート。 基本ユニットの動作の一例を説明するタイムチャート。 遅延回路の他の一例を示す回路図。 遅延回路の他の一例を示す回路図。 遅延回路の他の一例を示す回路図。 演算装置の概略構成の変形例を示すブロック図。
以下、実施形態について、図面を参照しながら具体的に説明する。なお、これらの実施
形態により本発明が限定されるものではない。
(第1の実施形態)
本実施形態では、ニューラルネットワークに用いられる演算装置を想定している。図1
は、ニューラルネットワークの概略構成を示すブロック図である。ニューラルネットワー
ク100は、入力層1と、1または複数の隠れ層2と、出力層3とを備えている。隠れ層
2および出力層3をまとめて演算層とも呼ぶ。図1は、2層の隠れ層2a,2bを含む例
を示している。隠れ層2aは、初段の隠れ層を示す。また、隠れ層2bは、前段の隠れ層
2aに引き続く隠れ層、あるいは、最終段の隠れ層を示す。
入力層1は、m個の入力データA1〜Amのそれぞれに対応する、m個の入力部I1〜
Imを有する。k個目の入力データAkが入力部Ikに入力される。
隠れ層2aは、p(pは任意の整数)個の演算装置P11〜P1pを有する。各演算装
置P11〜P1pの動作は同様である。以下、k番目の演算装置P1kについて説明する
。演算装置P1kには、入力層1からm個の入力データA1〜Amが入力される。そして
、演算装置P1kは、入力データA1〜Amと、それぞれに対応する重み係数Fk1〜F
kmとに対して所定の演算処理を行い、デジタル値Bkを生成する。デジタル値Bkは、
次段の隠れ層2bの入力データとなる。デジタル値Bkは、1ビットであってもよいし、
複数ビットであってもよい。
隠れ層2bは、q(qは任意の整数)個の演算装置P21〜P2qを有する。各演算装
置P21〜P2qの動作は同様である。以下、k番目の演算装置P2kについて説明する
。演算装置P2kには、隠れ層2aからp個のデジタル値B1〜Bpが入力される。そし
て、演算装置P2kは、デジタル値B1〜Bpと、それぞれに対応する重み係数Gk1〜
Gkpとに対して所定の演算処理を行い、デジタル値Ckを生成する。デジタル値Ckは
、出力層3の入力データとなる。デジタル値Ckは、1ビットであってもよいし、複数ビ
ットであってもよい。
出力層3は、例えば、10個の演算装置P30〜P39を有する。出力層3は、識別結
果の数だけ演算装置が設けられる。各演算装置P30〜P39の動作は同様である。以下
、k番目の演算装置P3kについて説明する。演算装置P3kには、隠れ層2bからq個
のデジタル値C1〜Cqが入力される。そして、演算装置P3kは、デジタル値C1〜C
qと、それぞれに対応する重み係数Hk1〜Hkqとに対して所定の演算処理を行い、デ
ジタル値Dkを生成する。例えば最大のDkを与えるkが識別結果となる。
ここで、上記重み係数Fk1〜Fkm,Gk1〜Gkp,Hk1〜Hkqがニューラル
ネットワークにおける重要なパラメータであり、これらを適切に定めることで、入力デー
タを正しく識別できる。
なお、図1では2層の隠れ層を持つニューラルネットワークを例示しているが、隠れ層
を1層のみとしてもよいし、隠れ層2a,2b間に1または複数の隠れ層2を設けてもよ
い。一般に、隠れ層の数が多いほど識別の精度が向上する。
続いて、各演算装置Pの処理について説明する。ニューラルネットワークでは、隠れ層
2及び出力層3における各演算装置Pは、ほぼ同様の演算処理を行う。図2は、演算装置
Pの概略構成を示すブロック図である。演算装置Pは、縦続接続されたn個の基本ユニッ
ト21〜2nと、時間デジタル変換回路としてのフリップフロップ回路4とを備える。本
実施形態の演算装置Pは、下記(1)式に示す演算処理を行う。
Figure 2017228295
ここで、Σは、i=1〜nまでの総和を意味する。wiは重み係数であり、xiは入力
データである。各基本ユニット21〜2nには、入力回路5から1ビットの入力データx
(x[1]〜x[n])が入力される。演算装置Pは、n個の基本ユニットでΣwixi
を算出し、フリップフロップ回路4でy=σ()の演算を行う。
各基本ユニット21〜2nは、デジタル時間変換回路であり、構成は同じである。以下
、i番目(i=1〜n)の基本ユニット2iについて説明する。図3は、基本ユニット2
iの概略構成を示すブロック図である。基本ユニット2iは、所望の重み係数wiが設定
されており、入力データxiが入力される。また、基本ユニット2iは、第1及び第2の
入力時間信号Ta[i−1]、Tb[i−1]が入力され、第1及び第2の出力時間信号
Ta[i]、Tb[i]を生成する。第1及び第2の入力時間信号Ta[i−1]、Tb
[i−1]は、前段の基本ユニット2i−1の第1及び第2の出力時間信号である。
なお、基本ユニット21は、基準時間信号である第1及び第2の入力時間信号Ta[0
]、Tb[0]が入力される。基準時間信号Ta[0]、Tb[0]は、ある基準の時刻
で電圧値が遷移する信号である。
基本ユニット2iは、遅延回路2i1と切替回路2i2とを有する。遅延回路2i1は
、第1及び第2の入力時間信号Ta[i−1]、Tb[i−1]が入力される。遅延回路
2i1は、第1及び第2の入力時間信号Ta[i−1]、Tb[i−1]のいずれか一方
もしくは両方を、両者の時間差が重み係数wiに応じた時間だけ変化するように遅延させ
る。説明を簡単にするため、ここでは第1の入力時間信号Ta[i−1]のみ遅延させ、
Ta[i−1]+wiの第1の遅延時間信号が生成されるとする。
図4は、遅延回路2i1の一例を示す回路図である。遅延回路2i1は、信号A1が入
力され、信号A2を出力する第1信号線と、信号B1が入力され、信号B2を出力する第
2信号線を有し、各信号線上には2個のインバータから成る遅延素子を有する。第1信号
線は、pMOSトランジスタQA11、QA13と、nMOSトランジスタQA12、Q
A14とを有する。また、nMOSトランジスタQA12のソース端子と接地端子の間に
、可変抵抗素子RA1を有する。可変抵抗素子RA1は、重み係数wiに応じた時間だけ
遅延させるように抵抗値を設定する。第2信号線は、pMOSトランジスタQB11、Q
B13と、nMOSトランジスタQB12、QB14とを有する。また、nMOSトラン
ジスタQB12のソース端子と接地端子の間に、抵抗素子RB1を有する。なお、各トラ
ンジスタのソース端子と、電源端子あるいは接地端子の間に、抵抗素子を有してもよい。
切替回路2i2は、遅延回路2i1から出力された時間信号が入力され、入力データx
iに基づき出力信号線の切替えを行う。すなわち、切替回路2i2は、第1の遅延時間信
号Ta[i−1]+wiを第1の出力時間信号Ta[i]として出力し、第2の入力時間
信号Tb[i−1]を第2の出力時間信号Tb[i]として出力する。あるいは、第1の
遅延時間信号Ta[i−1]+wiを第2の出力時間信号Tb[i]として出力し、第2
の入力時間信号Tb[i−1]を第1の出力時間信号Ta[i]として出力する。なお、
第2の入力時間信号Tb[i−1]は、第2の遅延時間信号でもある。
図5は、切替回路2i2の一例を示す回路図である。切替回路2i2は、MOSトラン
ジスタから成るスイッチング素子を有する。切替回路2i2は、信号A2が入力される第
1の入力信号線と、信号B2が入力される第2の入力信号線と、信号A3が出力される第
1の出力信号線と、信号B3が出力される第2の出力信号線と、nMOSトランジスタQ
A21、QA24と、pMOSトランジスタQA22、QA23とを有する。信号A2は
第1の遅延時間信号Ta[i−1]+wiであり、信号B2は第2の入力時間信号Tb[
i−1]である。信号A3は第1の出力時間信号Ta[i]であり、信号B3は第2の出
力時間信号Tb[i]である。
nMOSトランジスタのソース−ドレイン端子が、第1の入力信号線と第1の出力信号
線との間に接続されている。pMOSトランジスタQA21のソース−ドレイン端子が、
第1の入力信号線と第2の出力信号線との間に接続されている。pMOSトランジスタQ
A23のソース−ドレイン端子が、第2の入力信号線と第1の出力信号線との間に接続さ
れている。nMOSトランジスタQA24のソース−ドレイン端子が、第2の入力信号線
と第1の出力信号線との間に接続されている。各MOSトランジスタのゲート端子には、
1ビットの入力データが入力される。
フリップフロップ4は、最終段の基本ユニット2nの出力時間信号が入力される。フリ
ップフロップ4は、第2の出力時間信号Tb[n]が遷移するタイミングで、第1の出力
時間信号Ta[n]を取り込み、出力信号yとする。出力信号yは、1または0のデジタ
ル値である。 続いて、本実施形態の演算装置における具体的な動作について説明する。
ここでは、具体的な演算として、y=σ(Σwixi)において各データが1ビットの場
合について説明する。
Figure 2017228295
すなわち、wi及びxiは、−1または+1の値である。また、σ(x)は、xが0よ
り小さいときに−1となり、xが0以上のときに+1となる。wiは具体的には遅延時間
で表現されるため、−1または+1以外の値もとること可能であり、多ビットの情報を扱
うこともできる。
基本ユニット2iは、第1及び第2の入力時間信号Ta[i−1]、Tb[i−1]が
入力される。具体的には、第1の入力時間信号Ta[i−1]は、遅延回路の第1信号線
に入力され、第2の入力時間信号Tb[i−1]は、第2信号線に入力される。第1信号
線には重み係数wiに応じた可変抵抗素子があるため、第1の入力時間信号Ta[i−1
]はTa[i−1]+wiとなり、切替回路2i2の第1の入力信号線に出力される。第
1の入力時間信号Tb[i−1]は、遅延は生じずにそのまま、第2の入力信号線に出力
される。ここで、時間信号τ[i]を、τ[i]=Tb[i]−Ta[i]と定義する。
切替回路2i2は、入力データxiに基づき、時間信号Ta[i]とTb[i]の出力
先を切替える。これは、入力時間信号τ[i]に対し、×xiに相当する演算を行ってい
る。xiが+1のとき、nMOSトランジスタQA21、QA24がオンし、pMOSト
ランジスタQA22、QA23がオフする。これにより、第1の入力信号線は第1の出力
信号線に接続され、第2の入力信号線は第2の出力信号線に接続される。これは、入力時
間信号τ[i]に対し、×(+1)に相当する演算を行っている。一方、xiが−1のと
き、nMOSトランジスタQA21、QA24がオフし、pMOSトランジスタQA22
、QA23がオンする。これにより、第1の入力信号線は第2の出力信号線に接続され、
第2の入力信号線は第1の出力信号線に接続される。これは、入力時間信号τ[i]に対
し、×(−1)に相当する演算を行っている。
すなわち、基本ユニットにおいて、下記(3)式に示す演算処理を行っている。
Figure 2017228295
しかしながら、式(3)では、Σwixiと同等の演算を行ったことにはならない。そ
こで、n個の基本ユニットでΣwixiの演算を行うために、入力回路5において入力デ
ータの変換を行う。
入力データの変換は、下記(4)式を用いて行う。
Figure 2017228295
これにより、n個の基本ユニットでΣwixiに相当する演算が行える。
図6は、入力回路5の一例を示す回路図である。入力回路5は、nビットの入力データ
x[1:n]を、nビットの入力データx´[1:n]に変換する。図6(a)の入力回
路5は、n個のXOR回路51〜5nを有する。XOR回路51は、データx[1]及び
x[2]とのXOR演算により、入力データx´[1]を生成する。すなわち、i番目の
XOR回路5iは、データx[i]及びx[i+1]とのXOR演算により、入力データ
x´[i]を生成し、基本ユニット2iの切替回路に出力する。最下位ビットに対応する
x´[n]を生成するXOR回路5nは、データx[n]及び0との演算がされる。なお
、図6(b)に示すように、0とx[n]をXOR回路に入力すると出力x´[n]はx
[n]と等しくなるのでXOR回路5nは使わず、x´[n]としてx[n]を直接利用
しても良い。
最終段の基本ユニット2nから出力された第1及び第2の出力時間信号Ta[n]、T
b[n]は、フリップフロップ回路4に入力される。第2の出力時間信号Tb[n]が遷
移するタイミングで、第1の出力時間信号Ta[n]を取り込まれる。取り込まれた第1
の出力時間信号Ta[n]は、出力信号yとして出力される。
続いて、本実施形態の基本ユニットにおける具体的な動作について説明する。図7及び
図8は、基本ユニットの動作の一例を説明するタイムチャートである。遅延回路211へ
入力される信号A1、B1、切替回路212へ入力される信号A2、B2、及び、切替回
路212からの出力される信号A3、B3の波形を示している。水平方向は時間を、垂直
方向は電圧値を表している。信号A1、B1は、同じタイミングで遷移している。ここで
は、wi=+1のとき、可変抵抗素子RA1の抵抗値は、抵抗素子RB1の抵抗値よりも
小さく設定している。また、wi=−1のとき、可変抵抗素子RA1の抵抗値は、抵抗素
子RB1の抵抗値よりも大きく設定している。
図7(a)、(b)は、重み係数wiが+1の例である。信号A2は、時刻t0から時
間Da経過した時刻t1で遷移している。時間Daは、重み係数wiに応じて設定された
可変抵抗素子RA1の抵抗値に対応する時間である。すなわち、信号A2は、信号A1を
Da時間遅延させた信号となる。また、信号B2は、時刻t0から時間Db経過した時刻
t2で遷移している。時間Dbは、抵抗素子RB1の抵抗値(固定値)に対応する時間で
ある。すなわち、信号B2は、信号B1をDb時間遅延させた信号となる。信号A1は、
信号B2よりも早く遷移している。
図7(a)は、入力データxi=+1の例である。したがって、切替回路2i2は、第
1の入力信号線が第1の出力信号線に接続され、第2の入力信号線が第2の出力信号線に
接続される。よって、信号A2は信号A3として出力され、信号B2は信号B3として出
力される。
図7(b)は、入力データxi=−1の例である。したがって、切替回路212は、第
1の入力信号線が第2の出力信号線に接続され、第2の入力信号線が第1の出力信号線に
接続されている。よって、信号A2は信号B3として出力され、信号B2は信号A3とし
て出力される。
なお、フリップフロップ回路4は、最終段の基本ユニット2nから信号A3、B3が入
力される。図7(a)の場合、信号B3が遷移した時刻t3において、信号A3の値1を
取り込む。一方、図7(b)の場合、信号B3が遷移した時刻t3´において、信号A3
の値0を取り込む。
図8(a)、(b)は、重み係数wiが−1の例である。信号A2は、時刻t0から時
間Da´経過した時刻t4で遷移している。また、信号B2は、時刻t0から時間Db経
過した時刻t2で遷移している。可変抵抗素子RA1の抵抗値を大きくしているため、信
号A2の遅延時間は、信号B2の遅延時間よりも大きくなっている。すなわち、信号A2
は、信号B2よりも遅く遷移している。
なお、図8(a)の場合、フリップフロップ回路4は、信号B3が遷移した時刻t3に
おいて、信号A3の値0を取り込む。一方、図8(b)の場合、信号B3が遷移した時刻
t3´´において、信号A3の値1を取り込む。
重み係数すなわち抵抗値を可変にすることにより、出力信号線の遷移タイミングを変更
することができる。すなわち、(wi,xi)=(+1,+1)のとき、信号A3は、信
号B3よりも早く遷移する。一方、(wi,xi)=(−1,+1)のとき、信号A3は
、信号B3よりも遅く遷移する。また、(wi,xi)=(+1,−1)のとき、信号A
3は、信号B3よりも遅く遷移する。一方、(wi,xi)=(−1,−1)のとき、信
号A3は、信号B3よりも早く遷移する。
本実施形態の演算装置は、電圧値が遷移する時刻で情報を表現する2つの時間信号の時
間差を用いて演算処理を行う。これにより、基本ユニットは、可変抵抗素子を用いた遅延
素子と、スイッチング素子で構成できる。よって、ハードウェア構成を簡略化でき、回路
の実装面積を小さくすることができる。また、可変抵抗素子を用いることにより、重み係
数に応じた時間を適切に設定できる。
また、本実施形態の演算装置は、複数の基本ユニットにおいて遅延と切替えを繰り返す
ことで、入力データに対する積和演算を行っている。これにより、演算処理を高速化及び
低電力化することができる。
図9は、遅延回路2i1の他の一例を示す回路図である。図4の可変抵抗素子RA1お
よび抵抗素子RB1に代えて、可変容量素子CA1および容量素子CB2を有する。可変
容量素子CA1は、一端をpMOSトランジスタQA11およびnMOSトランジスタQ
A12のドレイン端子に接続され、他端をワード線VWとビット線VBに接続されたnM
OSトランジスタのソース端子に接続されている。容量素子CB1は、一端をpMOSト
ランジスタQB11およびnMOSトランジスタQB12のドレイン端子に接続され、他
端を接地端子に接続されている。可変容量素子CA1は、重み係数wiに応じた時間だけ
遅延させるように容量値を設定する。
図9の場合、wi=+1のとき、可変容量素子CA1の容量値は、容量素子CB1の容
量値よりも小さく設定している。また、wi=−1のとき、可変容量素子CA1の容量値
は、容量素子CB1の容量値よりも大きく設定している。可変容量素子を用いることによ
り、重み係数に応じた時間を適切に設定できる。
また、遅延回路2i1をアレイ状に配置してもよい。アレイ状に配置することにより、
配線数を少なくすることができる。図10は、遅延回路2i1の他の一例を示す回路図で
ある。各遅延回路は、第1信号線上の遅延素子間に一端が接続された可変容量素子を有し
、第2信号線上の遅延素子間に一端が接続された可変容量素子を有する。各可変容量素子
の他端は、nMOSトランジスタに接続されており、nMOSトランジスタはワード線V
Wおよびビット線VBにより選択される。これにより、可変容量素子に異なる値を書き込
むことができる。
図11は、遅延回路2i1の他の一例を示す回路図である。可変抵抗素子の他端が、ビ
ット線VBに接続されている。図11の遅延回路は、ワード線VWの代わりに、入力信号
をHighにすることにより行選択を行う。
図10および図11の場合も、可変容量素子の容量値を変更することにより、重み係数
に応じた時間を適切に設定できる。
なお、基本ユニットは、切替回路がなくてもよく、入力データxiに関係なく、遅延回
路の出力信号を後段の基本ユニットにそのまま入力してもよい。
(変形例)
次に、本実施形態の演算装置における変形例について説明する。図12は、演算装置P
の変形例の概略構成を示すブロック図である。第1の実施形態と同一部分には同一符号を
付し、説明を省略する。図12の演算装置Pは、縦続接続されたn個の基本ユニット61
〜6nと、フリップフロップ回路4とを備える。
各基本ユニット61〜6nの構成は同じである。以下、i番目の基本ユニット6iにつ
いて説明する。基本ユニット6i(iは、任意の整数)は、所望の重み係数wiが設定さ
れており、入力データxiが入力される。また、基本ユニット6iは、第1及び第2の入
力時間信号Ta[i−1]、Tb[i−1]が入力され、第1及び第2の出力時間信号T
a[i]、Tb[i]を生成する。
基本ユニット6iは、遅延回路2i1と、切替回路2i2と、XNOR回路7iと、記
憶素子8iとを有する。遅延回路2i1は、第1及び第2の入力時間信号Ta[i−1]
、Tb[i−1]のいずれか一方もしくは両方を、両者の時間差が重み係数wiの絶対値
であるabs(wi)に応じた時間だけ遅延させる。すなわち、遅延回路2i1は、ab
s(wi)に応じた時間だけ遅延させる可変抵抗素子を有する。記憶素子8iは、重み係
数wiの符号であるsign(wi)を記憶している。XNOR回路7iは、データx[
i]及びsign(wi)とのXNOR演算を行い、演算結果を切替回路2i2に出力す
る。
すなわち、基本ユニット6iは、(τ[i−1]+abs(wi))×sign(wi
)×xiを算出している。図8の演算装置は、図2の演算装置と同様の結果(y=σ(Σ
wixi))を得ることができる。
なお、遅延時間を使った演算では、素子の製造ばらつきによる遅延時間のばらつきが原
因で演算に誤差が生じる問題がある。しかしながら、本実施形態の変形例では、符号演算
については一般的なデジタル回路を使った論理演算で行うためそのような誤差は生じない
。従って、第1の実施形態より回路の実装面積は大きくなるが、より精度の良い演算結果
を得ることができる。
また、変形例においても、第1の実施形態と同様に、高速化及び低電力化できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その
他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や
要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる
P 演算装置、21,2n,61,6n 基本ユニット、212,2n1 遅延回路、
212,2n2 切替回路、4 フリップフロップ回路、5 入力回路

Claims (4)

  1. ニューラルネットワークに用いられる演算装置であって、
    各々が、第1の時間信号及び第2の時間信号が入力され、重み係数と入力データに応じ
    た時間だけ遅延させた第3及び第4の時間信号を出力する、縦続接続された複数のデジタ
    ル時間変換回路と、
    最終段の前記デジタル時間変換回路から出力される前記第3及び前記第4の時間信号を
    比較して、デジタル信号を生成する時間デジタル変換回路と
    を備えることを特徴とする演算装置。
  2. ニューラルネットワークに用いられる演算装置であって、
    第1の入力時間信号が入力される第1の入力信号線と、第2の入力時間信号が入力され
    る第2の入力信号線と、前記第1または前記第2の入力信号線の一方に接続され、第1の
    出力時間信号が出力される第1の出力信号線と、前記第1または前記第2の入力信号線の
    他方に接続され、第2の出力時間信号が出力される第2の出力信号線とを有するデジタル
    時間変換回路と、
    前記第2の出力時間信号が遷移するタイミングで、前記第1の出力時間信号を取り込み
    、出力信号を生成する時間デジタル変換回路と
    を備え、
    前記デジタル時間変換回路は、入力データに基づき、前記第1及び前記第2の入力信号
    線と、前記第1及び前記第2の出力信号線の接続を切替える
    ことを特徴とする演算装置。
  3. 前記デジタル時間変換回路は、遅延回路と、切替回路とを有し、
    前記遅延回路は、前記第1及び前記第2の入力信号線に接続され、前記第1の入力時間
    信号に重み係数に応じた時間だけ遅延させる遅延素子を有し、
    前記切替回路は、前記入力データに基づき、前記信号線の接続を切替えるスイッチング
    素子を有する
    ことを特徴とする請求項2に記載の演算装置。
  4. 前記デジタル時間変換回路が、複数縦続接続されていることを特徴とする請求項2また
    は3に記載の演算装置。
JP2017119950A 2016-06-20 2017-06-19 演算装置 Active JP6846297B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016121918 2016-06-20
JP2016121918 2016-06-20

Publications (2)

Publication Number Publication Date
JP2017228295A true JP2017228295A (ja) 2017-12-28
JP6846297B2 JP6846297B2 (ja) 2021-03-24

Family

ID=60660290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017119950A Active JP6846297B2 (ja) 2016-06-20 2017-06-19 演算装置

Country Status (2)

Country Link
US (1) US11915116B2 (ja)
JP (1) JP6846297B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019168851A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 演算装置及び演算方法
JP2020009432A (ja) * 2018-06-29 2020-01-16 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
JP2020120075A (ja) * 2019-01-28 2020-08-06 株式会社荏原製作所 研磨方法および研磨装置
JP2020149340A (ja) * 2019-03-13 2020-09-17 株式会社豊田中央研究所 演算装置
US10924090B2 (en) 2018-07-20 2021-02-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device comprising holding units
JPWO2019239246A1 (ja) * 2018-06-15 2021-07-26 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
WO2022013677A1 (ja) * 2020-07-17 2022-01-20 株式会社半導体エネルギー研究所 半導体装置
US11526738B2 (en) 2019-09-17 2022-12-13 Kabushiki Kaisha Toshiba Processing apparatus and inference system
US11587616B2 (en) 2020-05-22 2023-02-21 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
US11586887B2 (en) 2019-03-18 2023-02-21 Kabushiki Kaisha Toshiba Neural network apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136202A (ko) * 2017-06-14 2018-12-24 에스케이하이닉스 주식회사 컨볼루션 신경망 및 컨볼루션 신경망을 가진 신경망 시스템
US10706923B2 (en) * 2017-09-08 2020-07-07 Arizona Board Of Regents On Behalf Of Arizona State University Resistive random-access memory for exclusive NOR (XNOR) neural networks
US11573792B2 (en) 2019-09-03 2023-02-07 Samsung Electronics Co., Ltd. Method and computing device with a multiplier-accumulator circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010119077A (ja) * 2008-10-16 2010-05-27 Nec Corp 位相比較器、pll回路、及び位相比較器の制御方法
JP2014045268A (ja) * 2012-08-24 2014-03-13 Toshiba Corp 時間デジタル変換回路、および、デジタル時間変換回路
JP2015053008A (ja) * 2013-09-09 2015-03-19 株式会社東芝 識別装置および演算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271367B2 (ja) 2014-08-19 2018-01-31 東芝メモリ株式会社 遅延装置
JP2019168851A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 演算装置及び演算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010119077A (ja) * 2008-10-16 2010-05-27 Nec Corp 位相比較器、pll回路、及び位相比較器の制御方法
JP2014045268A (ja) * 2012-08-24 2014-03-13 Toshiba Corp 時間デジタル変換回路、および、デジタル時間変換回路
JP2015053008A (ja) * 2013-09-09 2015-03-19 株式会社東芝 識別装置および演算装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019168851A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 演算装置及び演算方法
JPWO2019239246A1 (ja) * 2018-06-15 2021-07-26 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US11848664B2 (en) 2018-06-15 2023-12-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP7330961B2 (ja) 2018-06-15 2023-08-22 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US11424737B2 (en) 2018-06-15 2022-08-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
US11515873B2 (en) 2018-06-29 2022-11-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP7337563B2 (ja) 2018-06-29 2023-09-04 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US11870436B2 (en) 2018-06-29 2024-01-09 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP2020009432A (ja) * 2018-06-29 2020-01-16 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US11264973B2 (en) 2018-07-20 2022-03-01 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device comprising a logic circuit and a holding unit
US10924090B2 (en) 2018-07-20 2021-02-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device comprising holding units
JP7358100B2 (ja) 2018-07-20 2023-10-10 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
JP7169210B2 (ja) 2019-01-28 2022-11-10 株式会社荏原製作所 研磨方法および研磨装置
JP2020120075A (ja) * 2019-01-28 2020-08-06 株式会社荏原製作所 研磨方法および研磨装置
JP2020149340A (ja) * 2019-03-13 2020-09-17 株式会社豊田中央研究所 演算装置
US11586887B2 (en) 2019-03-18 2023-02-21 Kabushiki Kaisha Toshiba Neural network apparatus
US11526738B2 (en) 2019-09-17 2022-12-13 Kabushiki Kaisha Toshiba Processing apparatus and inference system
US11893476B2 (en) 2019-09-17 2024-02-06 Kabushiki Kaisha Toshiba Processing apparatus and inference system
US11587616B2 (en) 2020-05-22 2023-02-21 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
US11804266B2 (en) 2020-05-22 2023-10-31 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
WO2022013677A1 (ja) * 2020-07-17 2022-01-20 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
JP6846297B2 (ja) 2021-03-24
US20170364791A1 (en) 2017-12-21
US11915116B2 (en) 2024-02-27

Similar Documents

Publication Publication Date Title
JP6846297B2 (ja) 演算装置
JP5885719B2 (ja) 識別装置および演算装置
JP6773621B2 (ja) 演算装置
CN102142840B (zh) 折叠模数转换器
TW201644205A (zh) 逐次逼進型類比至數位轉換器
JP5800422B2 (ja) 連想メモリ
US20190294957A1 (en) Arithmetic device and arithmetic method
JP4579798B2 (ja) 演算装置
WO2020020092A1 (zh) 数模转换器
WO2014030383A1 (ja) 連想メモリ
Chua et al. An improved design and simulation of low-power and area efficient parallel binary comparator
US11475288B2 (en) Sorting networks using unary processing
JP6602392B2 (ja) 多数決回路
CN102355231A (zh) 一种基于概率计算的低功耗数字滤波器及实现方法
JP3663186B2 (ja) 部分積生成回路および乗算器
JP5059968B2 (ja) A/d変換装置
TWI676361B (zh) 連續漸進式類比數位轉換器及其控制方法
Prathiba et al. A 2.5-V 8-Bit Low power SAR ADC using POLC and SMTCMOS D-FF for IoT Applications
JP2013183399A (ja) ダイナミックコンパレータのためのオフセット電圧補正回路とそれを用いたダイナミックコンパレータ回路
TW595109B (en) Pipelined analog-to-digital converter
TWI600284B (zh) 數值尋找器以及數值尋找方法
Sulieman et al. Design and Simulation of a Nanoscale Threshold-Logic Multiplier
Jiang et al. An In-Memory-Computing STT-MRAM Macro with Analog ReLU and Pooling Layers for Ultra-High Efficient Neural Network
Rustogi et al. Algorithmic Current-Mode ADC using CMOS Inverter Based Current Comparator
Muralidharan et al. An enhanced Carry elimination adder for low power VLSI applications

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20170821

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180907

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20180907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201224

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: 20210129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210301

R150 Certificate of patent or registration of utility model

Ref document number: 6846297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150