Optimization
Epoch vs Batch vs Iteration
- Epoch
- ์ ์ฒด ๋ฐ์ดํฐ์
์ ํ ๋ฐํด ์ํํ์ฌ ํ์ตํ๋ ๊ฒ
- (Mini-)Batch
- ์ ์ฒด ๋ฐ์ดํฐ์
์ ์ฌ๋ฌ ๊ฐ์ ์์ ๋ฌถ์์ผ๋ก ๋๋์ด ํ์ตํ๋ ๋ฐฉ๋ฒ
- Iteration / Step
- 1-Epoch์ ๋ง์น๋๋ฐ ํ์ํ Mini-Batch์ ๊ฐ์
- 1-Epoch์์ Batch ๋จ์๋ก ํ์ต์ ์๋ฃํ ๊ฒ
- 1-epoch๋ฅผ ๋ง์น๋๋ฐ ํ์ํ ํ๋ผ๋ฏธํฐ ์
๋ฐ์ดํธ ํ์
- ๊ฐ Mini-Batch๋ง๋ค ํ๋ผ๋ฏธํฐ ์
๋ฐ์ดํฐ๊ฐ ํ ๋ฒ ์ฉ ์งํ๋จ
Batch Size์ Learning Rate ์ ํ๊ธฐ
Baseline ๋ชจ๋ธ์ Batch Size์ Learning Rate๋ฅผ ์๊ณ ์์ ๋, Batch Size๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ธ๋ค๋ฉด, Learning Rate๋ ์ด๋ป๊ฒ ์กฐ์ ํด์ผ ํ ๊น?
- Baseline์
batch_size = 128
, learning_rate=0.001
์ด๋ผ๊ณ ๊ฐ์
- if
batch_size = 64
๋ก 1/2๋ฐฐ ํ๋ค๋ฉด
learning_rate=0.0005
๋ก ๋๊ฐ์ด 1/2๋ฐฐ ํด์ค
- if
batch_size = 256
๋ก 2๋ฐฐ ํ๋ค๋ฉด
learning_rate=0.002
๋ก ๋๊ฐ์ด 2๋ฐฐ ํด์ค
Gradient Descent
Scalar derivative VS. Gradient
- Scalar derivative (์ค์นผ๋ผ ๋ฏธ๋ถ)
- ์ค์นผ๋ผ ๋ฏธ๋ถ์ ๊ฒฝ์ฐ, ๋ฏธ๋ถ๊ฐ์ด ์ด๋ฆ์ฒ๋ผ ์ค์นผ๋ผ ๊ฐ์ ๊ฐ๊ฒ ๋๋ค.
- ๋ฐ๋ผ์ ์ค์นผ๋ผ ๋ฏธ๋ถ์ ํ๊ฒ ๋์ ๋๋, ํด๋น ์ง์ ์์์ ์๊ฐ๊ธฐ์ธ๊ธฐ๋ฅผ ์ ์ ์๋ค.
- ์๊ฐ๊ธฐ์ธ๊ธฐ๋ ํด๋น ์ง์ ์์์ ์๋๋ก ํ์
ํ ์ ์๋ค.
- ์๊ฐ๊ธฐ์ธ๊ธฐ๋ฅผ ํตํด ๋ฐฉํฅ์ ์์ธกํ ์ ์์ง๋ง, ์๊ณผ ์์ 1์ฐจ์ ์์์ ํด์ํ ์ ์์ ์ ๋๋ก๋ง ์ ์ ์๋ค.
- Gradient (๊ทธ๋ผ๋์ธํธ) $\bigtriangledown f$
- ๊ทธ๋ผ๋์ธํธ๋ ๋ฏธ๋ถ๊ฐ์ด ๋ฒกํฐ๋ก ํํ๋๋ค.
- ํด๋น ์ง์ ์์ ๋ฏธ๋ถ ์ฐ์ฐ์ด ์ ์ฉ๋๋ค๋ ๊ฒ์ด ์ค์นผ๋ผ ๋ฏธ๋ถ๊ณผ ๊ณตํต์ ์ด์ง๋ง, ํด๋น ์์น์์์ ๋ฐฉํฅ์ 3์ฐจ์ ๊ณต๊ฐ ์์ผ๋ก ํด์ํ ์ ์๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
- $\bigtriangledown f$๋ $f$์ ๊ฐ์ด ๊ฐ์ฅ ๊ฐํ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ๋ฐฉํฅ์ ๋ํ๋ธ๋ค.
- Gradient Descent๊ฐ Global Minimum Loss์ ์๋ ดํ๊ธฐ ์ํด์๋, ๊ฐ์ฅ ๋นจ๋ฆฌ ๊ฐ์์ํค๋ ๋ฐฉํฅ์ธ $-\bigtriangledown f$๋ก ์ด๋ํ๋ค.
Stochastic Gradient Descent
Mini-batch SGD: Loop
- Sample a batch of data
- Forward prop it thriugh the graph(network), get loss
- Backprop to calculate the gradients
- Update the parameters using the gradient
Momentum
- ์ฅ์
- weight ๋ณ์๋ค์ ๋ํ ํธ๋ฏธ๋ถ ๊ณ์ ๊ฐ๋ค์ ์ฐจ์ด๊ฐ ํด ๋์๋ ๋น ๋ฅด๊ฒ ์๋ ดํ ์ ์๋๋ก ๋์์ค๋ค.
- Saddle Point๋ Local Minimum์์ ๋น ์ ธ๋์ค๋๋ก ๋์์ค๋ค.
Learning Rate Scheduling
Learning Rate Decay
- ํ์์ฑ
- ๊ณ ์ ๋ Learning Rate๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๋ชจ๋ธ์ด Global Minimum Loss์ ์๋ ดํ๊ธฐ ์ฝ์ง ์๋ค. ๋ฐ๋ผ์, ์ด๊ธฐ ํ์ต ๋จ๊ณ์์ ํฐ Learning Rate๋ฅผ ์ฌ์ฉํ์ฌ Global Minimum Loss ์ฃผ๋ณ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๊ณ , ์ ์ฐจ Learning Rate๋ฅผ ์ค์ฌ๋๊ฐ๋ฉด์ Global Minimum Loss์ ์ธ๋ถ์ ์ผ๋ก ์๋ ดํ๋๋ก ์ฌ์ฉํ๋ค.
- ๋์ ๋ฐฉ์
- ์์ ๋งํ๋๋ก, Learning Rate Decay์ ์ฒ ํ์ ์ด๊ธฐ ํ์ต ๋จ๊ณ์์๋ ํฐ Learning Rate๋ฅผ ์ฌ์ฉํ๊ณ , ํ์ต์ด ์งํ๋จ์ ๋ฐ๋ผ ์ ์ฐจ Learning Rate๋ฅผ ์ค์ฌ๋๊ฐ๋ ๊ฒ์ด๋ค. Learning Rate Decay์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ, ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ Cosine Annealing ๊ธฐ๋ฒ์ Learning Rate๊ฐ Cosine ํจ์ ๊ทธ๋ํ์ฒ๋ผ ๋ณํ๋ค. ์ด์ธ์๋ Learning Rate๊ฐ Exponential ํจ์์ ๊ฐํ์ฒ๋ผ ๋ณํ๋ ExponentialLR ๊ธฐ๋ฒ๊ณผ, ์ฌ์ฉ์๊ฐ ์ง์ ํ Step ๋ง๋ค ์ผ์ ํ๊ฒ Learning Rate๊ฐ ์ค์ด๋๋ StepLR ๊ธฐ๋ฒ ๋ฑ์ด ์๋ค.
Warmup
- ํ์์ฑ
- ๋ชจ๋ธ ํ์ต ์, ์ด๊ธฐ ํ์ต ๋จ๊ณ๋ถํฐ ํฐ Learning Rate๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ต์ ๋ถ์์ ์ ์ด๋ํ ์ ์๋ค. ๋ฐ๋ผ์, Warmup์ ํตํด ์์ Learning Rate๋ถํฐ ํ์ต์ ์์ํด์ ์ ์ฐจ ๋๋ ค๋๊ฐ๊ณ , Warmup ์ดํ์ ๊ณ ์ ๋ Learning Rate๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, Learning Rate Decay ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
- ๋์ ๋ฐฉ์
- Warmup์ ๋ชจ๋ธ์ ์ด๊ธฐ ํ์ต ๋จ๊ณ์์ ์ ์ฐจ Learning Rate๋ฅผ ๋๋ ค๋๊ฐ๋ ๊ฒ์ด๋ค. ์์ ๋งํ๋๋ก, Warmup ์ดํ์๋ ๊ณ ์ ๋ Learning Rate๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, Learning Rate Decay ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
References
- ์ธ๊ณต์ง๋ฅ ์์ฉ (ICE4104), ์ธํ๋ํ๊ต ์ ๋ณดํต์ ๊ณตํ๊ณผ ํ์ฑ์ ๊ต์๋
- uni1023.log - ๋ฐฐ์น ์ฌ์ด์ฆ(batch size), ์ํฌํฌ(epoch), ๋ฐ๋ณต(iteration)์ ์ฐจ์ด๋?
- [๋
ผ๋ฌธ์์ฝ] Classification ํ์ต๋ฐฉ๋ฒ - Bag of Tricks(2018)
- ๋คํฌ ํ๋ก๊ทธ๋๋จธ :: Gradient, Jacobian ํ๋ ฌ, Hessian ํ๋ ฌ, Laplacian