신형AI:단일에포크학습 (Single Epoch Learning SEL)

 딥러닝 등의 뉴랄 네트워크을 단시간으로 정확하게 훈련하는 기술을 제공하고 있습니다.
 오차역전파법 (Back Propagation BP) 등의 기존의 훈련방법은 뉴랄 네트워크의 매개변수를 여러 번 반복조정해야 하는 것에 비해, 당사의 특허기술인 단일에포크학습은 단 한번의 조정으로 충분한 훈련을 할 수 있습니다.
 기존의 훈련방법은 뉴랄 네트워크의 오차의 구배정보를 바탕으로 한 반복계산을 통해 서서히 오차를 줄여갑니다. 이에 대해 본 특허기술은 한번의 대수계산으로 최적해 부근에 도달합니다. 따라서 불필요한 계산이 적고, 정확하게 오차를 줄일 수 있습니다.

오차 비교 결과

그림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와 비교하면 단일에포크학습이 빠르고 정확하게 오차를 감소시키고 있는 것을 알 수 있습니다. 오차역전파법은 local optimum에 빠지기 쉽고 update rate에 따라서는 오차의 진동이 발생하지만, 단일에포크학습은 이런 문제가 발생하지 않습니다. update rate의 조정을 필요하지 않는 점도 단일에포크학습의 특징입니다.

표3 오차역전파법(update rate 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 오차역전파법(update rate 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)