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?