JP7436830B2 - 学習プログラム、学習方法、および学習装置 - Google Patents
学習プログラム、学習方法、および学習装置 Download PDFInfo
- Publication number
- JP7436830B2 JP7436830B2 JP2020068626A JP2020068626A JP7436830B2 JP 7436830 B2 JP7436830 B2 JP 7436830B2 JP 2020068626 A JP2020068626 A JP 2020068626A JP 2020068626 A JP2020068626 A JP 2020068626A JP 7436830 B2 JP7436830 B2 JP 7436830B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- learning
- parameter
- layer
- update
- 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 201
- 238000012545 processing Methods 0.000 claims description 61
- 238000004364 calculation method Methods 0.000 claims description 34
- 230000001629 suppression Effects 0.000 claims description 24
- 238000011478 gradient descent method Methods 0.000 claims description 17
- 238000010801 machine learning Methods 0.000 description 82
- 238000012549 training Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 230000007704 transition Effects 0.000 description 22
- 238000013528 artificial neural network Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000037221 weight management Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Description
〔第1の実施の形態〕
図1は、第1の実施の形態に係る学習方法の一例を示す図である。図1には、第1の実施の形態に係る学習方法を実施する学習装置10を示している。学習装置10は例えばコンピュータであり、学習プログラムを実行することにより、第1の実施の形態に係る学習方法を実施することができる。
次に第2の実施の形態について説明する。第2の実施の形態は、モーメンタム法を適用した勾配降下法(例えばSGD)を用いた機械学習において、多層のニューラルネットワークのうちの一部のレイヤにおいて学習をスキップさせることによる処理の効率化を可能としたものである。
図3は、モデルの構造の一例を示す図である。モデル40は、多層のニューラルネットワークである。多層のニューラルネットワークをモデル40として用いることで、学習装置100は、機械学習アルゴリズムとして深層学習を使用することができる。図3に示しているモデル40は、N層(Nは1以上の整数)のニューラルネットワークである。
図4は、機械学習の一例を示す図である。学習装置100は、ストレージ装置103に訓練データ50を記憶している。訓練データ50には、モデル40に入力するデータ51と、学習結果の正解を示すラベル52が含まれる。学習装置100は、訓練データ50を用いて機械学習を行いモデル40の適切な重みパラメータの値を求める。
Forwardフェーズでは、訓練データ50に含まれる説明変数の値が入力用のデータ51としてモデル40の入力レイヤ42のノードに対して入力される。入力されたデータ51は、入力レイヤ42のノードから第1レイヤ43のノードに送信される。第1レイヤ43では、第1レイヤ43の重みパラメータ群43aを用いて、入力されたデータ51に応じた出力値を計算する。第1レイヤ43で計算された出力値を含むデータ53は、第1レイヤ43から第2レイヤ44に送信される。
Backwardフェーズでは、出力データ55とラベル52との差分61が算出される。そして差分61に応じて、出力レイヤである第3レイヤ45の重みパラメータごとの誤差勾配62が算出される。また差分61に基づいて、正解を得るための第3レイヤ45への適切な入力データと、実際に入力されたデータ54との差分63が算出される。そして差分63に応じて、第2レイヤ44の重みパラメータごとの誤差勾配64が算出される。さらに差分63に基づいて、正解を得るための第2レイヤ44への適切な入力データと、実際に入力されたデータ53との差分65が算出される。そして差分65に応じて、第1レイヤ43の重みパラメータごとの誤差勾配66が算出される。
誤差勾配を重みに反映させる際には、現在の重みから誤差勾配そのものを減算する代わりに、今回の入力データの影響を緩和するように誤差勾配が減算値に変換され、現在の重みから当該減算値が減算される。その際、ハイパーパラメータの1つである学習率が使用される。学習率が大きいと、直近の入力データの影響が重みに強く反映され、学習率が小さいと、直近の入力データの影響が重みに弱く反映されることになる。
ある学習処理において重み更新処理をスキップすると、重みパラメータの値は更新されず、その前の学習処理における重みパラメータと同じ値となる。すると式(5)に示す「wn-wn-1」の値は「0」となってしまう。そのため、式(5)のままではモーメンタム項の効果が消えてしまう。
ここで、w2-w0,w4-w2を計算すると、それぞれ以下のようになる。
図10は、重みパラメータの値の推移の第3の例を示す図である。図10の例は、重み更新処理のスキップ数k=2(2回に1回スキップ)とした場合において、近似式を用いて算出された重みパラメータの値の遷移を示している。曲線83dは、式(20)によって近似計算を行った場合の重みパラメータの値の遷移を示している。曲線83dは、理想的な遷移を表す曲線83aとほぼ重なっている。
次に、スキップ数k=3の場合についての近似計算について説明する。スキップ数k=2の場合と同様にw0は定数とする。w1とw2とw3はスキップせずに計算されるものとする。そして、w4とw5の重み更新処理の計算がスキップされたときに、w6を近似計算で求める場合を想定する。この場合、w1は式(8)で表され、w2は式(10)で表され、w3は式(12)で表される。w4とw5の計算はスキップされる。w6は、一般化した式(14)に基づいて、以下の式で計算できる。
ここで、w3-w0,w6-w3を計算すると、それぞれ以下のようになる。
図11は、重みパラメータの値の推移の第4の例を示す図である。図11の例は、重み更新処理のスキップ数k=3(3回に1回スキップ)とした場合において、近似式を用いて算出された重みパラメータの値の遷移を示している。曲線84dは、式(26)によって近似計算を行った場合の重みパラメータの値の遷移を示している。曲線84dは、理想的な遷移を表す曲線84aとほぼ重なっている。
図13は、学習装置の機能の一例を示すブロック図である。学習装置100は、モデル記憶部110、訓練データ記憶部120、重み情報記憶部130、スキップ情報記憶部140、および機械学習部150を有する。モデル記憶部110、訓練データ記憶部120、重み情報記憶部130、およびスキップ情報記憶部140は、学習装置100が有するメモリ102またはストレージ装置103の記憶領域の一部を用いて実現される。機械学習部150は、例えば機械学習の処理手順が記述されたプログラムをプロセッサ101に実行させることで実現することができる。
重み情報記憶部130は、学習を1サイクル実行するごとに、その学習で算出された各重みパラメータの値を記憶する。記憶された重みパラメータの値は、モーメンタム法による重みパラメータの値の計算に使用される。
図14は、重み情報記憶部の一例を示す図である。重み情報記憶部130には、例えば重み管理テーブル131が格納される。重み管理テーブル131には、レイヤごとに、学習によって得られた重みパラメータの値が設定される。重みパラメータの値は、学習回数に対応づけて設定されている。各重みパラメータの値は、対応する学習回数の学習が終了した時点での値である。図14の例では、重みパラメータの値wに、3つの数値を添え字として付与している。1つめの数値はレイヤの番号を示しており、2つ目の数値はレイヤ内での重みパラメータの番号を示しており、3つ目の数値は学習回数を示している。
次に、図16、図17を参照し、学習処理の手順を詳細に説明する。
[ステップS101]機械学習部150は、学習回数カウンタiに初期値「0」を設定する(i=0)。
[ステップS104]機械学習部150は、選択したレイヤがi回目(前回)の学習において重み更新処理がスキップされているか否かを判断する。例えば機械学習部150は、スキップ管理テーブル141において該当レイヤのスキップ回数が「1」以上の場合、重み更新処理がスキップされていると判断する。機械学習部150は、重み更新処理がスキップされた場合、処理をステップS109に進める。また機械学習部150は、重み更新処理がスキップされていない場合、処理をステップS105に進める。
[ステップS106]機械学習部150は、ΔwのLpノルムが閾値T以下か否かを判断する。機械学習部150は、ΔwのLpノルムが閾値T以下であれば、処理をステップS108に進める。また機械学習部150は、ΔwのLpノルムが閾値より大きければ、処理をステップS107に進める。
図17は、学習処理の手順を示すフローチャートの後半である。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS122]機械学習部150は、読み出した訓練データを用いてForward処理を実行する。すなわち機械学習部150は、訓練データに含まれる訓練用の入力データを、モデルの入力レイヤのノードへの入力として、モデルに示されるニューラルネットワークに沿った計算を行い、出力レイヤからの出力値を得る。
[ステップS124]機械学習部150は、スキップ管理テーブル141を参照し、選択したレイヤのスキップの有無が「スキップあり」に設定されているか否かを判断する。機械学習部150、スキップありに設定されている場合、処理をステップS126に進める。また機械学習部150は、スキップなしに設定されている場合、処理をステップS125に進める。
[ステップS130]機械学習部150は、選択したレイヤの重みパラメータの値を、ステップS125またはステップS128で算出した値に更新する。
第2の実施の形態ではΔwのノルムに基づいて、重み更新処理のスキップの要否を判断しているが、Δwの要素の絶対値|Δw1|,|Δw2|,・・・,|Δwn|のそれぞれと閾値Tとを比較して、重み更新処理のスキップの要否を判断してもよい。例えば学習装置100は、Δwの要素の絶対値|Δw1|,|Δw2|,・・・,|Δwn|のすべてが閾値T以下の場合に、重み更新処理をスキップすると判断する。
2 モデル
10 学習装置
11 記憶部
12 処理部
Claims (7)
- コンピュータに、
複数のレイヤを有するモデルに対して繰り返し実行される学習処理において、前記複数のレイヤのうちの一部の更新抑止レイヤのパラメータの値の更新処理を、前記学習処理k(kは2以上の整数)回に1回だけ実行し、
前記更新抑止レイヤの前記パラメータの値の更新処理を実行する場合、k回前の前記学習処理で計算された前記パラメータの値と、2k回前の前記学習処理で計算された前記パラメータの値とを用いて、モーメンタム法を適用した勾配降下法によって、更新後の前記パラメータの値を算出する、
処理を実行させる学習プログラム。 - 更新後の前記パラメータの値の算出では、前記パラメータの値の更新処理を実行していない前記学習処理における誤差勾配を、前記パラメータの値の更新処理を実行している前記学習処理における誤差勾配と同じ値に近似することで、更新後の前記パラメータの値を算出する、
請求項1記載の学習プログラム。 - 更新後の前記パラメータの値の算出では、k回前の前記学習処理で計算された前記パラメータの値と2k回前の前記学習処理で計算された前記パラメータの値との差分に所定の係数を乗算する項を、モーメンタム法を適用することで追加されるモーメンタム項として含む計算式により、更新後の前記パラメータの値を算出する、
請求項1記載の学習プログラム。 - 前記コンピュータに、さらに、
前記複数のレイヤそれぞれについて、前回の更新処理における前記パラメータの更新前の値と更新後の値との差分を算出し、算出した差分に基づいて、前記更新抑止レイヤとするか否かを決定する、
処理を実行させる請求項1ないし3のいずれかに記載の学習プログラム。 - 一のレイヤの複数のパラメータそれぞれについて、前回の更新処理における更新前の値と更新後の値との差分を求め、前記複数のパラメータそれぞれの差分を要素とするベクトルのノルムが所定の閾値以下の場合、前記一のレイヤを前記更新抑止レイヤに決定する、
請求項4記載の学習プログラム。 - コンピュータが、
複数のレイヤを有するモデルに対して繰り返し実行される学習処理において、前記複数のレイヤのうちの一部の更新抑止レイヤのパラメータの値の更新処理を、前記学習処理k(kは2以上の整数)回に1回だけ実行し、
前記更新抑止レイヤの前記パラメータの値の更新処理を実行する場合、k回前の前記学習処理で計算された前記パラメータの値と、2k回前の前記学習処理で計算された前記パラメータの値とを用いて、モーメンタム法を適用した勾配降下法によって、更新後の前記パラメータの値を算出する、
学習方法。 - 複数のレイヤを有するモデルに対して繰り返し実行される学習処理において、前記複数のレイヤのうちの一部の更新抑止レイヤのパラメータの値の更新処理を、前記学習処理k(kは2以上の整数)回に1回だけ実行し、前記更新抑止レイヤの前記パラメータの値の更新処理を実行する場合、k回前の前記学習処理で計算された前記パラメータの値と、2k回前の前記学習処理で計算された前記パラメータの値とを用いて、モーメンタム法を適用した勾配降下法によって、更新後の前記パラメータの値を算出する処理部、
を有する学習装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020068626A JP7436830B2 (ja) | 2020-04-06 | 2020-04-06 | 学習プログラム、学習方法、および学習装置 |
EP21154524.9A EP3893164A1 (en) | 2020-04-06 | 2021-02-01 | Learning program, learing method, and learning apparatus |
US17/168,569 US20210312328A1 (en) | 2020-04-06 | 2021-02-05 | Non-transitory computer-readable storage medium, learning method, and learning apparatus |
CN202110189073.XA CN113496289A (zh) | 2020-04-06 | 2021-02-19 | 学习程序、学习方法和学习设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020068626A JP7436830B2 (ja) | 2020-04-06 | 2020-04-06 | 学習プログラム、学習方法、および学習装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021165907A JP2021165907A (ja) | 2021-10-14 |
JP7436830B2 true JP7436830B2 (ja) | 2024-02-22 |
Family
ID=74494775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020068626A Active JP7436830B2 (ja) | 2020-04-06 | 2020-04-06 | 学習プログラム、学習方法、および学習装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210312328A1 (ja) |
EP (1) | EP3893164A1 (ja) |
JP (1) | JP7436830B2 (ja) |
CN (1) | CN113496289A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015178219A1 (ja) | 2014-05-22 | 2015-11-26 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
WO2017183587A1 (ja) | 2016-04-18 | 2017-10-26 | 日本電信電話株式会社 | 学習装置、学習方法および学習プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017182320A (ja) | 2016-03-29 | 2017-10-05 | 株式会社メガチップス | 機械学習装置 |
US20200082269A1 (en) * | 2018-09-12 | 2020-03-12 | Nvidia Corporation | Memory efficient neural networks |
-
2020
- 2020-04-06 JP JP2020068626A patent/JP7436830B2/ja active Active
-
2021
- 2021-02-01 EP EP21154524.9A patent/EP3893164A1/en not_active Withdrawn
- 2021-02-05 US US17/168,569 patent/US20210312328A1/en active Pending
- 2021-02-19 CN CN202110189073.XA patent/CN113496289A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015178219A1 (ja) | 2014-05-22 | 2015-11-26 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
WO2017183587A1 (ja) | 2016-04-18 | 2017-10-26 | 日本電信電話株式会社 | 学習装置、学習方法および学習プログラム |
Non-Patent Citations (1)
Title |
---|
X. Xiao, T. Bamunu Mudiyanselage, C. Ji, J. Hu and Y. Pan,Fast Deep Learning Training through Intelligently Freezing Layers,2019 International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData),2019年,pp. 1225-1232,doi: 10.1109/iThings/GreenCom/CPSCom/SmartData.2019.00205 |
Also Published As
Publication number | Publication date |
---|---|
CN113496289A (zh) | 2021-10-12 |
JP2021165907A (ja) | 2021-10-14 |
US20210312328A1 (en) | 2021-10-07 |
EP3893164A1 (en) | 2021-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10460230B2 (en) | Reducing computations in a neural network | |
JP2019164793A5 (ja) | ||
US8190537B1 (en) | Feature selection for large scale models | |
JP2017097585A (ja) | 学習装置、プログラム及び学習方法 | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP6579198B2 (ja) | リスク評価方法、リスク評価プログラム及び情報処理装置 | |
JP7295431B2 (ja) | 学習プログラム、学習方法および学習装置 | |
US11263513B2 (en) | Method and system for bit quantization of artificial neural network | |
EP3929823A1 (en) | Program, learning method, and information processing apparatus | |
US20220156508A1 (en) | Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation | |
JP2000155681A (ja) | 類似事例に基づく予測を行う予測装置および方法 | |
JP2023052555A (ja) | 対話型機械学習 | |
US20230268035A1 (en) | Method and apparatus for generating chemical structure using neural network | |
WO2021055442A1 (en) | Small and fast video processing networks via neural architecture search | |
JP2020505672A (ja) | データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム | |
JP7181454B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
JP7436830B2 (ja) | 学習プログラム、学習方法、および学習装置 | |
JP2021197108A (ja) | 学習プログラム、学習方法および情報処理装置 | |
KR102559605B1 (ko) | 함수 최적화 방법 및 장치 | |
JP7310927B2 (ja) | 物体追跡装置、物体追跡方法及び記録媒体 | |
CN113095328A (zh) | 一种基尼指数引导的基于自训练的语义分割方法 | |
Amroun et al. | How statistical modeling and machine learning could help in the calibration of numerical simulation and fluid mechanics models? application to the calibration of models reproducing the vibratory behavior of an overhead line conductor | |
JP4202339B2 (ja) | 類似事例に基づく予測を行う予測装置および方法 | |
JP4440828B2 (ja) | 類似事例に基づく予測を行う予測装置および方法 | |
US20240028902A1 (en) | Learning apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230112 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7436830 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |