๐Ÿšฉ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ - part06. Gradient desent (๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•)

vincaยท2022๋…„ 10์›” 26์ผ
0

๐ŸŒ“ AI/DL - theory

๋ชฉ๋ก ๋ณด๊ธฐ
7/24

๐ŸŸข Introduction

Linear Regression๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•
1. ์ž”์ฐจ ์ œ๊ณฑํ•ฉ(RSS: Residual Sum of Squares)์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฐ€์ค‘์น˜์™€ ๋ฐ”์ด์–ด์Šค ๊ตฌํ•จ
2. ์ž”์ฐจ ์ œ๊ณฑํ•ฉ์˜ ๊ทธ๋ ˆ๋””์–ธํŠธ(gradient) ๋ฒกํ„ฐ๊ฐ€ 0์ด ๋˜๋„๋ก ํ•จ (Gradient descent)

์ด ๊ธ€์—์„œ๋Š” ๋ฐฉ๋ฒ• 2๋ฅผ ์•Œ์•„๊ฐ€๋ณด๋„๋ก ํ•˜์ž.

๐Ÿ“ˆ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

ํ•œ๋งˆ๋””๋กœ..
์šฐ๋ฆฌ์˜ ๋ชจ๋ธ(์—ฌ๊ธฐ์„œ๋Š” 1์ฐจํ•จ์ˆ˜ - ์ง์„ )์ด ์ ์ ˆํ•œ ๊ธฐ์šธ๊ธฐ ๋ฐ bias๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ!
๊ทธ๋Ÿผ ์กฐ๊ธˆ์”ฉ ์˜ค์ฐจ๋ฅผ ์ค„์—ฌ๋‚˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ, ์ตœ์ ์˜ ๊ธฐ์šธ๊ธฐ ๋ฐ bias๊ฐ’์„ ์ฐพ์ž!

์šฐ๋ฆฌ๊ฐ€ part05์—์„œ ์ƒ๊ฐํ•œ(๊ฐ€์„ค) y=wx+by=wx+b ์„ ํ˜• ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐww๊ฐ€ ์–‘์˜ ๋ฌดํ•œ๋Œ€๋กœ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๊ธฐ์šธ๊ธฐ๊ฐ€ ์Œ์˜ ๋ฌดํ•œ๋Œ€๋กœ ๊ฐ์†Œํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

๊ธฐ์šธ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•จ์—๋”ฐ๋ผ ์˜ค์ฐจ๋Š” ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

๋‹น์—ฐํžˆ ์˜ค์ฐจ๋Š” ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค.

์™œ๋ƒํ•˜๋ฉด data๋“ค๊ณผ y=wx+by=wx+b ์ง์„ ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์‹ค์งˆ์ ์œผ๋กœ ์—„์ฒญ๋‚˜๊ฒŒ ๋ฉ€์–ด์ ธ๋ฒ„๋ฆฌ๋Š” ์ƒํ™ฉ์ด ์—ฐ์ถœ๋˜๊ธฐ์— ์˜ค์ฐจ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์ง•์€ ๋‹น์—ฐํ•˜๊ฒŒ ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ์—์„œ ์œ ๋„๋œ ํŠน์ง•์ด๋ฏ€๋กœ, ์ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜ํƒ€๋ƒˆ์„๋•Œ๋„ ์ด๋Ÿฌํ•œ ํŠน์ง•์ด ๋™์ผํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค.

ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ๋Š” 2์ฐจํ•จ์ˆ˜์˜ ๊ทธ๋ž˜ํ”„ ์ด๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚œ๋‹ค.
w(๊ธฐ์šธ๊ธฐ) ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ• ์ˆ˜๋ก cost(์˜ค์ฐจ)๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ชจ์Šต

ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ๋ฅผ ํ†ตํ•ด์„œ ๋‚˜์˜จ 2์ฐจํ•จ์ˆ˜ ๊ทธ๋ž˜ํ”„์—์„œ X์ถ•์€ Linear ๋ชจ๋ธ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ y์ถ•์€ ์˜ค์ฐจ(cost)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์ด๋•Œ, ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ์ฆ‰ y์ถ•(cost) ๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์ง€์ ์ด ๋˜๋„๋กํ•˜๋Š” ๋ชจ๋ธ์˜ ์ตœ์ ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

์ˆœ์„œ๋Œ€๋กœ ๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๋ณด๋ฉฐ ์ดํ•ดํ•ด๋ณด์ž.

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

  1. ๋ชจ๋ธ์˜ ์ตœ์ ์˜ ๊ธฐ์šธ๊ธฐww (cost์˜ ๊ฐ’์ด 0์ด ๋˜๋Š” ์ง€์ ์˜ ww๊ฐ’)์€ ์–ด๋–ป๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์„๊นŒ?

ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ ๊ทธ๋ž˜ํ”„์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ธ ์ง€์ ์ด ๋ฐ”๋กœ, cost์˜ ๊ฐ’์ด 0์ด ๋˜๋Š” ww๊ฐ’์ด๋‹ค.

  1. ๊ทธ๋ž˜ํ”„์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด ๋˜๋Š” ์ง€์ ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ•˜๋Š”๊ฐ€?

๊ทธ๋ž˜ํ”„๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด ๊ธฐ์šธ๊ธฐ๊ฐ€ ๋‚˜์˜จ๋‹ค!

  • Cost Function J(w,b)J(w,b)์„ weight๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŽธ๋ฏธ๋ถ„ํ•œ๋‹ค๋Š” ์‹.
  1. ๊ธฐ์กด w๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ง€์ ์œผ๋กœ ๋ฏธ๋ถ„์„ ํ–ˆ๋‹ค (๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ–ˆ๋‹ค). ๊ทธ๋Ÿผ ์ด์ œ ์–ด๋–ป๊ฒŒ?

์ด๋ฅผ ์ด์šฉํ•ด์„œ w๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค!
w์—์„œ ๊ธฐ์šธ๊ธฐ x lr ๊ฐ’ ๋งŒํผ์„ ๋นผ์ฃผ๋ฉด, ์˜ค์ฐจ๊ฐ€ ๋‚ฎ์•„์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ w๊ฐ’์„ ์›€์ง์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค! ๋!

  • lr ์— ๊ด€ํ•œ ์„ค๋ช…์€ ๋ฐ”๋กœ ์•„๋ž˜ ๋‚˜์˜จ๋‹ค.
  • ์ฐธ๊ณ ๋กœ ์Œ์˜ ๊ธฐ์šธ๊ธฐ, ์–‘์˜ ๊ธฐ์šธ๊ธฐ ์ƒ๊ด€์—†์ด ๋นผ๋ฉด ๋œ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์Œ์ˆ˜ ๊ธฐ์šธ๊ธฐ๋ฅผ 0์œผ๋กœ ์ˆ˜๋ ด์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ + ํ•ด์•ผํ•˜๋Š”๋ฐ ์ด๋Š” ๊ฒฐ๊ตญ ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ ๋นผ๋ฉด -(-fโ€ฒ(x)f'(x)) = +fโ€ฒ(x)+f'(x) ์ด๋ฏ€๋กœ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋”ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ + ํ•˜๋Š” ๊ฒฐ๊ณผ์™€ ๋™์ผํ•˜๋‹ค.

๐Ÿ›  learning rate(ํ•™์Šต๋ฅ )

์ด ๋•Œ, ์ค‘์š”ํ•œ ๊ฒƒ์ด learning rate(ํ•™์Šต๋ฅ )์ด๋‹ค. (lr๋กœ ํ‘œ๊ธฐ)

์™œ lr๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?

๊ธฐ์šธ๊ธฐ๋Š” yxy\over x๋กœ ํ‘œํ˜„๋˜๋Š”๋ฐ, ์‚ฌ์‹ค์ƒ cost๊ฐ€ ๋งค์šฐ ํฌ๊ธฐ์— ๊ธฐ์šธ๊ธฐ์˜ ๊ฐ’์€ ๋งค์šฐ ํฌ๊ฒŒ ๋‚˜์˜ค๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

ex.) (4,100)๋งŒ ๋ณด๋”๋ผ๋„ ๊ฑฐ์˜ 25์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฐ€์ง.
์ด๋ฅผ w๊ฐ’์—์„œ ๊ทธ๋ƒฅ ๋ฐ”๋กœ ๋บ€๋‹ค๋ฉด ๊ฐ’์ด ๋„ˆ๋ฌด ์ปค ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์— ์ˆ˜๋ ดํ•˜๊ธด ์ปค๋…• ๋ฐœ์‚ฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งŒ๋ฌดํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ์ ์ ˆํ•œ lr ๊ฐ’(0.001 ๋“ฑ..)์„ ์ง€์ •ํ•จ์œผ๋กœ์จ ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด๋˜๋Š” ์ง€์ ์œผ๋กœ ์ˆ˜๋ ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

โ• ํ•™์Šต๋ฅ ์˜ ์ฃผ์˜์‚ฌํ•ญ

  • ๋‹จ, ์ž˜๋ชป๋œ ํ•™์Šต๋ฅ ์„ ์ง€์ •ํ•˜๊ฒŒ๋˜๋ฉด ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™์ด ์˜ค์ฐจ๊ฐ€ ์ค„์–ด๋“œ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Š”๊ฒƒ์ด ์•„๋‹Œ, ๋ฐœ์‚ฐํ•˜๊ฒŒ ๋œ๋‹ค.

โžฐ bb(bias)์˜ ์—…๋ฐ์ดํŠธ - ํŽธ๋ฏธ๋ถ„ ์‚ฌ์šฉ

์œ„ ์˜ˆ์‹œ์—์„œ๋Š” y=wxy=wx ์ฆ‰, bias(y ์ ˆํŽธ)์ด ์—†๋Š” ์ƒํƒœ๋กœ ww๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ตœ์ ์˜ ์„ ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋Š์ •๋„์˜ ํ‰ํ–‰์ด๋™์ด ํ•„์š”ํ•  ๊ฒƒ์ด๊ณ , ์‹ค์ œ๋กœ๋Š” y=wx+by=wx+b ์™€ ๊ฐ™์ด bias(y ์ ˆํŽธ)์ด ํฌํ•จ๋˜์–ด ํ•จ๊ป˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ bias์˜ ๊ฐฑ์‹ (update)๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์•Œ์•„๋ณด์ž

w์™€ ์™„๋ฒฝํ•˜๊ฒŒ ๋˜‘๊ฐ™๋‹ค! ๋”ฐ๋ผ์„œ w๋งŒ ์•Œ๋ฉด b๋Š” ๋˜‘๊ฐ™๋‹ค!

๐Ÿ“ˆ ww(weight - ๊ธฐ์šธ๊ธฐ)์˜ ๊ฐฑ์‹ ๊ณผ์ •

ww์˜ ๊ฐฑ์‹ ๊ณผ์ •์„ ์ƒ์„ธํžˆ ์‚ดํŽด๋ณด์ž.

  • ๋ฏธ๋ถ„ ์‹œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹จ์ˆœํ•˜๊ฒŒ ๋‚˜์˜ค๋„๋กํ•˜๊ธฐ ์œ„ํ•ด, ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ๋ฅผ ๊ตฌํ•  ๋•Œ, 121 \over 2์„ ๋” ๋‚˜๋ˆ ์ค€๋‹ค.
  • ww์— ๋Œ€ํ•ด ํŽธ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ด๊ฐ’์„ lr์™€ ๊ณฑํ•ด ๋นผ์คŒ์œผ๋กœ ์จ, ww๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค. ํŽธ๋ฏธ๋ถ„์˜ ์‚ฌ์šฉ์ด ์—ฌ๊ธฐ์„œ ๋‚˜์˜จ๋‹ค.

๋”ฐ๋ผ์„œ b๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, cost function์—์„œ ww์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ b์—๋Œ€ํ•ด์„œ ๋ฏธ๋ถ„ํ•œ ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ“š ์—…๋ฐ์ดํŠธ ๊ณผ์ • ์ •๋ฆฌ

  • ww, bb์˜ ์—…๋ฐ์ดํŠธ ๊ณผ์ • ์ •๋ฆฌ
    b(t+1)b^{(t+1)} = b(t)b^{(t)} - (โ˜…) ๋นผ๊ฒŒ๋˜๋Š” ํ•ด๋‹น ๊ฐ’์€ b์— ๋Œ€ํ•ด cost Function์„ ํŽธ๋ฏธ๋ถ„ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.
profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

0๊ฐœ์˜ ๋Œ“๊ธ€