JP6927244B2 - 演算装置 - Google Patents
演算装置 Download PDFInfo
- Publication number
- JP6927244B2 JP6927244B2 JP2019046166A JP2019046166A JP6927244B2 JP 6927244 B2 JP6927244 B2 JP 6927244B2 JP 2019046166 A JP2019046166 A JP 2019046166A JP 2019046166 A JP2019046166 A JP 2019046166A JP 6927244 B2 JP6927244 B2 JP 6927244B2
- Authority
- JP
- Japan
- Prior art keywords
- layer
- variable resistance
- resistance
- value
- unit
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000003111 delayed effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (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)
- Image Analysis (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
M=X21×W211+X22×W221+ ・・・ +X2N×W2N1・・・(1)
そして、演算器AU21は、中間値Mと時間しきい値Vthとを比較し、デジタル値である出力X31を出力する。中間値Mが時間しきい値Vth以下の場合には、出力X31は「0」である。中間値Mが時間しきい値Vthより大きい場合には、出力X31は「1」である。同様にして演算器AU2Nは、出力X21〜X2Nと重み係数W21N〜W2NNとに基づいて中間値Mを算出し、中間値Mと時間しきい値Vthとを比較して出力X3Nを出力する。
図3に、図1のニューラルネットワーク100に対応する演算装置1の回路図を示す。演算装置1は、N個(Nは1以上の自然数)の遅延素子DE1〜DEN、N個の抵抗制御回路RC1〜RCN、N個のTDC回路TD1〜TDN、N個のラッチ回路LC1〜LCN、重み係数算出回路WC、しきい値生成回路VC、入力パルス生成回路IPを備える。遅延素子DE1〜DENは、インバータである。遅延素子DE1は、ニューラルネットワーク100(図1)の隠れ層の1列目の演算器である演算器AU11〜AUK1に対応する。以下同様にして、遅延素子DENは、隠れ層のN列目の演算器である演算器AU1N〜AUKNに対応する。
図5のフローチャートを用いて、演算装置1の動作を説明する。S10において1層目の隠れ層HL1の計算を行う。計算内容の具体的内容は後述する。隠れ層HL1の計算により、N個のTDC回路TD1〜TDNの各々からは、1層目のN個のデジタル信号DS1〜DSNが出力され、ラッチ回路LC1〜LCNにラッチされる。1層目のデジタル信号DS1〜DSNの各々は、ニューラルネットワーク100(図1)の出力X21〜X2Nに対応している。S20において、層数Yが1カウントアップされる。これにより、次の層の計算が開始される。
比較例として、図7に示す従来の演算器200を考える。演算器200は、図2の演算器AU21に対応する回路である。演算器200では、N個の重み係数に対応させたN個のデジタル時間変換回路DTC1〜DTCN、および、TDC回路TD1が縦続接続されている。デジタル時間変換回路DTCは、1つのインバータと3つのNOR回路(不図示)を内部に備えるため、トランジスタ数は14個である。すると、従来技術の演算器200では、1つの演算器を構成するために14×N[個]のトランジスタが必要となる。ニューラルネットワーク100(図1)に示すように、K層の隠れ層の各々がN[個]の演算器を備える場合には、演算器はK×N[個]必要となる。するとトランジスタ数は、14×N×K×N[個]となる。例えばN=10、K=10の場合には、トランジスタ数は14000個となる。
図8に、実施例2に係る演算装置1aを示す。演算装置1a(図8)は、実施例1に係る演算装置1(図3)に比して、抵抗制御回路RC1〜RCNの各々の接続位置が異なっている。演算装置1a(図8)において、演算装置1(図3)と同様の部位には同一の符号を付すことで、説明を省略する。
演算装置1aの動作は、実施例1の演算装置1の動作(図5)と同様である。以下に、異なる部分のみ説明する。S60において、遅延素子DE1は、Y番目の可変抵抗部の抵抗値に基づいてY層目の隠れ層の計算を行うことで、遅延時間を含んだ時間信号TS1を出力する。遅延素子DE1は、出力端子に接続されている抵抗成分が大きくなるほどRC時定数が大きくなるため、遅延時間が長くなる特性を有している。そして例えば、2層目の隠れ層HL2の計算を行う場合には、可変抵抗部VR12のみが、遅延素子DE1の出力端子とTDC回路TD1との間に接続される(S30)。すると、可変抵抗部VR12の合成抵抗が高くなるほど、遅延素子DE1の出力端子のRC時定数が大きくなるため、遅延素子DE1の遅延時間を長くすることができる。なお、遅延素子DE2〜DENの動作は、遅延素子DE1の動作と同様であるため、説明を省略する。
図9に、実施例3に係る抵抗制御回路RC1aの内部構造を示す。抵抗制御回路RC1a(図9)は、実施例1に係る抵抗制御回路RC1(図4)に比して、可変抵抗素子および出力スイッチの接続形態が異なっている。抵抗制御回路RC1a(図9)において、抵抗制御回路RC1(図4)と同様の部位には同一の符号を付すことで、説明を省略する。
抵抗制御回路RC1aの動作は、実施例1の抵抗制御回路RC1の動作(図5)と同様である。以下に、異なる部分のみ説明する。S50において、Y番目の可変抵抗部は、N個の可変抵抗素子の各々の抵抗値を個別に設定する。具体例として、2層目の隠れ層HL2の演算を行う場合を説明する。代表例として、抵抗制御回路RC1a(図9)において、隠れ層HL2に対応する可変抵抗部VR12aの抵抗値が設定される場合を説明する。
図4に示す抵抗制御回路RC1の内部構造は一例であり、様々な回路構成が可能である。例えば、可変抵抗部VR11のM個の出力スイッチXS11〜XS1Mを省略してもよい。この場合、可変抵抗部VR11の可変抵抗素子VE11〜VE1Mの各々は、電源電圧VDDと可変抵抗部VR12との間にスイッチを介さずに接続される。以下同様に、可変抵抗部VR1KのN個の出力スイッチXSK1〜XSKNを省略してもよい。
図9に示す抵抗制御回路RC1aの内部構造は一例であり、様々な回路構成が可能である。例えば、可変抵抗部VR11aのM個の出力スイッチXS11〜XS1Mを省略してもよい。以下同様に、可変抵抗部VR1KaのN個の出力スイッチXSK1〜XSKNを省略してもよい。
実施例2と3の技術を組み合わせることも可能である。すなわち、実施例2(図8)の抵抗制御回路RC1〜RCNの各々の内部構造を、実施例3で説明した抵抗制御回路RC1a(図9)と同様の構造にしてもよい。
実施例1の抵抗制御回路RC1(図4)では、1層目の隠れ層に対応する可変抵抗部VR11は入力層ILに対応してM個の可変抵抗素子を備え、2層目以降の隠れ層に対応する可変抵抗部VR12〜VR1Kは遅延素子に対応してN個の可変抵抗素子を備える形態を説明した。しかし、可変抵抗素子の数は、自由に設定することができる。例えば、可変抵抗部VR11〜VR1Kの各々が、共通のL個の可変抵抗素子を備えていてもよい。Lの値は、入力部の数および遅延素子の数以上となるように定めればよい。Lの値が遅延素子数より大きい場合には、使用しない遅延素子を設定すればよい。これにより、隠れ層の1層あたりの演算器を自由に設定することが可能となる。ニューラルネットワーク100の構成の自由度を高めることができる。
Claims (5)
- 入力層、K層(Kは1以上の自然数)の隠れ層、出力層を備えたニューラルネットワークを用いた演算装置であって、
前記K層の隠れ層の1層分に対応するN個(Nは1以上の自然数)の遅延素子を備えており、
前記N個の遅延素子の各々は、
前記K層の隠れ層の各々に対応しているK個の可変抵抗部であって、
前記K個の可変抵抗部の各々は、前記N個の遅延素子の各々に対応するN個の可変抵抗素子を備えている、前記可変抵抗部と、
前記K層の隠れ層のうちのY層目(Yは1以上K以下の自然数)を計算する場合に、前記K個の可変抵抗部のうちから前記Y層目に対応するY番目の可変抵抗部を選択して電源電圧部位と前記遅延素子の電源入力端子との間に接続する選択部と、
前記遅延素子から、前記Y番目の可変抵抗部の抵抗値に応じた遅延時間だけ遅延された時間信号が出力された場合に、遅延した時間信号をしきい値と比較してデジタル信号を生成する時間デジタル変換回路と、
を備え、
前記N個の遅延素子の各々が備えるN個の前記時間デジタル変換回路は、Y−1層目の隠れ層の計算によって、Y−1層目のN個のデジタル値を出力し、
前記選択部は、Y−1層目の隠れ層の計算後に、Y番目の可変抵抗部を選択し、
前記Y番目の可変抵抗部は、前記N個の可変抵抗素子の各々の抵抗値を、前記Y−1層目のN個のデジタル値および前記Y−1層目のN個のデジタル値の各々に対応付けられているN個の重み係数に応じた抵抗値に設定し、
前記N個の遅延素子の各々は、前記Y番目の可変抵抗部の抵抗値に基づいてY層目の隠れ層の計算を行うことで、Y層目のN個のデジタル値を出力する、演算装置。 - 前記可変抵抗部が備える前記N個の可変抵抗素子の各々は、前記電源電圧部位と前記電源入力端子との間に並列に接続されており、
前記K層の隠れ層のうちのY層目を計算する場合に、前記Y番目の可変抵抗部は、
前記Y−1層目のN個のデジタル値のうちZ個目(Zは1以上N以下の自然数)のデジタル値が0の場合は、Z個目の可変抵抗素子の抵抗値を最大値とし、
前記Z個目のデジタル値が1の場合は、Z個目の可変抵抗素子の抵抗値を、前記Z個目のデジタル値に対応付けられている重み係数に応じた抵抗値とする、請求項1に記載の演算装置。 - 前記可変抵抗部が備える前記N個の可変抵抗素子の各々は、前記電源電圧部位と前記電源入力端子との間に直列に接続されており、
前記K層の隠れ層のうちのY層目を計算する場合に、前記Y番目の可変抵抗部は、
前記Y−1層目のN個のデジタル値のうちZ個目(Zは1以上N以下の自然数)のデジタル値が0の場合は、Z個目の可変抵抗素子の抵抗値を最小値とし、
前記Z個目のデジタル値が1の場合は、Z個目の可変抵抗素子の抵抗値を、前記Z個目のデジタル値に対応付けられている重み係数に応じた抵抗値とする、請求項1に記載の演算装置。 - 前記N個の遅延素子の各々に対応して備えられた前記N個の時間デジタル変換回路の出力の各々をラッチするN個のラッチ回路をさらに備え、
前記N個のラッチ回路の各々は、Y−1層目の隠れ層の計算によって、Y−1層目のN個のデジタル値をラッチし、
前記Y番目の可変抵抗部は、前記N個のラッチ回路にラッチされた前記Y−1層目のN個のデジタル値の各々を用いて、前記N個の可変抵抗素子の各々の抵抗値を設定する、請求項1〜3の何れか1項に記載の演算装置。 - 入力層、K層(Kは1以上の自然数)の隠れ層、出力層を備えたニューラルネットワークを用いた演算装置であって、
前記K層の隠れ層の1層分に対応するN個(Nは1以上の自然数)の遅延素子を備えており、
前記N個の遅延素子の各々は、
前記K層の隠れ層の各々に対応しているK個の可変抵抗部であって、
前記K個の可変抵抗部の各々は、前記N個の遅延素子の各々に対応するN個の可変抵抗素子を備えている、前記可変抵抗部と、
前記K層の隠れ層のうちのY層目(Yは1以上K以下の自然数)を計算する場合に、前記K個の可変抵抗部のうちから前記Y層目に対応するY番目の可変抵抗部を選択して前記遅延素子の出力端子と時間デジタル変換回路との間に接続する選択部と、
前記Y番目の可変抵抗部から、前記Y番目の可変抵抗部の抵抗値に応じた遅延時間だけ遅延された時間信号が出力された場合に、遅延した時間信号をしきい値と比較してデジタル信号を生成する時間デジタル変換回路と、
を備え、
前記N個の遅延素子の各々が備えるN個の前記時間デジタル変換回路は、Y−1層目の隠れ層の計算によって、Y−1層目のN個のデジタル値を出力し、
前記選択部は、Y−1層目の隠れ層の計算後に、Y番目の可変抵抗部を選択し、
前記Y番目の可変抵抗部は、前記N個の可変抵抗素子の各々の抵抗値を、前記Y−1層目のN個のデジタル値および前記Y−1層目のN個のデジタル値の各々に対応付けられているN個の重み係数に応じた抵抗値に設定し、
前記N個の遅延素子の各々は、前記Y番目の可変抵抗部の抵抗値に基づいてY層目の隠れ層の計算を行うことで、Y層目のN個のデジタル値を出力する、演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019046166A JP6927244B2 (ja) | 2019-03-13 | 2019-03-13 | 演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019046166A JP6927244B2 (ja) | 2019-03-13 | 2019-03-13 | 演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020149340A JP2020149340A (ja) | 2020-09-17 |
JP6927244B2 true JP6927244B2 (ja) | 2021-08-25 |
Family
ID=72432045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019046166A Active JP6927244B2 (ja) | 2019-03-13 | 2019-03-13 | 演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6927244B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2620785B (en) * | 2022-07-21 | 2024-08-07 | Advanced Risc Mach Ltd | Improved spiking neural network apparatus |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6846297B2 (ja) * | 2016-06-20 | 2021-03-24 | キオクシア株式会社 | 演算装置 |
US11048434B2 (en) * | 2018-09-28 | 2021-06-29 | Intel Corporation | Compute in memory circuits with time-to-digital computation |
-
2019
- 2019-03-13 JP JP2019046166A patent/JP6927244B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020149340A (ja) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5495197A (en) | Variable delay circuit | |
US5682114A (en) | Variable delay circuit, ring oscillator, and flip-flop circuit | |
US5175452A (en) | Programmable compensated digital delay circuit | |
JPH05268015A (ja) | Cmosデジタル制御された遅延ゲート | |
EP0858161B1 (en) | Delay circuit using pulse shaping | |
JP4842989B2 (ja) | プライオリティエンコーダならびにそれを利用した時間デジタル変換器、試験装置 | |
JP6927244B2 (ja) | 演算装置 | |
US20070103356A1 (en) | Analog to digital converter with a series of inverting elements | |
JPH06303060A (ja) | ゲインコントロールアンプ回路 | |
US6255879B1 (en) | Digital programmable delay element | |
US9755575B1 (en) | Variable frequency RC oscillator | |
JPH1013200A (ja) | 可変遅延回路 | |
US5821793A (en) | Variable delay circuit and a variable pulse width circuit | |
US5668491A (en) | Variable delay circuit | |
JP4729228B2 (ja) | 遅延回路およびリング発振器 | |
US8004441B1 (en) | Small-area digital to analog converter based on master-slave configuration | |
JP2010011140A (ja) | デジタルdll回路及び半導体装置 | |
US20110080201A1 (en) | Digital logic circuits having a pulse width timing circuit | |
US6172530B1 (en) | Decoder for generating N output signals from two or more precharged input signals | |
JP3029926B2 (ja) | Da変換器 | |
Al-Nsour et al. | Implementation of programmable digital sigmoid function circuit for neuro-computing | |
JP3718932B2 (ja) | 中間位相クロック生成回路 | |
GB2134342A (en) | Apparatus for matching fet switches as for a video digital-to-analog converter | |
US7646321B2 (en) | Digital/analog converter | |
JP2000134103A (ja) | サーモメトリック−バイナリコード変換方法および回路、それに使用されるエンコーダ素子回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210630 |
|
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: 20210706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210719 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6927244 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |