JP7060079B2 - 推論装置、畳み込み演算実行方法及びプログラム - Google Patents
推論装置、畳み込み演算実行方法及びプログラム Download PDFInfo
- Publication number
- JP7060079B2 JP7060079B2 JP2020503606A JP2020503606A JP7060079B2 JP 7060079 B2 JP7060079 B2 JP 7060079B2 JP 2020503606 A JP2020503606 A JP 2020503606A JP 2020503606 A JP2020503606 A JP 2020503606A JP 7060079 B2 JP7060079 B2 JP 7060079B2
- Authority
- JP
- Japan
- Prior art keywords
- input data
- value
- weight
- multiplication
- weights
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- 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/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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Algebra (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Description
本発明は、日本国特許出願:特願2018-038028号(2018年 3月 2日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、推論装置、畳み込み演算実行方法及びプログラムに関する。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
第1の実施形態について、図面を用いてより詳細に説明する。
続いて、第2の実施形態について図面を参照して詳細に説明する。
続いて、第3の実施形態について図面を参照して詳細に説明する。
第1乃至第3の実施形態にて説明した推論装置10は例示であって、その構成及び動作を限定する趣旨ではない。以下、各種変形例について説明する。
[形態1]
上述の第1の視点に係る推論装置のとおりである。
[形態2]
前記PEは、
前記入力データの要素と前記重みの要素を入力するセレクタと、
それぞれが、前記入力データの要素が取り得る値ごとの重みの累積加算を計算し、記憶する複数の累算器と、
を備え、
前記セレクタは、前記入力データの要素値に応じて、前記複数の累算器のうち前記入力した重みの要素の出力先となる累算器を決定する、
好ましくは形態1の推論装置。
[形態3]
前記PEは、
前記複数の累算器それぞれに対応する、複数の乗算器を備え、
前記複数の乗算器には、前記重みの累積加算値と乗算する値が割り当てられている、好ましくは形態2の推論装置。
[形態4]
前記PEは、
前記複数の乗算器による乗算結果を入力し、加算する加算器を備える、好ましくは形態3の推論装置。
[形態5]
前記入力データ記憶部は、量子化された入力データを記憶し、
前記PEは、
前記入力データの要素を因数分解し、事前決定された第1因子群と第2因子群に分離する、分離部と、
前記重みの要素値を前記第2因子群の値に相当するビット数シフトする、シフト部と、
を備え、
前記セレクタは、前記第1因子群の値に応じて前記重みの要素の出力先を決定する、形態4の推論装置。
[形態6]
前記複数の累算器は、前記第1因子群が取り得る値ごとに用意され、
前記複数の乗算器のそれぞれには、前記第1因子群と第2因子群に分離される入力データにおいて前記第2因子群をゼロに固定し、前記第1因子群を可変して得られる値が前記重みの累積加算値と乗算する値として割り当てられる、好ましくは形態5の推論装置。
[形態7]
前記重み記憶部にアクセスし、前記重みを前記セレクタに供給する重み処理部と、
前記入力データ記憶部にアクセスし、前記入力データを前記セレクタに供給する入力データ処理部と、
を備え、
前記重み処理部及び前記入力データ処理部は、前記入力データの要素値がゼロである入力データの要素及び対応する重みの要素を前記セレクタに供給しない、好ましくは形態2乃至6のいずれか一に記載の推論装置。
[形態8]
前記複数の累算器のそれぞれは、加算器とレジスタを含んで構成される、好ましくは形態2乃至7のいずれか一に記載の推論装置。
[形態9]
前記複数の累算器のそれぞれは、レジスタを含み、
前記PEは、
前記入力データの要素が取り得る値に応じて、前記複数の累算器のうちいずれか一つの累算器の出力を選択する、累積加算値セレクタと、
前記累積加算値セレクタが出力する値と前記重みの要素値を加算し、加算結果を前記セレクタに出力する、共有加算器と、
をさらに備える、好ましくは形態2乃至7のいずれか一に記載の推論装置。
[形態10]
前記PEは、
前記入力データ記憶部から取得した入力データの取り得る値を制限する、入力データ制限部をさらに備える、好ましくは形態1乃至9のいずれか一に記載の推論装置。
[形態11]
前記PEを複数備え、
前記複数のPEは、前記畳み込みニューラルネットワークにおける畳み込み演算を並列に実行する、好ましくは形態1乃至10のいずれか一に記載の推論装置。
[形態12]
上述の第2の視点に係る畳み込み演算実行方法のとおりである。
[形態13]
上述の第3の視点に係るプログラムのとおりである。
なお、形態12及び13は、形態1と同様に、形態2~11のように展開することが可能である。
11 入力層実行部
12 中間層実行部
13 出力層実行部
31 畳み込み層実行部
32 活性化関数実行部
33 プーリング層実行部
40 畳み込み層制御部
41、41-1~41-4、103 PE(Processing Element)
51、101 重み記憶部
52、102 入力データ記憶部
53 演算結果記憶部
60 PE制御部
61 重み処理部
62 入力データ処理部
63、63a、63b 乗加算部
64 入力データ制限部
70 乗加算制御部
71、71a セレクタ
72、72-0~72-15 累算器
73、73-0~73-15 乗算器
74、75、75-0~75-15、79 加算器
76、76-0~76-15 レジスタ
77 分離部
78 シフト部
91 CPU(Central Processing Unit)
92 メモリ
93 入出力インターフェイス
94 NIC(Network Interface Card)
501、502 重み
511、512 重み群
601、611 入力データ
Claims (10)
- 重みを記憶する重み記憶部と、
入力データを記憶する入力データ記憶部と、
前記重み及び入力データを用いて畳み込みニューラルネットワークにおける畳み込み演算を実行するPE(Processing Element)と、
を備え、
前記PEは、
前記入力データの要素が取り得る値ごとに、前記入力データの要素と乗算される重みの要素を累積加算し、
前記入力データの要素が取り得る値それぞれと、前記入力データの要素が取り得る値に対応する重みの累積加算値それぞれと、を乗算し、
前記乗算により得られる複数の乗算結果を加算する、
推論装置。 - 前記PEは、
前記入力データの要素と前記重みの要素を入力するセレクタと、
それぞれが、前記入力データの要素が取り得る値ごとの重みの累積加算を計算し、記憶する複数の累算器と、
を備え、
前記セレクタは、前記入力データの要素値に応じて、前記複数の累算器のうち前記入力した重みの要素の出力先となる累算器を決定する、
請求項1の推論装置。 - 前記PEは、
前記複数の累算器それぞれに対応する、乗算器を備え、
前記乗算器のそれぞれには、前記累算器の出力と乗算する前記入力データの要素が取り得る値ごとの値が割り当てられている、請求項2の推論装置。 - 前記PEは、
前記複数の乗算器による乗算結果を入力し、加算する加算器を備える、請求項3の推論装置。 - 前記入力データ記憶部は、量子化された入力データを記憶し、
前記PEは、
前記入力データの要素を因数分解し、事前決定された第1因子群と第2因子群に分離する、分離部と、
前記重みの要素値を前記第2因子群の値に相当するビット数シフトする、シフト部と、
を備え、
前記セレクタは、前記第1因子群の値に応じて前記シフトされた重みの要素値の出力先累算器を決定する、請求項4の推論装置。 - 前記複数の累算器は、前記第1因子群が取り得る値ごとに用意され、
前記複数の乗算器のそれぞれには、前記第1因子群と第2因子群に分離される入力データにおいて前記第2因子群をゼロに固定し、前記第1因子群を可変して得られる値が前記重みの累積加算値と乗算する値として割り当てられる、請求項5の推論装置。 - 前記重み記憶部にアクセスし、前記重みを前記セレクタに供給する重み処理部と、
前記入力データ記憶部にアクセスし、前記入力データを前記セレクタに供給する入力データ処理部と、
を備え、
前記重み処理部及び前記入力データ処理部は、前記入力データの要素値がゼロである入力データの要素及び対応する重みの要素を前記セレクタに供給しない、請求項2乃至4のいずれか一項に記載の推論装置。 - 前記複数の累算器のそれぞれは、加算器とレジスタを含んで構成される、請求項2乃至7のいずれか一項に記載の推論装置。
- 重みを記憶する重み記憶部と、
入力データを記憶する入力データ記憶部と、
を備え、前記重み及び入力データを用いて畳み込みニューラルネットワークにおける畳み込み演算を実行する推論装置において、
前記入力データの要素が取り得る値ごとに、前記入力データの要素と乗算される重みの要素を累積加算するステップと、
前記入力データの要素が取り得る値それぞれと、前記入力データの要素が取り得る値に対応する重みの累積加算値それぞれと、を乗算するステップと、
前記乗算により得られる複数の乗算結果を加算するステップと、
を含む、畳み込み演算実行方法。 - 重みを記憶する重み記憶部と、
入力データを記憶する入力データ記憶部と、
を備え、前記重み及び入力データを用いて畳み込みニューラルネットワークにおける畳み込み演算を実行する推論装置に搭載されたコンピュータに、
前記入力データの要素が取り得る値ごとに、前記入力データの要素と乗算される重みの要素を累積加算する処理と、
前記入力データの要素が取り得る値それぞれと、前記入力データの要素が取り得る値に対応する重みの累積加算値それぞれと、を乗算する処理と、
前記乗算により得られる複数の乗算結果を加算する処理と、
を実行させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018038028 | 2018-03-02 | ||
JP2018038028 | 2018-03-02 | ||
PCT/JP2019/007770 WO2019168088A1 (ja) | 2018-03-02 | 2019-02-28 | 推論装置、畳み込み演算実行方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019168088A1 JPWO2019168088A1 (ja) | 2021-02-12 |
JP7060079B2 true JP7060079B2 (ja) | 2022-04-26 |
Family
ID=67806291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020503606A Active JP7060079B2 (ja) | 2018-03-02 | 2019-02-28 | 推論装置、畳み込み演算実行方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11960565B2 (ja) |
JP (1) | JP7060079B2 (ja) |
WO (1) | WO2019168088A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487845B2 (en) * | 2018-11-28 | 2022-11-01 | Electronics And Telecommunications Research Institute | Convolutional operation device with dimensional conversion |
US12014505B2 (en) * | 2019-01-31 | 2024-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus with convolution neural network processing using shared operand |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019064774A1 (ja) | 2017-09-29 | 2019-04-04 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991019267A1 (en) * | 1990-06-06 | 1991-12-12 | Hughes Aircraft Company | Neural network processor |
JP2862337B2 (ja) | 1990-06-19 | 1999-03-03 | キヤノン株式会社 | ニューラルネットワークの構築方法 |
US5473730A (en) | 1993-11-09 | 1995-12-05 | At&T Ipm Corp. | High efficiency learning network |
US9153230B2 (en) * | 2012-10-23 | 2015-10-06 | Google Inc. | Mobile speech recognition hardware accelerator |
JP6348431B2 (ja) | 2015-02-24 | 2018-06-27 | 株式会社日立製作所 | 画像処理方法、画像処理装置 |
JP6567381B2 (ja) | 2015-09-30 | 2019-08-28 | 株式会社東芝 | 演算装置、方法及びプログラム |
JP6750203B2 (ja) | 2015-10-20 | 2020-09-02 | 富士通株式会社 | 畳み込みニューラルネットワークの演算方法及び演算プログラム、情報処理装置 |
JP6183980B1 (ja) | 2016-12-02 | 2017-08-23 | 国立大学法人東京工業大学 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
-
2019
- 2019-02-28 JP JP2020503606A patent/JP7060079B2/ja active Active
- 2019-02-28 US US16/977,282 patent/US11960565B2/en active Active
- 2019-02-28 WO PCT/JP2019/007770 patent/WO2019168088A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019064774A1 (ja) | 2017-09-29 | 2019-04-04 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
Non-Patent Citations (1)
Title |
---|
MIYASHITA, Daisuke, et al.,Convolutional Neural Networks using Logarithmic Data Representation,arXiv,米国,arXiv,2016年03月17日,https://arxiv.org/abs/1603.01025v2 |
Also Published As
Publication number | Publication date |
---|---|
WO2019168088A1 (ja) | 2019-09-06 |
US11960565B2 (en) | 2024-04-16 |
JPWO2019168088A1 (ja) | 2021-02-12 |
US20210004701A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6977864B2 (ja) | 推論装置、畳み込み演算実行方法及びプログラム | |
CN107358293B (zh) | 一种神经网络训练方法及装置 | |
US11461684B2 (en) | Operation processing circuit and recognition system | |
US10025755B2 (en) | Device and method to process data in parallel | |
US20220114424A1 (en) | Multi-bandwidth separated feature extraction convolution layer for convolutional neural networks | |
EP3671572A1 (en) | Information processing apparatus, neural network program, and processing method for neural network | |
KR20180050928A (ko) | 컨볼루션 신경망 처리 방법 및 장치 | |
KR102637733B1 (ko) | 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법 | |
JP6927320B2 (ja) | 推論装置、畳み込み演算実行方法及びプログラム | |
JP7060079B2 (ja) | 推論装置、畳み込み演算実行方法及びプログラム | |
EP3370191B1 (en) | Apparatus and method implementing an artificial neural network training algorithm using weight tying | |
JP2019075115A (ja) | アクティベーション演算とコンボリューション演算を同時に遂行するための方法及び装置、そしてこのための学習方法及び学習装置 | |
US20210287092A1 (en) | Method and device for pruning convolutional layer in neural network | |
CN113396427A (zh) | 用于人工神经网络的比特量化的方法和系统 | |
CN112633481B (zh) | 一种多跳图卷积神经网络模型系统及训练方法 | |
WO2020003434A1 (ja) | 機械学習方法、機械学習装置、及び機械学習プログラム | |
CN112561028A (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
MacDonald et al. | Enabling equivariance for arbitrary lie groups | |
KR20230050340A (ko) | 테이블 형식의 컨볼루션 및 가속 | |
CN114698395A (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
EP3940603A1 (en) | Processing apparatus for performing pointwise convolutions and depthwise convolutions | |
Zhou et al. | Neural epitome search for architecture-agnostic network compression | |
KR102153167B1 (ko) | 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법 | |
WO2023122896A1 (zh) | 一种数据处理方法和装置 | |
CN113919479B (zh) | 一种提取数据特征的方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200901 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220125 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220328 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7060079 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |