| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- ์ผ์
- ๋ง์ง
- ๋ถ๋์ฐ
- ํ์ด์ฌ
- ๋ฏธ๊ตญ์ฌํ
- ๋ฐ์ด๋ธ์ค
- ์ฐจํธ๋ถ์
- ์ธ๊ณ๊ฒฝ์
- ํ์จ
- ํธ๋ ์ด๋
- ์งํ
- C++
- cpp
- ํธ๋ ์ด๋ฉ
- ๊ฒฝ์
- ํ๋ก๊ทธ๋๋ฐ
- Python
- ์ํธํํ
- ๊ตญ๋ด์ฌํ
- ๋ฐ์ดํฐ๋ถ์
- ๋งค๋งค์ ๋ต
- ํฌ์
- ์ฌํ
- ๊ธ๋ฆฌ
- ์ด๋๋ฆฌ์
- ๊ฒฝ์ ์งํ
- ํด์ธ์ฌํ
- ์ฃผ์
- ์๋ฆฌ์ดํธํ๋
- ๋นํธ์ฝ์ธ
- Today
- Total
์ถ์ ๊ณต์
[Deep Learning] ์์ ์์ด ์ดํดํ๋ ๋ฅ๋ฌ๋ ์ญ์ ํ(Backpropagation) ์๋ฆฌ: AI์ ์ค๋ต ๋ ธํธ ๋ณธ๋ฌธ
[Deep Learning] ์์ ์์ด ์ดํดํ๋ ๋ฅ๋ฌ๋ ์ญ์ ํ(Backpropagation) ์๋ฆฌ: AI์ ์ค๋ต ๋ ธํธ
dkrehd 2025. 12. 25. 22:28
๐ค ์ธ๊ณต์ง๋ฅ์ด '์ค์'๋ฅผ ํตํด ๋ฐฐ์ฐ๋ ๋ฒ: ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ
์ธ๊ณต์ง๋ฅ์ด ๊ฐ์ ๊ณ ์์ด๋ฅผ ๊ตฌ๋ถํ๊ณ , ๋ณต์กํ ์ธ์ด๋ฅผ ์ดํดํ๋ ๊ณผ์ ์ ๋ณด๋ฉด ๋ง์น ์ด์์๋ ์๋ช ์ฒด์ฒ๋ผ ๋๊ปด์ง๊ธฐ๋ ํฉ๋๋ค. ํ์ง๋ง ๊ทธ ๋ด๋ถ๋ฅผ ๋ค์ฌ๋ค๋ณด๋ฉด ์ ๊ตํ ์ํ์ ์ค๋ต ๋ ธํธ๊ฐ ์๋ํ๊ณ ์์ต๋๋ค. ๊ทธ ํต์ฌ์ด ๋ฐ๋ก ์ค๋ ์๊ฐํ ์ญ์ ํ(Backpropagation) ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
1. ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ฌด์์ธ๊ฐ?
์ญ์ ํ๋ ํ๋ง๋๋ก **"์ถ๋ ฅ์ธต์์ ๋ฐ์ํ ์ค์ฐจ๋ฅผ ๊ฑฐ๊พธ๋ก(Back) ์ ํํ์ฌ, ๊ฐ ์ธต์ ๊ฐ์ค์น๋ฅผ ์ผ๋ง๋ ์์ ํด์ผ ํ ์ง ๊ฒฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ"**์ ๋๋ค.
์ ๊ฒฝ๋ง์ด ์์ธก๊ฐ(y^)์ ๋ด๋์์ ๋ ์ค์ ์ ๋ต(y)๊ณผ ์ฐจ์ด๊ฐ ๋๋ค๋ฉด, ๊ทธ '์ฑ ์'์ด ์ด๋ ๊ฐ์ค์นW)์ ์๋์ง ๊ณ์ฐํ์ฌ ๋ชจ๋ธ์ ์์ ํ๋ ์ผ์ข ์ ํผ๋๋ฐฑ ์์คํ ์ด๋ผ๊ณ ์ดํดํ๋ฉด ์ฝ์ต๋๋ค.
2. ์ ์ญ์ ํ๋ฅผ ํด์ผ ํ๋์?
์ฐ๋ฆฌ์ ๋ชฉํ๋ ๋ชจ๋ธ์ ์์ค ํจ์(Loss Function) ๊ฐ์ ์ต์ํํ๋ ๊ฐ์ค์น๋ฅผ ์ฐพ๋ ๊ฒ์ ๋๋ค.
- ๋ฐฉํฅ ์ฐพ๊ธฐ: ์๋ฐฑ๋ง ๊ฐ์ ๊ฐ์ค์น ์ค ์ด๋ค ๊ฒ์ ๋์ด๊ณ ์ด๋ค ๊ฒ์ ๋ฎ์ถฐ์ผ ์ค์ฐจ๊ฐ ์ค์ด๋ค์ง ์์์ผ ํฉ๋๋ค.
- ํจ์จ์ ์ธ ์์ : ์ญ์ ํ๊ฐ ์๋ค๋ฉด ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฐ์ค์น๋ฅผ ๋ฌด์์๋ก ํ๋์ฉ ๋ฐ๊ฟ๋ณด๋ '๋ ธ๊ฐ๋ค'๋ฅผ ํด์ผ ํ๊ฒ ์ง๋ง, ์ญ์ ํ๋ ๋ฏธ๋ถ์ ํตํด ์ ํํ ์ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ผ ํ ์ง๋ฅผ ์์๊ฐ์ ์๋ ค์ค๋๋ค.
3. ์ญ์ ํ๋ ์, ์ด๋ป๊ฒ ๋ฑ์ฅํ๋์?
์ญ์ ํ์ ์ญ์ฌ๋ ๋ฅ๋ฌ๋์ ๋ถํ๊ณผ ๊ถค๋ฅผ ๊ฐ์ด ํฉ๋๋ค.
- ๋จ์ธต ํผ์ ํธ๋ก ์ ํ๊ณ: 1960๋ ๋ ์ด์ฐฝ๊ธฐ AI๋ 'XOR ๋ฌธ์ '์ ๊ฐ์ ์์ฃผ ๊ฐ๋จํ ๋ ผ๋ฆฌ ๊ตฌ์กฐ๋ ํด๊ฒฐํ์ง ๋ชปํ๋ ์ํ๊ธฐ๋ฅผ ๊ฒช์์ต๋๋ค.
- ๋ค์ธต ์ ๊ฒฝ๋ง์ ๋ฑ์ฅ: ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ธต์ ์ฌ๋ฌ ๊ฐ ์์์ง๋ง, ๋ฌธ์ ๋ **"๊น์ ์ธต์ ์๋ ๊ฐ์ค์น๋ค์ ์ด๋ป๊ฒ ํ์ต์ํฌ ๊ฒ์ธ๊ฐ?"**์์ต๋๋ค.
- 1986๋ ์ ํ๋ช : ์ ํ๋ฆฌ ํํผ(Geoffrey Hinton) ๋ฑ์ด ํฌํจ๋ ์ฐ๊ตฌํ์ด ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋์คํ์ํค๋ฉด์, ์๋ฌด๋ฆฌ ๊น์ ์ธต์ด๋ผ๋ ์ํ์ ์ผ๋ก ํ์ต์ํฌ ์ ์๋ ๊ธธ์ด ์ด๋ ธ์ต๋๋ค. ์ด๊ฒ์ด ํ๋ ๋ฅ๋ฌ๋์ ์์ด๊ฐ ๋์์ต๋๋ค.
4. ์ ๋ฅ๋ฌ๋์์ ์ ๋ ํจ๊ณผ๊ฐ ์ข๋์?
๋จ์ํ '์ ํํด์'๊ฐ ์๋๋ผ, **'์๋์ ์ผ๋ก ํจ์จ์ '**์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ฐ์ ๋ฒ์น(Chain Rule)์ ๋ง๋ฒ: ์ญ์ ํ๋ ๋ฏธ๋ถ์ ์ฐ์ ๋ฒ์น์ ์ด์ฉํฉ๋๋ค. ์ ๋จ๊ณ์์ ๊ณ์ฐ๋ ๊ฐ์ ์ฌ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ์ธต์ด 100์ธต, 1000์ธต์ด๋ผ๋ ์ค๋ณต ๊ณ์ฐ ์์ด ๋น ๋ฅด๊ฒ ๊ธฐ์ธ๊ธฐ(Gradient)๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
- ๋๊ท๋ชจ ํ๋ผ๋ฏธํฐ ์ต์ ํ: ํ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๊ฐ ์์ญ์ต ๊ฐ์ ๋ฌํฉ๋๋ค. ์ญ์ ํ๋ ์ด ๊ฑฐ๋ํ ๋คํธ์ํฌ๋ฅผ ํ ๋ฒ์ ์ฐ์ฐ(Backward Pass)์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์๋ ์ ์ผํ๊ณ ์ค์ง์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๋ณต์กํ ์งํ ํ์: ๋น์ ํ ํ์ฑํ ํจ์๊ฐ ์์ธ ๋ณต์กํ ์์ค ํจ์ ์งํ์์๋, ์ญ์ ํ๋ ๊ฒฝ์ฌํ๊ฐ๋ฒ๊ณผ ๊ฒฐํฉํ์ฌ ์ต์ ์ ํด(Global Minimum)๋ฅผ ํฅํด ๋์๊ฐ๋ ๊ฐ๋ ฅํ ๋์นจ๋ฐ ์ญํ ์ ํฉ๋๋ค.
๐ก ์์ฝํ์๋ฉด
์ญ์ ํ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด **"์์ ์ ์ค์๋ฅผ ์ซ์๋ก ํ์ฐํ๊ณ , ๊ทธ ์ฑ ์์ ๊ณตํํ๊ฒ ๊ฐ์ค์น๋ค์๊ฒ ๋๋ ์ฃผ์ด ๋ค์์๋ ๋ ๋์ ์์ธก์ ํ๊ฒ ๋ง๋๋ ๊ณผ์ "**์ ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ ๋๋ถ์ ์ฐ๋ฆฌ๋ ๋น๋ก์ '๊น์(Deep)' ํ์ต์ ํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค.
๐ค ์์ ํ, ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ ํํค์น๊ธฐ
1. ์์ ํ (Forward Propagation): "์์ธกํ๊ธฐ"
์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง(์ด๋ก์ ํ์ดํ)๋ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ์์ ์ถ๋ ฅ์ผ๋ก ํ๋ฅด๋ ๊ณผ์ ์ ๋ณด์ฌ์ค๋๋ค.

- ํ๋ฆ: ์ ๋ ฅ๊ฐ x๊ฐ ๋ค์ด์ค๋ฉด, ๊ฐ ์ธต์ **๊ฐ์ค์น(Weight)**์ ๊ณฑํด์ง๊ณ **ํธํฅ(Bias, ์ซ์ 1 ๋ ธ๋)**์ด ๋ํด์ง๋๋ค.
- ํ์ฑํ ํจ์: ๊ฐ ๋ ธ๋์์๋ ์ด ๊ณ์ฐ๊ฐ์ ํ์ฑํ ํจ์(์: ReLU, Sigmoid ๋ฑ)๋ฅผ ํต๊ณผ์์ผ ๋ค์ ์ธต์ผ๋ก ์ ๋ฌํฉ๋๋ค.
- ๊ฒฐ๊ณผ: ์ต์ข ์ ์ผ๋ก ์ถ๋ ฅ์ธต์์ ์์ธก๊ฐ y^์ ๋ง๋ค์ด๋ ๋๋ค.
- ์์ฝ: ์ด ๋จ๊ณ๋ ๋ชจ๋ธ์ด ํ์ฌ ์๊ณ ์๋ ์ง์์ ๋ฐํ์ผ๋ก **"์ ๋ต์ด ๋ฌด์์ผ๊น?"**๋ผ๊ณ ์ถ์ธกํ๋ ๊ณผ์ ์ ๋๋ค.
2. ์ญ์ ํ (Backpropagation): "์ค๋ต ๋ ธํธ ์์ฑ ๋ฐ ์์ "
๋ ๋ฒ์งธ ์ด๋ฏธ์ง(๋นจ๊ฐ์ ํ์ดํ ๋ฐ ์์)๋ ์์ธก์ด ํ๋ ธ์ ๋, ๊ทธ ์ฑ ์์ ๋ค์์๋ถํฐ ์์ผ๋ก ๋ฌป๋ ๊ณผ์ ์ ๋๋ค.

Step 1 & 2: ์ถ๋ ฅ์ธต์ ์ค์ฐจ ๊ณ์ฐ
๋ชจ๋ธ์ ์์ธก๊ฐ(a(out)}, ์ฆ y^๊ณผ ์ค์ ์ ๋ต(y)์ ๋น๊ตํ์ฌ **์ค์ฐจ(Error)**๋ฅผ ๊ตฌํฉ๋๋ค.

Step 3: ์ถ๋ ฅ์ธต ๊ฐ์ค์น ์ ๋ฐ์ดํธ๋ฅผ ์ํ ๊ธฐ์ธ๊ธฐ(Gradient) ๊ณ์ฐ
์ถ๋ ฅ์ธต์ ๊ฐ์ค์น w๊ฐ ์ ์ฒด ์ค์ฐจ์ ์ผ๋ง๋ ๊ธฐ์ฌํ๋์ง๋ฅผ ๊ณ์ฐํฉ๋๋ค.

Step 4: ์๋์ธต์ผ๋ก ์ค์ฐจ ์ ํ (The Chain Rule)
์ถ๋ ฅ์ธต์ ์ค์ฐจ๋ฅผ ์ด์ ์ธต(์๋์ธต)์ผ๋ก ๋ณด๋ ๋๋ค. ์ด๊ฒ์ด '์ญ์ ํ'์ ํต์ฌ์ ๋๋ค.


