JP2021124974A - 演算装置、演算方法、プログラム及びテーブル生成装置 - Google Patents
演算装置、演算方法、プログラム及びテーブル生成装置 Download PDFInfo
- Publication number
- JP2021124974A JP2021124974A JP2020018209A JP2020018209A JP2021124974A JP 2021124974 A JP2021124974 A JP 2021124974A JP 2020018209 A JP2020018209 A JP 2020018209A JP 2020018209 A JP2020018209 A JP 2020018209A JP 2021124974 A JP2021124974 A JP 2021124974A
- Authority
- JP
- Japan
- Prior art keywords
- activation function
- unit
- input
- value
- approximation
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 66
- 230000004913 activation Effects 0.000 claims abstract description 233
- 238000013528 artificial neural network Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 240
- 238000000034 method Methods 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000000717 retained effect Effects 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 120
- 239000010410 layer Substances 0.000 description 43
- 238000010586 diagram Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000010606 normalization Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000008034 disappearance Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013213 extrapolation Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001687 destabilization Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
- Machine Translation (AREA)
Abstract
【解決手段】ニューラルネットワークの活性化関数を近似的に表現する近似テーブルであって、前記活性化関数の離散的な複数の入力サンプルと前記複数の入力サンプルにそれぞれ対応する出力サンプルとをマッピングする前記近似テーブルを保持する保持部と、活性化関数演算のために前記活性化関数が選択された場合に、前記保持部により保持されている前記近似テーブルを用いて、前記活性化関数演算の入力値を出力値へ変換する演算部と、を備え、前記近似テーブルの前記複数の入力サンプルは、前記活性化関数の定義域において基準点からより遠い入力サンプルがより大きい隣接サンプル間隔を有するように設定される、演算装置が提供される。対応する演算方法及びテーブル生成装置もまた提供される。
【選択図】図10
Description
<1−1.活性化関数>
図1は、機械学習のためのニューラルネットワークのノードにおいて行われる演算について説明するための説明図である。ニューラルネットワークは、概して、入力層、複数の中間層及び出力層からなる。入力層は、学習用データを受付ける層である。k番目の中間層は、Nk個のノード(Nkは層ごとに相違し得る)からなる。k番目の中間層は、先行する入力層又は中間層のNk−1個のノードからNk−1個の信号値Xm(m=1,…,Nk−1)を受付け、Nk個の出力値Zn(n=1,…,Nk)を導出して次の層へ受け渡す。図1には、k−1番目の中間層が4個のノードを有し(Nk−1=4)、k番目の中間層が3個のノードを有する(Nk=3)例が示されている。具体的には、k番目の中間層のノードnは、k−1番目の中間層の4個のノードから、4個の信号値X1、X2、X3、X4を受付ける。そして、ノードnは、重みwn1、wn2、wn3、wn4を用いて信号値の加重和を算出し、さらにバイアスbnを加算して中間値Ynを導出する。この中間値Ynの導出は、ニューロン演算とも呼ばれ、次の式(1)又は式(2)で表現され得る。
ニューラルネットワークモデルの設計に関連して、非線形関数は、それぞれ利点及び欠点を有し、例えば扱われる問題の性質、収束の容易さ、勾配消失の可能性の回避、又は計算効率といった要因を考慮して選択される。図2に示した非線形関数のうち、ステップ関数及びReLU関数は、区間ごとに見れば線形的であることから、演算のために少ない計算リソースしか消費しない。一方、シグモイド関数、tanh関数及びソフトプラス関数は、曲線的であることから、演算のために相対的に多くの計算リソースを消費する。
<2−1.ハードウェア構成>
図3は、本開示に係る技術が実装され得るコンピュータのハードウェア構成の一例を示すブロック図である。図3に示したコンピュータ300は、CPU301、メモリ302、ROM303、HDD304、通信I/F305、操作部306、ASIC307及びバス310を備える。
図4は、一実施形態に係るテーブル生成装置400の機能面の構成の一例を示すブロック図である。図4を参照すると、テーブル生成装置400は、受付部410、生成部420及びテーブル保持部430を備える。
図5は、一実施形態に係る学習装置500の機能面の構成の一例を示すブロック図である。図5を参照すると、学習装置500は、データ取得部510、学習部520、テーブル保持部530、活性化演算部540、傾き取得部550及びモデル記憶部560を備える。なお、ここでは、ニューラルネットワークの学習が教師あり学習として行われる例を主に説明するが、本開示に係る技術は、自己符号化器のような教師なし学習にも等しく適用可能である。
図6は、一実施形態に係る推論装置600の機能面の構成の一例を示すブロック図である。図6を参照すると、推論装置600は、入力取得部610、モデル記憶部620、推論部630、テーブル保持部640、活性化演算部650及び結果出力部660を備える。
<3−1.テーブル生成処理>
図9は、本実施形態に係るテーブル生成装置400により実行され得る近似テーブル生成処理の流れの一例を示すフローチャートである。図9に示した処理は、テーブル生成装置400のプロセッサ(例えば、CPU301)がメモリ(例えば、メモリ302)へロードされるコンピュータプログラムを実行することにより実現され得る。なお、以下の説明では、処理ステップをS(ステップ)と略記する。
図10(A)は、本実施形態に係る学習装置500により実行され得る学習処理の流れの一例を示すフローチャートである。図10(B)は、図10(A)のS1005の一部として実行され得る活性化関数処理の流れの一例を示すフローチャートである。これら処理は、学習装置500のプロセッサ(例えば、CPU301)がメモリ(例えば、メモリ302)へロードされるコンピュータプログラムを実行することにより実現され得る。処理の一部は、(例えば、ASIC307において実装される)ハードウェアロジックにより実現されてもよい。
図11は、本実施形態に係る推論装置600により実行され得る推論処理の流れの一例を示すフローチャートである。図11に示した処理は、推論装置600のプロセッサ(例えば、CPU301)がメモリ(例えば、メモリ302)へロードされるコンピュータプログラムを実行することにより実現され得る。推論装置600の一部は、(例えば、ASIC307において実装される)ハードウェアロジックにより実現されてもよい。
学習処理において、学習用データのデータ値の分布が変動すると、中間層の挙動が不安定化し、学習の収束が妨げられ、望ましい学習結果が得られないことがある。こうした分布の変動を吸収して学習処理を効率的に進めるための手法として、いわゆるバッチ正規化(Batch Normalization)が知られている。バッチ正規化は、通常、ニューロン演算と活性化関数演算との間で行われる。バッチ正規化では、例えば、所定回数の学習処理の繰返しに相当するミニバッチ単位で中間的な信号値の分布の変動が判定され、判定された変動を相殺するように各信号値が調整される。それにより、ミニバッチ単位の分布が正規化されて中間層の挙動の不安定化が回避される。
ここまで、図1〜図13を用いて、本開示の実施形態及び変形例について詳細に説明した。上述した実施形態では、ニューラルネットワークの活性化関数の近似テーブルにおいて、複数の入力サンプルが、関数の定義域において基準点からより遠い入力サンプルがより大きい隣接サンプル間隔を有するように設定される。そして、その近似テーブルを用いて、活性化関数演算の入力値が出力値へ変換される。かかる構成によれば、傾きの変化が少ない領域に必要以上に多くのサンプルを割当てることなく、活性化関数の定義域の全体にわたり十分な近似の精度を確保することができる。その結果、メモリリソースの浪費を防ぎながら、低減された計算負荷で活性化関数演算を実行することが可能となる。こうした演算装置のリソースの効率的な活用という利点は、ニューラルネットワークを利用した学習処理を行う学習段階においても、学習済みモデルに基づいて推論処理を行う推論段階においても享受され得る。
上記実施形態は、1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理の形式でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (18)
- ニューラルネットワークの活性化関数を近似的に表現する近似テーブルであって、前記活性化関数の離散的な複数の入力サンプルと前記複数の入力サンプルにそれぞれ対応する出力サンプルとをマッピングする前記近似テーブルを保持する保持部と、
活性化関数演算のために前記活性化関数が選択された場合に、前記保持部により保持されている前記近似テーブルを用いて、前記活性化関数演算の入力値を出力値へ変換する演算部と、
を備え、
前記近似テーブルの前記複数の入力サンプルは、前記活性化関数の定義域において基準点からより遠い入力サンプルがより大きい隣接サンプル間隔を有するように設定される、
演算装置。 - 請求項1に記載の演算装置であって、前記演算部は、前記入力値が前記近似テーブルのいずれの入力サンプルにも等しくない場合に、前記入力値を上回る最小入力サンプル及び前記入力値を下回る最大入力サンプルと、それぞれ対応する出力サンプルとに基づく補間によって、前記入力値を前記出力値へ変換する、演算装置。
- 請求項1又は2に記載の演算装置であって、
前記活性化関数は、対象点に関し点対称又は対称軸に関し線対象であり、
前記近似テーブルの前記複数の入力サンプルは、前記定義域において前記対象点又は前記対称軸の一方の側についてのみ定義され、
前記演算部は、前記対象点又は前記対称軸の他方の側についての前記活性化関数のサンプル値を、前記近似テーブルに基づいて生成して、前記活性化関数演算のために使用する、
演算装置。 - 請求項1乃至3のいずれか1項に記載の演算装置であって、
前記ニューラルネットワークを利用した推論処理を行う推論部、をさらに備え、
前記推論部は、前記推論処理において前記演算部に前記活性化関数演算を行わせる、
演算装置。 - 請求項1乃至3のいずれか1項に記載の演算装置であって、
前記ニューラルネットワークを利用した学習処理を行う学習部、をさらに備え、
前記学習部は、前記学習処理において前記演算部に前記活性化関数演算を行わせる、
演算装置。 - 請求項5に記載の演算装置であって、前記演算部は、前記ニューラルネットワークの中間層で処理される中間データのミニバッチ単位の平均又は分散に基づいて、前記近似テーブルにより示された前記複数の入力サンプルの値を調整して、調整後の前記近似テーブルを前記活性化関数演算のために使用する、演算装置。
- 請求項6に記載の演算装置であって、前記調整は、前記中間データのミニバッチ単位の前記平均に基づいて前記複数の入力サンプルの値をオフセットすることを含む、演算装置。
- 請求項6又は7に記載の演算装置であって、前記調整は、前記中間データのミニバッチ単位の前記分散に基づいて前記複数の入力サンプルの値をスケーリングすることを含む、演算装置。
- 請求項5乃至8のいずれか1項に記載の演算装置であって、前記学習処理におけるバックプロパゲーションのために、前記活性化関数の導関数の値の近似値として、前記近似テーブルの隣接サンプル間の出力サンプルの傾きを取得する傾き取得部、をさらに備える、演算装置。
- ニューラルネットワークの活性化関数演算のための演算方法であって、
演算装置により、ニューラルネットワークの活性化関数を近似的に表現する近似テーブルであって、前記活性化関数の離散的な複数の入力サンプルと前記複数の入力サンプルにそれぞれ対応する出力サンプルとをマッピングする前記近似テーブルを保持することと、
前記活性化関数演算のために前記活性化関数が選択された場合に、前記近似テーブルを用いて、前記活性化関数演算の入力値を出力値へ変換することと、
を含み、
前記近似テーブルの前記複数の入力サンプルは、前記活性化関数の定義域において基準点からより遠い入力サンプルがより大きい隣接サンプル間隔を有するように設定される、
演算方法。 - ニューラルネットワークの活性化関数演算を実行する演算装置のプロセッサに、請求項10に記載の演算方法を行わせるためのコンピュータプログラム。
- ニューラルネットワークの活性化関数の指定を受付ける受付部と、
前記受付部により受付けられた前記活性化関数を近似的に表現する近似テーブルであって、前記活性化関数の離散的な複数の入力サンプルと前記複数の入力サンプルにそれぞれ対応する出力サンプルとをマッピングする前記近似テーブルを生成する生成部と、
を備え、
前記生成部は、前記近似テーブルの前記複数の入力サンプルを、前記活性化関数の定義域において基準点からより遠い入力サンプルがより大きい隣接サンプル間隔を有するように設定する、
テーブル生成装置。 - 請求項12に記載のテーブル生成装置であって、前記基準点は、前記定義域における原点である、テーブル生成装置。
- 請求項12に記載のテーブル生成装置であって、前記基準点は、前記活性化関数の傾きの絶対値が極大となる点である、テーブル生成装置。
- 請求項14に記載のテーブル生成装置であって、前記生成部は、前記活性化関数の傾きが極大となる複数の極大点が存在する場合に、当該複数の極大点に対応する複数の基準点を設定する、テーブル生成装置。
- 請求項12乃至15のいずれか1項に記載のテーブル生成装置であって、前記生成部は、前記活性化関数の二次導関数の値に基づいて、前記隣接サンプル間隔を設定する、テーブル生成装置。
- 請求項12乃至15のいずれか1項に記載のテーブル生成装置であって、前記生成部は、前記基準点における基本サンプル間隔を基準として、前記基準点から遠くなるにつれて前記隣接サンプル間隔が一定の比率又は一定の差分で増加するように、前記隣接サンプル間隔を設定する、テーブル生成装置。
- 請求項12乃至17のいずれか1項に記載のテーブル生成装置であって、前記生成部は、隣接サンプル間の区間における前記活性化関数の傾きの変化量が閾値を上回らないように、前記隣接サンプル間隔を調整する、テーブル生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020018209A JP7431598B2 (ja) | 2020-02-05 | 2020-02-05 | 演算装置、演算方法、プログラム及びテーブル生成装置 |
US17/155,686 US11886977B2 (en) | 2020-02-05 | 2021-01-22 | Computing apparatus, computing method, storage medium, and table generating apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020018209A JP7431598B2 (ja) | 2020-02-05 | 2020-02-05 | 演算装置、演算方法、プログラム及びテーブル生成装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021124974A true JP2021124974A (ja) | 2021-08-30 |
JP2021124974A5 JP2021124974A5 (ja) | 2023-02-10 |
JP7431598B2 JP7431598B2 (ja) | 2024-02-15 |
Family
ID=77062023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020018209A Active JP7431598B2 (ja) | 2020-02-05 | 2020-02-05 | 演算装置、演算方法、プログラム及びテーブル生成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11886977B2 (ja) |
JP (1) | JP7431598B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3025592B2 (ja) | 1992-12-08 | 2000-03-27 | 三菱電機株式会社 | ニューロコンピュータ |
US5742741A (en) | 1996-07-18 | 1998-04-21 | Industrial Technology Research Institute | Reconfigurable neural network |
JPH10252537A (ja) | 1997-03-14 | 1998-09-22 | Honda Motor Co Ltd | 内燃機関の制御装置 |
GB2568087B (en) | 2017-11-03 | 2022-07-20 | Imagination Tech Ltd | Activation functions for deep neural networks |
-
2020
- 2020-02-05 JP JP2020018209A patent/JP7431598B2/ja active Active
-
2021
- 2021-01-22 US US17/155,686 patent/US11886977B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7431598B2 (ja) | 2024-02-15 |
US11886977B2 (en) | 2024-01-30 |
US20210241077A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7518250B2 (ja) | リソース制約付きニューラルネットワークアーキテクチャ検索 | |
US10540583B2 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
US11120333B2 (en) | Optimization of model generation in deep learning neural networks using smarter gradient descent calibration | |
JP2022543245A (ja) | 学習を転移させるための学習のためのフレームワーク | |
CN112771547A (zh) | 通信系统中的端到端学习 | |
US20110173145A1 (en) | Classification of a document according to a weighted search tree created by genetic algorithms | |
US20240005166A1 (en) | Minimum Deep Learning with Gating Multiplier | |
CN116583854A (zh) | Rpu交叉开关阵列的最坏情况噪声和界限管理 | |
WO2022197615A1 (en) | Techniques for adaptive generation and visualization of quantized neural networks | |
CN114399025A (zh) | 一种图神经网络解释方法、系统、终端以及存储介质 | |
JP7382633B2 (ja) | 学習モデル構築装置、学習モデル構築方法及びコンピュータプログラム | |
JP7279225B2 (ja) | 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム | |
JP7431598B2 (ja) | 演算装置、演算方法、プログラム及びテーブル生成装置 | |
CN114830137A (zh) | 用于生成预测模型的方法和系统 | |
KR20210149393A (ko) | 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 | |
JP6436086B2 (ja) | 分類辞書生成装置、分類辞書生成方法及びプログラム | |
JP6691501B2 (ja) | 音響モデル学習装置、モデル学習装置、モデル学習方法、およびプログラム | |
KR20190064948A (ko) | 준지도 학습에서의 꼭지점 중요도를 고려한 레이블 추론 방법 및 시스템 | |
CN113822321B (zh) | 生成模型训练方法和装置、噪声尺度生成方法和计算设备 | |
JP2020184268A (ja) | 演算処理装置、演算処理プログラム、及び演算処理方法 | |
JP6992864B1 (ja) | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム | |
JP2023124376A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2014179064A (ja) | 制御方策決定装置、制御方策決定方法、制御方策決定プログラム、及び制御システム | |
WO2021112166A1 (ja) | 構造最適化装置、構造最適化方法、及びコンピュータ読み取り可能な記録媒体 | |
JP7350549B2 (ja) | 決定装置、決定方法および決定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230202 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231218 |
|
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: 20240105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240202 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7431598 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |