julia coding story

๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ฐœ๋…-06. loss function (1) ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ฐœ๋…-06. loss function (1)

julia-biolat 2023. 5. 9. 01:10
728x90

๐Ÿ’ก loss function : ๋ชจ๋ธ์˜ inference ๊ฒฐ๊ณผ์™€ ์‹ค์ œ๊ฐ’ ์‚ฌ์ด์˜ ํ‹€๋ฆฐ ์ •๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜

 

Source : https://datahacker.rs/003-pytorch-how-to-implement-linear-regression-in-pytorch/

  • hat y(์˜ˆ์ธก๊ฐ’ predicted value)์™€ y(traget value) ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ํ•จ์ˆ˜.
  • ๋œ ํ‹€๋ฆด ์ˆ˜๋ก(= ์ฐจ์ด๊ฐ€ ์ ์„ ์ˆ˜๋ก) ํ•™์Šต์„ ์ž˜ํ•œ ๊ฒƒ
  • ๊ทธ๋Ÿผ Loss function์˜ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€์ˆ˜๋Š” ๋ฌด์—‡์ผ๊นŒ?
  • โ†’ parameter (weight)
  • Loss function์˜ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ€์žฅ ์ž‘์•„์งˆ ์ˆ˜ ์žˆ๋Š” parameter๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ํ•™์Šต์˜ ๋ชฉํ‘œ

Loss Function Optimization

Source : https://www.kaggle.com/mrhippo/data-science-notes5-deep-learning-ann

  • Loss function์ด ์ตœ์ ์˜ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํ‹€ ํ•˜๋Š” ๊ฒƒ ์ค‘์š” (=loss๊ฐ€ ์ค„์–ด๋“œ๋Š” ๋ฐฉํ–ฅ)
  • Loss space์—์„œ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํ•ฉ์„ ์ฐพ๋Š” ๋ฌธ์ œ๋Š” ์ˆ˜ํ•™์ ์œผ๋กœ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. (๊ณ ์ฐจ์›์—์„œ์˜ ์ตœ์ ํ™” ๋ฌธ์ œ๋Š” ํ•ด๋‹ต์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์›€)
  • ํ˜„์‹ค์ ์œผ๋กœ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํ•ฉ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” โ€œgradient Descent Algorithmโ€ ์ด ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.Source : https://blog.clairvoyantsoft.com/the-ascent-of-gradient-descent-23356390836f
  • Gradient Descent algorithm์€ ์‚ฐ๋งฅ์—์„œ ์ž„์˜์˜ ํฌ์ธํŠธ์— ๋–จ์–ด์กŒ์„ ๋•Œ, ํ˜„์žฌ ์„œ ์žˆ๋Š” ์œ„์น˜์—์„œ ๊ฐ€์žฅ ๊ฐ€ํŒŒ๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํ•œ ๋ฐœ์ž๊ตญ์”ฉ ๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ตœ์„ ์„ ๋‹คํ•ด ๋ฐ‘๋ฐ”๋‹ฅ์œผ๋กœ ๋‚ด๋ ค๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•
  • practicalํ•˜๊ฒŒ ๊ต‰์žฅํžˆ ์ข‹์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํ•ฉ์„ ์ž˜ ์ฐพ์•„์ฃผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์— ์ ์šฉ๋˜์–ด ์žˆ๋Š” ์ตœ์ ํ™” ๋ฐฉ์‹์ž„
  • Gradient Descent algorithm์€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ ์ฐจ Loss Function์—์„œ ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค.
  • ๋‹จ, ๋ฌด์กฐ๊ฑด global minimum(์ตœ์†Œ๊ฐ’)์„ ์ฐพ๋Š” ๊ฒƒ์€ ์•„๋‹˜. local minimum(๊ทน์†Œ๊ฐ’)์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ(๊ทน์†Œ๊ฐ’์€ ๋ฌด์กฐ๊ฑด ์ฐพ์Œ)

Hands-on

  1. ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ Loss Function์„ 3๊ฐ€์ง€๋งŒ ์กฐ์‚ฌํ•ด๋ณด์„ธ์š”. (๋ถ„๋ฅ˜, ํšŒ๊ท€, ํด๋Ÿฌ์Šคํ„ฐ๋ง์—์„œ ํ•˜๋‚˜์”ฉ ์ฐพ์•„๋ณด๋ฉด ์ œ์ผ ์ข‹์Šต๋‹ˆ๋‹ค!)
    • ๋ถ„๋ฅ˜(Classification):
      • ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ ์†์‹ค(Cross-Entropy Loss): ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์†์‹ค ํ•จ์ˆ˜๋กœ, ์‹ค์ œ ๋ ˆ์ด๋ธ”๊ณผ ์˜ˆ์ธก๊ฐ’ ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ ์†์‹ค์€ ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ชจ๋ธ์ด ์ •ํ™•ํ•œ ํด๋ž˜์Šค๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.
      • ๋กœ์ง€์Šคํ‹ฑ ์†์‹ค(Logistic Loss): ์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์‹ค ํ•จ์ˆ˜๋กœ, ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์—์„œ ์ฃผ๋กœ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ๋ ˆ์ด๋ธ”๊ณผ ์˜ˆ์ธก๊ฐ’ ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค.
    • ํšŒ๊ท€(Regression):
      • ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ(Mean Squared Error, MSE): ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์†์‹ค ํ•จ์ˆ˜๋กœ, ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’ ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ํ‰๊ท ์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. MSE๋Š” ์˜ค์ฐจ์˜ ์ œ๊ณฑ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํฐ ์˜ค์ฐจ์— ๋” ๋งŽ์€ ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
      • ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ(Mean Absolute Error, MAE): MSE์™€ ์œ ์‚ฌํ•œ ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์‹ค ํ•จ์ˆ˜๋กœ, ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’ ์‚ฌ์ด์˜ ์ ˆ๋Œ€ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ํ‰๊ท ์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. MAE๋Š” ์˜ค์ฐจ์˜ ์ ˆ๋Œ€๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํฐ ์˜ค์ฐจ์— ๋Œ€ํ•ด ๋” ๊ท ๋“ฑํ•œ ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
    • ํด๋Ÿฌ์Šคํ„ฐ๋ง(Clustering):
      • ์ด์ƒ์น˜ ํƒ์ง€: ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฌธ์ œ์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ ˆ์ด๋ธ”์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ช…์‹œ์ ์ธ ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ด์ƒ์น˜ ํƒ์ง€ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋‚ด์—์„œ ์ด์ƒ์น˜๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ํ’ˆ์งˆ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์น˜ ํƒ์ง€ ๊ธฐ๋ฒ•์€ ๋ฐ์ดํ„ฐ์˜ ๋ฐ€๋„, ๊ฑฐ๋ฆฌ, ์ด์ƒ์น˜ ์ ์ˆ˜ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ด์ƒ์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  2. Loss function optimization์—์„œ ์ˆ˜ํ•™์ ์œผ๋กœ ์ตœ์†Œ๊ฐ’์„ ์ฐพ๋Š” analytic solution ๋Œ€์‹ , Gradient Descent๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ์ง€ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”.
  • Gradient Descent๋Š” ๋ณต์žกํ•œ ์†์‹ค ํ•จ์ˆ˜์—์„œ๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ”์šฉ์ ์ธ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ชจ๋ธ๊ณผ ์†์‹ค ํ•จ์ˆ˜์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํ™œ์šฉ ๋ฒ”์œ„๊ฐ€ ๋„“์Šต๋‹ˆ๋‹ค.
  • Gradient Descent๋Š” ๊ธฐ์šธ๊ธฐ(Gradient)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์‹ค ํ•จ์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ธฐ์šธ๊ธฐ๋Š”์†์‹ค ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ(Gradient)๋Š” ํ˜„์žฌ ์œ„์น˜์—์„œ ๊ฐ€์žฅ ๊ฐ€ํŒŒ๋ฅธ ๊ฐ•ํ•˜ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. Gradient Descent๋Š” ์ด ๊ธฐ์šธ๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์†์‹ค ํ•จ์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.