[๋ ผ๋ฌธ์ ๋ฆฌ๐] Gradient-Based Learning Applied to Document Recognition
๋ ผ๋ฌธ์๋ณธ๐
์ฝ๋๋ก ๊ตฌํ ํ์ด์ง => LeNet-5
Abstract :
์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ๋ จ๋ ๋ค์ธต์ ๊ฒฝ๋ง์ Gradient ๊ธฐ๋ฐ ๊ธฐ์ ์ ์์ด ์ต๊ณ ์ ์ฑ๊ณต์ฌ๋ก์ด๋ค. ํนํ ๊ณ ์ฐจ์ ํจํด์ ๊ฐ์ง ์๊ธ์จ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ ์ ์ฒ๋ฆฌ๋ง์ผ๋ก ์ข์ ์ฑ๋ฅ์ผ๋ก ๋ถ๋ฅํ๋ค. ์ด ๋ ผ๋ฌธ์์๋ ์๊ธ์จ๋ฅผ ์ธ์ํจ์ ์์ด ๊ธฐ์กด์ ์ธ์๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ๋ทฐํ๋ค. CNN์ ํนํ 2์ฐจ์ ํํ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ ๋ค๋ฅธ ๊ธฐ๋ฒ๋ค๋ณด๋ค ์๋ฑํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
์ค์ ๋ฌธ์์ธ์ ์์คํ ์์๋ ์ฌ๋ฌ ๋ชจ๋๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ์๋ก์ด ํ์ต ํจ๋ฌ๋ค์์ธ GTN์ ๋ํด์ ์๊ธฐํ๋ค. ์ ์ฒด์ ์ธ ์ฑ๋ฅ์ธก์ ์ ์ต์ํํ๊ธฐ์ํด Gradient ๊ธฐ๋ฐํ์ต์ ํ๋ค. ์จ๋ผ์ธ ์๊ธ์จ ์ธ์๊ณผ ์ํ ์ํ๋ฅผ ์ฝ๋ ๊ฒ์ ๋ํ ๋๊ฐ์ง ์์คํ , ํนํ ์ํ ์ํ์ธ์์ ๊ฒฝ์ฐ CNN์ ์ฌ์ฉํ๋ฉฐ ๋น์ฆ๋์ค/๊ฐ์ธ ์ํ๋ฅผ ์ฝ๋๋ฐ ๊ธฐ๋ก ์ ํ๋๋ฅผ ๋์ด๋ฉฐ ์ค์ ์์ ์ ์ผ๋ก ์ ์ฉ์ด ๋์ด ํ๋ฃจ์ ๋ช ๋ฐฑ๋ง์ ์ํ๋ฅผ ์ธ์ํ๊ณ ์๋ค.
1. introduction
์ต๊ทผ ๋ช ๋ ๋์ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ด ํนํ neural networks์ ์ ์ฉ๋๋ ๊ฒ์ ํจํด์ธ์ ์์คํ ์์ ์ค์ํ ์ญํ ๋ก ํ์ฉ๋์๋ค. ์ค์ ๋ก ํ์ต๊ธฐ๋ฒ์ ์ ํจ์ฑ์ ์์ฑ์ธ์๊ณผ ์๊ธ์จ ์ธ์๊ณผ ๊ฐ์ ํจํด์ธ์ ์ดํ๋ฆฌ์ผ์ด์ ์ฑ๊ณต์ ์ค์ํ ์์ธ์ด๋ค.
์ด ๋ ผ๋ฌธ์ ์ฃผ ๋ฉ์์ง โํจํด์ธ์ ์์คํ ์ hand-designed heuristics๋ฅผ ์ค์ด๊ณ ์๋ํ ํ์ต์ ์ฃผ๋ ฅํด์ ๋ง๋๋ ๊ฒ์ด ๋ ์ข์ ์ฑ๋ฅ์ ๊ฐ์ง๋คโ
๋ณดํต ํจํด์ธ์ ์์คํ ์ ์๋ ํ์ต ํ ํฌ๋๊ณผ hand-craft ์๊ณ ๋ฆฌ์ฆ์ ์กฐํฉ์ผ๋ก ๋ง๋ค์ด์ง๋ค. ๊ฐ๋ณ ํจํด์ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ ๋ฉ์ธ ๋ชจ๋์ด ์๋ค.
(1) feature extractor: ์ ๋ ฅํจํด์ ๋ฐ์ ๋ฎ์ ์ฐจ์์ ํน์ง ๋ฒกํฐ๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ค. ๋ฎ์ ์ฐจ์์ผ๋ก์ ๋ณํ ์ด์ ๋ (1-a) ํ์ ์์ ๋ถ๋ฅ ๋ชจ๋์์ ๋น๊ต๋ฅผ ์ฝ๊ฒ ํ๊ธฐ์ํด, (1-b) ์ด ํน์ง ๋ฒกํฐ๋ ์ ๋ ฅํจํด์ ๋ณํ๋ ์๊ณก์๋ ๋ณํ์ง ์๋ ํน์ง์ ๊ฐ๋๋ก ์ค๊ณ๋๋ค. ์ด๋ฐ ์ด์ ๋ก ์ฌ๋์ ์ํด ์ธ์์ ์ผ๋ก ๋ง๋ค์ด์ง(hand crafted) ํน์ง ์ถ์ถ์๊ณ ๋ฆฌ์ฆ์ ์ต๋ํ ์ฌ์ ์ง์์ ํ์ฉํ๊ณ ๊ทธ ๋ชฉ์ ์ ๋ง๊ฒ ๋ง ๋ค์ด์ง๊ณค ํ๋ค.
(2) classifier: general purpose and trainable! ์ด ๋ฐฉ๋ฒ์ ์ธ์ ์ ํ๋๋ ๋์์ด๋๊ฐ ์ ์ ํ feature set์ ๋ง๋๋ ๋ฅ๋ ฅ์ ํฌ๊ฒ ์ข์ฐ๋๋ค. ๋ฌธ์ ์ ์ผ๋ก๋ ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๋ฅผ ์๋ก ํ๋ฉด feature๋ ๋ค์ ์ค๊ณํด์ผ ํ๋ ๊ฒ์ด๋ค.
๊ทธ ๋์ ์ ์ ํ ํน์ง์ถ์ถ์ ํ์์ฑ์ ๋ถ๋ฅ๊ธฐ์ ์ฌ์ฉ๋ ํ์ต๊ธฐ๋ฒ์ด ๋๋์ด์ง๊ธฐ ์ฌ์ด ํด๋์ค์ ์ ์ฐจ์ ๊ณต๊ฐ์์๋ ์ ํ๋๊ธฐ ๋๋ฌธ์ด์๋ค. ํ์ง๋ง ์ธ๊ฐ์ง ์์์ combination์ด ์ด ์ธ์์ ๋ฐ๊พธ๊ฒ ํ๋ค.
(1) ์ ๋ ดํด์ง ์ปดํจํฐ ๊ฐ๊ฒฉ๊ณผ ์ฑ๋ฅ ๋ํ ์ฌ๋ผ์ brutal-force์ ์ธ ํ์ด๋ฒ์ด ๊ฐ๋ฅ
(2) ๊ฑฐ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๊ฐ ์๊ฒจ ์ ๊ธ์จ ๊ฐ์ ์ค์ ์ ๊ฐ๊น์ด ๋ฐ์ดํฐ ์ ์ ์ป์ ์ ์์
(3) ๋์ ์ฐจ์์ ๋ค๋ฃฐ ์ ์๋ ๊ฐ๋ ฅํ ๊ธฐ๊ณ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ด ๋์ ๋ณต์กํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์
์ด๋ฌํ ๋ณํ๋ก ๊ธฐ์กด์ ์ธ์์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํน์ง ๋ฒกํฐ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ ๋์ ํฝ์ ์ด๋ฏธ์ง๋ฅผ ์ง์ ์ด์ฉํ๋ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ด์ผ๊ธฐํ๋ค.
A. learning from Data
Neural network์์ ๊ฐ์ฅ ์ ๋ช ํ ์ ๊ทผ๋ฐฉ๋ฒ์ผ๋ก gradient-based learning์ด ์๋ค.
=> ํ์ต๊ธฐ๊ณ๋ ์ด ์์ ๊ณ์ฐํ๋ ๊ฒ
- p๋ฒ์งธ ์ ๋ ฅํจํด , W: ํ๋ผ๋ฏธํฐ, ๊ฐ์ค์น, : p๋ฒ์งธ ์ถ๋ ฅ ๊ฐ
=> loss function, ์๋ฌํจ์ E
: ์ค์ ์ ๋ต ๊ฐ
์ฆ ์ด loss function์ ์ ๋ ฅ ๊ฐ์ด ๊ฐ์ ธ์ผํ๋ ์ถ๋ ฅ ๊ฐ(์ ๋ต) ๊ณผ ์ค์ ํจ์๋ก๋ถํฐ ๋์จ ๊ฐ ์ฌ์ด์ ์ค์ฐจ๋ฅผ ๊ณ์ฐํ๋ค.
โ ์๋ฌ ํจ์๋ฅผ ์ต์๋ก ํ๋ ํ๋ผ๋ฏธํฐ(weight)๋ฅผ ์ฐพ๋ ๊ณผ์
B. Gradient-Based Learning
Loss function์ ๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ๊ธฐ์ธ๊ธฐ โฮธ ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
stochastic gradient algorithm (on-line update / SGD)
Regular gradient ๋ณด๋ค๋ ๋น ๋ฅด๊ฒ ์๋ ดํ๋ค.
C. Gradient Back-Propagation
(1) Boltzmann machine๊ณผ ๊ฐ์ ๋น์ ํ ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ฉด local minima๋ ํฐ ๋ฌธ์ ๊ฐ ์๋
(2) ์ฌ๋ฌ ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ํจ๊ณผ์ ์ธ Back-propagation๋ฐฉ๋ฒ ์ ์
(3) ์ญ์ ํ ๋ฐฉ๋ฒ์ด ์ ์ฉ๋ ๋ค์ธต ์ ๊ฒฝ๋ง์ด ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํ ์ ์์
์์ ์ธ ์ฌ์ค์ด ๋ฐํ์ง ํ๋ก ๋๋ฆฌ ์ฐ์ด๊ธฐ ์์ํ๋ค.
D. Learning in Real Handwriting Recognition Systems
๊ธ์๋ก ๋ถ๋ฆฌ๋ ์ ๊ธ์จ๋ฅผ ์ธ์ํ๋ ๋ฌธ์ ๋ ์ค๋์ ๋ถํฐ ์ฐ๊ตฌ๋์ด์์ผ๋ฉฐ ์ ๊ฒฝ๋ง์ผ๋ก ์ ํ์๋ ๋ฌธ์ ์ด๋ค. ๋ ผ๋ฌธ์์๋ ๋ถ๋ฆฌ๋ ๊ธ์๊ฐ ์๋ ๋ฌธ์์ด์์ ๋ฌธ์๋ฅผ ๋ถ๋ฆฌํด ์ธ์ํ๋ ๋ฌธ์ ๋ํ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ง ์ ์ํ๋ค.
E. Globally Trainable System
์ด์ ๊น์ง์ ํจํด์ธ์ ์์คํ ์ ์ฌ๋ฌ ๋ชจ๋๋ก ๊ตฌ์ฑ ๋์ด์์๋ค. ๋ฌธ์ ์ธ์์์คํ ์ ์๋ก ๋ค์๋ฉด ์ ๋ ฅ์ผ๋ก ๋ค์ด์จ ๊ทธ๋ฆผ ์ค ๊ธ์๊ฐ ๋ค์ด์์ ๊ฒ ๊ฐ์ ๊ด์ฌ์์ญ์ ์ถ์ถํ๋ ๋ชจ๋, ์ถ์ถํ ๊ด์ฌ์์ญ์ ๋ค์ ๊ฐ ๊ธ์๋ก ๋๋๋ ๋ชจ๋, ๊ฐ ๊ธ์๊ฐ ๋ฌด์จ ๊ธ์์ธ์ง ์ธ์ํ๋ ๋ชจ๋, ์ธ์๋ ๊ธ์๋ฅผ ํ ๋๋ก ๋ฌธ๋งฅ์ ํ์ ํ๋ ๋ชจ๋, ๊ทธ ํ ๋ฌธ๋ฒ์ ๊ฒ์ฌํ๋ ๋ชจ๋ ๋ฑ์ ํ์์ผ๋ก ๋ง์ด๋ค. ๋ฐ๋ผ์ ๊ฐ ๋ชจ๋์ ๋ณ๋๋ก ์ต์ ํ ๋์ด์๊ณ ํ๋ จ๋์ด ์์ผ๋ฉฐ ์ ์ฒด ๋งฅ๋ฝ์์ ๋ฒ์ด๋ ์์ ์๋ฐ์ ์๋ค.
๋ ๋์ ๋ฐฉ๋ฒ์ ๊ฐ๊ตฌ -> โ์ ์ฒด ์์คํ ์ ํ ๋ฒ์ ํ๋ จ์์ผ ์ต์ ํ ์ํค๋ ๋ฐฉ๋ฒโ
์ด ๋์๋ ๋ฌธ์ ์ฐจ์์์์ ์๋ชป๋ ์ธ์์ ์๋ฌ ํจ์๋ก ์ฌ์ฉํด ๋ชจ๋ ๋ชจ๋์ ํด๋นํ๋ ์ต์ ํ๋ผ๋ฏธํฐ๋ค์ ์ฐพ์์ผ ํ๋ค. ์ด ์๋ฌํจ์ E๊ฐ ์์คํ ํ๋ผ๋ฏธํฐ W์ ๋ํด ๋ฏธ๋ถ ๊ฐ๋ฅํ๋ค๋ฉด ์ด ๋ํ Gradient based learning์ผ๋ก ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค๊ณ ๋ณผ ์ ์๋ค.
์๋ฌ ํจ์๋ฅผ ๋ฏธ๋ถ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค๊ธฐ ์ํด ์ ์ฒด ์์คํ ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ feed-forward network๋ฅผ ์ด์ฉํด ๊ตฌ์ฑํ๋ค. ์ด๋ ๊ฐ ๋ชจ๋์์ ์ฌ์ฉ๋๋ ํจ์๋ค์ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ฌ ์ ์๋ ๊ฐ๊ณผ ํ๋ผ๋ฏธํฐ์ ๋ํด ์ฐ์์ด์ด์ผ ํ๊ณ ๋ฏธ๋ถ๊ฐ๋ฅํด์ผ ํ๋ค. ๋ํ ์๋ฌํจ์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํํ์ด๋ค
์ฒซ๋ฒ์งธ ์์ ์๋ฌํจ์์ ๊ธฐ์ธ๊ธฐ, ๋๋ฒ์งธ๋ ์ญ์ ํ์ backward recurrence๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ค
2. Convolutional Neural Networks for Isolated character recognition
ํจํด์ธ์์ ์ ํต๋ชจ๋ธ์ธ hand-designed ํน์ง์ถ์ถ์ ์ ๋ ฅ์ผ๋ก๋ถํฐ ๊ด๋ จ์๋ ์ ๋ณด๋ฅผ ๋ชจ์ผ๊ณ ๊ด๋ จ์๋ ์์๋ค์ ์ ๊ฑฐํ๋ค. Trainable classifier์ ๊ฒฐ๊ณผ ํน์ง๋ฒกํฐ๋ฅผ ํด๋์ค๋ค๋ก ๋ฌถ๋๋ค. ๊ธฐ์กด์ fully-connected ๋ค์ค ๋ ์ด์ด ๋คํธ์ํฌ๋ ๋ถ๋ฅ๊ธฐ๋ก ์ฌ์ฉํ๋ค. ํน์ง ์ถ์ถ ์์ฒด๋ก ํ์ตํ๋ ๊ฒ ํนํ ๋ฌธ์ ์ธ์์์ ๋คํธ์ํฌ๋ ๊ฑฐ์ ๋ ๊ฒ์ ์ ๋ ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฌํ ๊ฒ๋ค์ fully connected-feed-forward ๋คํธ์ํฌ๋ก ๋๋๋ฐ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์๋ค.
๋ฌธ์ 1. 2D ์ด๋ฏธ์ง ์ ๋ณด๊ฐ ์ค์ ๋ก๋ ๋ง์ pixel๋ก ๊ตฌ์ฑ ๋์ด ์์ด ์ด๊ฒ์ ย fully-connected๋ก๋ง ํ์ต์ํค๋ฉด ๋๋ฌด ๋ง์ ํ์ต๋, ํ์ต์๊ฐ, ๋ง์ weight๋ฅผ ์ ์ฅํด์ผ ํ hardware์ ์ธ ์์ ํ์
๋ฌธ์ 2. Fully-connected layer์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ผ๋ฉด 3์ฐจ์์ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ์์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ค. ์ด๋ ๋ฐ์ดํฐ์ ํ์์ด ๋ฌด์๋๋ค. ์๋ ์ด๋ฏธ์ง์ฒ๋ผ 1์ฐจ์์ flat ๋ฐ์ดํฐ๋ก ํผ์ณ์ค์ผ ํ๋ค.
โญ๏ธ ์ด๋ฌํ ๋ฌธ์ ๋ก CNN์ ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
A. Convolutional Networks
CNN์ ๊ฐ ์ธต๋ค์ local receptive field, shared weight, sub-sampling ์ด ์ธ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
local receptive field: CNN์ ํ ์ ๋์ ์์ ์ฐ๊ฒฐ ๊ตฌ์กฐ์ฒ๋ผ ์ด์ ์ธต์ ๋ชจ๋ ์์ญ์์ ์ ๋ ฅ์ ๋ฐ๋ ๊ตฌ์กฐ๊ฐ ์๋ ์ด์ ์ธต์์์ ์ง์ญ์ ์ผ๋ก ์ด์ํ๋ ์ผ๋ถ ์ ๋๋ค์๊ฒ์๋ง ์ ๋ ฅ์ ๋ฐ๋๋ค. ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฏธ์ง์ ์ฃ์ง๋ ์ ์ ๋ชจ์๋ฆฌ, ์ฝ๋ ๋ฑ 2์ฐจ์์ ์ธ ํน์ง์ ์ ๋ฐ์ํ๋ค. ์ ์ฒด ์ด๋ฏธ์ง์์ ์๊ณก์ด๋ ์์ง์์ด ๋ฐ์ํด๋ ๊ฒฐ๊ตญ ๊ฐ ํด๋์ค๋ฅผ ๊ตฌ๋ถ์ง๋ ํจํด ํน์ง์ด local receptive field์์ ๋ง๋๊ธฐ ๋๋ฌธ์ ํด๋น ํน์ง์ ๋ฐ์ํ feature map์ ๋ง๋ค์ด๋ผ ์ ์๋ค.
shared weight: local receptive field์ ๋ฐ๋ผ CNN์ 2์ฐจ์์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ฒ ๋๋๋ฐ ์ด๋ ๊ฒ ์์ฑ๋ 2์ฐจ์ ๊ตฌ์กฐ์ ์ ๋๋ค์ ์งํฉ์ feature map(ํน์ง๋งต)์ด๋ผ๊ณ ํ์. Feature map์์ ๋ค์ ์ธต์ feature map์ผ๋ก ์ ๋ ฅ์ด ์ด๋ฃจ์ด์ง ๋ ์ฌ์ฉ๋๋ ๊ฐ์ค์น๋ค์ ์ ๋ ฅ ์ ๋๊ณผ ๋์ ์ ๋์ ์์น๋ง ๋ฌ๋ผ์ง ๋ฟ local receptive fields๋ด์์์ ๊ฐ์ค์น๋ค์ ๊ฐ์ ๊ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ค. ๋ฐ๋ผ์ ํ feature map์์ ๊ฐ ์ ๋์ ๊ณ์ฐ์ ์์น๋ง ๋ค๋ฅผ ๋ฟ ๊ฐ์ ๊ณ์ฐ์์ ๊ฐ๊ฒ ๋๋ ๊ฒ์ด๊ณ ์ด๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ์์์ convolution๊ณผ ์ ํํ ๊ฐ์ ๊ณ์ฐ์ด๋ค. ์ด๋ฌํ ๊ณ์ฐ์ ํน์ง์ผ๋ก์ ์ ๋ ฅ ๊ธ์์ ์์น๊ฐ ๋ณํ๋๋ผ๋ feature map์ ๊ณ์ฐ ๊ฒฐ๊ณผ ๋ํ ๊ทธ ๊ฐ์ด ๋ณํ์ง ์๊ณ ๋ค๋ฅธ ์์น์ ๊ทธ๋๋ก ๋ํ๋๊ฒ ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฒ์ผ๋ก ๊ณ์ฐ์ ์ํํ local machine์๊ฒ ์๊ตฌ๋์ด์ง๋ ์ด ๊ณ์ฐ capacity๋ฅผ ์ค์ฌ์ฃผ๊ณ , ํ์ตํ ย parameter์ ์๋ฅผ ์ค์ฌ ์์ฐ์ค๋ฝ๊ฒย Overfitting์ ๋ฐฉ์งํ๊ฒ ๋์ด test error์ training error ์ฌ์ด์ gap๋ ์ค์ฌ์ค๋ค.
sub-sampling: pooling์ ๊ฐ๋ ๊ณผ ๊ฐ๋ค. Lenet-5์์๋ Average Pooling์ ์ฌ์ฉํ๋ค. local feature๋ก๋ถํฐ ์ ๋ ฅ๋ ๋ฐ์ดํฐ์ย translation, distortion์ ๊ด๊ณ์์ด ์์์ ์ํฅ์ ๋ฐ์ง ์๋ global feature๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์์น ๋ณํ์ ๋ฐ๋ผ ํน์ง ๊ฐ์ ๋ณํ์ง ์๋๋ก ๊ณ ๋ คํ์์ผ๋ ๊ทธ ์์น ์ ๋ณด ๋ํ ์ฌ์ ํ ๋ฏผ๊ฐํ๊ฒ ์์ฉํ๋ ๋ถ๋ถ์ด๋ค. ๊ธ์์์ ์ฝ๋๋ ์ ๋ ๋ถ๋ถ์ ์ด๋ค ๊ธ์์ธ์ง ํ๋จํ๋๋ฐ ์์ฃผ ์ค์ํ ํน์ง์ด๋ค. ๋, ์ด๋ฏธ์ง์ ๋ ธ์ด์ฆ๋ ์๊ณก๋ ๊ณ ๋ ค๋์ด์ผ ํ๋ค. ๋ฐ๋ผ์ feature map์ ํด์๋๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
CNN์์ ์ฌ์ฉ๋๋ ์ธต์ ๊ทธ feature map์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ Convolutional layer, Subsampling layer๋ก ํฌ๊ฒ 2๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
Convolutional layer๋ local receptive fields์ shared weight์ ์กฐํฉ์ผ๋ก Convolution ๊ณ์ฐ์ ํ๋ ์ธต์ด๋ค. ์ด ์ธต์ ์ด์ ์ธต์ ํ ๋๋ก feature map์ ์์ฑํ๊ฒ ๋๋๋ฐ, ํ๋๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ feature map์ ์์ฑํ์ฌ ๊ตฌ์ฑ๋๋ค. ๋ํ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ ์ด์ ์ธต์ ์ ๋์ ๋ํด์๋ ํ๋ ์ด์์ feature map์๊ฒ ์ฐ๊ฒฐ๋๋ค. ๋ค์ ์ด์ผ๊ธฐํ์๋ฉด, ํ ์ธต์ ์ฌ๋ฌ ๊ฐ์ feature map์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ feature map์ ์ด์ ์ธต์ 1๊ฐ ์ด์์ feature map์ผ๋ก๋ถํฐ ์ํฅ์ ๋ฐ๊ณ ์์ ๋ํ ๋ค์ ์ธต์ ์ฌ๋ฌ feature map์ ์ํฅ์ ์ค๋ค. Shared weight์ ์ํ์ฌ, ๊ฐ feature map ๋ด์์๋ ๊ฐ์ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ฌ Convolution์ ํ ๋ค์ bias ๊ฐ์ ๋ํ์ฌ ํ์ฑํจ์๋ฅผ ํต๊ณผ์์ผ ์ถ๋ ฅํ๋ค.
Subsampling layer๋ Convolutional layer์ ๋ฌ๋ฆฌ ์ด์ ์ธต์ ํ feature map์๊ฒ์๋ง ์ํฅ์ ๋ฐ๋๋ค. ๋ฐ๋ผ์ ์ด์ ์ธต๊ณผ ๊ฐ์ ์์ feature map์ ๊ฐ๊ฒ ๋๋ค. ์ด์ ์ธต์ ์ผ์ ์์ญ์ ํ๊ท ํ ๊ฐ์ค์น๋ฅผ ๊ณฑํ๊ณ bias ๊ฐ์ ๋ํ๋ค. ์ด ๋, Convolutional layer์๋ ๋ค๋ฅด๊ฒ ๊ณ์ฐ์ ์ฌ์ฉํ๋ ์์ญ์ ์๋ก ๊ฒน์น์ง ์๋๋ก ๋ฐฐ์นํ๋ฏ๋ก ์์ญ์ ํฌ๊ธฐ์ ๋ฐ๋น๋กํ๊ฒ feature map์ ํฌ๊ธฐ๊ฐ ์์์ง๊ฒ ๋๋ค.
์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ๊ฐ ์ธต์ feature map์ back propagation์ ํตํ์ฌ ์๋ก ๋ค๋ฅธ ๊ฐ์ค์น๋ฅผ ๊ฐ๋๋ก ํ์ต๋๋ฏ๋ก, ์ด๋ค์ ๊ฐ์๊ฐ ์๋ก ๋ค๋ฅธ ํน์ง์ ์ถ์ถํ๊ฒ๋ ํ๋ ํน์ง ์ถ์ถ๊ธฐ๋ผ๊ณ ๋ณผ ์ ์๋ค.
B. LeNet-5
LeNET-5๋ ๊ธ์ ์ธ์์ ์ํ ์ ๊ฒฝ๋ง์ผ๋ก ์ด 7๊ฐ์ ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์ธต์ Convolutional layer์ Subsampling layer์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋จผ์ ์ ๋ ฅ ๊ธ์ ์ด๋ฏธ์ง๋ ํฌ๊ธฐ๋ฅผ 32*32๋ก ๋ชจ๋ ๊ฐ๋๋ก ํ๊ณ , ๊ธ์๊ฐ ๊ฐ์ด๋ฐ ์์นํ๋๋ก ์ ๋ ฌ๋ ์ํ๋ก ๋ฏธ๋ฆฌ ์ฒ๋ฆฌํด ๋๋๋ค. ๊ฐ ํฝ์ ์ ๊ฐ์, ํฐ์(๋ฐฐ๊ฒฝ)์ -1.0์ผ๋ก, ๊ฒ์์(๊ธ์)์ 1.175๋ก ์ ๊ทํ ํ๋ค.
1) ์ด๋ ๊ฒ ๋ง๋ ์ ๋ ฅ์ ์ฒซ๋ฒ์งธ C1 ์ธต๊ณผ ์ฐ๊ฒฐ๋๋ค. C1 ์ธต์ convolutional layer์ด๋ฉฐ, 6๊ฐ์ feature map์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ ๋ ฅ ์ด๋ฏธ์ง์ 5 x 5 ์์ญ์ด ๊ฐ feature map์ ํ ์ ๋์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ํ๋ค. Convolution ๊ณ์ฐ ์ ๊ฒฝ๊ณ๋ฅผ ๊ณ ๋ คํ์ฌ ๊ฐ feature map์ (์ํ์ข์ฐ ๊ฒฝ๊ณ์ 32 - 5 x 6 = 2๋ฅผ ๋นผ์ค๋ค, ์ฆ 32-4 x 32-4 ) 28 x 28 ํฌ๊ธฐ๋ฅผ ๊ฐ๋๋ค.
> Trainable parameter: (๊ฐ์ค์นx์ ๋ ฅ๋งต๊ฐ์ + ๋ฐ์ด์ด์ค)xํน์ฑ๋งต๊ฐ์ = (5 x 5 x 1 + 1 )x 6 = 156 (๊ฐ์ค์น๊ฐ ๊ณง mask ์ด๋ฏ๋ก 5x5๊ฐ ๊ฐ์ค์น๊ฐ ๋๋ค.)
โ ์๋ง ๊ธ์๋ ๊ฐ์ด๋ฐ ์ ๋ ฌ์ด๋ฏ๋ก ๊ฒฝ๊ณ๋ ๋นผ์ค๋ ์๊ด ์๋๋ณด๋ค.. ๋ด ์๊ฐ์
2) ๋๋ฒ์งธ ์ธต์ S2๋ก subsampling layer์ด๋ค. C1 ์ธต์ ๊ฐ feature map ์ 2x2 ์์ญ์ ์ ๋ ฅ์ผ๋ก ํ์ฌ Subsampling ๊ณผ์ ์ ๊ฑฐ์น๋ฉด 14x14๋ก ํฌ๊ธฐ๊ฐ ์ค์ด๋ 6๊ฐ์ feature map์ ์์ฑ๋๋ค. (= ๊ธฐ์ตํ์ subsampling์ ๋ฐ๋น๋กํ๊ฒ ์์์ง๊ฒ ๋๋ค๋ ๊ฒ!)
> Trainable parameter: (๊ฐ์ค์น + ๋ฐ์ด์ด์ค)xํน์ฑ๋งต๊ฐ์ = (1 + 1)x6 = 12
โ ๊ฐ์ค์น๊ฐ 1์ธ ์ด์ ๋ subsampling์ average pooling๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. Average pooling์ ํ๊ท ์ ๋ธ ํ ํ ๊ฐ์ ํ๋ จ๊ฐ๋ฅํ ๊ฐ์ค์น๋ฅผ ๊ณฑํด์ฃผ๊ณ ๋ ํ ๊ฐ์ ํ๋ จ๊ฐ๋ฅํ ๋ฐ์ด์ด์ค๋ฅผ ๋ํด์ฃผ๊ธฐ ๋๋ฌธ. ์ด ๊ฐ์ด ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ํตํด ํ์ฑํ๋๊ณ ์ด ๊ฐ์ค์น์ ๋ฐ์ด์ด์ค๋ ์๊ทธ๋ชจ์ด๋์ ๋นํ์ฑ๋๋ฅผ ์กฐ์ ํด์ค๋ค.
3) ๋ค์ C3 ์ธต์ ๋ค์ convolutional layer์ ์ฌ์ฉํ๋ ์์ C1๊ณผ๋ ๋ค๋ฅด๊ฒ S2์ ์ฌ๋ฌ feature map๋ค์ ํ๊บผ๋ฒ์ ์ฐธ์กฐํ์ฌ C3์ ํ ์ ๋์ผ๋ก ์ฐ๊ฒฐ๋๋ค. ๋ค์ ๋งํ๋ฉด ๋ง์น 3์ฐจ์ convolution์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ณ์ฐ์ด๋ค. ์ฐธ์กฐํ๋ feature map์ ๋ฏธ๋ฆฌ ์ ํด ๋์ ๊ท์น์ ๋ฐ๋ผ S2์ธต์ 3~5 ๊ฐ feature map๋ค์์ 5 x 5 ์์ญ์ ์ด์ฉํ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฒฝ๊ณ๋ฅผ ๊ณ ๋ คํ์ฌ C3 ์ธต์ ํฌ๊ธฐ๋ 10 x 10์ผ๋ก ์ค์ด๋ค๊ฒ ๋๋ค.
> Trainable parameter: 456 + 606 + 303 + 151 = 1516
(๊ฐ์ค์น์ ๋ ฅ๋งต ๊ฐ์ + ๋ฐ์ด์ด์ค)ํน์ฑ๋งต ๊ฐ์
์ฒซ๋ฒ์งธ => (553+1)6 = 456 (์ฐ์ํ 3์ฅ์ฉ 55*3 ํํฐ์ ์ปจ๋ณผ๋ฃจ์ )
๋๋ฒ์งธ => (554+1)6 = 606 (์ฐ์ํ 4 ์ฅ์ฉ 55*4 ํํฐ์ ์ปจ๋ณผ๋ฃจ์ )
์ธ๋ฒ์งธ => (554+1)3 = 303 (๋ถ์ฐ์ํ 4์ฅ์ฉ 55*4 ์ฌ์ด์ฆ์ ํํฐ์ ์ปจ๋ณผ๋ฃจ์ )
๋ค๋ฒ์งธ- => (556+1)1 = 151 (6์ฅ์ 1414 ํน์ฑ๋งต ๋ชจ๋๋ฅผ ๊ฐ์ง๊ณ ํํฐ์ ์ปจ๋ณผ๋ฃจ์ )
๋ฐ๋ผ์ 16์ฅ์ 10*10 ํน์ฑ๋งต์ด ์ฐ์ถ๋๋ค.
4) ์ด์ด์ S2 ์ธต๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก S4์ธต์ ์์ฑํ๋ค. 5*5 ํฌ๊ธฐ์ 16๊ฐ feature map์ ๊ฐ๋๋ค.
> Trainable parameter = (1 + 1) x 16 = 32
5) ๋ค์ C5 ์ธต์ convolutional layer๋ก 120๊ฐ์ feature map์ผ๋ก ๊ตฌ์ฑ๋๋๋ฐ, 55 ์์ญ์ ์ฌ์ฉํ๋ฏ๋ก ์ด์ ์ธต์ ํฌ๊ธฐ๋ฅผ ์๊ฐํ๋ฉด ๊ฐ feature map์ 11 ํฌ๊ธฐ๋ฅผ ๊ฐ๊ฒ ๋๋ค. ๊ฐ ์ ๋๋ค์ S4์ธต์ ๋ชจ๋ feature map์์ ์ ๋ ฅ ๋ฐ๋๋ก ๊ตฌ์ฑํ์ฌ fully connected graph ํํ๋ฅผ ๊ฐ๋๋ก ํ๋ค.
> Trainable parameter = (5 x 5 x 16 +1) x 120 = 48120
6) F6 ์ธต์ C5 ์ธต๊ณผ ์์ ํ ์ฐ๊ฒฐ๋(fully connected) 84๊ฐ์ ์ ๋์ผ๋ก, ๋ง์ง๋ง์ผ๋ก 10๊ฐ์ ์ ๋๋ค์ด F6 ์ธต๊ณผ ์์ ํ ์ฐ๊ฒฐ๋ ์ถ๋ ฅ ์ธต์ ๋ง๋ค์ด ์ ๊ฒฝ๋ง ๊ตฌ์ฑ์ ๋ง๋ฌด๋ฆฌํ๋ค.
> Trainable parameter = (120 + 1) x 84 = 10164
F6 ๊น์ง๋ ๊ธฐ์กด์ ์ ๊ฒฝ๋ง๊ณผ ๊ฐ์ด ๊ฐ์ค์น ํฉ์ bias๋ฅผ ๋ํ ๋ค ์ด๋ฅผ ํ์ฑํจ์์ ํต๊ณผ์์ผ ์ถ๋ ฅ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค. ์ด ๋, ์ฌ์ฉ๋ ํจ์๋ ์๋์ ๊ฐ๋ค.
์ด ๋, A๋ 1.7159, a๋ ๊ฐ์ค์น ํฉ์ bias๋ฅผ ๋ํ ์ ๋ ฅ ๊ฐ์ด๊ณ , S๋ ์์ ์์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ํ๋ผ๋ฏธํฐ์ด๋ค.
7) ๋ง์ง๋ง ์ถ๋ ฅ ์ธต์ Radial Basis Function (RBF)์ ์ ์ฉํ์ฌ ํ ์ ๋๋ค๋ก ๊ตฌ์ฑ๋๋ฉฐ ์ต์ข ์ ์ผ๋ก ์ด๋ฏธ์ง๊ฐ ์ํ ํด๋์ค๋ฅผ ์๋ ค์ฃผ๋ฉฐ,
์์ ๊ฐ์ด ๊ณ์ฐ๋๋ค. ์ด ๋ ์ฌ์ฉ๋๋ ๊ฐ์ค์น ๋ฒกํฐ w๋ ๋ ผ๋ฌธ์ ๋์์๋ 7*12 ํฌ๊ธฐ์ ASCII ๋นํธ๋งต ์ด๋ฏธ์ง๋ฅผ ์ฐธ๊ณ ํ์ฌ -1, +1 ๋ก ๊ตฌ์ฑํ๋ค.
( RBF๋ ๋ฐฉ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๋ ๋คํธ์ํฌ๋ก์ 1๊ฐ์ ์๋์ธต์ ํ๋ฅ ๊ฐ์ฐ์์์ด ์ ์ฉ๋๋ค. )
LeNet-5๋ฅผ ์ ๋๋ก ๊ฐ๋ํ๊ธฐ ์ํด ํ๋ จํด์ผ ํ ํ๋ผ๋ฏธํฐ๋
์ด 156 + 12 + 1516 + 32 + 48120 + 10164 = 60000๊ฐ
C. Loss Function
๊ฐ์ฅ ๋จ์ํ ํจ์๋ก ์๋์ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๋ ํ ์ ๋ ฅ ์ํ p๊ฐ ์ํ๋ ํด๋์ค์ธ ์ RBF ์ ๋์ด๋ค. ์์ RBF์ ๋์ ์์ ์ดํด๋ณด๋ฉด ๊ฐ์ฅ ์ด์์ ์ธ ๊ฒฝ์ฐ ์ด ๊ฐ์ 0์ด ๋๋ฏ๋ก E(W)๊ฐ ์์์๋ก ์ ํ๋ จ๋ ์ํ๋ก ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ ๋ณ๋ณ๋ ฅ์ ๋์ด๊ธฐ ์ํด 0์ด ๋์ค๋ฉด ์๋๋ ๋ค๋ฅธ RBF์ ๋๋ค์ ๋ํ ํ๋ํฐ ํญ์ ๋ฃ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
J๋ ์์๋ก LOG์ ๊ฐ์ด ๋๋ฌด ์์์ง๋ ๊ฒ์ ๋ฐฉ์งํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋ํฐ๋ ์ ย ย ์ฌ์ด์ ๋น์จ๋ก ๊ฒฐ์ ๋๋ค.
Loss function์ ์ฌ์ฉํด ๋ชจ๋ ์ธต์ ๊ฐ์ค์น๋ค์ back-propagation์ผ๋ก ํ๋ จ์ํจ๋ค. ๊ฐ feature map ๋ง๋ค ๊ฐ์ค์น๋ฅผ ๊ณต์ ํด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ํธ๋ฆญ์ ์ด์ฉํด ๊ณ์ฐ์ ํจ์จ์ ์ผ๋ก ํ ์ ์๋ค.
3. Results and Comparison with other methods
ํ์กดํ๋ ๋ง์ ๋ฐฉ๋ฒ๋ค์ด hand-crafted ํน์ง ์ถ์ถ๊ณผ ํ์ต๊ฐ๋ฅํ ๋ถ๋ฅ๊ธฐ๋ฅผ ์กฐํฉํ์ง๋ง ์ด ๋ ผ๋ฌธ์ ํฌ๊ธฐ๊ฐ ์ ๊ทํ๋ ์ด๋ฏธ์ง๋ค์ ์ง์ ๋ค๋ฃจ๋ ์ ์ฉ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ์ด์ฒจ์ ๋ง์ถ๋ค.
- Database: the Modified NIST set
MNIST ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 60,000๊ฐ์ ํธ๋ ์ด๋ ์ด๋ฏธ์ง์ 10,000๊ฐ์ ํ ์คํธ ์ด๋ฏธ์ง๋ฅผ ํฌํจํ๋ค.ย ํธ๋ ์ด๋ ์ธํธ์ ์ ๋ฐ๊ณผ ํ ์คํธ ์ธํธ์ ์ ๋ฐ์ NIST์ ํธ๋ ์ด๋ ๋ฐ์ดํฐ์ ์์ ์ทจํฉํ์์ผ๋ฉฐ, ๊ทธ ๋ฐ์ ํธ๋ ์ด๋ ์ธํธ์ ์ ๋ฐ๊ณผ ํ ์คํธ ์ธํธ์ ์ ๋ฐ์ NIST์ ํ ์คํธ ๋ฐ์ดํฐ์ ์ผ๋ก๋ถํฐ ์ทจํฉ๋์๋ค (์ํคํผ๋์)
- Results
์ฌ๋ฌ ๋ฒ์ ์ LeNet-5๊ฐ regular MNIST ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํ๋ จ๋์๋ค.
ํ๋ จ ์ ์ด ํด์๋ก LeNet-5์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
LeNet-5 ๊ตฌ์กฐ
์ด ์ ๊ฒฝ๋ง์ ์ฝ๋๋ก ๊ตฌํํ๊ฒ์ ์ ๋ฆฌํ ํ์ด์ง์ด๋ค. => LeNet-5
์ฐธ๊ณ
[1] http://www.navisphere.net/1831/gradient-based-learning-applied-to-document-recognition/
๋๊ธ๋จ๊ธฐ๊ธฐ