ํค์๋
- ์ ๊ฒฝ๋ง ํ์ต ๋ฉ์ปค๋์ฆ(์์ ํ, ์์ค ๊ณ์ฐ, ์ญ์ ํ)
- ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Gradient Descent ; GD) : ๊ฐ์ค์น๊ฐ ๊ฐฑ์ ๋๋ ๊ณผ์
- ์ตํฐ๋ง์ด์ (Optimizer)์ ๊ฐ๋
์ ๊ฒฝ๋ง ํ์ต
- ๋ฐ์ดํฐ ์ ๋ ฅ ๋ฐ ์ ๊ฒฝ๋ง ๊ฐ ์ธต์์ ๊ฐ์ค์น ๋ฐ ํ์ฑํ ํจ์ ์ฐ์ฐ์ ์ํ
- ๋ชจ๋ ์ธต์์ 1์ ๊ณผ์ ์ ์งํ ํ ๋ง์ง๋ง ์ถ๋ ฅ์ธต์์ ๊ฐ์ ์ถ๋ ฅ(์ถ๋ ฅ๊ฐ)
- ์์ค ํจ์๋ฅผ ํตํด ์์ธก๊ฐ(prediction)๊ณผ ์ค์ ๊ฐ(target)์ ์ฐจ์ด๋ฅผ ๊ณ์ฐ
- ๊ฒฝ์ฌํ๊ฐ๋ฒ๊ณผ ์ญ์ ํ๋ฅผ ํตํด ๊ฐ ๊ฐ์ค์น๋ฅผ ์๋กญ๊ฒ ๊ฐฑ์
- ์ด๋ค ํ์ต ์ค์ง ๊ธฐ์ค์ ๋ง์กฑํ ๋๊น์ง 1-4์ ๊ณผ์ ์ ๋ฐ๋ณต
- Iteration : 1-4์ ๊ณผ์ ์ ๋งํ๋ฉฐ ๋งค Iteration๋ง๋ค ๊ฐ์ค์น๊ฐ ๊ฐฑ์ ๋จ
- 1๋ฒ์ Iteration์๋ ์์ ํ ๊ณผ์ (1-2), ์์ค๊ณ์ฐ ๊ณผ์ (3), ์ญ์ ํ ๊ณผ์ (4)์ผ๋ก ํฌ๊ฒ 3๊ฐ์ง์ ๊ณผ์ ์ด ์์
์์ ํ(Forward Propagation)
- ์ ๊ฒฝ๋ง์ ํ์ต ๊ณผ์ ์ค 1๋ฒ์งธ ๊ณผ์
- ์ ๋ ฅ์ธต(ํน์ ์ด์ ์ ์๋์ธต)์ผ๋ก๋ถํฐ ์ ํธ(๊ฐ)๋ฅผ ์ ๋ฌ๋ฐ์
- ์ ๋ ฅ๋ ๋ฐ์ดํฐ์ ๊ฐ์ค์น-ํธํฅ ์ฐ์ฐ(๊ฐ์คํฉ) ์ํ
- 2๋ฒ์ ํตํด ๊ตฌํด์ง ๊ฐ์ ํ์ฑํ ํจ์ ์ฒ๋ฆฌ ํ ๋ค์ ์ธต์ผ๋ก ์ ๋ฌ(์ต์ข ์ ์ผ๋ก ์ถ๋ ฅ์ธต์์ ์ถ๋ ฅ๊ฐ๊น์ง ์ถ๋ ฅ)
์์ค ํจ์(Loss Function) ; ์์ค ๊ณ์ฐ
- ์ถ๋ ฅ์ธต์ ํตํด ๋์ถ๋ ์ถ๋ ฅ๊ฐ(์์ธก๊ฐ)๊ณผ ํ๊ฒ๊ฐ์ ๋น๊ตํ๋ ํจ์
- ์ฆ, ๊ฐ์ด ์์์๋ก '์์ธก์ ์ ํ๋ค'๋ ์๋ฏธ๊ฐ ๋ฉ๋๋ค.
- ๋ฌธ์ ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์์ค ํจ์๋ฅผ ์ ์ ์ํด์ฃผ์ด์ผ ํจ
- ๋ํ์ ์ผ๋ก ํ๊ท -> MSE, ์ด์ง ๋ถ๋ฅ -> categorical_cross_entropy, ๋ค์ค ๋ถ๋ฅ -> sparse_categorical_cross_entropy ๊ฐ ์์ต๋๋ค.
์ญ์ ํ(Back Propagation)
- ๋ง ๊ทธ๋๋ก ์์ ํ์๋ ๋ฐ๋์ ๋ฐฉํฅ์ผ๋ก ์์ค ํจ์๋ฅผ ํตํด ๊ณ์ฐ๋ ์์ค ์ ๋ณด๋ฅผ ์ ๋ฌํด์ฃผ๋ ๊ณผ์
- ์์ค ํจ์๋ฅผ ํตํด ์ป์ด์ง ์์ค ์ ๋ณด๋ฅผ ๋ค์ ๋ค๋ก ์ ๋ฌํ๋ฉฐ ๊ฐ ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธ
- ๋งค ๋ฒ์ itertaion๋ง๋ค ์์ค์ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธ
- ์ด๋ ๊ฒ ์์ค์ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด์ ํ์ํ ๋ฐฉ๋ฒ์ด ๊ฒฝ์ฌ ํ๊ฐ๋ฒ
๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Gradient Descent)
- ์์ค ํจ์ J์ ๊ฒฝ์ฌ(Gradient)๊ฐ ์์์ง๋ ๋ฐฉํฅ์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ฉด์ ์์ค ํจ์์ ๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
- ๋งค๋ฒ์ Iteration๋ง๋ค ํด๋น ๊ฐ์ค์น์์์ ๋น์ฉ ํจ์์ ๋ํจ์๋ฅผ ๊ณ์ฐํ์ฌ ๊ฒฝ์ฌ๊ฐ ์ ์ฐจ ์์์ง ์ ์๋๋ก ๊ฐ์ค์น๋ฅผ ๋ณ๊ฒฝ
- ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ผ ๋๋ ์์ ๋ฐฉํฅ์ผ๋ก, ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ผ ๋๋ ์์ ๋ฐฉํฅ์ผ๋ก ํฅํ๊ฒ ๋ฉ๋๋ค.
๊ฐ์ค์น
- ํน์ ๊ฐ์ค์น(ฮธi)์ ๋ํ ๊ธฐ์ธ๊ธฐ๋ ์์ค ํจ์๋ฅผ ํด๋น ๊ฐ์ค์น๋ก ํธ๋ฏธ๋ถํ์ฌ ๊ตฌํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ๊ฐ์ค์น์ ๋ํ ํธ๋ฏธ๋ถ ๊ฐ์ ์์ ๊ฐ์ Chain Rule์ ํตํด ๋ํ๋ผ ์ ์์ต๋๋ค.
์ตํฐ๋ง์ด์ (Optimizer)
๊ฒฝ์ฌํ๊ฐํ๋ ๋ฐฉ๋ฒ
- ์ ํ๋ฅผ ๋ณด์๋ฉด, ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฌํ๊ฐ๋ฒ(GD)์ ๋ชจ๋ ์ ๋ ฅ๊ฐ์ ๋ํ ์์ค ํจ์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐ ํ ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ๋ฉ๋๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก ๋ฐ์ดํฐ๊ฐ ์ปค์ง์๋ก ๊ต์ฅํ ๋ง์ ์๊ฐ์ด ํ์ํ๊ฒ ๋ฉ๋๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ด ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Stochastic Gradient Descent; SGD)์ผ๋ก Iteration ๋ง๋ค ์ ๋ ฅ๊ฐ 1๊ฐ๋ง ์ด์ฉํ์ฌ ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ๋ฉ๋๋ค. ์์ฃผ ๋น ๋ฅด์ง๋ง, ๊ทธ ๋ฐฉํฅ์ฑ์ด ์๋ชป๋ ์ ์์ต๋๋ค.(๋น ๋ฅธ๋ฐ ๋ถ์์ )
- ๊ทธ ๋ค์, SGD์ ๋จ์ ์ ์ปค๋ฒํ๊ธฐ ์ํด ๋ฑ์ฅํ ๋ฐฉ๋ฒ์ด ๋ฏธ๋๋ฐฐ์น ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Mini-batch Gradient Descent)์ ๋๋ค.
- batch_size(์ ๋ ฅ ๋ฐ์ดํฐ์ ์)๋ฅผ N๊ฐ๋ก ์ค์ ํ๊ณ Iteration๋ง๋ค N๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํตํด ๊ฐ์ค์น๋ฅผ ์์ ํฉ๋๋ค.
๋ฐ์ดํฐ ์, Batch Size, Iteration, Epoch์ ๊ด๊ณ
- ๋ฐ์ดํฐ ์ : # of Data ๋ก ์ ์ฒด ๋ฐ์ดํฐ์ ์๋ฅผ ์๋ฏธํฉ๋๋ค
- Batch size : ํ ๋ฒ์ Iteration ๋์ ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ์, ์ฃผ๋ก 2์ ๋ฐฐ์๋ก ์ค์ ํฉ๋๋ค.
- Iteration : (์์ ํ, ์์ค๊ณ์ฐ, ์ญ์ ํ)์ ๊ณผ์
- Epoch : ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ ํ์
์์) ์ ์ฒด ๋ฐ์ดํฐ ์ = 1000, batch_size = 125, epoch = 5 ์ผ ๋, ์ ์ฒด Iteration์?
๋ต : 1๋ฒ์ epoch์ Iteraion ์ 1000/125 == 8 ์ด๋ฏ๋ก, 8 * 5 == 40 ์ด ๋์ต๋๋ค.
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL]74. ์ ๊ฒฝ๋ง - Hyper parameter (0) | 2022.02.25 |
---|---|
[TIL]73. ๋ ๋์ ์ ๊ฒฝ๋ง ํ์ต์ ์ํ ๋ฐฉ๋ฒ (0) | 2022.02.24 |
[TIL]71. ์ธ๊ณต ์ ๊ฒฝ๋ง (0) | 2022.02.22 |
[TIL]70.ํผ์ ํธ๋ก (0) | 2022.02.22 |
[TIL]69. Section3_Chall (0) | 2022.02.21 |