[Gradient Descent] part 3 - 1
๐ฏ Keyword ๐ฏ
- Gradient Descent
- Batch Gradient Descent
- Stochastic Gradient Descent
Gradient Descent
์ด์ ์ ์ค๋ช ํ Gradient Descent Algorithm์ "Batch Gradient Descent Algorithm"์ ๋๋ค.
Batch Gradient Descent Algorithm
- Linear regression model์์ ๋ชฉ์ ํจ์ J์ partial derivative term์ ๋ฃ์ด์ θ0, θ1์ ๋ฐ๊พธ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
- ๋น๋ก local optimum์ด ์ทจ์ฝํ์ง๋ง, ์ด๋ ์ ๋ ์๋ ด์ด ๋์ด ๊ฐ๋ ์ฅ๋ฉด์ ๋ณผ ์ ์์ต๋๋ค.
- ๋จ์ : θ0, θ1์ updateํ๋ ๊ณผ์ ์์ sample์ ๊ฐ์๋ฅผ ๋ชจ๋ ๊ณ ๋ คํด์ผํ๋ค๋ ๊ฒ์
๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ ์ฒด sample์ error๋ฅผ ๊ณ์ฐํ๊ฒ ๋๊ณ , ๋ชจ๋ sample์ ๋ํด์ ์ ๋ถ๋ค acumulation์ ํด์ผ θ๋ค์ ํ ๋ฒ updateํ ์ ์
์ต๋๋ค.
์ฆ, data sample์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ฉด ์ฆ๊ฐํ ์๋ก, ๋ณต์ก๋๊ฐ ๊ต์ฅํ ์ปค์ง๊ฒ ๋ฉ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, sample์ ๊ฐ์ m์ 1๋ก ๊ทน๋จ์ ์ผ๋ก ์ค์ฌ์ ๋ง๋ algorithm์
Stochastic Gradient Descent (SGD)
๋ผ๊ณ ํฉ๋๋ค.
- ์ฅ์ : batch gradient descent์ ๋นํด ๋น ๋ฅด๊ฒ ๋ ์ ์๋ค.
- ๋จ์ : sample ํ๋ํ๋ ๋ง๋ค ๊ณ์ฐ์ ํตํด์ parameter๋ฅผ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ noise์ ์ํฅ์ ๋ฐ๊ธฐ ์ฝ๊ฒ ๋ฉ๋๋ค.
์๋ ดํ๋ ๊ณผ์ ์์ ๋ง์ oscillation์ด ๋ฐ์ํ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
- Gradient Descent๊ฐ ์์ํ๋ point์ ๋ฐ๋ผ์ local optimum์ ๋ฌ์ฑํ๋๋, global optimum์ ๋ฌ์ฑํ๋๋๊ฐ ๊ฐ๋ฆฝ๋๋ค.
- Saddle point์ ๊ฐ์ด ์ด๋ ํ ๋ฐฉํฅ์ผ๋ก ์๋ ดํ๊ฒ ๋ ๋, gradient ๊ฐ์ด 0์ด ๋์ด์ local optimum์ ๋น ์ง๊ฒ ๋๋ ์ง์ ๋ค์ด ๋ค์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
์ด๋ฌํ suboptimumํ problem๋ค์ ํด๊ฒฐ ํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผํ ๊น์?
=> ๊ธฐ์กด์ gradient descent algorithm์์ ๋ค์ํ ๋ณํ algorithm๋ค์ด ๊ฐ๋ฐ๋์์ต๋๋ค.
- Momentum
๊ณผ๊ฑฐ์ Gradient๊ฐ ์ ๋ฐ์ดํธ ๋์ด์ค๋ ๋ฐฉํฅ ๋ฐ ์๋๋ฅผ ์ด๋ ์ ๋ ๋ฐ์ํด์ ํ์ฌ ํฌ์ธํธ์์ Gradient๊ฐ 0์ด ๋๋๋ผ๋ ๊ณ์ํด์ ํ์ต์ ์งํํ ์ ์๋ ๋๋ ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
- Method of momentum
- Exponentially weighted moving average
-> low pass filtering์ ์ฐ์ฐ
-> ํ์ฌ ํฌ์ธํธ์์์ saddle point๋ ์์ noise gradient ๊ฐ์ ๋ณํ๊ฐ ์์ ์ ์ผ๋ก ์๋ ดํ ์ ์๊ฒ ํฉ๋๋ค.
๐ก ์ค๋ น gradient ๊ฐ์ด 0์ด ๋๋๋ผ๋ ํ์ต์ ์ด์ด์ ์งํํ ์ ์๊ฒ ๋ฉ๋๋ค.
-> ๋ Advanced๋ ๋ฐฉ์์ธ nesterov momentum ๋ฐฉ์์ด ์กด์ฌํฉ๋๋ค.
- nesterov momentum
- ๊ธฐ์กด์ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ gradient๋ฅผ ๋จผ์ ํ๊ฐํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ํด์ฃผ๊ฒ ๋ฉ๋๋ค.
- ๊ทธ๋์, ์ด ๋ฐฉ์์ "look ahead gradient step"์ ์ด์ฉํ๋ค๊ณ ์ด์ผ๊ธฐ ํฉ๋๋ค.
Momentum ๋ฐฉ์์ momentum step๊ณผ gradient step์ ํฉ์ณ์ actual step์ ๊ณ์ฐํฉ๋๋ค.
Nesterov momentum ๋ฐฉ์์ mementum step์ ๊ณ์ฐํ ์ํ์์ "lookahead" gradient step์ ๊ณ์ฐํ์ฌ ๋ฒกํฐ ํฉ์ ๊ณ์ฐํ์ฌ actual step์ ๊ณ์ฐํฉ๋๋ค.
- AdaGrad
๊ฐ ๋ฐฉํฅ์ผ๋ก์ learning rate๋ฅผ ์ ์์ ์ผ๋ก ์กฐ์ ํ์ฌ ํ์ต ํจ์จ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฆ, Acumulate gradient ๊ฐ์ ํตํด learning rate๋ฅผ ์กฐ์ ํ๊ฒ ๋ฉ๋๋ค.
์ด๋ ํ ์ชฝ์ผ๋ก gradient ๊ฐ์ด ํฌ๋ค๋ฉด ์ด๋ฏธ ๊ทธ ๋ฐฉํฅ์ผ๋ก ํ์ต์ด ๋ง์ด ์งํ๋์์์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด gradient ๊ฐ์ด ๋ง์ด ๋์ ๋์ด โθ๊ฐ์ด ์์์ ธ์ ๊ทธ๋งํผ ์๋ ด ์๋๋ฅผ ์ค์ด๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๋จ์ : gradient ๊ฐ์ด ๊ณ์ํด์ ๋์ ๋จ์ ๋ฐ๋ผ, learning rate ๊ฐ์ด ๊ต์ฅํ ์์์ง๊ฒ ๋๋ค๋ ๊ฒ์ ๋๋ค.
Learning rate ๊ฐ์ด ์์์ง๋ค๋ฉด ?
-> Learning rate ๊ฐ์ด ์์์ง๊ฒ ๋๋ฉด ํ์ต์ด ๊ทธ ์ง์ ์์ ์ผ์ด๋์ง ์๊ฒ ๋ ๊ฒ์ ๋๋ค.
=> ์ด๋ฌํ ๋ฐฉ์์ ์์ ํ ๊ฒ์ด RMSProp algorithm์ ๋๋ค.
- RMSProp algorithm
r์ ๊ฐ์ ์ฐ๋ฆฌ๊ฐ ๊ณผ๊ฑฐ์ r ๋งํผ์ ρ(๋ก์ฐ) factor๋ฅผ ๊ณฑํด์ ์ด๋ ์ ๋ ์กฐ์ ์ ํ๊ฒ ๋ฉ๋๋ค.
๊ณผ๊ฑฐ์ ๊ฐ์ด ๊ทน๋จ์ ์ผ๋ก gradient ๊ฐ์ด ๋์ ๋จ์ ๋ฐ๋ผ์ θ๊ฐ์ด ์ค์ด๋๋ ๊ฒ์ด ์๋๋ผ ์ด๋ ์ ๋ ์์ถฉ๋ ํํ๋ก ํ์ต ์๋๊ฐ ์ค์ด๋ญ๋๋ค.
- Adam
Adaptive moment estimation
RMSProp + Momentum ๋ฐฉ์์ ํผํฉํ ๊ฒ.
- ์ฒซ ๋ฒ์งธ momentum์ ๊ณ์ฐํฉ๋๋ค.
- RMSProp ๋ฐฉ์์ผ๋ก ๋ ๋ฒ์งธ momentum์ ๊ณ์ฐํฉ๋๋ค.
- bias๋ฅผ correctionํฉ๋๋ค.
- parameter๋ฅผ ์ ๋ฐ์ดํธ ํฉ๋๋ค.
'Artificial Intelligence' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linear Classification] part 4 - 1 (2) | 2023.01.19 |
---|---|
[Parameter] part 3 - 2 (0) | 2023.01.16 |
[Gradient Descent] part 2 - 3 (0) | 2023.01.14 |
[Linear Regression] part 2 - 2 (0) | 2023.01.14 |
[Linear Regression] part 2 - 1 (0) | 2023.01.14 |