JP6794854B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP6794854B2 JP6794854B2 JP2017017668A JP2017017668A JP6794854B2 JP 6794854 B2 JP6794854 B2 JP 6794854B2 JP 2017017668 A JP2017017668 A JP 2017017668A JP 2017017668 A JP2017017668 A JP 2017017668A JP 6794854 B2 JP6794854 B2 JP 6794854B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing unit
- unit
- arithmetic processing
- element 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
- 238000000034 method Methods 0.000 title claims description 53
- 238000004364 calculation method Methods 0.000 claims description 162
- 238000011176 pooling Methods 0.000 claims description 95
- 230000008569 process Effects 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 42
- 230000004913 activation Effects 0.000 description 18
- 238000013500 data storage Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 101150097128 tag-151 gene Proteins 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- 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/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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/15—Correlation function computation including computation of convolution operations
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Description
図21は、フォワード畳込演算のプログラムの記述例を説明するための図である。フォワード畳込演算は、図21に示すようにボトムデータ201(bottom_y)とトップデータ209(top_x)とを用いた演算は掛け算と足し算で表現できる。フォワード畳込演算は、ボトムデータ201のデータ数Ci、トップ差分データ203のデータ数Co、バッチ数mb、ストライド数W及びトップサイズを調節するためのパラメータとなるパッド数padを指定して行なわれる。ここで、トップサイズの調整とは、トップサイズの水増しにあたる。
図25は、演算処理装置のハードウェア構成図である。演算処理装置1は、CPU(Central Processing Unit)91、メモリ92、アクセラレータ93及びメモリ94を有する。メモリ92は、CPU91専用のメモリであり、CPU91に含まれてもよい。また、メモリ94は、アクセラレータ93のメモリであり、アクセラレータ93に含まれてもよい。
2 入力データ
3 出力データ
10〜14 演算処理層
101,106 畳込演算部
102,105 活性化処理部
103,104 プーリング処理部
111 入力データ処理部
112 乗算部
113 加算部
114 出力データ作成部
115 重みデータ記憶部
201,210,211 ボトムデータ
202,221,222,223 重みデータ
203 トップ差分データ
204 重み差分データ
205 ボトム差分データ
207 期待値
209 トップデータ
Claims (6)
- 行列を形成する要素データを有する第1データ及び行列を形成する要素データから所定数の要素データを除いた配置形状を有する第2データを記憶する記憶部と、
前記第2データの配置形状を基に前記第1データを変換する変換部と、
前記変換部により変換された前記第1データに対して前記第2データをフィルタとして用いて畳み込み演算を行う畳込演算部と
を備えたことを特徴とする演算処理装置。 - 前記第2データは、縦、横及び斜め方向に関して対称な配置形状を有することを特徴とする請求項1に記載の演算処理装置。
- 前記第1データは、行方向及び列方向に同数の要素データを有し、
前記第2データは、行方向及び列方向に同数の要素データが配置された状態から真ん中の行から1つ離れるにしたがい行の含まれる要素データを1つずつ除き、且つ、要素データを除いた行の半分の位置と要素データを除く前の行の半分の位置とが一致するように要素データが配置された配置形状を有し、
前記変換部は、前記第1データの隔行の隣り合う要素データを平均化する変換を行う
ことを特徴とする請求項1又は2に記載の演算処理装置。 - 前記畳込演算部による演算結果に含まれる要素データの値をそのまま用いてプーリング処理を実行するプーリング処理部をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載の演算処理装置。
- 前記畳込演算部は、前記第1データの周りを最小の数で囲むように0の値を有する要素データを付加し、0の値を有する要素データを付加した前記第1データに対して前記第2データをフィルタとして用いて畳み込み演算を行い、前記第1データと同数の要素データを有する演算結果を取得することを特徴とする請求項1〜4のいずれか一つに記載の演算処理装置。
- 行列を形成する要素データを有する第1データ及び行列を形成する要素データから所定数の要素データを除いた配置形状を有する第2データを記憶する演算処理装置の制御方法であって、
前記第2データの配置形状を基に前記第1データを変換させ、
変換された前記第1データに対して前記第2データをフィルタとして用いて畳込演算を行わせる
ことを特徴とする演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017017668A JP6794854B2 (ja) | 2017-02-02 | 2017-02-02 | 演算処理装置及び演算処理装置の制御方法 |
US15/877,444 US20180217962A1 (en) | 2017-02-02 | 2018-01-23 | Operation processing apparatus and operation processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017017668A JP6794854B2 (ja) | 2017-02-02 | 2017-02-02 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018124867A JP2018124867A (ja) | 2018-08-09 |
JP6794854B2 true JP6794854B2 (ja) | 2020-12-02 |
Family
ID=62979883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017017668A Active JP6794854B2 (ja) | 2017-02-02 | 2017-02-02 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180217962A1 (ja) |
JP (1) | JP6794854B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7173709B2 (ja) * | 2017-04-14 | 2022-11-16 | 株式会社半導体エネルギー研究所 | ニューラルネットワーク回路 |
US20190392287A1 (en) | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Neural processor |
CN110096310B (zh) * | 2018-11-14 | 2021-09-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096309B (zh) * | 2018-11-14 | 2020-04-14 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
JP7026032B2 (ja) * | 2018-10-19 | 2022-02-25 | Kddi株式会社 | レコメンドシステム及びレコメンド方法 |
US11671111B2 (en) | 2019-04-17 | 2023-06-06 | Samsung Electronics Co., Ltd. | Hardware channel-parallel data compression/decompression |
US11880760B2 (en) | 2019-05-01 | 2024-01-23 | Samsung Electronics Co., Ltd. | Mixed-precision NPU tile with depth-wise convolution |
CN112133342B (zh) * | 2019-06-25 | 2022-05-06 | 中电海康集团有限公司 | 存储器 |
JP2021022235A (ja) * | 2019-07-29 | 2021-02-18 | 公益財団法人鉄道総合技術研究所 | 点滅検出装置および点滅検出方法 |
CN112639836A (zh) * | 2020-02-25 | 2021-04-09 | 深圳市大疆创新科技有限公司 | 数据处理装置、电子设备和数据处理方法 |
JP2022165250A (ja) * | 2021-04-19 | 2022-10-31 | 富士通株式会社 | プログラム、データ処理方法及びデータ処理装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5900321B2 (ja) * | 2012-02-08 | 2016-04-06 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法及び画像処理プログラム |
JP6700712B2 (ja) * | 2015-10-21 | 2020-05-27 | キヤノン株式会社 | 畳み込み演算装置 |
-
2017
- 2017-02-02 JP JP2017017668A patent/JP6794854B2/ja active Active
-
2018
- 2018-01-23 US US15/877,444 patent/US20180217962A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2018124867A (ja) | 2018-08-09 |
US20180217962A1 (en) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6794854B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US10642613B2 (en) | Arithmetic processing device for deep learning and control method of the arithmetic processing device for deep learning | |
KR102347119B1 (ko) | 가산기를 이용한 다차원 텐서의 데이터 액세스 | |
US11301546B2 (en) | Spatial locality transform of matrices | |
JP7329533B2 (ja) | 演算を加速するための方法および加速器装置 | |
US10642622B2 (en) | Arithmetic processing device and control method of the arithmetic processing device | |
CN110520834B (zh) | 替选循环限制 | |
US20190095776A1 (en) | Efficient data distribution for parallel processing | |
US9600763B1 (en) | Information processing method, information processing device, and non-transitory recording medium for storing program | |
TWI678617B (zh) | 用於在使用加法器之多維張量中存取資料之系統、電腦實施方法及設備 | |
JP6958027B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
WO2019119301A1 (zh) | 在卷积神经网络模型中确定特征图像的方法和装置 | |
US11580369B2 (en) | Inference apparatus, convolution operation execution method, and program | |
JP2021509747A (ja) | ハードウェアベースのプーリングのシステムおよび方法 | |
US20170206089A1 (en) | Information processing apparatus and computational method | |
WO2019085709A1 (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
US11164032B2 (en) | Method of performing data processing operation | |
JP2018197906A (ja) | 情報処理装置、マルチスレッド行列演算方法、およびマルチスレッド行列演算プログラム | |
CN109726798B (zh) | 一种数据处理方法及装置 | |
JP2019095862A (ja) | 演算処理装置 | |
US10229472B2 (en) | Image processing apparatus, image processing method, and vehicle control apparatus | |
JP2017027314A (ja) | 並列演算装置、画像処理装置及び並列演算方法 | |
JP6906622B2 (ja) | 演算回路および演算方法 | |
US20210312279A1 (en) | Information processing apparatus and information processing method | |
JP2020080048A (ja) | 並列処理装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191008 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200930 |
|
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: 20201013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6794854 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |