JP7029321B2 - 情報処理方法、情報処理装置およびプログラム - Google Patents
情報処理方法、情報処理装置およびプログラム Download PDFInfo
- Publication number
- JP7029321B2 JP7029321B2 JP2018046055A JP2018046055A JP7029321B2 JP 7029321 B2 JP7029321 B2 JP 7029321B2 JP 2018046055 A JP2018046055 A JP 2018046055A JP 2018046055 A JP2018046055 A JP 2018046055A JP 7029321 B2 JP7029321 B2 JP 7029321B2
- Authority
- JP
- Japan
- Prior art keywords
- tensor
- memory
- stored
- input
- calculation
- 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
-
- 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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Description
以下では、図面を参照しながら、実施の形態における情報処理装置10の情報処理方法等の説明を行う。
図1は、実施の形態における情報処理装置10の構成の一例を示すブロック図である。
入力部11は、処理対象のデータを示す入力テンソルを処理部12に入力する。ここで、処理対象のデータは、画像または動画像であるが、これに限らない。処理部12が、1層の畳み込み層の演算を行う場合には、データは、当該畳み込み層の前にある畳み込み層などによる畳み込み演算処理結果であってもよい。
処理部12は、メモリ124を有しコンピュータにより処理される。処理部12は、入力テンソルの各要素について2の累乗表現の形式に変換される事前計算が行われてメモリ124に格納された後において、所定のアルゴリズムにより予め2の累乗表現の形式に変換され、かつメモリ124に格納されている畳み込み演算に用いる可能性のある重みを示す重みテンソルと、メモリ124に格納された事前計算が行われた入力テンソルの各要素とを用いて、加算演算およびシフト演算のみで畳み込み演算処理を行う。ここで、処理部12は、事前計算を行い、メモリ124に事前計算を行った入力テンソルの各要素を格納してもよい。また、重みテンソルは、2の補数のビット値がB(1以上の整数)とすると2B-1個の組み合わせからなり、かつ、メモリ124にコードブックとして格納されていてもよい。処理部12は、コードブック123から、1ビットの表現の自由度を示す次元数とするN(1以上の整数)および当該Bとにより特定される重みテンソルの要素を取得して用いる。なお、Nは、2以上の整数であるとよい。
一般的なCNNの各畳み込み層への入力は、入力テンソルXで表すことができる。入力テンソルXは、入力チャンネル数をC、高さをH、幅をWとすると、(式1)に示される集合Rの要素である。
メモリ124は、ハードディスクまたは半導体メモリ等で構成され、情報を記憶する。
事前計算部121は、入力テンソルXの各要素について2の累乗表現の形式に変換する事前計算を行う。事前計算部121は、当該事前計算を行い、当該事前計算を行った入力テンソルXの各要素をメモリ124に格納する。
図4は、図3に示すShiftALU部1211の詳細構成を概念的に示す図である。
図5は、畳み込み演算に用いる可能性のある重みテンソルを2の累乗表現の形式に変換する所定のアルゴリズムを示す図である。図5において、所定のアルゴリズムは、アルゴリズム1と表記されている。
畳み込み演算部122は、事前計算が行われた後において、所定のアルゴリズムにより予め2の累乗表現の形式に変換され、かつ畳み込み演算に用いる可能性のある重みを示す重みテンソルと、メモリ124に格納された事前計算が行われた入力テンソルの各要素とを用いて、加算演算およびシフト演算のみで畳み込み演算処理を行う。
制御部125は、事前計算部121および畳み込み演算部122を制御する。
出力部13は、処理部12により畳み込み演算処理が行われた入力テンソルの各要素を、出力テンソルとして出力する。
次に、上記のように構成された情報処理装置10の動作について説明する。
以上のように、本実施の形態における情報処理装置10によれば、畳み込み演算を、乗算演算を必要とせず加算演算およびシフト演算のみで行うことができるので、畳み込み演算の計算効率をより向上させて低消費電力化させることができる。より具体的には、本実施の形態の情報処理装置10によれば、CNNのデータ表現として、ハードウェア効率の高い2の累乗表現形式を採用することで、畳み込み演算を乗算なしでシフト演算および加算演算のみで行うことができる。これにより、CNNにおいて最も計算量の多い部分である畳み込み層の計算コストを大幅に削減することができる。よって、CNNの畳み込み層で行われる畳み込み演算の計算効率をより向上させて、CNNが実装される装置の低消費電力化を図ることもできる。
情報処理装置10の処理部12であるShiftCNNの有効性について、大量の画像とその内容を表すタグで構成されているImageNet datasetを用いて広範な評価を行ったので、その評価結果を実施例1として説明する。
本実施例では、ShiftCNNモデルに変換される従来のCNNとして、画像分類に用いられる一般的なCNNモデルであるGoogleNetとResNetとSqueezeNetとを選択した。
これら全てのCNNモデルを図5に示したアルゴリズム1を用いて、浮動小数点精度を下げた2の累乗表現の形式にエミュレートすることによりShiftCNNモデルに変換した。そして、ImageNetの検証用データセットから切り取って縦横比を維持しつつ中央にさせた5万の画像を用いて、CaffeツールによりTop-1 AccuracyとTop-5 Accuracyを評価した。
図10は、実施例1におけるImageNet datasetを用いて正解率を評価した評価結果を示す図である。図10には、SqueezeNet、GoogleNet、ResNet-18およびResNet-50をShiftCNNモデルに変換後に、ImageNet datasetを用いてTop-1 AccuracyとTop-5 Accuracyとを評価した結果が示されている。
実施例2では、図4に示すShiftALU部1211と、比較例として8ビットで乗算演算する算術乗算器とをRTL(Resister Transfer Level)を使用して設計し、Xilinx Zynq XA7Z010デバイス用にコンパイルした。Xilinx Zynq XA7Z010デバイスは、200MHzクロックレートで動作する自動車グレードのFPGAである。入力テンソルのビット幅は8ビットとし、ShiftALU部1211および算術乗算器は16ビットで結果を出力するとした。また、ShiftALU部1211で用いるビット幅を示すBは4ビットであり、畳み込み層の深さはC= 512とした。
以上、実施の形態において本開示の情報処理装置および情報処理方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど(以下に説明)によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
11 入力部
11a 入力テンソル
12 処理部
13 出力部
13a 出力テンソル
121 事前計算部
122 畳み込み演算部
123 コードブック
123a 重みテンソル
124 メモリ
124a 事前計算後テンソル
124b バイアス項
125 制御部
1211 ShiftALU部
1221、1222 マルチプレクサ
1223 加算器
Claims (6)
- データを示す入力テンソルを、メモリを有しコンピュータにより処理される処理部に入力する入力ステップと、
前記入力テンソルの各要素について2の累乗表現の形式に変換される事前計算が行われて前記メモリに格納された後において、所定のアルゴリズムにより予め2の累乗表現の形式に変換され、かつ前記メモリに格納されている畳み込み演算に用いる可能性のある重みを示す重みテンソルと、前記メモリに格納された前記事前計算が行われた前記入力テンソルの各要素とを用いて、前記処理部に、加算演算およびシフト演算のみで畳み込み演算処理を行わせる処理ステップと、
前記処理ステップにより前記畳み込み演算処理が行われた前記入力テンソルの各要素を、出力テンソルとして出力する出力ステップとを含み、
前記重みテンソルは、2の補数のビット値がB(1以上の整数)とすると2 B -1個の組み合わせからなり、かつ、前記メモリにコードブックとして格納されており、
前記処理ステップでは、前記コードブックから、1ビットの表現の自由度を示す次元数とするN(1以上の整数)および前記Bとにより特定される重みテンソルの要素を取得して用いる、
情報処理方法。 - 前記処理ステップでは、前記処理部に、前記事前計算を行わせ、前記メモリに前記事前計算を行った前記入力テンソルの各要素を格納させる、
請求項1に記載の情報処理方法。 - 前記処理ステップでは、前記処理部に、畳み込みニューラルネットワークを構成する畳み込み層の演算を行わせる、
請求項1または2に記載の情報処理方法。 - 前記Nは、2以上の整数である、
請求項1~3のいずれか1項に記載の情報処理方法。 - データを示す入力テンソルを入力する入力部と、
メモリを有しコンピュータにより処理される処理部であって、前記入力テンソルの各要素について2の累乗表現の形式に変換される事前計算が行われて前記メモリに格納された後において、所定のアルゴリズムにより予め2の累乗表現の形式に変換され、かつ前記メモリに格納されている畳み込み演算に用いる可能性のある重みを示す重みテンソルと、前記メモリに格納された前記事前計算が行われた前記入力テンソルの各要素とを用いて、加算演算およびシフト演算のみで畳み込み演算処理を行う処理部と、
前記処理部により前記畳み込み演算処理が行われた前記入力テンソルの各要素を、出力テンソルとして出力する出力部とを含み、
前記重みテンソルは、2の補数のビット値がB(1以上の整数)とすると2 B -1個の組み合わせからなり、かつ、前記メモリにコードブックとして格納されており、
前記処理部は、前記コードブックから、1ビットの表現の自由度を示す次元数とするN(1以上の整数)および前記Bとにより特定される重みテンソルの要素を取得して用いる、
情報処理装置。 - データを示す入力テンソルを、メモリを有する処理部に入力する入力ステップと、
前記入力テンソルの各要素について2の累乗表現の形式に変換される事前計算が行われてメモリに格納された後において、所定のアルゴリズムにより予め2の累乗表現の形式に変換され、かつ前記メモリに格納されている畳み込み演算に用いる可能性のある重みを示す重みテンソルと、前記メモリに格納された前記事前計算が行われた前記入力テンソルの各要素とを用いて、前記処理部に、加算演算およびシフト演算のみで畳み込み演算処理を行わせる処理ステップと、
前記処理ステップにより前記畳み込み演算処理が行われた前記入力テンソルの各要素を、出力テンソルとして出力する出力ステップとを、
コンピュータに実行させ、
前記重みテンソルは、2の補数のビット値がB(1以上の整数)とすると2 B -1個の組み合わせからなり、かつ、前記メモリにコードブックとして格納されており、
前記処理ステップでは、前記コードブックから、1ビットの表現の自由度を示す次元数とするN(1以上の整数)および前記Bとにより特定される重みテンソルの要素を取得して用いることをコンピュータに実行させる、
プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762487684P | 2017-04-20 | 2017-04-20 | |
US62/487,684 | 2017-04-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018181313A JP2018181313A (ja) | 2018-11-15 |
JP7029321B2 true JP7029321B2 (ja) | 2022-03-03 |
Family
ID=63856563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018046055A Active JP7029321B2 (ja) | 2017-04-20 | 2018-03-13 | 情報処理方法、情報処理装置およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11055379B2 (ja) |
JP (1) | JP7029321B2 (ja) |
WO (1) | WO2018193906A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201801639D0 (en) * | 2018-02-01 | 2018-03-21 | Ruff Brendan Patrick | Low precision efficient multiplication free convolutional filter bank device |
WO2019168084A1 (ja) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
FR3087558B1 (fr) * | 2018-10-19 | 2021-08-06 | Idemia Identity & Security France | Procede d'extraction de caracteristiques d'une empreinte digitale representee par une image d'entree |
CN109740748B (zh) * | 2019-01-08 | 2021-01-08 | 西安邮电大学 | 一种基于fpga的卷积神经网络加速器 |
CN109635940B (zh) * | 2019-01-28 | 2021-04-06 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种基于卷积神经网络的图像处理方法及图像处理装置 |
CN109992785B (zh) * | 2019-04-09 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 基于机器学习的内容计算方法、装置及设备 |
CN110059817B (zh) * | 2019-04-17 | 2023-06-13 | 中山大学 | 一种实现低资源消耗卷积器的方法 |
EP4026057A4 (en) * | 2019-09-10 | 2023-02-15 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR GENERATION OF ARCHITECTURE-SPECIFIC FOLDING GRADIENT CORE |
CN112766470B (zh) * | 2019-10-21 | 2024-05-07 | 地平线(上海)人工智能技术有限公司 | 特征数据处理方法、指令序列生成方法、装置及设备 |
CN112926020B (zh) * | 2019-12-06 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 反卷积处理方法、图像处理方法和相应装置 |
CN113128673B (zh) * | 2019-12-31 | 2023-08-11 | Oppo广东移动通信有限公司 | 数据处理方法、存储介质、神经网络处理器及电子设备 |
WO2021158378A1 (en) * | 2020-02-06 | 2021-08-12 | Interdigital Patent Holdings, Inc. | Systems and methods for encoding a deep neural network |
US11687336B2 (en) * | 2020-05-08 | 2023-06-27 | Black Sesame Technologies Inc. | Extensible multi-precision data pipeline for computing non-linear and arithmetic functions in artificial neural networks |
CN111831429B (zh) * | 2020-06-11 | 2024-04-02 | 上海交通大学 | 一种基于simt编程模型的张量化并行计算方法 |
JP2022034897A (ja) | 2020-08-19 | 2022-03-04 | 富士通株式会社 | 情報処理装置、機械学習方法及び機械学習プログラム |
US20220114413A1 (en) * | 2020-10-12 | 2022-04-14 | Black Sesame International Holding Limited | Integer-based fused convolutional layer in a convolutional neural network |
CN114217686A (zh) * | 2021-04-26 | 2022-03-22 | 无锡江南计算技术研究所 | 一种稠密卷积运算核心的低功耗方法 |
CN113485837B (zh) * | 2021-07-21 | 2024-05-07 | 瀚博半导体(上海)有限公司 | 一种基于并行分支和张量切分的张量处理方法和处理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06259585A (ja) * | 1993-03-10 | 1994-09-16 | Toyota Central Res & Dev Lab Inc | ニューラルネットワーク装置 |
US5473730A (en) * | 1993-11-09 | 1995-12-05 | At&T Ipm Corp. | High efficiency learning network |
US9805303B2 (en) * | 2015-05-21 | 2017-10-31 | Google Inc. | Rotating data for neural network computations |
US10311342B1 (en) * | 2016-04-14 | 2019-06-04 | XNOR.ai, Inc. | System and methods for efficiently implementing a convolutional neural network incorporating binarized filter and convolution operation for performing image classification |
-
2018
- 2018-03-13 JP JP2018046055A patent/JP7029321B2/ja active Active
- 2018-04-10 WO PCT/JP2018/015015 patent/WO2018193906A1/ja active Application Filing
-
2019
- 2019-07-16 US US16/513,666 patent/US11055379B2/en active Active
Non-Patent Citations (1)
Title |
---|
Daisuke Miyashita,Convolutional Neural Networks using Logarithmic Data Representation,Cornell University,2016年03月17日,https://arxiv.org/pdf/1603.01025.pdf |
Also Published As
Publication number | Publication date |
---|---|
US20190340214A1 (en) | 2019-11-07 |
WO2018193906A1 (ja) | 2018-10-25 |
JP2018181313A (ja) | 2018-11-15 |
US11055379B2 (en) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7029321B2 (ja) | 情報処理方法、情報処理装置およびプログラム | |
JP7349835B2 (ja) | ニューラルネットワークにおいてパラメータを処理する方法及び装置 | |
Faraone et al. | AddNet: Deep neural networks using FPGA-optimized multipliers | |
JP6998968B2 (ja) | ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム | |
CN112292816B (zh) | 处理核心数据压缩和存储系统 | |
JP7240657B2 (ja) | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム | |
WO2018140294A1 (en) | Neural network based on fixed-point operations | |
US20180365529A1 (en) | Hieroglyphic feature-based data processing | |
CN118095366A (zh) | 利用反向传播为深度神经网络选择量化参数的方法和系统 | |
CN106570559A (zh) | 一种基于神经网络的数据处理方法和装置 | |
Choi et al. | An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices | |
EP3480689B1 (en) | Hierarchical mantissa bit length selection for hardware implementation of deep neural network | |
KR102153791B1 (ko) | 인공 신경망을 위한 디지털 뉴런, 인공 뉴런 및 이를 포함하는 추론 엔진 | |
Chervyakov et al. | Residue number system-based solution for reducing the hardware cost of a convolutional neural network | |
CN107402905B (zh) | 基于神经网络的计算方法及装置 | |
CN112651485A (zh) | 识别图像的方法和设备以及训练神经网络的方法和设备 | |
Choi et al. | Low cost convolutional neural network accelerator based on bi-directional filtering and bit-width reduction | |
CN111126557B (zh) | 神经网络量化、应用方法、装置和计算设备 | |
US11995533B1 (en) | Executing replicated neural network layers on inference circuit | |
US11699077B2 (en) | Multi-layer neural network system and method | |
JP2020021208A (ja) | ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム | |
US20220171602A1 (en) | Integrated circuit for constant multiplication and device including the same | |
CN117063183A (zh) | 激活函数的高效压缩 | |
Panwar et al. | M2DA: a low-complex design methodology for convolutional neural network exploiting data symmetry and redundancy | |
GB2549928A (en) | Sorting numbers in hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201001 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220121 |
|
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: 20220201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7029321 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |