JP2019095860A - ニューラルネットワーク装置および演算装置 - Google Patents
ニューラルネットワーク装置および演算装置 Download PDFInfo
- Publication number
- JP2019095860A JP2019095860A JP2017222258A JP2017222258A JP2019095860A JP 2019095860 A JP2019095860 A JP 2019095860A JP 2017222258 A JP2017222258 A JP 2017222258A JP 2017222258 A JP2017222258 A JP 2017222258A JP 2019095860 A JP2019095860 A JP 2019095860A
- Authority
- JP
- Japan
- Prior art keywords
- values
- multipliers
- value
- resistance change
- row
- 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
Links
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/388—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using other various devices such as electro-chemical, microwave, surface acoustic wave, neuristor, electron beam switching, resonant, e.g. parametric, ferro-resonant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- 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
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Amplifiers (AREA)
Abstract
Description
12 プロセッサ
14 メモリ部
16 通信部
20 行列演算部
22 層演算部
24 制御部
26 学習部
28 ネットワーク構成記憶部
30 係数記憶部
32 信号値記憶部
34 乗累算値記憶部
36 誤差値記憶部
42 第1層
44 第2層
52 取得回路
54 乗算器
56 係数メモリ
58 加算回路
60 デコーダ
62 電圧発生部
64 抵抗変化メモリ
66 共通信号線
68 スイッチ
70 電流検出部
72 AND回路
74 電圧スイッチ
82 荷重乗算部
84 加算部
86 差動電圧発生部
88 減算部
Claims (17)
- それぞれが予め定められた演算および処理を実行する複数の層に対して複数の信号値を順方向に伝播させる順方向処理、および、前記複数の層に対して複数の誤差値を逆方向に伝播させる逆方向処理を実行させる制御部と、
前記複数の層における少なくとも一部の層間を伝播する複数の値に対して演算を実行する行列演算部と、
を備え、
前記複数の層は、第1層と、前記第1層に対して順方向に隣接する第2層とを含み、
前記行列演算部は、
m行およびn列(mおよびnは1以上の整数であり、一方が1の場合には他方は2以上)の係数行列に含まれる(m×n)個の係数に一対一に対応して設けられた(m×n)個の乗算器と、
前記順方向処理と前記逆方向処理とで、前記(m×n)個の乗算器のそれぞれから出力された値を加算するパターンを切り換える加算回路と、
を有する
ニューラルネットワーク装置。 - 前記順方向処理において、
前記第1層は、前記係数行列におけるm個の行に一対一に対応付けられたm個の第1信号値を出力し、
前記(m×n)個の乗算器のそれぞれは、前記m個の第1信号値のうちの当該乗算器が対応付けられた行に対応する第1信号値と、前記(m×n)個の係数のうちの当該乗算器が対応付けられた係数とを乗算し、
前記加算回路は、前記(m×n)個の乗算器から出力された(m×n)個の乗算値を列毎に加算することにより、n個の順方向乗累算値を算出し、
前記逆方向処理において、
前記第2層は、前記係数行列におけるn個の列に一対一に対応付けられたn個の第1誤差値を出力し、
前記(m×n)個の乗算器のそれぞれは、前記n個の第1誤差値のうちの当該乗算器が対応付けられた列に対応する第1誤差値と、前記(m×n)個の係数のうちの当該乗算器が対応付けられた係数とを乗算し、
前記加算回路は、前記(m×n)個の乗算器から出力された(m×n)個の乗算値を行毎に加算することにより、m個の逆方向乗累算値を算出する
請求項1に記載のニューラルネットワーク装置。 - 前記(m×n)個の乗算器のそれぞれは、ハードウェアにより実現される
請求項2に記載のニューラルネットワーク装置。 - 第i行(iは1以上m以下の任意整数)および第j列(jは1以上n以下の任意整数)の係数に対応付けられた乗算器は、
前記順方向処理において、前記係数行列における第i行に対応付けられた第1信号値と、前記係数行列に含まれる第i行および第i列の係数とを乗算し、
前記逆方向処理において、前記係数行列に含まれる第i行および第i列の係数と、前記係数行列における第j列に対応付けられた第1誤差値とを乗算する
請求項2または3に記載のニューラルネットワーク装置。 - 前記加算回路は、
前記順方向処理において、前記係数行列における第j列に対応付けられたm個の乗算器から出力されたm個の乗算値を加算することにより、第i行の順方向乗累算値を算出し、
前記逆方向処理において、前記係数行列における第i列に対応付けられたn個の乗算器から出力されたn個の乗算値を加算することにより、第j列の逆方向乗累算値を算出する
請求項4に記載のニューラルネットワーク装置。 - 前記順方向処理において、前記第2層は、前記行列演算部により算出された前記n個の順方向乗累算値のそれぞれを活性化関数に与えて、n個の第2信号値を算出する
請求項2から5の何れか1項に記載のニューラルネットワーク装置。 - 前記第1層は、m個の前段乗累算値のそれぞれを誤差関数に与えて、前記係数行列におけるm個の行に一対一に対応付けられたm個の逆変換値を算出し、
前記逆方向処理において、前記第1層は、前記m個の逆方向乗累算値と前記m個の逆変換値とを行毎に乗算して、m個の第2誤差値を算出し、
前記m個の前段乗累算値は、前記順方向処理において、前記第1層が前記m個の第1信号値を算出するために活性化関数に与えたm個の値である
請求項2から6の何れか1項に記載のニューラルネットワーク装置。 - 第i行に対応付けられた逆変換値を算出するための誤差関数は、第i行に対応付けられた第1信号値を算出するための活性化関数の導関数である
請求項7に記載のニューラルネットワーク装置。 - 前記係数行列に含まれる前記(m×n)個の係数を記憶する係数記憶部をさらに備える
請求項2から8の何れか1項に記載のニューラルネットワーク装置。 - 前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた係数に応じたコンダクタンスに設定された抵抗変化メモリを含む
請求項2から9の何れか1項に記載のニューラルネットワーク装置。 - 前記順方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた行に対応する第1信号値に応じた電圧が含んでいる抵抗変化メモリに印加され、
前記加算回路は、前記(m×n)個の乗算器に含まれる(m×n)個の抵抗変化メモリに流れる電流を列毎に加算することにより、前記n個の順方向乗累算値を算出し、
前記逆方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた列に対応する第1誤差値に応じた電圧が含んでいる抵抗変化メモリに印加され、
前記加算回路は、前記(m×n)個の乗算器に含まれる前記(m×n)個の抵抗変化メモリに流れる電流を行毎に加算することにより、前記m個の逆方向乗累算値を算出する
請求項10に記載のニューラルネットワーク装置。 - 前記(m×n)個の乗算器に含まれる前記(m×n)個の抵抗変化メモリのそれぞれは、第1端に第1信号値または第1誤差値に応じた電圧が印加され、第2端が共通信号線を介して所定電位に接続され、
前記加算回路は、前記共通信号線に流れる電流値を出力する
請求項11に記載のニューラルネットワーク装置。 - 前記順方向処理または前記逆方向処理の指定、および、前記n個の順方向乗累算値のうちの何れを出力するか、または、前記m個の逆方向乗累算値のうちの何れを出力するかの指定を受け付けるデコーダをさらに備え、
前記デコーダは、
前記順方向処理において、第j列の順方向乗累算値を出力する場合、
第j列に対応付けられたm個の乗算器に含まれるm個の抵抗変化メモリに、第1信号値に応じた電圧を印加して電流を流させ、第j列以外の列に対応付けられた複数の乗算器に含まれる複数の抵抗変化メモリに流れる電流を0とし、
前記逆方向処理において、第i行の逆方向乗累算値を出力する場合、
第i行に対応付けられたn個の乗算器に含まれるn個の抵抗変化メモリに、第1誤差値に応じた電圧を印加して電流を流させ、第i行以外の行に対応する複数の乗算器に含まれる複数の抵抗変化メモリに流れる電流を0とする
請求項12に記載のニューラルネットワーク装置。 - 前記m個の第1信号値および前記n個の第1誤差値のそれぞれは、2値であり、
第1信号値または第1誤差値に応じた電圧を印加する場合において、前記(m×n)個の乗算器のそれぞれは、与えられた第1信号値または与えられた第1誤差値が第1値の場合に含まれている抵抗変化メモリに所定の電圧を印加し、与えられた第1信号値または与えられた第1誤差値が第2値の場合に含まれている抵抗変化メモリに流れる電流を0とする
請求項13に記載のニューラルネットワーク装置。 - 前記(m×n)個の乗算器のそれぞれは、それぞれに異なる荷重が割り当てられたL個(Lは2以上の整数)の抵抗変化メモリを含み、
前記L個の抵抗変化メモリは、割り当てられた荷重とコンダクタンスとを乗算した値の合計が、当該乗算器に対応付けられた係数となるように、それぞれのコンダクタンスが設定され、
前記順方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた行に対応する第1信号値に応じた電圧が、前記L個の抵抗変化メモリのそれぞれに印加され、
前記加算回路は、前記L個の抵抗変化メモリのそれぞれに流れる電流と割り当てられた荷重とを乗算した値の合計を、前記係数行列における列毎に加算することにより、前記n個の順方向乗累算値を算出し、
前記逆方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた列に対応する第1誤差値に応じた電圧が、前記L個の抵抗変化メモリのそれぞれに印加され、
前記加算回路は、前記L個の抵抗変化メモリのそれぞれに流れる電流と割り当てられた荷重とを乗算した値の合計を、前記係数行列における行毎に加算することにより、前記m個の逆方向乗累算値を算出する
請求項10から14の何れか1項に記載のニューラルネットワーク装置。 - 前記(m×n)個の乗算器のそれぞれは、ポジ側抵抗変化メモリと、ネガ側抵抗変化メモリとを含み、
前記ポジ側抵抗変化メモリおよび前記ネガ側抵抗変化メモリは、コンダクタンスの差分値が、当該乗算器に対応付けられた係数となるように、それぞれのコンダクタンスが設定され、
前記順方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた列に対応する第1信号値に応じた差動電圧が、前記ポジ側抵抗変化メモリおよび前記ネガ側抵抗変化メモリに印加され、
前記加算回路は、前記ポジ側抵抗変化メモリに流れる電流と前記ネガ側抵抗変化メモリとに流れる電流との差分値を、前記係数行列における列毎に加算することにより、前記n個の順方向乗累算値を算出し、
前記逆方向処理において、
前記(m×n)個の乗算器のそれぞれは、当該乗算器が対応付けられた行に対応する第1誤差値に応じた差動電圧が、前記ポジ側抵抗変化メモリおよび前記ネガ側抵抗変化メモリに印加され、
前記加算回路は、前記ポジ側抵抗変化メモリに流れる電流と前記ネガ側抵抗変化メモリとに流れる電流との差分値を、前記係数行列における行毎に加算することにより、前記m個の逆方向乗累算値を算出する
請求項10から14の何れか1項に記載のニューラルネットワーク装置。 - 1行およびm列の順方向第1行列と、m行およびn列(mおよびnは1以上の整数であり、一方が1の場合には他方は2以上)の係数行列とを行列演算して1行およびn列の順方向第2行列を出力する順方向処理、並びに、前記係数行列とn行および1列の逆方向第1行列とを行列演算してm行および1列の逆方向第2行列を出力する逆方向処理を実行する演算装置であって、
前記係数行列に含まれる(m×n)個の係数に一対一に対応して設けられた(m×n)個の乗算器と、
前記順方向処理と前記逆方向処理とで、前記(m×n)個の乗算器のそれぞれから出力された値を加算するパターンを切り換える加算回路と、
を有する
演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017222258A JP6786466B2 (ja) | 2017-11-17 | 2017-11-17 | ニューラルネットワーク装置および演算装置 |
US15/909,446 US20190156181A1 (en) | 2017-11-17 | 2018-03-01 | Neural network device and computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017222258A JP6786466B2 (ja) | 2017-11-17 | 2017-11-17 | ニューラルネットワーク装置および演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019095860A true JP2019095860A (ja) | 2019-06-20 |
JP6786466B2 JP6786466B2 (ja) | 2020-11-18 |
Family
ID=66533986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017222258A Active JP6786466B2 (ja) | 2017-11-17 | 2017-11-17 | ニューラルネットワーク装置および演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190156181A1 (ja) |
JP (1) | JP6786466B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021152703A (ja) * | 2020-03-24 | 2021-09-30 | 株式会社東芝 | ニューラルネットワーク装置およびニューラルネットワークシステム |
JP2022036131A (ja) * | 2019-07-01 | 2022-03-04 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
US11380375B2 (en) | 2020-08-25 | 2022-07-05 | Kabushiki Kaisha Toshiba | Storage device and neural network apparatus |
US11461075B2 (en) | 2020-01-10 | 2022-10-04 | Kabushiki Kaisha Toshiba | Arithmetic device |
US11526738B2 (en) | 2019-09-17 | 2022-12-13 | Kabushiki Kaisha Toshiba | Processing apparatus and inference system |
US11777006B2 (en) | 2021-02-24 | 2023-10-03 | Kabushiki Kaisha Toshiba | Nonvolatile memory device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488664B2 (en) | 2020-10-13 | 2022-11-01 | International Business Machines Corporation | Distributing device array currents across segment mirrors |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05346914A (ja) * | 1992-06-16 | 1993-12-27 | Matsushita Electron Corp | ニューロプロセッサ |
JP2010146514A (ja) * | 2008-12-22 | 2010-07-01 | Sharp Corp | 情報処理装置及びこれを用いたニューラルネットワーク回路 |
-
2017
- 2017-11-17 JP JP2017222258A patent/JP6786466B2/ja active Active
-
2018
- 2018-03-01 US US15/909,446 patent/US20190156181A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05346914A (ja) * | 1992-06-16 | 1993-12-27 | Matsushita Electron Corp | ニューロプロセッサ |
JP2010146514A (ja) * | 2008-12-22 | 2010-07-01 | Sharp Corp | 情報処理装置及びこれを用いたニューラルネットワーク回路 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022036131A (ja) * | 2019-07-01 | 2022-03-04 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
JP7321579B2 (ja) | 2019-07-01 | 2023-08-07 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
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 |
US11461075B2 (en) | 2020-01-10 | 2022-10-04 | Kabushiki Kaisha Toshiba | Arithmetic device |
JP2021152703A (ja) * | 2020-03-24 | 2021-09-30 | 株式会社東芝 | ニューラルネットワーク装置およびニューラルネットワークシステム |
US11380375B2 (en) | 2020-08-25 | 2022-07-05 | Kabushiki Kaisha Toshiba | Storage device and neural network apparatus |
US11777006B2 (en) | 2021-02-24 | 2023-10-03 | Kabushiki Kaisha Toshiba | Nonvolatile memory device |
Also Published As
Publication number | Publication date |
---|---|
JP6786466B2 (ja) | 2020-11-18 |
US20190156181A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019095860A (ja) | ニューラルネットワーク装置および演算装置 | |
US20240152740A1 (en) | Transposing neural network matrices in hardware | |
US10339202B2 (en) | Resistive memory arrays for performing multiply-accumulate operations | |
CN108009640B (zh) | 基于忆阻器的神经网络的训练装置及其训练方法 | |
US11244225B2 (en) | Neural network processor configurable using macro instructions | |
EP3298545B1 (en) | Vector computation unit in a neural network processor | |
JP6773621B2 (ja) | 演算装置 | |
US10748064B2 (en) | Deep neural network training with native devices | |
US11042715B2 (en) | Electronic system for performing a multiplication of a matrix and vector | |
US10468098B2 (en) | In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture | |
KR102309013B1 (ko) | 효율적인 음수 가중치 구현이 가능한 뉴로모픽 회로 시스템 | |
JPH02193251A (ja) | エラー後方伝ぱん法と神経網システム | |
CN112633486B (zh) | 数据感测装置及其数据感测方法 | |
WO2020178903A1 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算方法 | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
CN115982092A (zh) | 一种存算一体电路、芯片系统及电子设备 | |
JP7023149B2 (ja) | 半導体装置 | |
JP7427617B2 (ja) | ニューラルネットワーク装置、情報処理装置およびプログラム | |
Youssefi et al. | Efficient mixed-signal synapse multipliers for multi-layer feed-forward neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190816 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200825 |
|
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: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201028 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6786466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |