JP7137067B2 - 演算処理装置、学習プログラム及び学習方法 - Google Patents
演算処理装置、学習プログラム及び学習方法 Download PDFInfo
- Publication number
- JP7137067B2 JP7137067B2 JP2018200993A JP2018200993A JP7137067B2 JP 7137067 B2 JP7137067 B2 JP 7137067B2 JP 2018200993 A JP2018200993 A JP 2018200993A JP 2018200993 A JP2018200993 A JP 2018200993A JP 7137067 B2 JP7137067 B2 JP 7137067B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- arithmetic
- statistical information
- output 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/084—Backpropagation, e.g. using gradient descent
-
- 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/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
- G06N3/045—Combinations of networks
-
- 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/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Description
前記演算器が出力する演算出力データを格納するレジスタと、
前記演算出力データまたは被正規化データのいずれかの対象データから、前記対象データの非符号となる最上位ビットの位置を示すビットパターンを生成する統計取得部と、
正の符号ビットを持つ複数の対象データの前記ビットパターンが示す前記非符号となる最上位ビットの位置の各ビットの第1の数と、負の符号ビットを持つ複数の対象データの前記ビットパターンが示す前記非符号となる最上位ビットの位置の各ビットの第2の数とを、それぞれ別々に加算し、正の統計情報または負の統計情報、または正及び負の統計情報の両方を生成する統計集約部とを有する、演算処理装置である。
以下に説明する実施の形態は、正規化に必要な演算量を減らす方法に関する。
「0 0000 0000 1000.0000 0000~0 0000 0000 1111.1111 1111」内のデータが含まれる。この場合、演算出力データの非符号となる最上位ビットの位置が「3」に対応する。「3」のビンの演算出力データの近似値は、例えば「0 0000 0000 1000.0000 0000~0 0000 0000 1111.1111 1111」内の最小値であるe3(=10進数の10)とする。
Σ(23=<X<24)=1647 * 23
2e+i≦X<2e+i+1
に属するデータの数である。
-2e+i+1<X≦-2e+i
に属するデータの数である。
図18は、図17のDL実行プロセッサにより実行される畳み込み演算と正規化演算のフローチャートを示す図である。図18は、図8及び図11の処理における正規化演算S144についてより詳細な処理を示している。
次に、DL実行プロセッサによる、演算出力データの統計情報の取得、集約、格納について、説明する。統計情報の取得、集約、格納は、ホストプロセッサから送信され命令であり、DL実行プロセッサが実行する命令をトリガにして実行される。したがって、ホストプロセッサは、DNNの各層の演算命令に加えて、統計情報の取得、集約、格納を実行する命令を、DL実行プロセッサに送信する。
図21は、統計情報取得器ST_ACの論理回路例を示す図である。また、図22は、統計情報取得器が取得する演算出力データのビットパターンを示す図である。統計情報取得器ST_ACは、整数演算器INTが出力するNビット(N=40)の例えば畳み込み演算の演算出力データin[39:0]を入力し、非符号となる最上位ビットの位置を「1」でそれ以外を「0」で示すビットパターン出力out[39:0]を出力する。
図23は、統計情報集約器ST_AGR_1の論理回路例を示す図である。また、図24は、統計情報集約器ST_AGR_1の動作を説明する図である。統計情報集約器ST_AGR_1は、8つの統計情報であるビットパターンBP_0~BP_7を、命令が指定する制御値である、第1の選択フラグsel(符号ビット「0」ならsel=0, 「1」ならsel=1)と、第2の選択フラグall(正または負ならall=0、正及び負のすべてならall=1)とに基づいて選択し、選択されたビットパターンの各ビットの「1」を加算した出力out[39:0]を出力する。統計情報集約器ST_AGR_1に入力されるビットパターンBP_0~BP_7は、それぞれ40ビットであり、
BP_0~BP_7=in[0][39:0]~in[7][39:0]
である。各ビットパターンBPには、その符号ビットsが付加される。符号ビットsは、図17において、整数演算器INTが出力するSGNである。
以下、ベクトル演算ユニットによる演算出力データの平均と分散の演算例について説明する。ベクトル演算ユニットは、一例として8要素の演算器を有し、8要素のデータを並列に演算する。また、本実施の形態では、各演算出力データの値を、非符号となる最上位ビットiに対応する近似値+2e+i、-2e+iとして、平均と分散を演算する。平均と分散の演算式は、図10のS21、S22で説明したとおりである。
上記の実施の形態では、正規化演算の例として、演算出力データxの平均と分散を求め、演算出力データxから平均を減じ、分散の二乗の平方根(標準偏差)で除す除算正規化を説明した。しかし、正規化演算の別の例として、演算出力データの平均を求め、演算出力データから平均を減じる減算正規化にも、本実施の形態を適用できる。
上記の実施の形態では、演算器の演算出力データxに正規化する例を説明した。しかし、ミニバッチの複数の入力データを正規化する場合にも、本実施の形態を適用できる。この場合は、複数の入力データの統計情報を取得し集約したヒストグラムの各ビンのサンプル数と近似値を使用して平均値の演算を簡略化できる。
上記の実施の形態では、演算出力データXの底を2とする対数(log2X)をビンの単位とした。しかし、上記対数の2倍(2×log2X)をビンの単位としても良い。その場合は、演算出力データXの非符号となる最上位の偶数ビットの分布(ヒストグラム)を統計情報として取得し、各ビンの範囲は2e+2i~2e+2(i+1)(iは0以上の整数)となり、近似値は2e+2iとなる。
上記の実施の形態では、各ビンの近似値を非符号となる最上位ビットの値2e+iにしている。しかし、各ビンの範囲2e+i~2e+i+1(iは0以上の整数)の場合、近似値を(2e+i+2e+i+1)/2としてもよい。
VC_AR_UNIT:ベクトル演算ユニット
INT:整数演算器
FP:浮動小数点演算器
ST_AC:統計情報取得器
ST_AGR_1, ST_AGR_2:統計情報集約器
ST_REG_FL:統計情報レジスタファイル
BP:ビットパターン
Claims (12)
- 演算器と、
前記演算器が出力する演算出力データを格納するレジスタと、
前記演算出力データまたは被正規化データのいずれかの対象データから、前記対象データの非符号となる最上位ビットの位置を示すビットパターンを生成する統計取得部と、
正の符号ビットを持つ複数の対象データの前記ビットパターンが示す前記非符号となる最上位ビットの位置の各ビットの第1の数と、負の符号ビットを持つ複数の対象データの前記ビットパターンが示す前記非符号となる最上位ビットの位置の各ビットの第2の数とを、それぞれ別々に加算し、正の統計情報または負の統計情報、または正及び負の統計情報の両方を生成する統計集約部とを有する、演算処理装置。 - 前記統計集約部は、正の符号ビットを持つ複数の対象データ及び負の符号ビットを持つ複数の対象データそれぞれの前記ビットパターンが示す前記非符号となる最上位ビットの位置の各ビットの第3の数を加算し、正及び負のトータル統計情報を生成する、請求項1に記載の演算処理装置。
- 前記統計集約部は、正の符号ビット、負の符号ビットのいずれかを示す制御ビットに基づいて、前記第1の数または前記第2の数を加算し、正の統計情報または負の統計情報を生成する、請求項1に記載の演算処理装置。
- 前記演算器は、ディープ・ニューラルネットワークの入力層の複数のノードそれぞれの入力データに、前記入力層と出力層の間の前記ノードに対応するエッジの重みを乗算して乗算値を求め、前記乗算値を累積加算して前記出力層の複数のノードに前記演算出力データをそれぞれ算出し、
前記統計取得部は、前記演算器が算出する前記演算出力データについて、前記ビットパターンを生成し、
前記演算器は、前記演算出力データを前記レジスタに格納する、請求項1に記載の演算処理装置。 - 前記演算器は、前記演算出力データを、前記正の統計情報及び負の統計情報が有する前記非符号となる最上位ビットの位置に対応する近似値に置き換えて、前記第1の数及び第2の数に基づいて、前記演算出力データの平均値を算出する、請求項1に記載の演算処理装置。
- 前記演算器は、前記演算出力データを前記非符号となる最上位ビットの位置に対応する近似値に置き換えて前記演算出力データの分散値を算出する、請求項5に記載の演算処理装置。
- 前記演算器は、前記演算出力データから前記平均値を減算し、前記減算した値を前記分散値の平方根で除算して、前記演算出力データの正規化演算を行う、請求項6に記載の演算処理装置。
- 前記演算器は、前記被正規化データを、前記正の統計情報及び負の統計情報が有する前記非符号となる最上位ビットの位置に対応する近似値に置き換えて、前記第1の数及び第2の数に基づいて、前記被正規化データの平均値を算出する、請求項1に記載の演算処理装置。
- 前記演算器は、前記被正規化データを前記非符号となる最上位ビットの位置に対応する近似値に置き換えて前記被正規化データの分散値を算出する、請求項8に記載の演算処理装置。
- 前記演算器は、前記被正規化データから前記平均値を減算し、前記減算した値を前記分散値の平方根で除算して、前記被正規化データの正規化演算を行う、請求項9に記載の演算処理装置。
- ディープ・ニューラルネットワークの学習処理をコンピュータに実行させるコンピュータ読み取り可能な学習プログラムであって、前記学習処理は、
演算器が出力する複数の演算出力データまたは被正規化データのいずれかの対象データの非符号となる最上位ビットの位置の各ビットの数を各ビンの数とするヒストグラムの統計データをメモリから読み出し、
各ビンに属する前記対象データを、前記非符号となる最上位ビットの位置に対応する近似値に置き換えて、前記対象データの平均値及び分散値を算出し、
前記平均値及び分散値に基づいて、前記対象データの正規化演算を行う、ことを有する学習プログラム。 - ディープ・ニューラルネットワークの学習処理をプロセッサに実行させる学習方法であって、前記学習処理は、
演算器が出力する複数の演算出力データまたは被正規化データのいずれかの対象データの非符号となる最上位ビットの位置の各ビットの数を各ビンの数とするヒストグラムの統計データをメモリから読み出し、
各ビンに属する前記対象データを、前記非符号となる最上位ビットの位置に対応する近似値に置き換えて、前記対象データの平均値及び分散値を算出し、
前記平均値及び分散値に基づいて、前記対象データの正規化演算を行う、ことを有する学習方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018200993A JP7137067B2 (ja) | 2018-10-25 | 2018-10-25 | 演算処理装置、学習プログラム及び学習方法 |
US16/662,119 US20200134434A1 (en) | 2018-10-25 | 2019-10-24 | Arithmetic processing device, learning program, and learning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018200993A JP7137067B2 (ja) | 2018-10-25 | 2018-10-25 | 演算処理装置、学習プログラム及び学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020067897A JP2020067897A (ja) | 2020-04-30 |
JP7137067B2 true JP7137067B2 (ja) | 2022-09-14 |
Family
ID=70327301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018200993A Active JP7137067B2 (ja) | 2018-10-25 | 2018-10-25 | 演算処理装置、学習プログラム及び学習方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200134434A1 (ja) |
JP (1) | JP7137067B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020135011A (ja) * | 2019-02-13 | 2020-08-31 | キオクシア株式会社 | 情報処理装置及び方法 |
CN111709470B (zh) * | 2020-06-08 | 2023-10-03 | 北京百度网讯科技有限公司 | 图像生成方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070947A (ja) | 2002-07-31 | 2004-03-04 | Agilent Technol Inc | ヒストグラム計算システム、電子試験装置及びヒストグラム計算方法 |
JP2018124681A (ja) | 2017-01-30 | 2018-08-09 | 富士通株式会社 | 演算処理装置、情報処理装置、方法、およびプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2807170B2 (ja) * | 1993-06-01 | 1998-10-08 | 松下電器産業株式会社 | 演算装置 |
US7024439B2 (en) * | 2002-01-24 | 2006-04-04 | Intel Corporation | Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units |
US8250126B2 (en) * | 2007-12-26 | 2012-08-21 | Oracle America, Inc. | Efficient leading zero anticipator |
US8239441B2 (en) * | 2008-05-15 | 2012-08-07 | Oracle America, Inc. | Leading zero estimation modification for unfused rounding catastrophic cancellation |
JP6540770B2 (ja) * | 2017-10-17 | 2019-07-10 | 富士通株式会社 | 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法 |
JP2019139338A (ja) * | 2018-02-07 | 2019-08-22 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP7056225B2 (ja) * | 2018-02-26 | 2022-04-19 | 富士通株式会社 | 演算処理装置、情報処理装置、情報処理方法、およびプログラム |
JP6540841B1 (ja) * | 2018-02-27 | 2019-07-10 | 富士通株式会社 | 演算処理装置、情報処理装置、情報処理方法、およびプログラム |
WO2019168084A1 (ja) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
JP6528893B1 (ja) * | 2018-11-07 | 2019-06-12 | 富士通株式会社 | 学習プログラム、学習方法、情報処理装置 |
JP7174243B2 (ja) * | 2018-12-21 | 2022-11-17 | 富士通株式会社 | 情報処理装置、ニューラルネットワークプログラム、ニューラルネットワークの処理方法 |
JP7188237B2 (ja) * | 2019-03-29 | 2022-12-13 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム |
JP7243498B2 (ja) * | 2019-07-11 | 2023-03-22 | 富士通株式会社 | 演算処理装置、制御プログラム、及び制御方法 |
JP7354736B2 (ja) * | 2019-09-30 | 2023-10-03 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム |
JP7367595B2 (ja) * | 2020-04-07 | 2023-10-24 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
-
2018
- 2018-10-25 JP JP2018200993A patent/JP7137067B2/ja active Active
-
2019
- 2019-10-24 US US16/662,119 patent/US20200134434A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070947A (ja) | 2002-07-31 | 2004-03-04 | Agilent Technol Inc | ヒストグラム計算システム、電子試験装置及びヒストグラム計算方法 |
JP2018124681A (ja) | 2017-01-30 | 2018-08-09 | 富士通株式会社 | 演算処理装置、情報処理装置、方法、およびプログラム |
Non-Patent Citations (1)
Title |
---|
R.Cmar et al,A methodology and design environment for DSP ASIC fixed point refinement,Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings,米国,IEEE,1999年03月12日,https://ieeexplore.ieee.org/document/761133 |
Also Published As
Publication number | Publication date |
---|---|
JP2020067897A (ja) | 2020-04-30 |
US20200134434A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6528893B1 (ja) | 学習プログラム、学習方法、情報処理装置 | |
Valueva et al. | Application of the residue number system to reduce hardware costs of the convolutional neural network implementation | |
CN108701250B (zh) | 数据定点化方法和装置 | |
US11423311B2 (en) | Automatic tuning of artificial neural networks | |
JP7174243B2 (ja) | 情報処理装置、ニューラルネットワークプログラム、ニューラルネットワークの処理方法 | |
CN110689125A (zh) | 计算装置 | |
CN110163359B (zh) | 一种计算装置及方法 | |
US20190244097A1 (en) | Information processing apparatus and information processing method | |
JP2021072103A (ja) | 人工ニューラルネットワークの量子化方法とそのためのシステム及び人工ニューラルネットワーク装置 | |
CN111026544A (zh) | 图网络模型的节点分类方法、装置及终端设备 | |
JP7137067B2 (ja) | 演算処理装置、学習プログラム及び学習方法 | |
US11551087B2 (en) | Information processor, information processing method, and storage medium | |
US20210097397A1 (en) | Information processing apparatus and information processing method | |
Kalali et al. | A power-efficient parameter quantization technique for CNN accelerators | |
JP7367595B2 (ja) | 情報処理装置及び情報処理方法 | |
Ueki et al. | Learning accelerator of deep neural networks with logarithmic quantization | |
WO2019127480A1 (zh) | 用于处理数值数据的方法、设备和计算机可读存储介质 | |
TW201935286A (zh) | 電路規劃結果產生方法與系統 | |
EP4345692A1 (en) | Methods and systems for online selection of number formats for network parameters of a neural network | |
JPWO2020084723A1 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP7453563B2 (ja) | ニューラルネットワークシステム、ニューラルネットワークの学習方法及びニューラルネットワークの学習プログラム | |
US20220413806A1 (en) | Information processing circuit and method of designing information processing circuit | |
CN117852596A (zh) | 用于硬件量化过程的数学建模的***和方法 | |
Yang et al. | CANET: Quantized Neural Network Inference With 8-bit Carry-Aware Accumulator | |
Olegovich et al. | Hardware Implementation of Classical and Bipolar Morphological Models for Convolutional Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220615 |
|
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: 20220802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7137067 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |