JP6734938B2 - ニューラルネットワーク回路 - Google Patents
ニューラルネットワーク回路 Download PDFInfo
- Publication number
- JP6734938B2 JP6734938B2 JP2018561111A JP2018561111A JP6734938B2 JP 6734938 B2 JP6734938 B2 JP 6734938B2 JP 2018561111 A JP2018561111 A JP 2018561111A JP 2018561111 A JP2018561111 A JP 2018561111A JP 6734938 B2 JP6734938 B2 JP 6734938B2
- Authority
- JP
- Japan
- Prior art keywords
- weighting
- neural network
- value
- shift
- input data
- 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
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- 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/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Description
図10は、実施例を搭載するニューラルネットワーク回路のブロック図である。実施例として、人手で書かれた文字の画像から文字を認識するニューラルネットワークを考える。図10において、入力層では、縦10画素×10画素の合計100画素の濃淡値を示す画像データを100個の信号として入力する。次に、3つの中間層は、各層ごとに100個のニューロン1で構成されている。各ニューロンの出力が次の層の100個のニューロン1に入力し、最後に出力層の100個のニューロン1が認識結果を出力する。
(式a)Wa= S*(1+R*2−m)*2k
により求め、入力inと乗算を行う。ここで、Sは、重みの正負の符号を示しており、プラスの場合は1、マイナスの場合は−1である。mは、0以上の整数で、重み係数の精度を示しており、2nから2n+1の範囲に2m個の値を持つ。詳しくは図5にて後述する。
(式b)Wb= S*R*2−m*2k
により求め、入力inと乗算を行う。ここで、Sは、重みの正負の符号を示しており、プラスの場合は1、マイナスの場合は−1である。mは、0以上の整数で重み係数の精度を示しており、2nから0の範囲に2m個の重み係数を持つ。詳しくは図9にて後述する。
100 乗算器
101 シフト加算
102 加算器
103 加算器
104 出力関数
201 本発明の重み係数記憶部
202 符号変換
203 乗算器
204 ビットシフタ
205 加算器
206 ビットシフタ
301 浮動小数点形式の重み係数記憶部
401〜403 重み係数表
701 符号変換
702 乗算器
703 ビットシフタ
704 ビットシフタ
801〜803 重み係数表
Claims (6)
- ニューラルネットワークを構成するニューロンにおいて、
複数の入力データに対応する重み係数を、重み丸め値と、ビットシフト量を示す情報として与え、前記入力データに対し、前記重み丸め値との乗算と前記ビットシフト量に応じたシフト加算にて重み付け演算を行う手段を備え、
前記重み付け演算を行う手段は、2のn乗と2のn−1乗で示される複数の範囲それぞれに応じて定まる計算式を用いて、前記重み係数の個数が一定となる重み係数を演算することを特徴とするニューラルネットワーク回路。 - 前記重み付け演算を行う手段は、
前記複数の範囲に含まれる2の1乗から2の0乗の範囲では第1の計算式を用い、他の範囲においては、前記第1の計算式に対して、指数シフト数がn−1となる2のn−1乗を乗じる計算式を用いることを特徴とする、請求項1記載のニューラルネットワーク回路。 - ニューラルネットワークを構成するニューロンにおいて、
複数の入力データに対応する重み係数を、重み丸め値と、ビットシフト量を示す情報として与え、前記入力データに対し、前記重み丸め値との乗算と前記ビットシフト量に応じたシフト加算にて重み付け演算を行う手段を備え、
前記重み付け演算を行う手段は、2のn乗と0で示される複数の範囲それぞれに応じて定まる計算式を用いて、前記重み係数の個数が一定となる重み係数を演算することを特徴とするニューラルネットワーク回路。 - 前記重み付け演算を行う手段は、
前記複数の範囲に含まれる2の0乗から0の範囲では第1の計算式を用い、他の範囲においては、前記第1の計算式に対して、指数シフト数がnとなる2のn乗を乗じる計算式を用いることを特徴とする、請求項3記載のニューラルネットワーク回路。 - ニューラルネットワークを構成するニューロンにおいて、前記入力データに対する重み付け演算後の値が、前記重み丸め値との乗算と前記シフト加算の結果となることを特徴とする、請求項1乃至4のいずれかに記載のニューラルネットワーク回路。
- 前記複数の入力データに対応する重み係数が実装された回路は、前記重み丸め値と、前記ビットシフト量を示す情報に変換する手段を有することを特徴とする、請求項1乃至5のいずれかに記載のニューラルネットワーク回路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/000367 WO2018131059A1 (ja) | 2017-01-10 | 2017-01-10 | ニューラルネットワーク回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018131059A1 JPWO2018131059A1 (ja) | 2019-11-07 |
JP6734938B2 true JP6734938B2 (ja) | 2020-08-05 |
Family
ID=62839498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018561111A Active JP6734938B2 (ja) | 2017-01-10 | 2017-01-10 | ニューラルネットワーク回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11531896B2 (ja) |
JP (1) | JP6734938B2 (ja) |
WO (1) | WO2018131059A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284827A (zh) * | 2017-07-19 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 神经网络计算方法、设备、处理器及计算机可读存储介质 |
CN111383156B (zh) * | 2018-12-29 | 2022-08-02 | 北京市商汤科技开发有限公司 | 图像处理方法、装置、智能驾驶系统和车载运算平台 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0461902B1 (en) | 1990-06-14 | 1998-12-23 | Canon Kabushiki Kaisha | Neural network |
JP2862337B2 (ja) | 1990-06-19 | 1999-03-03 | キヤノン株式会社 | ニューラルネットワークの構築方法 |
JPH06259585A (ja) * | 1993-03-10 | 1994-09-16 | Toyota Central Res & Dev Lab Inc | ニューラルネットワーク装置 |
JP2006155102A (ja) * | 2004-11-26 | 2006-06-15 | Asahi Kasei Microsystems Kk | 演算処理装置 |
US9268529B2 (en) * | 2006-11-09 | 2016-02-23 | Pentomics, Inc. | Efficient angle rotator configured for dynamic adjustment |
US10585848B2 (en) * | 2015-10-08 | 2020-03-10 | Via Alliance Semiconductor Co., Ltd. | Processor with hybrid coprocessor/execution unit neural network unit |
US10565494B2 (en) * | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
US10140574B2 (en) * | 2016-12-31 | 2018-11-27 | Via Alliance Semiconductor Co., Ltd | Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments |
-
2017
- 2017-01-10 US US16/470,633 patent/US11531896B2/en active Active
- 2017-01-10 WO PCT/JP2017/000367 patent/WO2018131059A1/ja active Application Filing
- 2017-01-10 JP JP2018561111A patent/JP6734938B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US11531896B2 (en) | 2022-12-20 |
US20190325311A1 (en) | 2019-10-24 |
WO2018131059A1 (ja) | 2018-07-19 |
JPWO2018131059A1 (ja) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214509B (zh) | 一种用于深度神经网络高速实时量化结构和运算实现方法 | |
EP3791329A1 (en) | Training neural networks using mixed precision computations | |
JP2523962B2 (ja) | 浮動小数点演算装置 | |
CN114341892A (zh) | 具有用于高效参数更新的降低精度参数分量的机器学习硬件 | |
EP3782019B1 (en) | Multi-input floating-point adder | |
JP6734938B2 (ja) | ニューラルネットワーク回路 | |
CN112119407A (zh) | 由补偿指令使能的低精度深度神经网络 | |
JP4376904B2 (ja) | 乗算装置 | |
JP4273071B2 (ja) | 除算・開平演算器 | |
US10831445B1 (en) | Multimodal digital multiplication circuits and methods | |
JP2001222410A (ja) | 除算器 | |
RU2717915C1 (ru) | Вычислительное устройство | |
CN111492369A (zh) | 人工神经网络中移位权重的残差量化 | |
RU2348965C1 (ru) | Вычислительное устройство | |
CN113672196B (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
JP3660075B2 (ja) | 除算装置 | |
WO2021039164A1 (ja) | 情報処理装置、情報処理システム及び情報処理方法 | |
JP2005056032A (ja) | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 | |
KR102592708B1 (ko) | 로그 영역의 연산을 수행하도록 구성된 신경망 가속기 | |
WO2019127480A1 (zh) | 用于处理数值数据的方法、设备和计算机可读存储介质 | |
JP2606326B2 (ja) | 乗算器 | |
US11947960B2 (en) | Modulo-space processing in multiply-and-accumulate units | |
US5923888A (en) | Multiplier for the multiplication of at least two figures in an original format | |
JP2006301685A (ja) | 乗算装置 | |
US20210303979A1 (en) | Neural network device, neural network system, and operation method executed by neural network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200603 |
|
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: 20200623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6734938 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |