ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AI] ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(feat: ์ตœ์ ํ™”, ์†์‹ค ํ•จ์ˆ˜) - ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„(1)
    ๐Ÿ’ปProgramming/AI 2023. 10. 17. 16:27
    ๋ฐ˜์‘ํ˜•

    ๐Ÿ”— ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์ด๋ž€?

    • ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต ์‹œ ์‚ฌ์šฉ ๋˜๋Š” “์ตœ์ ํ™” ๋ฐฉ๋ฒ•” ์ค‘ ํ•˜๋‚˜๋กœ ,
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•˜๋Š” “์ง์„ ” ํ•˜๋‚˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ. = ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต ์‹œ ๋ชฉํ‘œ๋Š” ์˜ˆ์ธก๊ฐ’๊ณผ ์ •๋‹ต๊ฐ’ ๊ฐ„์˜ ์ฐจ์ด์ธ ์†์‹คํ•จ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”์‹œํ‚ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ฒƒ
    • ๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€: ํ•˜๋‚˜์˜ ๋…๋ฆฝ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์„ ํ˜•ํšŒ๊ท€๋ถ„์„์„ ํ•˜๋Š” ๊ฒƒ.
      • ์˜ˆ: y=wx+b. ํ‚ค์— ๋”ฐ๋ผ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ๋‹ฌ๋ผ์ง(ํ‚ค-๋…๋ฆฝ๋ณ€์ˆ˜, ๋ชธ๋ฌด๊ฒŒ-์ข…์†๋ณ€์ˆ˜) -> ์ด ์‹์„ ๊ตฌํ•œ๋‹ค๋ฉด, ์ผ๋ฐ˜์ ์ธ ์‚ฌ๋žŒ์˜ ํ‚ค์— ๋”ฐ๋ฅธ ๋ชธ๋ฌด๊ฒŒ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์œ„์˜ ์‹์—์„œ w์™€ b๋Š” Weight์™€ Bias๋กœ ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์„ ์˜๋ฏธํ•œ๋‹ค.
    • ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€: ๋…๋ฆฝ๋ณ€์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์„ ํ•˜๋Š” ๊ฒƒ.
    • ์„ ํ˜• ํšŒ๊ท€๋ฅผ ํ†ตํ•ด์„œ “๋ณ€์ˆ˜๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„”๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
    • ์„ ํ˜• ํšŒ๊ท€๋ฅผ ์•Œ๊ธฐ ์ „์— ์ตœ์ ํ™”์™€ ์†์‹ค ํ•จ์ˆ˜์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค. 

    ๐Ÿ”— ์ตœ์ ํ™”(Optimization)๋ž€?

    • ์ธ๊ณต์ง€๋Šฅ์—์„œ ์‹ ๊ฒฝ๋ง์ด ํ•™์Šตํ•  ๋•Œ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ์‹ <- ์„ ํ˜• ํšŒ๊ท€ ๋ฐฉ์‹์—์„œ๋Š” ์ด ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ w์™€ b ์ฆ‰, ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์ด๋‹ค. ์ ์ ˆํ•œ ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์ด ์ตœ์ ํ™”
    • ๋ชจ๋ธ์˜ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์˜ค์ฐจ(=error, loss)๋ผ๊ณ  ํ•˜๋ฉฐ ์ด ์˜ค์ฐจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์˜ˆ์ธก ๊ฐ’์ด ์‹ค์ œ ๊ฐ’๊ณผ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€์ด ์†์‹คํ•จ์ˆ˜(Loss Function)์ด๋‹ค. -> ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ํ•„์š”.

    ๐Ÿ”— ์†์‹ค ํ•จ์ˆ˜(Loss Function)

    • ๋ชจ๋ธ์˜ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’์˜ ์ฐจ์ด๋ฅผ loss๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์„ ํ•จ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , ๊ทธ ํ•จ์ˆ˜๋ฅผ ์†์‹ค ํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ์†์‹ค ํ•จ์ˆ˜์˜ ๊ฐ’์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. 
    • ์†์‹คํ•จ์ˆ˜์˜ ์ข…๋ฅ˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์žˆ๋‹ค. ๊ทธ ์ค‘์— ๋งŽ์ด ์‚ฌ์šฉ ๋˜๋Š” ๋‘ ๊ฐ€์ง€๋ฅผ ์•Œ์•„๋ณด์ž!

    ๐Ÿ“ ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ(MSE, Mean Squared Error)

    • ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’์„ ๋บ€ ๊ฐ’๋“ค์„ ๊ฐ๊ฐ ์ œ๊ณฑํ•˜์—ฌ ํ‰๊ท ์„ ๊ณ„์‚ฐ
    • ์ œ๊ณฑ์„ ํ•จ์œผ๋กœ์จ ‘๋ถ€ํ˜ธ’๋ฅผ ์—†์• ์ค€๋‹ค. → ์ฐจ์ด ๊ฐ’์ด ์–‘์ˆ˜์ด๋˜์ง€ ์Œ์ˆ˜์ด๋˜์ง€ ์˜ค์ฐจ๋Š” ์˜ค์ฐจ์ธ๋ฐ, ๊ทธ ์ฐจ์ด๋“ค์ด ๋”ํ•ด์ง€๋ฉด์„œ ์ƒ์‡„๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ.
    • n: ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜
    • y: ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’
    • yฬ‚: ์˜ˆ์ธก๊ฐ’

    ๐Ÿ“ ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ(MAE, Mean Absolute Error)

    • ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ๋Š” ๋ชจ๋“  ์ ˆ๋Œ€ ์˜ค์ฐจ์˜ ํ‰๊ท 

    ๐Ÿ“ MSE vs MAE

    • ์ ˆ๋Œ“๊ฐ’ ์—ฐ์‚ฐ์ด ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ์— ์žˆ์–ด ๋‹จ์ˆœ ๊ณฑ ์—ฐ์‚ฐ์— ๋น„ํ•ด ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.
    • MSE ํ•จ์ˆ˜๋Š” ์ œ๊ณฑ์„ ํ•˜๊ฒŒ ๋จ์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๊ฐ•์กฐ๋จ.
    • ์‹ค์ œ๋กœ๋Š” MSE๊ฐ€ ๋” ๋งŽ์ด ์‚ฌ์šฉ๋จ.

    ๐Ÿ”— ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์„ ํ†ตํ•œ ์ตœ์ ํ™”

    ๐Ÿ“๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์ด๋ž€?

    • ์˜ค์ฐจ ํ•จ์ˆ˜์˜ ๊ฐ’์ด ์ตœ์†Œ์ธ ์ง€์ ์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๊ธฐ์šธ๊ธฐ๋Š” ์ ์  ์ž‘์•„์ง€๋Š” ๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ ์  ์ค„์—ฌ๋‚˜๊ฐ€๋ฉด์„œ ์ตœ์ข…์ ์œผ๋กœ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ธฐ์šธ๊ธฐ๋กœ ์ˆ˜๋ ดํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ตœ์ ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ฐพ๋Š” ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ด๋‹ค.
    • ํ•จ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์—์„œ ์ด์šฉ
    • ๋ฏธ๋ถ„ ๊ณ„์ˆ˜๊ฐ€ 0์ธ ์ง€์ ์„ ์ฐพ์ง€ ์•Š๊ณ  ๊ตณ์ด ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
      • ํ•จ์ˆ˜๊ฐ€ ๋‹ซํžŒ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ
      • ํ•จ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด ๋ฏธ๋ถ„ ๊ณ„์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ
      • Gradient Descent๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋ฏธ๋ถ„ ๊ณ„์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๋” ์‰ฌ์šด ๊ฒฝ์šฐ
      • ๋ฐ์ดํ„ฐ ์–‘์ด ๋„ˆ๋ฌด ๋งŽ์„ ๋•Œ ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ

    ๐Ÿ“ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ๊ณผ์ •

    1. ํ˜„์žฌ ์ง€์ ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜์—ฌ ๋‚ด๊ฐ€ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ์ •ํ•œ๋‹ค.(์•„๋ž˜์˜ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์ˆ˜์‹ ์œ ๋„ ์ฐธ๊ณ )
    2. ํ•œ ๋ฒˆ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ์–ผ๋งˆ๋‚˜ ์ด๋™ํ•  ๊ฒƒ์ธ์ง€ step size(=learning rate)๋ฅผ ๊ณฑํ•ด์„œ ๊ทธ๋งŒํผ ์ด๋™
    3. ์ตœ์ ์˜ ํ•ด๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณต

    ๐Ÿ“ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์˜ ์ˆ˜์‹ ์œ ๋„

    • Gradient Descent๋ž€ ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ด์šฉํ•ด x์˜ ๊ฐ’์„ ์–ด๋””๋กœ ์˜ฎ๊ธธ ๋•Œ ์ตœ์†Ÿ๊ฐ’์„ ๊ฐ–๊ฒŒ ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ๋ฐฉ๋ฒ•.
    • ๊ธฐ์šธ๊ธฐ๊ฐ€ ์–‘์ˆ˜: x๊ฐ€ ์ปค์งˆ์ˆ˜๋ก y๋„ ์ปค์ง.
    • ๊ธฐ์šธ๊ธฐ ์Œ์ˆ˜: x๊ฐ€ ์ปค์งˆ์ˆ˜๋ก y๋Š” ์ž‘์•„์ง.

    → ๊ธฐ์šธ๊ธฐ๊ฐ€ ์–‘์ˆ˜์ผ ๋• x๊ฐ€ ์ž‘์•„์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์˜ฎ๊ธฐ๊ณ , ๊ธฐ์šธ๊ธฐ๊ฐ€ ์Œ์ˆ˜์ผ ๋• y๊ฐ€ x๊ฐ€ ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์˜ฎ๊ฒจ์•ผํ•œ๋‹ค.

    • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์ˆ˜์‹

    • α(=learning rate ๋ผ๊ณ ๋„ ํ•จ.)๋Š” step size๋กœ ๋‹ค์Œ step์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์–ผ๋งˆ๋‚˜ ์ด๋™ํ• ์ง€๋ฅผ ๊ฒฐ์ • ์ง“๋Š” ์ˆ˜
    • ์ ์ ˆํ•œ ํฌ๊ธฐ์˜ step size๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. step size๊ฐ€ ํฌ๋ฉด ํ•œ ๋ฒˆ ์ด๋™ํ•  ๋•Œ ํฌ๊ฒŒํฌ๊ฒŒ ์ด๋™ํ•˜๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋„ˆ๋ฌด ํฌ๊ฒŒ ์„ค์ •ํ•ด๋ฒ„๋ฆฌ๋ฉด ์ตœ์†Ÿ๊ฐ’์— ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ•จ์ˆ˜๊ฐ’์ด ๊ณ„์† ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ตœ์ ํ™”๊ฐ€ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.
    • step size๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ์ตœ์†Ÿ๊ฐ’์— ์ˆ˜๋ ดํ•˜๋Š”๋ฐ ๋„ˆ๋ฌด ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

    → ์ ์ ˆํ•œ ๊ฐ’์˜ α ์ฆ‰, step size๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

    ๐Ÿ“ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์˜ ํ•œ๊ณ„ - Local Minimua

    • global maximum๊นŒ์ง€ ๊ฐ€์ง€ ๋ชปํ•˜๊ณ , local minima(๊ตญ์†Œํ•ด)์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
    • ๊ฐœ์„ ๋œ ํ˜•ํƒœ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•(momantum, stocastic gradient descent…) ์ด ์กด์žฌ.

    ๐Ÿ”— ์ •๋ฆฌ

    • ์ตœ์ ํ™”๋ž€, ์ธ๊ณต์ง€๋Šฅ์—์„œ ์‹ ๊ฒฝ๋ง์ด ํ•™์Šตํ•  ๋•Œ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•˜๊ณ , ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ค‘์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ, ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ์€ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์ด๋‹ค. ์ด ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์€ ๊ธฐ์šธ๊ธฐ์˜ ๊ฐ’์„ ์ด์šฉํ•ด ์†์‹ค ํ•จ์ˆ˜์˜ ๊ฐ’์„ ์ค„์—ฌ ๊ฐ€๋ฉด์„œ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ„๋‹ค.

    ๐Ÿ“š References

    https://dotiromoook.tistory.com/25

    https://angeloyeo.github.io/2020/08/16/gradient_descent.html


    ๐Ÿ”— ๋‹ค์Œ ๊ธ€ 

    https://suucong.tistory.com/53 

     

    [AI] ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(feat: ์ตœ์ ํ™”, ์†์‹ค ํ•จ์ˆ˜) - ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„(2) with Python(ํŒŒ์ดํ† ์น˜)

    ๐Ÿ”— ํŒŒ์ดํ† ์น˜ 2017๋…„ ์ดˆ์— ๊ณต๊ฐœ๋œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์—ฐ๊ตฌ์ž๋“ค์ด ์‰ฝ๊ฒŒ GPU๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์คŒ ํŽ˜์ด์Šค๋ถ์˜ ์ธ๊ณต์ง€๋Šฅ ์—ฐ๊ตฌํŒ€(AI Research) ๋ฉค

    suucong.tistory.com

     

     

    ๋ฐ˜์‘ํ˜•
Designed by Tistory.