Goal
1. ์ญ์ ํ(Backpropagation)์ ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ ์ดํดํ๊ธฐ
2. ์ญ์ ํ ๊ณ์ฐ ๋ ผ๋ฆฌ ์์๋ณด๊ธฐ
๋ฅ๋ฌ๋์ ๊ณต๋ถํ๋ฉด ์ญ์ ํ(backpropagation) ๊ฐ๋ ์ ํผํด๊ฐ ์ ์๋๋ฐ ์๊ณ ๋๋ฉด ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์๋ค! ๊ทธ๋ฆฌ๊ณ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋๋๋ฐ ์ ๋ง ์ค์ํ ๊ฐ๋ ์ด๋ผ๋๊ฑธ ์ ์ ์๋ค.
์ญ์ ํ(Backpropagation)๋?
๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ์ถ๋ ฅํ ์์ ๊ฐ๊ณผ ์ค์ ๊ฐ์๋ ์ฐจ์ด๊ฐ ์๋ค. ๊ฐ๋จํ๊ฒ ์๋ฅผ ๋ค์๋ฉด ๊ณ ์์ด ์ฌ์ง์ input์ผ๋ก ๋ฃ์์ ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ๊ณ ์์ด๊ฐ ์๋๋ผ๊ณ ์์ธก(0 ์ด๋ผ๊ณ ์์ธก)ํ๋ค๋ฉด ์ค์ ๊ฐ์ธ ๊ณ ์์ด๊ฐ ๋ง๋ค(1 ์ด๋ผ๋ ๊ฐ)๊ณผ๋ 1 - 0 = 1 ์ ์ฐจ์ด๊ฐ ์๋ค.
์ด๋ฌํ ์ค์ ๊ฐ๊ณผ ์์ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ค์ฌ๋๊ฐ๊ธฐ ์ํด ์ญ์ ํ(backpropagation)๋ฅผ ์ด์ฉํ๊ฒ ๋๋ค.
Loss function๊ณผ Cost function
๋ฅ๋ฌ๋ ๊ธฐ์ด๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋ฉด cost function๊ณผ loss function์ด ๋์ค๋๋ฐ ์ ๋ง ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด loss function์ ์์์ ๋งํ๋ ์ค์ ๊ฐ๊ณผ ์์ ๊ฐ์ ์ฐจ์ด๋ฅผ ์๊ธฐํ๊ณ , cost function์ ๋ชจ๋ input ๋ฐ์ดํฐ์ loss function์ ๊ฐ์ ํ๊ท ์ ์๊ธฐํ๋ค.
๊ฒฐ๊ตญ, ๋ ์์ธก์ ์ํ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํด์๋ cost function์ ๊ฐ์ ์ต๋ํ ์๊ฒ ๋ง๋๋๊ฒ ๋ชฉํ๋ค.
Cost function์ ์์ ์ด๋ ๊ฒ ์๊ฒผ๋ค:
์ด์ ๋ฌธ์ ๋ ์ด๋ป๊ฒ cost function์ ๊ฐ์ ์ต๋ํ ์๊ฒ ๋ง๋๋๊ฐ์ด๋ค!
๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ w์ b
Cost function์ ์์ ๋ณด๋ฉด w์ b๊ฐ ์๋ค. ํ์ง๋ง ์์ ์์ ๊ตฌ์ฑํ๋ ์ ๋ค์ ์์ ๋ณด๋ฉด w์ b๋ฅผ ์ฐพ์ ์ ์๋ค.
์ด๋ ๊ฒ ์์ ํผ์ณ ๋์ผ๋ฉด ์ฐ๋ฆฌ๊ฐ ์์ ํ ์ ์๋ ํ๋ผ๋ฏธํฐ w์ b๊ฐ cost function์ ์ํฅ์ ์ฃผ๋ ๊ฐ๋ค์ธ๊ฑธ ์ ์ ์๋ค. ์ฆ, ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ต์ ํ ์ํฌ ๋ ์ฐ๋ฆฌ์ ๋ชฉ์ ์ w์ b ๊ฐ๋ค์ ๋ฐ๊ฟ๊ฐ๋ฉด์ w์ b๊ฐ ์ด๋ค ๊ฐ์ผ ๋ ๋ชจ๋ธ์ด ์์ธก์ ๋ ์ํ๋(= cost function์ ๊ฐ์ด ๊ฐ์ฅ ์์๊ฐ)๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ด๋ค!
์ด๊ฒ์ด ์ญ์ ํ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ์ด๋ค. ์ด์ ์ญ์ ํ๋ฅผ ์ด๋ป๊ฒ ์คํํ๋์ง๋ฅผ ์์๋ณด์!
์ญ์ ํ ๊ณ์ฐ ๋ ผ๋ฆฌ
์ญ์ ํ๋ฅผ ๊ณ์ฐํ ๋ ์ด๋ฐ ์์ ๋ง์ด ๋ณด๊ฒ ๋๋ค:
๊ทธ๋ ๋ค. ๋ฏธ๋ถ์ด๋ผ๋ ๊ฒ์ด๋ค. ์ฌ์ค ๋ฏธ๋ถ์ ์ฝ๊ฒ ๋งํด์ ์ด๋ค ์ ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ์๊ธฐํ๋ค. ์ฆ, x๊ฐ ๋ฐ๋ ๋ y๋ ์ผ๋ง๋ ๋ฐ๋๋๊ฐ. ์์ ์๋ค์ ํด์ํ์๋ฉด w๋ผ๋ ๊ฐ์ด ๋ฐ๋ ๋ J(a,y)์ ๊ฐ์ ์ผ๋ง๋ ๋ฐ๋๋๊ฐ, ๊ทธ๋ฆฌ๊ณ b๋ผ๋ ๊ฐ์ด ๋ฐ๋ ๋ J(a,y)์ ๊ฐ์ ์ผ๋ง๋ ๋ฐ๋๋๊ฐ๋ฅผ ๋ณด๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ J(a,y)๋ ์์์ ์ค๋ช ํ๋ฏ์ด cost function์ด๊ณ , ์ฐ๋ฆฌ์ ๋ชฉ์ ์ธ w์ b ๊ฐ๋ค์ ์์ ํ ๋ cost function์ด ์ผ๋ง๋ ๋ฐ๋๋์ง๋ฅผ ๋ณผ ์ ์๋ค.
์ด์ cost function์ด ์ค์ด๋ค๊ฒ ๋ง๋๋ w์ b์ ๊ฐ๋ค์ ๊ตฌํ๋ฉด ๋๋ค!
๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Gradient descent)
Cost function์ด ์ค์ด๋ค๊ฒ ๋ง๋ค๋ ค๋ฉด ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(gradient descent)์ ์ด์ฉํด์ผ ํ๋ค. ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ์์ฃผ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๊ธฐ ์ํด ์ ๋๊ฐ์ ๊ตฌํ๋ ์์ ์๋ก ๋ค์ด๋ณด์.
์ผ์ชฝํธ์ ์ ์ ๊ธฐ์ธ๊ธฐ๋ -1, ์ค๋ฅธ์ชฝํธ์ ์ ์ ๊ธฐ์ธ๊ธฐ๋ 1์ด๋ค. ์๋๋ฉด ์ผ์ชฝ ์ ์ x๊ฐ -1์ฉ ์ค์ด๋ค์๋ก y๊ฐ 1์ฉ ์ฆ๊ฐํ๊ณ (1 / -1 = -1), ์ค๋ฅธ์ชฝ ์ ์ 1์ฉ ์ฆ๊ฐํ ์๋ก y๊ฐ 1์ฉ ์ฆ๊ฐ(1 / 1 = 1)ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ง์ฝ ์ ์์์ ์๋ฌด๋ฐ๋ ์ ์ ์ฐ๋๋ค๊ณ ํด๋ณด์.
๊ธฐ์ธ๊ธฐ๊ฐ 1์ธ ์ ์์ ์ ์ด ์ฐํ๋ค. ์ด ์ ์ y๊ฐ ๊ฐ์ฅ ์์ ์์น์ธ ๋ ธ๋ ์ ์ด ์๋ ๊ณณ์ผ๋ก ์ด๋ํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? ๊ธฐ์ธ๊ธฐ 1 ๋งํผ์ฉ ๋ด๋ ค๊ฐ๋ฉด ๋๋ค! ๊ทธ๋ ๋ค๋ฉด ์ ์ด ์ผ์ชฝ ์ ์ ์ฐํ๋ค๋ฉด?
๋ ธ๋ ์ ์ ๋๋ฌํ๋ ค๋ฉด ๊ธฐ์ธ๊ธฐ -1 ๋งํผ์ฉ ๋ฐ๋ผ ๋ด๋ ค๊ฐ๋ฉด ๋๋ค.
์ด ์๋ฆฌ๋ฅผ ์ด์ฉํด ์ด๋ฐ ์์ ์ธ์ธ ์ ์๋ค:
":=" ์ด๋ผ๋ ๊ธฐํธ๋ x ๊ฐ์ ๊ณ์ํด์ ์ ๋ฐ์ดํธ ์์ผ์ค๋ค๋ ๋ป์ด๋ค. ๊ทธ๋ฆฌ๊ณ α๋ learning rate๋ผ๋ ๊ฐ์ธ๋ฐ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ํ๊ฐํ ์ง ์กฐ์ ํด์ฃผ๋ ๊ฐ์ด๋ค. ์ด ์์ ์ด์ฉํ๋ค๋ฉด ์์์ ๋ณธ ๊ฒฝ์ฐ๋ฅผ ์๋์ ๊ฐ์ด ๋๋ ์ ์๋ค.
์ฆ, ์ผ์ชฝ์ ์ ์ด ์์ ๋ x์ α๋ฅผ ๋ํด์ค์ผ๋ก์จ ์ ์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํด y๋ฅผ ์ต์๊ฐ์ผ๋ก ์ ๋ํ๊ณ , ์ค๋ฅธ์ชฝ์ ์ ์ด ์์ ๋ x์ α๋ฅผ ๋นผ์ค์ผ๋ก์จ ์ ์ ์ผ์ชฝ์ผ๋ก ์ด๋ํด y๋ฅผ ์ต์๊ฐ์ผ๋ก ์ ๋ํ๊ฒ ๋๋ค. ์ด๊ฒ์ด ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ์ด๋ค!
์ด์ ์ด์ ๊ฐ์ ๋ ผ๋ฆฌ๋ฅผ cost function์ ์ ์ฉํ๋ฉด ๋๋ค. ๋์ ์ด๋ฒ์ w์ b๋ผ๋ ๊ฐ์ ์์ x์ฒ๋ผ ์ ๋ฐ์ดํธ ํด์ค ๊ฒ์ด๊ณ , y ๋์ J(a,y)๋ผ๋ cost function์ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ด๊ฒ์ด ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ต์ ํ ์ํฌ ๋ ์ฌ์ฉํ๋ ๊ณ์ฐ๋ฒ์ด๋ค!
dw์ db ๊ณ์ฐ๋ฒ
์ด์ w์ b๋ฅผ ๊ณ์ ์ ๋ฐ์ดํธ ์ํค๋ฉด์ J(a,y)์ ๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ์ ์๊ฒ ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์์ ๋ณด์๋ dw์ db๋ ์ด๋ป๊ฒ ๊ณ์ฐํ์ง? ์ฌ๊ธฐ์ ์ข ๋ณต์กํด ๋ณด์ด๋ ๋ฏธ๋ถ ์๋ค์ด ์์์ ธ ๋์จ๋ค.
์ฌ์ค ์์ ์ค๋ช ํ ๊ฒ๊น์ง๋ง ์ดํดํ๋ค๋ฉด ์ด ๋ถ๋ถ์ ๋ชฐ๋ผ๋ ๊ด์ฐฎ๋ค. ํ์ง๋ง ๊ตณ์ด ์ค๋ช ํ์๋ฉด dw์ db ๊ฐ์ ๋ณต์กํ ๋ฏธ๋ถ์ ๊ณ์ฐํ๊ธฐ ์ํด์ chain rule์ด๋๊ฑธ ์ฐ๊ฒ ๋๋ค. ๋ง ๊ทธ๋๋ก ์ ์ฌ์ฌ (chain) ๊ณ ๋ฆฌ์ ๊ณ ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๋ฏ์ด ๋ฏธ๋ถ์ ์ค์ค์ด ์ฐ๊ฒฐํ๋ฉด ๋๋ค.
J, L, a, z... ์ด๋์ ๋ง์ด ๋ณด์ง ์์๋๊ฐ? ๊ทธ๋ ๋ค. ์ ค ์ฒ์์ ์ค๋ช ํ๋ ์ ๋ค์ด๋ค!
์์ ์๋ค์ ๋ชจ๋ ๋ฏธ๋ถํด์ ํด๋น chain rule ์์ ๋ฃ์ด ๊ณ์ฐํ๋ฉด ๋์ด๋ค. ์ด๋ป๊ฒ ๋ฏธ๋ถํ๋์ง๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์์ฃผ ์์ธํ๊ฒ ์ ์ค๋ช ํด์ค๋ค.
์๋๋ ๋ฏธ๋ถ๋ ์๋ค์ด๋ค.
์ด๋ ๊ฒ cost function๋ถํฐ ๋ฏธ๋ถ์ ํตํด ๊ฑฐ๊พธ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ์ฒ์ ๊ณ์ฐ์์ ๋ฃ์๋ w์ b๋ฅผ ์์ ํ๊ธฐ ๋๋ฌธ์ "์ญ"์ ํ๋ผ๊ณ ๋ถ๋ฆฐ๋ค. w์ b๋ก cost function์ ๊ณ์ฐํ๋ "์"์ ํ(forward propagation)์ ๋ฐ๋๊ฐ ๋๋ ๊ฒ์ด๋ค!
์ญ์ ํ ์ดํด ์๋ฃ~!
![](https://t1.daumcdn.net/keditor/emoticon/face/large/013.png)
์ฐธ๊ณ
Andrew Ng์ ๋ฅ๋ฌ๋ ๊ฐ์ - https://www.coursera.org/learn/neural-networks-deep-learning/lecture/6dDj7/backpropagation-intuition-optional
https://towardsdatascience.com/backpropagation-in-simple-terms-8df312471d32
https://medium.com/@pdquant/all-the-backpropagation-derivatives-d5275f727f60
'๐ค Deep Learning > ๋ฅ๋ฌ๋ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Scikit-Learn vs. TensorFlow (0) | 2023.06.01 |
---|---|
๋ฅ๋ฌ๋ ํ์ค ๊ธฐํธ (0) | 2023.05.11 |
๋๊ธ