Step 5: ์๋์ธต ๊ฐ์ค์น ์ ๋ฐ์ดํธ๋ฅผ ์ํ ๊ธฐ์ธ๊ธฐ ๊ณ์ฐ
์๋์ธต์ ์ค์ฐจ(∂(h))์ ์ ๋ ฅ๊ฐ(a(in))์ ์ฌ์ฉํ์ฌ ๊ฐ์ค์น ์์ ๋์ ๊ฒฐ์ ํฉ๋๋ค.

๐ 1. ์ฐ์ ๋ฒ์น(Chain Rule)์ด๋ ๋ฌด์์ธ๊ฐ?
์ฐ์ ๋ฒ์น์ ํฉ์ฑ ํจ์์ ๋ฏธ๋ถ๋ฒ์ ๋๋ค. ์ฌ๋ฌ ๊ฐ์ ํจ์๊ฐ ์ธต์ธต์ด ์์ฌ ์์ ๋, ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์ ๋ณํ๊ฐ ๊ฐ์ฅ ์์ชฝ์ ๋ณ์์๊ฒ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ๊ณ์ฐํ๋ ๊ท์น์ ๋๋ค.
๐ก ์ผ์ ์์ ๋น์
๋น์ ์ด ์์ ๊ฑฐ๋ฅผ ํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
- ๋น์ ์ด ํ๋ฌ์ 1๋ฐํด ๋๋ฆฌ๋ฉด, ์ฒด์ธ์ด 2๋ฐํด ๋๋๋ค.
- ์ฒด์ธ์ด 1๋ฐํด ๋๋ฉด, ๋ฐํด๋ 3๋ฐํด ๊ตฌ๋ฆ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด "๋ด๊ฐ ํ๋ฌ์ 1๋ฐํด ๋๋ฆด ๋, ๋ฐํด๋ ๋ช ๋ฐํด ๊ตฌ๋ฅผ๊น์?" ๋ต์ $2 \times 3 = 6$๋ฐํด์ ๋๋ค. ์ด์ฒ๋ผ ๊ฐ ๋จ๊ณ์ ๋ณํ์จ(๋ฏธ๋ถ๊ฐ)์ ๊ณฑํด์ ์ต์ข ๋ณํ๋์ ๊ตฌํ๋ ๊ฒ์ด ๋ฐ๋ก ์ฐ์ ๋ฒ์น์ ํต์ฌ์ ๋๋ค.
๐ 2. ์์์ผ๋ก ๋ณด๋ ์ฐ์ ๋ฒ์น
ํจ์ z = f(y)๊ฐ ์๊ณ , y = g(x)๋ผ๊ณ ํ ๋, x์ ๋ํ z์ ๋ณํ๋(๋ฏธ๋ถ)์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ ๋จ๊ณ ๋ฏธ๋ถ์ ๊ณฑ์ผ๋ก ํํ๋ฉ๋๋ค.

์ด ์์์ด ์๋ฏธํ๋ ๋ฐ๋ **"์ค๊ฐ ๋จ๊ณ(y)์ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ์ด์ฉํด ๋์์ ๋(x → z)๊น์ง์ ์ํฅ์ ๊ณ์ฐํ ์ ์๋ค"**๋ ๊ฒ์ ๋๋ค.
๐ง 3. ๋ฅ๋ฌ๋ ์ ๊ฒฝ๋ง์์์ ์ ์ฉ
๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์๋ง์ ์ธต(Layer)์ด ๊ฒน๊ฒน์ด ์์ธ ๊ฑฐ๋ํ ํฉ์ฑ ํจ์์ ๋๋ค. ํ๋์ ๋ด๋ฐ์์ ์ผ์ด๋๋ ์ผ์ ์ฐ์ ๋ฒ์น์ผ๋ก ๋ถํดํด ๋ณด๊ฒ ์ต๋๋ค.
๊ฐ์์ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ
- ์ ๋ ฅ($x$)๊ณผ ๊ฐ์ค์น($w$)์ ๊ฒฐํฉ: z = w · x + b
- ํ์ฑํ ํจ์ ํต๊ณผ: a = δ(z)
- ์ค์ฐจ(Loss) ๊ณ์ฐ: L = (a - y_(target))^2
์ฐ๋ฆฌ๊ฐ ์๊ณ ์ถ์ ๊ฒ์ "๊ฐ์ค์น w๋ฅผ ์์ฃผ ์กฐ๊ธ ๋ฐ๊ฟจ์ ๋, ์ต์ข ์ค์ฐจ L์ ์ผ๋ง๋ ๋ณํ ๊น?" ์ฆ,

์ ๋๋ค.
์ฐ์ ๋ฒ์น์ ์ ๊ฐ
๊ฐ์ค์น w์์ ์ค์ฐจ L๊น์ง ๊ฐ๋ ค๋ฉด ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ฏ๋ก, ์ด๋ฅผ ๊ฑฐ๊พธ๋ก ํ๋์ฉ ๊ณฑํด ๋ด๋ ค์ต๋๋ค.

