Lecture 4: Backpropagation and Neural Network
What is Backpropagation?
์ญ์ ํ(Backpropagtion)๋ ์ํ๋ ๊ฐ์ ์ถ๋ ฅํ๋ ์ต์ ์ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํด์ ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ญ์ ํ ๊ณผ์ ์ ์ฝ๊ฒ ์์๋ณด๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก computational graph ๊ฐ ์ฌ์ฉ๋๋ค.
Structure of Computational graph
์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ฒ์์ ๊ฐ์ค์น ํ๋ ฌ W ์ ์ฌ์ง ๋ฐ์ดํฐ x ๋ฅผ ๊ณฑํ ํ ์ ๊ทํ ํ๋ ฌ R์ ๋ํ๋ค. ์ด๋ ๊ฒ ๊ณ์ฐ๊ณผ์ ์ ์ง์ ๊ทธ๋ฆผ์ผ๋ก ํํํด ์์๋ณด๊ธฐ ์ฝ๊ฒ ๋ง๋ ๊ฒ์ด computational graph ์ด๋ค.
Example of Backpropagtion
๋ค์๊ณผ ๊ฐ์ x=-2, y=5, z=-4 ๋ก ์ด๋ฃจ์ด์ง ๊ฐ๋จํ ํจ์๊ฐ ์๋ค๊ณ ํ์.
$f(x,y,z)=(x+y)z$
์ด๊ฒ์ computational graph ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ ์ต์ ์ ๊ฐ์ค์น๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ f ํจ์๋ฅผ x,y,z ๋ก ๊ฐ๊ฐ ๋ฏธ๋ถํ ๊ฐ์ ์ฐพ์์ผ ํ๋ค. ํ๋ฒ์ ์ด ๊ฐ์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก f๋ฅผ q์ z๋ก, q๋ฅผ x์ y๋ก ๋ฏธ๋ถํ ๊ฐ์ ์ฐจ๋ก๋ก ์ฐพ๋๋ค.
์ด ๋, ์ฐ์๋ฒ์น(chain rule)์ ์ด์ฉํ์ฌ ์ํ๋ ๋ฏธ๋ถ ๊ฐ์ ์ป์ ์ ์๋ค. ์ฆ, local gradient ์ upstream gradient ๋ฅผ ๊ณฑํ๋ ๊ฒ์ด๋ค.
$\frac{\partial f}{\partial x}=\frac{\partial f}{\partial q}\frac{\partial q}{\partial x}=z=-4$
$\frac{\partial f}{\partial y}=\frac{\partial f}{\partial q}\frac{\partial q}{\partial y}=z=-4$
์ด๋ ๊ฒ ์ฐพ์ ๋ฏธ๋ถ ๊ฐ์ ์ฐ์๋ฒ์น์ ์ด์ฉํด ์ฐจ๋ก๋ก ๊ณฑํ๋ฉด ์ํ๋ ๋ณ์๋ก ๋ฏธ๋ถํ ๊ฐ์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋ค.
๋ค์์ ์ข ๋ ๋ณต์กํ ๊ณต์์ ํ์ฉํ ์์์ด๋ค.
๊ณ์ฐ ๊ณผ์ ์ ๋ํ ์ค๋ช ์ ๋ค์ ๊ธธ์ด์ง๊ณ ์ค๋ณต๋ ๋ด์ฉ์ด ๋์ฌ ์ ์์ผ๋ฏ๋ก ์๋ตํ๋๋ก ํ๊ฒ ๋ค. local gradient ์ upstream gradient ๋ฅผ ๊ณฑํ๋ฉด์ ์ฐจ๋ก๋ก ๊ฒ์ฐํด ๋๊ฐ๋ฉด $w_0$, $w_1$, $x_0$, $x_1$, $w_2$ ๋ก ๋ฏธ๋ถํ ๊ฐ์ ์ฐพ์ ์ ์๋ค๋ ๊ฒ๋ง ๋ช ์ฌํ๋ฉด ๋๊ฒ ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ ์์์ ๊ฒฝ์ฐ ์ฌ๋ฌ๊ฐ์ ๊ณ์ฐ๊ณผ์ ์ ํ๋๋ก ๋ฌถ์ด ๊ณ์ฐ ๊ณผ์ ์ ์ฝ๊ฒ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
Patterns in backward flow
์ญ์ ํ ๊ณผ์ ์๋ ์ผ์ ํ ๊ท์น์ด ์๋ค. ์ด๋ฌํ ๊ท์น์๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค.
- add gate: gradient distributor, ์ฆ local gradient ๊ฐ ํญ์ 1์ธ ์ํ๋ก upstream gradient ๋ง ์กด์ฌํ๋ค.
- max gate: gradient router, ์ฆ gradient๊ฐ ๋จ์ํ ํต๊ณผํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ค.
- mul gate: gradient switcher, ์ฆ ๊ณฑํ๋ ๋ค๋ฅธ ๊ฐ์ ๋ณ์๋ฅผ ๊ฐ๋๋ค.
Vectorzied operations
์์ ์ดํด๋ณธ ์์๋ ์ ๋ง ๊ฐ๋จํ ์์์ด๋ค. ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ ํ๊ณผ ์ด์ ์๊ฐ 100๋จ์๊ฐ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก ์์ ๊ฐ์ด computational graph๋ฅผ ์ผ์ผํ ๊ทธ๋ฆฌ๋ ๊ฒ์ ๋งค์ฐ ์ค๋๊ฑธ๋ฆฌ๊ณ ๋ฒ๊ฑฐ๋ก์ด ์ผ์ด๋ค. ์ด๋ ๊ฐ๋จํ๊ฒ ๊ฐ๊ฐ์ ๋ณ์๋ค์ ํธ๋ฏธ๋ถํ์ฌ ์ด๋ฅผ ํ๋ ฌ์ ํํ๋ก ๋ํ๋ธ Jacobian Matrix ๊ฐ ์ฌ์ฉ๋๋ค. ์ด Jacobian Matrix์ ๋ช๊ฐ์ง ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค.
- 4096์ฐจ์(์ด) ์ ๊ฐ์ง ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋๊ณ ๊ฐ์ ์ฐจ์์ ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋๋ฉด Jacobian Matrix์ ํฌ๊ธฐ๋ 4096x4096์ด ๋๋ค.
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ๊ฐ์ ์ฐจ์์ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ์ผ์นํ๋ ์ฐจ์์๋ง ์ํฅ์ ์ค๋ค.
- ๋๊ฐํ๋ ฌ์ด๋ค.
์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ด์ฉ์ ์ต์ข ์ ์ผ๋ก ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- Foward pass(ํฌ์๋ ํจ์ค): ๋ ธ๋์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด ํจ์์ ๊ฐ์ ๋ฃ์ด๊ฐ๋ฉฐ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- Backward pass (๋ฐฑ์๋ ํจ์ค): ๋ ธ๋์ gradient๋ฅผ ๊ตฌํ๊ธฐ ์ํด Forward pass๋ฅผ ํตํด ๊ตฌํ ๊ฐ์ ๋ฐํ์ผ๋ก Jacobian Matrix๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ด๋ค. ์ญ์ ํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ณผ์ ์ด๋ค.
Neural Networks
์ ๊ฒฝ๋ง(Neural Networks)์ด๋ ๊ฐ๋จํ๊ฒ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ค์น ํ๋ ฌ์ด ์ฐจ๋ก๋ก ์ ์ฉํจ์ผ๋ก์จ ๋ ธ๋์ ๊ฐ์ ๊ตฌํ๋ ๊ฒ์ด๋ค. ๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ด 2๊ฐ์ ์ธต์ ๊ฐ์ง ์ ๊ฒฝ๋ง์ด ์๋ค๊ณ ํ์.
์์ ๊ฐ์ ๋ชจ์ต์ ์ ๊ฒฝ๋ง์ ์๋์ ๊ฐ์ ๊ณต์์ผ๋ก ๋ํ๋ผ ์ ์๋ค.
$f(x)=W_2 max(0,W_1 x)$
์ด ์ ๊ฒฝ๋ง์ ์ฆ 3072์ ์ฐจ์์ $W_1$์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง ์ธต์ ๊ฑฐ์ณ 100์ฐจ์์ผ๋ก ์ค์ด๊ณ ์ด๋ฅผ $W_2$์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง ์ธต์ ๊ฑฐ์ณ 10์ฐจ์์ผ๋ก ์ค์ธ๋ค. ์ธต์ ๋ ์์์๋ก High level(๊ณ ์ฐจ์)๋ถํฐ Low level(์ ์ฐจ์)์ ์ธ ํน์ง์ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ๊ณ์ฐํ ์ ์๊ฒ๋๋ค.
Analogy between neurons and neural networks
์ธ๊ณต ์ ๊ฒฝ๋ง์ ๊ฑ๋ ์ ์ฐ๋ฆฌ ๋ชธ์์ ์๋ ๋ด๋ฐ์ธํฌ๋ก ๋ถํฐ ์ฐจ์ฉํ ๊ฒ์ด๋ค. ์ฐ์ ๋ด๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
dendrite๋ฅผ ํตํด cell body๊ฐ ์๊ทน์ ํธ๋ฅผ ์ ๋ฌ ๋ฐ๊ณ ์ด๋ฅผ ๋ค์ axon ์ผ๋ก ์ฐ๊ฒฐ๋์๋ ๋ค๋ฅธ cell body ์ ์ ๋ฌ์ ํ๊ฒ ๋๋ค. ์ด ๋ axon์ ํตํด ์ ๋ฌํ ๋ ์๊ทน์ด ์ผ์ ๊ธฐ์ค์น๋ฅผ ๋์ด์ผ์ง ์ ๋ฌ์ด ๋๋ค. ๋ค์์ ์ธ๊ฒฝ ์ ๊ฒฝ๋ง์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์ด๋ค.
์ธ๊ณต์ ๊ฒฝ๋ง์ด ๋ด๋ฐ๊ณผ ๋น์ทํ ์๋ฆฌ๋ก ์๋ํ๊ฒ ๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ฌ๊ธฐ์ activation function ์ด๋ผ๋ ๊ฐ๋ ์ด ๋์ค๋๋ฐ, ์ด๋ ์๊ทน์ด ์ ๋ฌ๋๋๋ก ํ๊ธฐ ์ํ ์ผ์ ํ ๊ธฐ์ค์ด ๋๋ ํจ์์ด๋ค. ํ์ฑํ ํจ์(activation function)๋ ๋ค์ํ๊ฒ ์กด์ฌํ๋๋ฐ, ๋ํ์ ์ธ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ ReLU ํจ์๊ฐ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋๋ค. ํ์ฑํ ํจ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ถํ ๊ฐ์์ ์์ธํ ๋ค๋ฃฐ ์์ ์ด๋ค.
Comments