๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AI/Coursera

[Coursera] 3. Gradient Descent

728x90
๋ฐ˜์‘ํ˜•
๐Ÿฅ‘ Coursera์˜ "Neural Networks and Deep Learning" ๊ฐ•์ขŒ์˜ ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๋ฉด์„œ ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์€ ๋น„์šฉ ํ•จ์ˆ˜(Cost Function)์˜ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‹ค์ œ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ๋ชจ๋“ ๊ณณ์—์„œ ์‚ฌ์šฉ์ค‘์ด๋‹ค.

 

Gradient Descent

 

 

 

๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์„ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ •

 

1. θ์— ๋Œ€ํ•ด ์ž„์˜์˜ ์ดˆ๊ธฐ๊ฐ’(์‹œ์ž‘์ )์„ ์žก๋Š”๋‹ค.

2. J๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋  ๋•Œ ๊นŒ์ง€ θ๊ฐ’ ๊ฐฑ์‹ ์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ์˜ θ๋ฅผ ์ฐพ๋Š”๋‹ค.

 

pseudo code

 

 

 

๋ฏธ๋ถ„ ๊ฐ’์— ๋Œ€ํ•ด

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์—์„œ ๋ฏธ๋ถ„ ๊ฐ’์€ ๋น„์šฉ ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

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

๊ธฐ์šธ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์€ ๋น„์šฉ ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

 

๊ฐฑ์‹ ์„ ํ†ตํ•ด w์˜ ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ•˜๋Š” ๊ณผ์ •

 

α๊ฐ€ ์–‘์ˆ˜๊ฐ’์ด๋ผ๋ฉด θ(=w)๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐฑ์‹ ๋˜๋ฉด์„œ ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. 

 

θ์˜ ๊ฐฑ์‹ ์€ ๊ธฐ์šธ๊ธฐ ํ•˜๊ฐ•๊ณผ ๊ธฐ์šธ๊ธฐ ์ƒ์Šน ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

 

1. ๋Œ€์นญ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฅธ์ชฝ ์˜์—ญ์˜ ํ•œ ์ง€์ ์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ

  • ์˜ค๋ฅธ์ชฝ ์˜์—ญ์˜ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„๊ฐ’)๋Š” ์–‘์ˆ˜
  • ๊ฐฑ์‹  ์‹œ θ๋Š” ๊ฐ์†Œํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’ ์ง€์ ์œผ๋กœ ์ด๋™ 

 

 

2. ๋Œ€์นญ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ์˜์—ญ์˜ ํ•œ ์ง€์ ์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ 

  • ์˜ค๋ฅธ์ชฝ ์˜์—ญ์˜ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„๊ฐ’)๋Š” ์Œ์ˆ˜
  • ๊ฐฑ์‹  ์‹œ θ๋Š” ์ฆ๊ฐ€ํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’ ์ง€์ ์œผ๋กœ ์ด๋™

 

 

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๊ฒฝ์‚ฌ ํ•˜๊ฐ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ์–ด๋””๋กœ ์„ค์ •ํ•˜๋“  ๊ฒฐ๊ตญ์€ ์ตœ์†Ÿ๊ฐ’์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ๋œ๋‹ค.

 

 

Learning Rate(ํ•™์Šต ์†๋„)

Learning Rate๋Š” ๊ฐฑ์‹  ์†๋„๋ฅผ ์กฐ์ •ํ•œ๋‹ค. Learning Rate๊ฐ€ ์ž‘๋‹ค๋ฉด ๊ฐฑ์‹ ์‹œ ์•„์ฃผ ์กฐ๊ธˆ ์ด๋™ํ•˜๊ณ  ํฌ๋‹ค๋ฉด ์•„์ฃผ ๋งŽ์ด ์ด๋™ํ•œ๋‹ค. 

 

๊ทธ๋ฆผ์„ ํ†ตํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

Learning Rate๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ž‘์„ ๊ฒฝ์šฐ ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์—ฐ์‚ฐ์ด ์š”๊ตฌ๋œ๋‹ค.

 

 

Learning Rate๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ํฌ๋‹ค๋ฉด ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋Œ€ํŽธ์„ ์˜ค๊ฐ€๋ฉฐ ๋งค์šฐ ํฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ด๋™ํ•˜๋ฉฐ ์ตœ์†Ÿ๊ฐ’์—์„œ ์ ์  ๋ฉ€์–ด์ง„๋‹ค.

 

 

์ด ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ์ ˆํ•œ Learning Rate๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

 

 

w(= θ)์˜ ์ˆ˜๋ ด ์กฐ๊ฑด

๊ฒฝ์‚ฌ ํ•˜๊ฐ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฉˆ์ถ”๋Š” ์กฐ๊ฑด(์ˆ˜๋ ด ์กฐ๊ฑด)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

๊ทน์ ์—์„œ ํ•จ์ˆ˜๋Š” ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด๋ฏ€๋กœ w๊ฐ€ ์ตœ์†Ÿ๊ฐ’์— ๋„๋‹ฌํ–ˆ๋‹ค๋ฉด ํ•ด๋‹น ์ง€์ ์—์„œ ๋ฏธ๋ถ„๊ฐ’์ด 0์ผ ๊ฒƒ์ด๊ณ  ์ด ๊ฒฝ์šฐ ๋ฐ”๋กœ ์ง์ „์˜ ๊ฐ’๊ณผ ๊ฐฑ์‹ ๊ฐ’ ์‚ฌ์ด์˜ ๋ณ€ํ™”๊ฐ€ ์—†์„ ๊ฒƒ์ด๋‹ค. ์ด๋•Œ๊ฐ€ Cost Function์ด ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฝ์‚ฌ ํ•˜๊ฐ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐฑ์‹ ์„ ๋ฉˆ์ถ”๊ฒŒ๋œ๋‹ค. 

 

 

Local Optima

 

๊ฒฝ์‚ฌ ํ•˜๊ฐ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Cost Function์ด ์ตœ์†Œ๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ ๊ฐฑ์‹ ์„ ๋ฉˆ์ถ˜๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฉˆ์ถ”๋Š” ๊ณณ์ด ๋ฐ˜๋“œ์‹œ ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๋Š” Global Optima๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค. 

๊ทธ ๊ฒฝ์šฐ๋Š” Local Optima์— ๋„๋‹ฌํ–ˆ์„ ๊ฒฝ์šฐ์ธ๋ฐ ์ด ๊ฒฝ์šฐ๋Š” ์ตœ์†Œ๊ฐ’์ด ๋” ์กด์žฌํ•˜์ง€๋งŒ ๊ฐฑ์‹ ์„ ๋” ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ Loss๊ฐ€ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐฑ์‹ ์„ ๋ฉˆ์ถ”๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

Local Optima์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ๋Š” Optimization์„ ์ž˜๋ชปํ•œ ๊ฒฝ์šฐ์ด๋‹ค. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•์˜ ์ดˆ๊ธฐ ์ง€์  ๋ถ€ํ„ฐ Global Optima๋กœ ์ด๋™ํ•˜๋Š” ๋„์ค‘์— Local Optima์— ๋„๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์š”์ฆ˜ trend์— ์˜ํ•˜๋ฉด ์‹ค์ œ ๋”ฅ๋Ÿฌ๋‹์—์„œ Local Optima์— ๋น ์งˆ ํ™•๋ฅ ์ด ๊ฑฐ์˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Local Optima ํ•ด๊ฒฐ์„ ์œ„ํ•ด Optimization์„ ํ•  ์ด์œ ๊ฐ€ ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

  • ๋น„์„ ํ˜•์„ฑ : ๊ฐ€์ค‘์น˜ ๊ณต๊ฐ„์—์„œ ๋งŽ์€ Local Optima๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜, Cost Function์€ ๋Œ€๋ถ€๋ถ„ ๋ณต์žกํ•˜๊ณ  ๋‹ค์ฐจ์›์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ Local Optima์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ๋Š” ๋“œ๋ฌผ๋‹ค.
  • ์ดˆ๊ธฐํ™”์™€ ๋‹ค์–‘ํ•œ ํ•ด ํƒ์ƒ‰ : ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋Š” ์ดˆ๊ธฐ์— ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”๋˜๊ณ  ์ด ๊ฐ€์ค‘์น˜๋Š” ๋‹ค์–‘ํ•œ ํ•ด ๊ณต๊ฐ„์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ๊ฒฝ์‚ฌ ํ•˜๊ฐ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด Local Optima์— ๋น ์ง€๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ธ๋‹ค.
  • ํ•œ์ค„ ์š”์•ฝ : w๊ฐ€ ๋งค์šฐ ๋งŽ์Œ(cost function์˜ ์ฐจ์›์ด ํผ), ๋ชจ๋“  ์ฐจ์›์— ๋Œ€ํ•ด w๋ฅผ ๋ฏธ๋ถ„ํ–ˆ์„ ๊ฒฝ์šฐ ์–‘์ˆ˜์—ฌ์•ผ ํ•จ(๋ชจ๋“  w๊ฐ€ local optima์— ๋น ์ง), ์ด ๊ฐ€๋Šฅ์„ฑ์€ ๋งค์šฐ ํฌ๋ฐ•ํ•จ.

 

 

Plateau ๋ฌธ์ œ

ํ•™์Šต ๊ณผ์ •์—์„œ Cost Function์ด ๋” ๊ฐ์†Œํ•˜์ง€ ์•Š๊ณ  ์ผ์ •ํ•œ ์ˆ˜์ค€์—์„œ ์ •์ฒด๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค. 

(์ฆ‰, ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ด๋„ Cost Function์˜ ๊ฐ’์ด ๊ฑฐ์˜ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ)

์ด ๋ฌธ์ œ๋Š” Local Optima์™€ ๋‹ค๋ฅด๊ฒŒ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•  ๋ฌธ์ œ์ด๋‹ค.

 

๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. Local Optima: ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์€ local optima์— ๋น ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ ๋น„์šฉ ํ•จ์ˆ˜๊ฐ€ ๋” ์ด์ƒ ๊ฐ์†Œํ•˜์ง€ ์•Š๊ณ  ์ •์ฒด๋  ์ˆ˜ ์žˆ๋‹ค. ์ง€์—ญ ์ตœ์ ํ•ด์— ๊ฐ‡ํžŒ ๊ฒฝ์šฐ global optimum๋กœ ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ”Œ๋ผํ†  ์ƒํƒœ์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค.
  2. ํ•™์Šต๋ฅ : ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์—์„œ ํ•™์Šต๋ฅ (learning rate)์€ ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์š”์†Œ์ด๋‹ค. ํ•™์Šต๋ฅ ์ด ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ฒŒ ์ด๋ฃจ์–ด์ง€๊ณ , ํ•™์Šต๋ฅ ์ด ๋„ˆ๋ฌด ํฌ๋ฉด ๋ฐœ์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ํ•™์Šต๋ฅ ์„ ์„ ํƒํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ”Œ๋ผํ†  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ๋ณผ๋กํ•˜์ง€ ์•Š์€ ๋น„์šฉ ํ•จ์ˆ˜: ๋น„์„ ํ˜•ํ•˜๊ฑฐ๋‚˜ ๋‹ค์ฐจ์›์ ์ธ ๋น„์šฉ ํ•จ์ˆ˜๋Š” ๋ณผ๋กํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„์šฉ ํ•จ์ˆ˜์—์„œ๋Š” ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์ด ๋ณผ๋กํ•œ ์˜์—ญ์— ๊ฐ‡ํž ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”Œ๋ผํ†  ์ƒํƒœ์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Learning Rate๋ฅผ ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜, ๊ฐ€์ค‘์น˜ ์กฐ๊ธฐํ™”, ๋ฐฐ์น˜ ์ •๊ทœํ™”, ํ•™์Šต๋ฅ  ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์Šต ๊ณผ์ •์„ ์•ˆ์ •ํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

Gradient Descent.ipynb

Colaboratory notebook

colab.research.google.com

 

728x90
๋ฐ˜์‘ํ˜•

'AI > Coursera' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Coursera] 6. Opitmization  (0) 2023.12.31
[Coursera] 5. Optimization Problem  (0) 2023.12.28
[Coursera] 4. Practical Aspects of Deep Learning  (0) 2023.12.27
[Coursera] 2. Logistic Regression  (0) 2023.12.17
[Coursera] 1. Neural Network  (0) 2023.08.28