- 1๋จ๊ณ: "์ถ๋ ฅ๊ฐ(a)์ด ๋ณํ๋ฉด ์ค์ฐจ(L)๋ ์ด๋ป๊ฒ ๋ณํ๋๊ฐ?"
- 2๋จ๊ณ: "์ ๋ ฅ ์ดํฉ(z)์ด ๋ณํ๋ฉด ์ถ๋ ฅ๊ฐ(a)์ ์ด๋ป๊ฒ ๋ณํ๋๊ฐ?"
- 3๋จ๊ณ: "๊ฐ์ค์น(w)๊ฐ ๋ณํ๋ฉด ์ ๋ ฅ ์ดํฉ(z)์ ์ด๋ป๊ฒ ๋ณํ๋๊ฐ?"
์ด ๊ฐ๋ค์ ๋ชจ๋ ๊ณฑํ๋ฉด, ์ฐ๋ฆฌ๋ ์์ฃผ ๊น์ ๊ณณ์ ์๋ ๊ฐ์ค์น w๊ฐ ์ต์ข ์ค์ฐจ์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ ์ ํํ ์ ์ ์๊ฒ ๋ฉ๋๋ค.
๐ 4. ์ ๋ฅ๋ฌ๋์์ ์ฐ์ ๋ฒ์น์ด ๊ทธํ ๋ก ๊ฐ๋ ฅํ๊ฐ?
โ ๊ณ์ฐ์ ํจ์จ์ฑ (Dynamic Programming)
์ ๊ฒฝ๋ง์ด 100์ธต์ด๋ผ๊ณ ๊ฐ์ ํ ๋, ๋ชจ๋ ๊ฐ์ค์น์ ๋ํด ์ฒ์๋ถํฐ ๋๊น์ง ์๋ก ๋ฏธ๋ถํ๋ ๊ฒ์ ์์ฒญ๋ ๋ญ๋น์ ๋๋ค. ์ฐ์ ๋ฒ์น์ ์ฌ์ฉํ๋ฉด ์ด์ ๋จ๊ณ์์ ๊ณ์ฐ๋ ๋ฏธ๋ถ๊ฐ์ ๋ค์ ๋จ๊ณ์์ ๊ทธ๋๋ก ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ๋ฎ์ถฅ๋๋ค.
โก "๋ก์ปฌ" ์ ๋ณด๋ง์ผ๋ก ์ถฉ๋ถํจ
๊ฐ ๋ ธ๋(๋ด๋ฐ)๋ ์ ์ฒด ๋คํธ์ํฌ์ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋ ๋ฉ๋๋ค. ์ค์ง ์์ ์๊ฒ ๋ค์ด์ค๋ ๊ฐ๊ณผ ์์ ์ด ๋ด๋ณด๋ด๋ ๊ฐ ์ฌ์ด์ ๋ฏธ๋ถ๊ฐ๋ง ๊ณ์ฐํด์ ๋ค๋ก ๋๊ฒจ์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด ๋ก์ปฌ ์ ๋ณด๋ค์ด '์ฒด์ธ'์ฒ๋ผ ์ฐ๊ฒฐ๋์ด ์ ์ฒด ์์คํ ์ ์ต์ ํํ๊ฒ ๋ฉ๋๋ค.
โข ๊ธฐ์ธ๊ธฐ ์์ค(Vanishing Gradient)์ ์์ธ
๋ฐ๋๋ก, ์ฐ์ ๋ฒ์น ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ธฐ๋ ํฉ๋๋ค. ๋ฏธ๋ถ๊ฐ๋ค์ ๊ณ์ ๊ณฑํด ๋๊ฐ๋ค ๋ณด๋, ๋ง์ฝ ์ค๊ฐ ๋จ๊ณ์ ๋ฏธ๋ถ๊ฐ์ด 0.1์ฒ๋ผ ์๋ค๋ฉด ์ธต์ด ๊น์ด์ง์๋ก ์ต์ข ๊ฒฐ๊ณผ๊ฐ์ด 0์ ๊ฐ๊น์์ ธ ํ์ต์ด ์ ๋๋ ํ์์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ฅผ ์ดํดํ๋ ๋ฐํ๋ ๋ฐ๋ก ์ฐ์ ๋ฒ์น์ ๋๋ค.
๐ก ์์ฝํ์๋ฉด
์ฐ์ ๋ฒ์น์ **"๋ณต์กํ ๋ฌธ์ ๋ฅผ ์์ ๋จ์์ ๋ฏธ๋ถ์ผ๋ก ์ชผ๊ฐ๊ณ , ์ด๋ฅผ ๋ค์ ๊ณฑํด์ ์ ์ฒด์ ํด๋ต์ ์ฐพ๋ ๊ณผ์ "**์ ๋๋ค. ์ด ๋ฒ์น ๋๋ถ์ ์ฐ๋ฆฌ๋ ์๋ฌด๋ฆฌ ๊ฑฐ๋ํ ์ธ๊ณต์ ๊ฒฝ๋ง์ด๋ผ๋ ์ํ์ ์ผ๋ก ์ ํํ๊ณ ๋น ๋ฅด๊ฒ ํ์ต์ํฌ ์ ์์ต๋๋ค.
3. ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ ํต์ฌ ์์ฝ: ์ ์ด ๊ณผ์ ์ ๊ฑฐ์น๋์?
์ญ์ ํ์ ๋ชฉ์ ์ ๊ฒฐ๊ตญ **๊ฒฝ์ฌํ๊ฐ๋ฒ(Gradient Descent)**์ ์ํํ์ฌ ๋ชจ๋ธ์ ์ต์ ํํ๋ ๊ฒ์ ๋๋ค.
- ์ค์ฐจ์ ์ฑ ์ ์ถ๊ถ: ๋ค์์๋ถํฐ ์์ผ๋ก ๊ฐ๋ฉฐ ๊ฐ ๊ฐ์ค์น๊ฐ ์ค์ฐจ์ ๊ธฐ์ฌํ ์ ๋๋ฅผ ๋ฏธ๋ถ์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
- ๊ฐ์ค์น ์์ : ๊ณ์ฐ๋ ๊ธฐ์ธ๊ธฐ(Gradient) ๋ฐฉํฅ์ผ๋ก ๊ฐ์ค์น W๋ฅผ ์กฐ๊ธ์ฉ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ๋ฐ๋ณต: ์ด ๊ณผ์ ์ ์๋ง ๋ฒ ๋ฐ๋ณตํ๋ฉด ๋ชจ๋ธ์ ์์ธก๊ฐ y^์ ์ค์ ์ ๋ต y์ ์ ์ ๊ฐ๊น์์ง๋๋ค.
ํ: ์ญ์ ํ๋ **์ฐ์ ๋ฒ์น(Chain Rule)**์ ์ด์ฉํด ๋ณต์กํ ํฉ์ฑ ํจ์์ ๋ฏธ๋ถ(์์ค ํจ์ $J$์ ๋ํ ๊ฐ์ค์น ํธ๋ฏธ๋ถ)์ ํจ์จ์ ์ผ๋ก ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
๐ค ์ ๊ฒฝ๋ง ์๋ ด
1. ํ์ต ๋ฐฉ์๋ณ ๋น๊ต: ์ด๋ป๊ฒ ๋ด๋ ค์ฌ ๊ฒ์ธ๊ฐ?
ํ์ต ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ํ ๋ฒ์ ๋ณผ ๊ฒ์ธ์ง, ์๋๋ฉด ์กฐ๊ธ์ฉ ๋๋์ด ๋ณผ ๊ฒ์ธ์ง์ ๋ฐ๋ผ ํฌ๊ฒ ์ธ ๊ฐ์ง๋ก ๋๋ฉ๋๋ค.
โ ๊ธฐ๋ณธ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ (Batch Gradient Descent)
๋ชจ๋ ํ์ต ๋ฐ์ดํฐ์ ์ ํ๊บผ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ธฐ์ธ๊ธฐ(Gradient)๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ํน์ง: ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ณธ ๋ค์ ๊ฐ์ค์น๋ฅผ ๋ฑ ํ ๋ฒ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ์ฅ์ : ๊ฒฝ๋ก๊ฐ ๋งค์ฐ ๋งค๋๋ฝ๊ณ ์์ ์ ์ผ๋ก ์๋ ดํฉ๋๋ค.
- ๋จ์ : ๋ฐ์ดํฐ๊ฐ ์๋ฐฑ๋ง ๊ฑด์ด๋ผ๋ฉด ํ ๋ฒ ์ ๋ฐ์ดํธํ๋ ๋ฐ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ(OOM) ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
โก ์จ๋ผ์ธ ํ์ต ๋ฐฉ์ (Stochastic Gradient Descent, SGD)
๋งค ์คํ ๋ง๋ค ๋ฑ ํ๋์ ๋ฐ์ดํฐ๋ง ๋ฌด์์๋ก ๊ณจ๋ผ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ํน์ง: ์ ๋ฐ์ดํธ๊ฐ ๋งค์ฐ ๋น๋ฒํ๋ฉฐ, ๊ฒฝ๋ก๊ฐ ๋ง์น '์ ์ทจํ ์ฌ๋'์ฒ๋ผ ์ฌํ๊ฒ ์๋์น๋ฉฐ ๋ด๋ ค๊ฐ๋๋ค.
- ์ฅ์ : ๊ณ์ฐ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๊ณ , ์ด๋ฏธ์ง ์์ **Local cost minimum(์ง์ญ ์ต์๊ฐ)**์ ๊ฐํ์ ๋ ์๋์น๋ ํ์ผ๋ก ํ๊ฒจ ๋์ Global minimum์ผ๋ก ํฅํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ๋จ์ : ์ต์๊ฐ ๊ทผ์ฒ์ ๋๋ฌํด๋ ๋ฉ์ถ์ง ์๊ณ ์ฃผ๋ณ์ ๊ณ์ ๋ฐฐํํ ์ ์์ต๋๋ค.
โข ๋ฏธ๋๋ฐฐ์น ๋ฐฉ์ (Mini-batch Gradient Descent)
๋ฐ์ดํฐ๋ฅผ ์ ๋นํ ํฌ๊ธฐ(์: 32, 64, 128๊ฐ)๋ก ๋ฌถ์ด ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก, ํ์ฌ ๋ฅ๋ฌ๋์์ ๊ฐ์ฅ ํ์ค์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ง: GD์ ์์ ์ฑ๊ณผ SGD์ ์๋๋ผ๋ ์ฅ์ ์ ์ ์ ํ ์์์ต๋๋ค.
- ์ฅ์ : GPU์ ๋ณ๋ ฌ ์ฐ์ฐ ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํ ์ ์์ด ํจ์จ์ ์ด๋ฉฐ, ์ ๋นํ ๋ ธ์ด์ฆ๊ฐ ์์ด ์ง์ญ ์ต์๊ฐ์ ํผํ๋ ๋ฐ ๋์์ ์ค๋๋ค.

