新型AI:単エポック学習(Single Epoch Learning SEL)

 ディープラーニングなどのニューラルネットワークを短時間で正確にトレーニングする技術を提供しています。
 誤差逆伝播法(Back Propagation BP)などの従来のトレーニング方法はニューラルネットワークのパラメータを何度も繰り返し調整する必要があるのに対し、弊社の特許技術である単エポック学習はたった一度の調整だけで十分なトレーニングを行う ことができます。
 従来のトレーニング方法では、ニューラルネットワークの誤差の勾配情報をもとにした反復計算により、山を下るようにして徐々に誤差を減らしていきます。 それに対して本特許技術では1回の代数計算で最適解付近にたどりつきます。このため、計算の無駄が少なく正確に誤差を減らすことができます。

誤差比較結果

図1 単エポック学習SELと誤差逆伝播法Back Prop.の誤差比較 (Yacht Hydrodynamics Data Set)

性能比較

UCI Machine Learning Repository より機械学習の性能評価に頻繁に使われるデータセットを取得して評価を行いました(表1)。

表1 評価に使用したデータセット
Data Set Input
Dimension
Output
Dimension
Output
Information
Number of Training Data Number of Test Data
1. Airfoil Self-Noise Data Set 5 1 Scaled sound pressure level 752 753
2. Computer Hardware Data Set 8 1 ERP 104 105
3. Concrete Compressive Strength Data Set 8 1 Concrete compressive strength 515 515
4. Online News Popularity Data Set 58 1 Shares 19822 19822
5. Wine Quality Data Set (red) 11 1 Quality 800 799
6. Wine Quality Data Set (white) 11 1 Quality 2449 2449
7. Yacht Hydrodynamics Data Set 6 1 Residuary resistance 154 154

Intel Core i9-8950HK上1スレッドで単エポック学習を行った際の絶対値誤差および計算時間は表2の通りです。 ただし、表中のxx-yyなどは中間層1のノード数がxx、中間層2のノード数がyyであることを示しており、 例えば、Airfoil Self-Noize Data Setの20-20では、入力層:5ノード、中間層1:20ノード、中間層2:20ノード、出力層:1ノードの条件で 全て層間が全結合されたニューラルネットワークを試験しています。活性化関数は、出力層はLinear、それ以外の層はSigmoidとしています。 表中の括弧内の値は学習時間[ms]であり、C++ STL chronoにより測定しました。

表2 単エポック学習による絶対値誤差(括弧内は計算時間[ms])
Data
Set
中間層
なし
2 5 10 20 2-2 5-5 10-10 20-20
1. 3.82
(3)
3.83
(6)
3.82
(10)
3.68
(12)
3.08
(22)
3.75
(4)
3.98
(12)
3.72
(26)
3.04
(72)
2. 23.4
(8)
21.1
(15)
17.7
(30)
12.9
(14)
80.2
(25)
44.1
(23)
24.1
(33)
58.6
(19)
56.5
(38)
3. 7.97
(11)
8.18
(20)
7.93
(20)
7.50
(24)
8.34
(35)
12.3
(31)
7.05
(26)
7.54
(30)
7.79
(64)
4. 5266
(231)
3243
(614)
3768
(1226)
3992
(2243)
5223
(4179)
3217
(660)
3225
(1323)
3314
(2616)
8.27E3
(5649)
5. 0.516
(9)
0.525
(13)
0.516
(23)
0.521
(37)
0.518
(59)
0.717
(21)
0.516
(29)
0.527
(52)
0.521
(102)
6. 0.579
(5)
0.582
(24)
0.579
(49)
0.580
(68)
0.579
(107)
0.659
(33)
0.579
(64)
0.579
(107)
0.635
(260)
7. 7.51
(2)
7.50
(14)
1.55
(42)
5.91
(17)
2.54
(17)
7.31
(13)
8.73
(20)
2.18
(62)
11.5
(27)

誤差逆伝播法により学習を行った結果は表3および表4の通りです。 これらの表には1000エポック学習時点の結果を載せています。 表2との比較より、単エポック学習は早く正確に誤差を減少させていることが分かります。 誤差逆伝播法は局所解に陥りやすく、更新率の値によっては誤差の振動が発生しますが、 単エポック学習ではこれらの問題は発生しません。 更新率の調整を必要としないことも単エポック学習の特徴です。

表3 誤差逆伝播法(更新率0.00001)による絶対値誤差(括弧内は計算時間[ms])
Data
Set
中間層
なし
2 5 10 20 2-2 5-5 10-10 20-20
1 nan
(82)
5.70
(235)
4.98
(395)
5.77
(778)
5.66
(1455)
5.70
(442)
5.70
(867)
5.70
(2567)
5.70
(4362)
2 nan
(19)
91.8
(46)
93.0
(72)
93.1
(122)
93.1
(223)
91.7
(68)
93.0
(135)
93.1
(281)
93.3
(624)
3 nan
(64)
12.8
(185)
12.8
(326)
10.8
(580)
12.8
(1086)
12.8
(365)
12.8
(531)
12.8
(1301)
12.8
(3817)
4 nan
(1.3E4)
3207
(3.5E4)
3207
(5.8E4)
2.73E11
(9.8E4)
nan
(1.6E5)
3207
(3.8E4)
3202
(6.9E4)
2.90E30
(1.2E5)
nan
(2.3E5)
5 nan
(128)
0.747
(373)
0.686
(668)
0.562
(986)
0.515
(1790)
0.518
(420)
1.34
(879)
0.528
(1874)
0.680
(4477)
6 nan
(383)
0.678
(1073)
0.664
(2014)
0.649
(3610)
0.642
(6283)
0.665
(1276)
0.685
(2678)
0.629
(5665)
0.644
(1.3E4)
7 11.4
(21)
11.5
(48)
11.5
(79)
11.5
(136)
11.3
(250)
11.5
(66)
11.4
(141)
9.95
(300)
13.7
(770)
表4 誤差逆伝播法(更新率0.0001)による絶対値誤差(括弧内は計算時間[ms])
Data
Set
中間層
なし
2 5 10 20 2-2 5-5 10-10 20-20
1 nan
(72)
5.70
(229)
4.91
(421)
4.93
(795)
5.70
(1478)
5.70
(393)
5.70
(857)
5.70
(1848)
5.70
(5910)
2 nan
(19)
93.1
(44)
93.1
(72)
93.1
(129)
93.1
(241)
93.1
(68)
94.1
(133)
94.6
(283)
93.9
(688)
3 nan
(67)
12.6
(214)
10.4
(326)
12.4
(594)
11.7
(1168)
12.8
(447)
12.8
(541)
12.8
(1288)
12.8
(3955)
4 nan
(1.3E4)
nan
(3.5E4)
nan
(5.8E4)
nan
(9.5E4)
nan
(1.6E5)
nan
(3.6E4)
nan
(6.1E4)
nan
(1.1E5)
nan
(2.2E5)
5 nan
(126)
0.728
(399)
0.739
(622)
0.707
(1090)
0.674
(1970)
0.741
(432)
1.34
(891)
0.528
(1867)
0.680
(4409)
6 nan
(370)
0.641
(1166)
0.641
(1897)
3.53E34
(3466)
nan
(5534)
0.666
(1270)
0.667
(2923)
1.47E38
(7443)
nan
(1.2E4)
7 10.4
(22)
11.5
(47)
11.5
(80)
7.52
(135)
7.50
(247)
11.5
(67)
11.5
(139)
11.7
(300)
11.5
(763)