๋ณธ ์ฅ์์๋ ์์ ๊ธฐ์ ๋ ๋ฅ๋ฌ๋์ ์ด์ฉํ์ฌ ์ง์ค์ด๋ ๊ธฐ๋ณต์ ์์ธกํ๋ ์ฌ์ธต ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ์์ฑํ์ฌ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ํ์ต์ํค๊ณ ์์ธก ์ ํ๋๋ฅผ
ํ๊ฐํ์๋ค.
4.1 ์ฌ์ธต์ ๊ฒฝ๋ง ๋ชจ๋ธ ์๊ฐ ๋ณต์ก๋
๋ณธ ๋
ผ๋ฌธ์ ๋ชฉ์ ์ ์ฃผ์ด์ง ์/๊ฒฝ๋์์ ์ง์ค์ด๋ ๊ธฐ๋ณต์ ์์ธกํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ์
๋ ฅ์ (์๋,๊ฒฝ๋)์ 2์ฐจ์ ๋ฐ์ดํฐ์ด๊ณ , ์ถ๋ ฅ์ ์ง์ค์ด๋
๊ธฐ๋ณต์ด๋ฏ๋ก 1์ฐจ์์ด๋ค. ์
๋ ฅ๊ณผ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ ์ฃผ์ด์ง ๋ฌธ์ ์ ๋ฐ๋ผ ์ฝ๊ฒ ๊ฒฐ์ ํ ์ ์์ง๋ง, ์๋์ธต์ ํฌ๊ธฐ๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ด ์คํ๋๋ ํ๊ฒฝ์ ๋ฐ๋ผ
๋ฌ๋ผ์ง๋ค. ์๋ฎฌ๋ ์ด์
์ ์ฌ์ฉ๋ ์๋ฒ ๋๋ ์ปดํจํฐ ๋ณด๋์ ์ฌ์์ ํ 1๊ณผ ๊ฐ๊ณ , ๊ทธ๋ฆผ 3์ ๋ณธ ์ฐ๊ตฌ์ ์ฌ์ฉ๋ ์ค์ ์๋ฒ ๋๋ ์ปดํจํฐ ๋ณด๋์ ์ฌ์ง์ด๋ค.
์๋ฒ ๋๋ ์์คํ
์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ๋๋ ์ค์๊ฐ task๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ง์ค์ด๋ ๊ธฐ๋ณต ์์ธก ๋ชจ๋ธ์ ๋ง์ ์๊ฐ์ ํ ์ ํ ์ ์๋ค. ๋ํ, VxWorks
6.8๊ธฐ๋ฐ์ผ๋ก 200Hz ์ฃผ๊ธฐ๋ก ๋ฉ์ธ task๋ฅผ ๊ณ์ฐํ๋๋ก ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ง์ค์ด๋ ๊ธฐ๋ณต ์์ธก ๋ชจ๋ธ์ ์ต๋ 1ms ์ด๋ด๋ก ๋ชจ๋ ์ฐ์ฐ์ ๋๋ด์ผ
ํ๋ค. ์คํ์๊ฐ์ ์์ธกํ๊ธฐ ์ํด์ DNN ์์ธก๋ชจ๋ธ์์์ ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ๊ตฌํ์๋ค.
๊ฐ ๊ณ์ธต์ ์
๋ ฅ ์ฐจ์์ด N, ์ถ๋ ฅ ์ฐจ์์ด M์ผ ๋ ๊ณ์ฐ ๋ณต์ก๋ $T_{c}$๋ ์ (7)๊ณผ ๊ฐ๋ค.
ํ 1 ์๋ฒ ๋๋ ์ปดํจํฐ ๋ณด๋ ์ฌ์
Table 1 The specification of embedded computer board
CPU
|
P2020, dual core 1Ghz, 512k L2 cache
|
Flash Rom
|
Nor Flash 16M
|
RAM
|
DDR2 400MHz/256M
|
ํ 2 ์๋์ธต ๊ฐ์ ๋ฐ ๊ณ์ฐ๋
Table 2 Calculation amount and number of hidden layer
|
Case1
|
Case2
|
Case3
|
Case4
|
์๋์ธต ์
|
2
|
3
|
4
|
5
|
$T_{c}$
|
5300
|
7950
|
10600
|
13250
|
๊ทธ๋ฆผ 3 ์๋ฎฌ๋ ์ด์
์ ์ฌ์ฉ๋ ์๋ฒ ๋๋ ์ปดํจํฐ ๋ณด๋
Fig. 3 The embedded computer board used simulation
๊ฐ ์๋์ธต ๋น ๋
ธ๋์ ๊ฐ์ ๋ฐ ์๋์ธต์ ๊ฐ์๊ฐ ์ ํด์ง๋ฉด ์ ์ฒด ์ฐ์ฐ๋์ ๊ณ์ฐํ ์ ์์ผ๋ฉฐ ์๋ฎฌ๋ ์ด์
์์๋ DNN ์์ธก ์ ํ๋๋ฅผ ํ๊ฐํ๊ธฐ ์ํด ์๋์ธต์
๊ฐ์์ ๋ฐ๋ผ 4๊ฐ์ง case๋ฅผ ๊ฐ์ ํ์๊ณ , ๊ฐ case๋ณ ์๋์ธต ๊ฐ์ ๋ฐ $T_{c}$๋ ํ 2์ ์ ๋ฆฌํ์๋ค. ์ด์ ๋ฐ๋ฅธ ์๋ฒ ๋๋ ๋ณด๋์์ ์ธก์ ํ ์ค์๊ฐ ๊ณ์ฐ ์๊ฐ์ ๊ทธ๋ฆผ 4์ ๊ฐ๋ค. $T_{c}$ 2650๊ฐ๋น ๋๋ต 200us์ ๊ณ์ฐ ์๊ฐ์ด ์์๋จ์ ํ์ธํ ์ ์๋ค.
4.2 ์ฌ์ธต์ ๊ฒฝ๋ง ๋ชจ๋ธ ํ์ต ๋ฐ ์ ํ๋ ํ๊ฐ
์ง์ค์ด๋ ๊ธฐ๋ณต์ ์์ธกํ๊ธฐ ์ํ ์ ๊ฒฝ๋ง์ ๊ตฌ์ฑํ๊ธฐ ์ํ์ฌ 3.3์์ ์์ฑํ ์ง์ค์ด๋ ๊ธฐ๋ณต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์๋ค. ์
๋ ฅ ๋ณ์์ธ ์๋์ ๊ฒฝ๋๋ ๊ทธ ํฌ๊ธฐ์
๊ฐ์ ๋ฒ์๊ฐ ์๋ก ๋ฌ๋ผ์ min-max ์ ๊ทํ๋ฅผ ์ฌ์ฉํ์๋ค. Min-max ์ ๊ทํ๋ ์ (9)์ ๊ฐ๋ค.
๊ทธ๋ฆผ 4 Case๋ณ ์คํ์๊ฐ ์ธก์ ๊ฒฐ๊ณผ[us]
Fig. 4 Excution time for each case[us]
์ฌ๊ธฐ์, $x_{s}$๋ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ ๋ฐ์ดํฐ, $x$๋ ์กฐ์ ํ ๋ฐ์ดํฐ, $x_{\min}$์ ๋ฐ์ดํฐ ์ธํธ์ ๊ฐ์ฅ ์์ ๊ฐ, $x_{\max}$๋
๋ฐ์ดํฐ ์ธํธ์ ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ค.
ํ์ต์ MATLAB R2021a ๋ฒ์ ์์ ์ํ๋์์ผ๋ฉฐ, ๊ฐ๊ฐ์ case๋ณ ์ฌ์ธต์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ๋คํธ์ํฌ ํฌ๊ธฐ๋ ํ 2์ ๊ฐ๊ณ ํ์ต์ ์ํ ์กฐ๊ฑด์ ํ 3๊ณผ ๊ฐ๋ค. ๋งคํธ๋ฉ ํจ์ ์ฌ์ฉ์ ์ฌ์ฉ๊ฐ๋ฅํ ์ต์ ํ ํจ์๋ โsgdmโ, โrmspropโ, โadamโ์ด ์์ผ๋ฉฐ ๋ณธ ๋
ผ๋ฌธ์์๋ ํ๊ท๋ถ์์ ์ฌ์ฉ๊ฐ๋ฅํ
โadamโ์ ์ฌ์ฉํ์๋ค. ํ์ต๋ฅ ์ ๊ณ ์ ๊ฐ์ด ์๋๋ผ ์ด๊ธฐ ํ์ต๋ฅ ์ โ0.1โ๋ก ์ค์ ํ๊ณ ๋งค 5๋ฒ์งธ epoch๋ง๋ค 0.4๋ฐฐ์ฉ ๊ฐ์ํ๋๋ก ์ค์ ํ์๋ค.
์์๊ฐ์ด ํ์ต๋ฅ ์ ๋์ ์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ ์ด๊ธฐ์ ํ์ต์ด๊ธฐ์ ๊ฒ์ฆ์ค์ฐจ์ ํธ์ฐจ๊ฐ ์ปค์ง๋ ๋จ์ ์ด ์์ง๋ง ํ์ต ์๋๊ฐ ํฅ์๋๋ ์ฅ์ ์ด ์์ผ๋ฉฐ, epoch์ด
์ฆ๊ฐํ ์๋ก ํ์ต๋ฅ ์ด ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ ๊ฒ์ฆ์ค์ฐจ์ ํธ์ฐจ ๋ํ ์ ์ฐจ ์ค์ด๋ค๊ฒ ๋๋ค.
ํ์ต๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๊ธฐ ์ํด์ ํ๊ท ์ ๊ณฑ์ค์ฐจ(Mean Squared Error)๋ก ์์ค์ ๊ณ์ฐํ๊ณ , ์์ธก ์ฑ๋ฅ์ ๋ํ ์ค์ฐจ๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํ์ฌ ํ๊ท ์ ๊ณฑ๊ทผ์ค์ฐจ(Root
Mean Squared Error)๋ฅผ ์ฌ์ฉํ์๋ค.
ํ 3 ์ฌ์ธต์ ๊ฒฝ๋ง ๋ชจ๋ธ ํ์ต ์กฐ๊ฑด
Table 3 Learning option of DNN
Optimizer
|
adam
|
Minibatch size
|
80,010
|
Activation function
|
hyperbolic tangent(tanh)
|
Initial learn rate
|
0.1
|
learn rate drop factor
|
0.4
|
learn rate drop period
|
5
|
์ฌ๊ธฐ์, $n$์ ๊ฒ์ฆ ๋ฐ์ดํฐ์ ๊ฐ์, $\hat y_{i}$์ $y_{i}$๋ ๊ฐ๊ฐ i๋ฒ์งธ ์ง์ค์ด๋์ ์ถ์ ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์๋ฏธํ๋ค.
์ฌ์ธต์ ๊ฒฝ๋ง ํ์ต์์๋ ์ค๋ฒํผํ
์ ๋ฐฉ์งํ๊ณ ๊ฐ์ค์น ์ด๊น๊ฐ ์์กด์ฑ์ ์ํํ๊ธฐ ์ํด ์์ ์ฐ๊ฒฐ๊ณ์ธต๊ณผ ํ์ฑํ ํจ์ ์ฌ์ด์ ๋ฐฐ์น์ ๊ทํ ๊ณ์ธต์ ๋ฐฐ์นํ์๋ค. ๊ฐ๊ฐ์
case์ ๋ํด์ epoch๋ฅผ 100์ผ๋ก ์ค์ ํ์ฌ ์ด 72000ํ์ ๋ฐ๋ณต ํ์ต์ ์ํํ์์ผ๋ฉฐ, case4์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ฆผ 5์ ๋์ํ์๋ค. ํ์ต๋ ์ ๊ฒฝ๋ง์ ์ด์ฉํ์ฌ 500๋ง๊ฐ์ ๋๋ค ์์น์์ ์ง์ค์ด๋ ๊ธฐ๋ณต์ ์์ธกํ ๊ฒฐ๊ณผ์ ์ฐธ๊ฐ์ ๋น๊ตํ์๋ค. ๊ทธ๋ฆผ 5๋ฅผ ํตํด ํ์ต๋ ์ ๊ฒฝ๋ง์ ์์ธก์น์ ์ฐธ๊ฐ์ ์ฐจ์ด๊ฐ ๋์ผ๋ก๋ ํ์ธํ๊ธฐ ํ๋ค ๋งํผ ๋งค์ฐ ์์ ๊ฒ์ ์ ์ ์๋ค. ์ ๊ฒฝ๋ง์ ํตํด ๊ณ์ฐ๋ ์ง์ค์ด๋ ๊ธฐ๋ณต์ ์ ํ๋๋ฅผ
ํ๊ฐํ์ ์ํด์ 500๋ง๊ฐ์ ์ํ ๋ฐ์ดํฐ์ ๋ํ ์ค์ฐจ ๋ถ์์ ์ํํ์์ผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ๋ ๊ทธ๋ฆผ 6~7 ๋ฐ ํ 4๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. ํ๊ท ์ ๊ฒฝ๋ง ํ์ต์์ ์ฑ๋ฅ์งํ๋ก ์ฌ์ฉํ๋ RMSE๋ฅผ ํตํด ์์ธก ์ ํ๋๋ฅผ ๋น๊ตํ๋ฉด ์๋์ ๊ฒฝ๋ง ๊ฐ์๊ฐ ๋์ด๋ ์๋ก ์ค์ฐจ๊ฐ ์ค์ด๋๋
๊ฒ์ ํ์ธํ ์ ์๋ค. ์ต๋, ์ต์ ๋ฐ ํ๊ท ์ค์ฐจ๋ 4๊ฐ์ง case๊ฐ ์ ์ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋ค.
2๊ฐ์ ์๋์ธต์ ์ฌ์ฉํ case1์ ๊ฒฝ์ฐ ์คํ์๊ฐ์ 0.4ms๊ฐ ์์๋๊ณ , RMSE๋ 0.09m์์ ๋ฐํด์ 5๊ฐ์ ์๋์ธต์ ์ฌ์ฉํ๋ case4๋ ์คํ์๊ฐ์ด
1ms์ด๊ณ RMSE๋ ๋๋ต 0.04m์์ ํ 4๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. ์๋์ธต์ด 1๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ์คํ์๊ฐ์ 0.2ms์ฉ ์ ํ์ ์ผ๋ก ์ฆ๊ฐํ์ง๋ง, RMSE์ค์ฐจ๋ 0.1m์ฉ ๊ฐ์ํ๋ ๊ฒฝํฅ์ ๋ณด์ด๋๋ฐ,
ํ์ ๋ ์์์ธ ์คํ์๊ฐ ์ฆ๊ฐํญ์ ๋นํด RMSE์ค์ฐจ ๊ฐ์ํญ์ด ํฌ์ง ์์์ ์ ์ ์๋ค. RMSE ๋ฐ MSE์ธ์๋ ๊ฐ๊ฐ์ case์ ๋ํ ์ค์ฐจ์ ์ต์,
์ต๋ ๋ฐ ํ๊ท ์ ๊ณ์ฐํ์์ผ๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ๋ ํ 4๋ฅผ ํตํด ํ์ธํ ์ ์๋ค.
ํ 4์์ ๊ฒ์ฆ ๋ฐ์ดํฐ์ ๋ํ ์์ธก์ค์ฐจ์ ํ๊ท ๊ฐ์ ๋ชจ๋ case์์ 0.01m ์ดํ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ฉฐ ์ด๋ฅผ ํตํด ์์ธก์ค์ฐจ๊ฐ ํธํฅ๋์ง ์๊ณ ๊ณ ๋ฅด๊ฒ ๋ถํฌ๋์ด
์์์ ์ ์ ์๋ค. ์์ธก์ค์ฐจ์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ํตํด์ ์ฐธ๊ฐ์ ๋นํด ์๊ฒ ์์ธก๋ ์ค์ฐจ๊ฐ ์ต๋ 0.6m๋ฅผ ์ด๊ณผํ์ง ์๊ณ , ์ฐธ๊ฐ์ ๋นํด ํฌ๊ฒ ์์ธก๋
์ค์ฐจ๋ ์ต๋ 0.4m๋ฅผ ๋์ง ์์์ ์ ์ ์๋ค.
๊ทธ๋ฆผ 5 DNN case4 ์ง์ค์ด๋ ๊ธฐ๋ณต ์์ธก ๊ฒฐ๊ณผ
Fig. 5 Prediction result of DNN case 4
ํ 4 ๊ฐ ์ผ์ด์ค๋ณ ์ฌ์ธต์ ๊ฒฝ๋ง ์์ธก์ค์ฐจ
Table 4 Prediction errors of DNN for each case
|
Case1
|
Case2
|
Case3
|
Case4
|
MSE[m]
|
0.0089
|
0.0077
|
0.0050
|
0.0016
|
RMSE[m]
|
0.0946
|
0.0877
|
0.0707
|
0.0396
|
Min[m]
|
-0.5428
|
-0.5612
|
-0.3721
|
-0.2924
|
Max[m]
|
0.3558
|
0.3365
|
0.3039
|
0.3705
|
Mean[m]
|
0.0015
|
-0.0029
|
0.0092
|
-0.0067
|
Std[m]
|
0.0946
|
0.0877
|
0.0701
|
0.0390
|
๊ทธ๋ฆผ 6 Case1 ๋ฐ case2์ ์ง์ค์ด๋ ์์ธก ์ค์ฐจ
Fig. 6 Geoid prediction error for DNN case 1, 2
๊ทธ๋ฆผ 7 Case3 ๋ฐ case4์ ์ง์ค์ด๋ ์์ธก ์ค์ฐจ
Fig. 7 Geoid prediction error for DNN case 3, 4