2. ์๋ ด์ ํต์ฌ ๋๊ด
์ด๋ฏธ์ง์์ ๋ณผ ์ ์๋ฏ์ด, ์๋ ด ๊ณผ์ ์๋ ํฐ ๋ฐฉํด ์์๊ฐ ์์ต๋๋ค.
- Local Cost Minimum (์ง์ญ ์ต์๊ฐ): ์ฐ์ ๋ด๋ ค์ค๋ค ๋ง๋ ์์ ์ ๋ฉ์ด์ ๋๋ค. ๋ชจ๋ธ์ ์ฌ๊ธฐ๊ฐ ์ต์ ์ ์ธ ์ค ์ฐฉ๊ฐํ๊ณ ๋ฉ์ถ ์ ์์ต๋๋ค.
- Global Cost Minimum (์ ์ญ ์ต์๊ฐ): ์ฐ๋ฆฌ๊ฐ ์ง์ง ๋ชฉํ๋ก ํ๋ ๊ฐ์ฅ ๊น์ ๊ณจ์ง๊ธฐ์ ๋๋ค.
- Random Initial Condition: ์ฒ์์ ๊ณต์ ์ด๋์ ๋จ์ด๋จ๋ฆฌ๋๋์ ๋ฐ๋ผ ๋๋ฌํ๋ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
[!NOTE]
์ต๊ทผ์ ๋ฅ๋ฌ๋ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด, ๊ณ ์ฐจ์ ์ ๊ฒฝ๋ง์์๋ ์ง์ญ ์ต์๊ฐ๋ณด๋ค ์์ฅ์ (Saddle Point)—ํ์ชฝ์ผ๋ก๋ ๋ด๋ ค๊ฐ์ง๋ง ๋ค๋ฅธ ์ชฝ์ผ๋ก๋ ์ฌ๋ผ๊ฐ๋ ์งํ—์ ๊ฐํ๋ ๊ฒ์ด ๋ ํฐ ๋ฌธ์ ๋ก ์ง์ ๋๊ธฐ๋ ํฉ๋๋ค.
3. ํ๋์ ๋ณด๋ ๋น๊ตํ
| ๊ตฌ๋ถ | ๋ฐ์ดํฐ ์ฌ์ฉ๋ | ์๋ ด ์๋ (1ํ ์ ๋ฐ์ดํธ ๊ธฐ์ค) | ์์ ์ฑ | ํน์ง |
| Batch GD | ์ ์ฒด ๋ฐ์ดํฐ | ๋งค์ฐ ๋๋ฆผ | ๋์ | ์ ํํ์ง๋ง ๋ฌด๊ฒ๊ณ ๋๋ฆผ |
| SGD (Online) | 1๊ฐ | ๋งค์ฐ ๋น ๋ฆ | ๋ฎ์ (์๋์นจ) | ์ง์ญ ์ต์๊ฐ ํ์ถ์ ์ ๋ฆฌ |
| Mini-batch | ์ง์ ํ ๋ฌถ์ ๋จ์ | ๋น ๋ฆ | ๋ณดํต | ํ์ฌ ๋ฅ๋ฌ๋ ํ์ค |
๋ค์ธต ์ ๊ฒฝ๋ง(Deep Neural Networks)์ฒ๋ผ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ฐฑ๋ง ๊ฐ์ ๋ฌํ๊ณ ๋ฐ์ดํฐ์ ์ด ๋ฐฉ๋ํ ๋ณต์กํ ๋ชจ๋ธ์์๋ **๋ฏธ๋๋ฐฐ์น ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Mini-batch Gradient Descent)**์ ๊ธฐ๋ฐ์ผ๋ก ํ **์ ์ํ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ(Adaptive Optimization Algorithms)**์ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋จ์ํ "๋ด๋ ค๊ฐ๋ ๊ฒ"์ ๋์ด, "์ผ๋ง๋ ๋น ๋ฅด๊ฒ, ์ด๋ค ๋ฐฉํฅ์ผ๋ก" ๋ด๋ ค๊ฐ์ง๋ฅผ ์ํ์ ์ผ๋ก ์ ๊ตํ๊ฒ ๊ณ์ฐํ๋ ๋ฐฉ์๋ค์ ๋๋ค.
1. ์ ๋ฏธ๋๋ฐฐ์น ๋ฐฉ์์ ์ ํํ ๊น?
๋ณต์กํ ๋ชจ๋ธ์ผ์๋ก ์๋ ๋ ๊ฐ์ง ์ด์ ๋๋ฌธ์ ๋ฏธ๋๋ฐฐ์น ๋ฐฉ์์ด ๊ฐ์ ๋ฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ํ๊ณ: ์ ๊ธฐ๊ฐ๋ฐ์ดํธ(GB)์ ๋ฌํ๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ GPU ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค(Batch GD์ ํ๊ณ).
- ๋ณ๋ ฌ ์ฐ์ฐ์ ํจ์จ์ฑ: ํ๋์ GPU๋ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ฒ๋ฆฌํ๋ ๋ฐ ํนํ๋์ด ์์ต๋๋ค. ๋ฏธ๋๋ฐฐ์น(์: 32, 64, 128๊ฐ) ๋จ์๋ก ๊ณ์ฐํ ๋ ํ๋์จ์ด ์ฑ๋ฅ์ ์ต๋๋ก ๋์ด๋ผ ์ ์์ต๋๋ค.
2. ๋ณต์กํ ๋ชจ๋ธ์์ ์ฌ์ฉํ๋ ํต์ฌ ๊ธฐ์ : "Optimizer"
๋จ์ํ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ๋ณต์กํ ์งํ(Local Minimum, Saddle Point)์์ ๊ธธ์ ์๊ธฐ ์ฝ์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค์ ํ์ ์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐ์ ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฐํฉํฉ๋๋ค.
โ ๊ด์ฑ์ ์ด์ฉํ๋ '๋ชจ๋ฉํ (Momentum)'
- ์๋ฆฌ: ๊ฐ๋ ๋ฐฉํฅ์ผ๋ก ๊ณ์ ๊ฐ๋ ค๋ ์ฑ์ง์ ์ด์ฉํฉ๋๋ค.
- ํจ๊ณผ: ๊ฒฝ์ฌ๊ฐ ์๋งํ ๊ณณ์์๋ ๋น ๋ฅด๊ฒ ์ด๋ํ๊ณ , ์์ ์ง์ญ ์ต์๊ฐ(Local Minimum)์ ๊ด์ฑ์ ํ์ผ๋ก ํต๊ณผํ ์ ์๊ฒ ๋์ต๋๋ค.
โก ๋ณดํญ์ ์กฐ์ ํ๋ '์ ์ํ ํ์ต๋ฅ (Adaptive Learning Rate)'
- RMSProp / Adagrad: ๋ง์ด ๋ณํ ํ๋ผ๋ฏธํฐ๋ ๋ณดํญ์ ์ค์ด๊ณ , ์ ๊ฒ ๋ณํ ํ๋ผ๋ฏธํฐ๋ ๋ณดํญ์ ๋ํ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๊ฐ ๊ณจ๊ณ ๋ฃจ ํ์ต๋๊ฒ ํฉ๋๋ค.
- Adam (Adaptive Moment Estimation): ํ์ฌ ๋ฅ๋ฌ๋์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ฐฉ์์ ๋๋ค. ๋ชจ๋ฉํ ์ '๊ด์ฑ'๊ณผ RMSProp์ '๋ณดํญ ์กฐ์ ' ์ฅ์ ์ ํฉ์น ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.