23 Fri
๋ฅ๋ฌ๋ CNN ์๋ฒฝ ๊ฐ์ด๋ - Fundamental ํธ
์์ค(Loss) ํจ์์ ์ดํด์ ํฌ๋ก์ค ์ํธ๋กํผ(Cross Entropy) ์์ธ - 01
์์ค ํจ์
์์ค ํจ์ = ๋น์ฉ ํจ์ = ๋ชฉ์ ํจ์
loss = cost = objective
๋คํธ์ํฌ ๋ชจ๋ธ์ด ์ผ๋ง๋ ํ์ต์ ๋ฐ์ดํฐ์ ์ ๋ง๊ณ ์๋์ง์ ๋ํ ์ฒ๋
ํฌ๋ก์ค ์ํธ๋กํผ ๋ก์ค
์ํํธ๋งฅ์ค์ ๊ธฐ๋ฐํ ์์ค ํจ์์ด๋ค.
Categorical CE Loss์ Binary CE Loss๊ฐ ์๋ค.
์์ค(Loss) ํจ์์ ์ดํด์ ํฌ๋ก์ค ์ํธ๋กํผ(Cross Entropy) ์์ธ - 02
์ ํ๋๋ฅผ ๋น๊ตํ๋ ๊ฒ ๋ง์ผ๋ก๋ ์์ธก์ ์ ๋ขฐ๋๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณ๋จํจ์ ๋ชจ์์ผ๋ก ์ ํ๋๊ฐ ๊ฐ์ ๋๋ค. ๋น์ฉํจ์๋ ์ ๋ขฐ๋๋ฅผ ํ์ ํ๊ธฐ ์ข๊ณ ์ฐ์์ ์ธ ๋ชจ์์ผ๋ก ์ ํ๋๊ฐ ๊ฐ์ ๋๋ค.
ํฌ๋ก์ค ์ํธ๋กํผ์ ์คํ์ด ์๋ฌ
์คํ์ด ์๋ฌ๋ ์๋ชป๋ ์์ธก์ ๋ํด์ ์๋์ ์ผ๋ก ๋์ ๋น์จ์ ํ๋ํฐ๊ฐ ๋ถ์ฌ๋์ด Loss๊ฐ์ ๋ณํ๊ฐ ์ฌํ๋ค.
์ด ์ ๋๋ฌธ์ ํฌ๋ก์ค ์ํธ๋กํผ์ ๋นํด ์๋ ด์ด ์ด๋ ต๋ค
๋, ์์ฃผ ์๋ชป๋ ์์ธก์ ๋ํด ๋ฎ์ ๋น์จ์ ํ๋ํฐ๊ฐ ๋ถ์ฌ๋๋ค.
์ตํฐ๋ง์ด์ (Optimizer)์ ์ดํด - Momentum, AdaGrad
์ต์ ํ, Optimizer
GD๋ฅผ ์ต์ ์ผ๋ก ์ ์ฉํ๋ ๋ฐฉ๋ฒ
Loss ํจ์๊ฐ ๋งค์ฐ ๋ง์ ๋ณ์์ ํจ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ์๋ ดํ์ง ์์ ๊ฐ๋ฅ์ฑ๋ ์กด์ฌํ๋ค. => ์ต์ ํ๊ฐ ํ์ํ ์ด์
์ฃผ์ Optimizer
Momentum
๊ณผ๊ฑฐ์ ์๋ ๊ฐ์ค์น๋ฅผ ๊ณ ๋ คํ๋ ์
๊ฐ๋ง๋ ๋ชจ๋ฉํ ๊ณ์๋ผ๊ณ ํ๋ฉฐ, ๋ณดํต 0.9์ ๊ฐ์ ๊ฐ์ง๋ค
์ง์ญ ์ต์์ ์ ๋น ์ ธ์ ๋ชป๋์ค๋ ํ์์ ํด๊ฒฐํ๋ค
์ข ๋ ๋นจ๋ฆฌ ์ ์ญ ์ต์์ ์ ๋์ฐฉํ ์ ์๋๋ก ํ๋ค.
AdaGrad, Adaptive Gradient
๊ทธ๋์ ์ ๊ฒ ๋ณํ๋ ๊ฐ์ค์น๋ ๋ณด๋ค ํฐ ํ์ต๋ฅ ์ ์ ์ฉํ๊ณ , ๋ง์ด ๋ณํ๋ ๊ฐ์ค์น๋ ๋ณด๋ค ์์ ํ์ต๋ฅ ์ ์ ์ฉํ๋ ์๋ฆฌ
์ก์ค๋ก ์ ๋ถ๋ชจ๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํจ
์ฒ์์๋ ํฐ ํ์ต๋ฅ ์ด ์ ์ฉ๋์ง๋ง ์ต์ ์ ์ ๊ฐ๊น์ธ ์๋ก ํ์ต๋ฅ ์ด ์์์ง๋ค
Iteration์ด ์ฆ๊ฐํ๋ฉด์ ๋ถ๋ชจ๊ฐ์ด ์ปค์ ธ์(St ๊ฐ์ด ์ปค์ง) ํ์ต๋ฅ ์ด ์์ฃผ ์๊ฒ ๋ณํ๋๋ ๋ฌธ์ ์ ์ด ์๋ค.
์ด ๋ฌธ์ ์ ์ RMSProp์ด ํด๊ฒฐํ๋ค
์ตํฐ๋ง์ด์ (Optimizer)์ ์ดํด - RMSProp, Adam
RMSProp
์ง๋์น๊ฒ ํ์ต๋ฅ ์ด ์์์ง๋ ๊ฒ์ ๋ง๊ธฐ ์ํด Gradient ์ ๊ณฑ๊ฐ์ ๋จ์ํ ๋ํ๋ ๊ฒ์ด ์๋๋ผ ์ง์ ๊ฐ์ค ํ๊ท ๋ฒ์ผ๋ก ๊ตฌํ๋ค.
๊ณผ๊ฑฐ์ ์ํฅ์ ์ค์ผ ์ ์๋๋ก ์ค์ ํ๋ฉฐ ๋ณดํต 0.9๋ฅผ ์ ์ฉ
ADAM, Adaptive Momnet Estimation
RMSProp์ ๋ฐฉ๋ฒ์ ์ ์งํ๋ ๋ชจ๋ฉํ ๋ง ์ง์ ๊ฐ์ค ํ๊ท ๋ฒ์ผ๋ก ๋ณ๊ฒฝ
์ผ๋ผ์ค์์์ ์ฌ์ฉ
SGD
keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)
lr : ํ์ต๋ฅ
momentum : 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ด์ฑ ๋งค๊ฐ๋ณ์
decay : ์ ๋ฐ์ดํธ๋ง๋ค ์ ์ฉ๋๋ ํ์ต๋ฅ ์ ๊ฐ์์จ
RMSProp
keras.optimizers.RMSprop(lr=0.01, rho=0.9, epsilon=None nesterov=False)
rho : gamma ๊ฐ
Adam
keras.optimizers.Adam(lr=0.01, beta_1=0.9, beta_2 = 0.999, epsilon=None, decay=0.0, amsgrad=False)
amsgrad : adam์ ๋ณํ์ธ amsgrad์ ์ ์ฉ์ฌ๋ถ๋ฅผ ์ค์
ํ์ต๋ฅ ์ต์ ํ ์ ํ
optimizer ๋ฐฉ์
weight update์์ ํ์ต๋ฅ ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝ
ํ๋ฒ ์ธํ ํ๋ฉด ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅ
Learning Rate Scheduler ๋ฐฉ์
์ํฌํฌ ๋ง๋ค ์ฑ๋ฅ ํ๊ฐ ์งํ ๋ฑ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ํ์ต๋ฅ ์ ๋ณ๊ฒฝ
Last updated
Was this helpful?