๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš“ Self Study/๐ŸŸ  Deep Learning Basic

Deep learning (Gradient Descent, Chain Rule, Learning Rate)

by UKHYUN22 2021. 12. 23.
728x90
Neural Network Classifier
 
Gradient Descent
๋ฏธ๋ถ„์„ ํ†ตํ•ด์„œ Optimizeํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜๋‚˜์˜ ์Šค์นผ๋ผ ๊ฐ’์„ W์— ๋Œ€ํ•ด ๋ฏธ๋ถ„์„ ํ•˜๊ฒŒ ๋œ๋‹ค. W์˜ ๊ฐ’์„ ์ผ๋ ฌ๋กœ ์„ธ์›Œ์„œ ์ผ์ฐจ์› ๋ฒกํ„ฐ์ธ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜์ž.
scalar ๊ฐ’์„ ๋‚˜์—ดํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. (๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์‹) ์ด๋Ÿฌํ•œ ๋ฒกํ„ฐ๋ฅผ Gradient ๋ฒกํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค.
๊ฐ๊ฐ Element๋“ค์ด ํ•ด๋‹น Weight๋กœ ๋ฏธ๋ถ„์ด ๋œ๊ฒƒ์ด Gradient ๋ฒกํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค. ์ˆ˜ํ•™์ ์œผ๋กœ Error surface์˜ error๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€ํ™”๋Š” ๋ฐฉํ–ฅ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
 
 
W์— Gradient๋ฅผ ๋งˆ์ด๋„ˆ์Šค ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ„๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
๊ฐ์†Œํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค. ํ˜„์žฌ Weight์—์„œ Gradient๋ฅผ ๋นผ์ฃผ๋Š” ๊ฒƒ์ด 
Gradient Minimize pattern์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฏธ๋ถ„์„ ํ•ด์„œ Gradient Vector๋ฅผ ์ฐพ์•˜์ง€๋งŒ ์–ผ๋งˆ๋‚˜ ๊ฐ€์•ผ ํ•˜๋Š”์ง€๋„ ๊ณ„์‚ฐ์„ ํ•ด์•ผ ํ•œ๋‹ค.
์–ด๋–ค ์ˆซ์ž๋ฅผ ๊ณฑํ•˜๊ฒŒ ๋˜๋Š”๋ฐ Running rate๋ผ๊ณ  ํ•˜๋Š”๋ฐ ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ์ด๋™ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค.
๋žœ๋ค์ด๋ผ๋Š” ์œ„์น˜์—์„œ W๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ๋ฏธ๋ถ„์„ ํ†ตํ•ด์„œ Gradient๋ฅผ ๊ตฌํ•˜๊ฒŒ ๋˜๊ณ  ์ด๋™์„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋™ํ•œ ์œ„์น˜์—์„œ
๋‹ค์‹œ Gradient๋ฅผ ๊ตฌํ•˜๊ฒŒ ๋˜๊ณ  MInimize๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.
Gradient๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ•  ๊ฒƒ์ธ๊ฐ€???
 
Chain Rule
๋Œ€๋ถ€๋ถ„์˜ Gradinet๋ฅผ ๊ตฌํ•˜๋Š” ์‹์€ Chain Rule์— ์˜ํ•ด์„œ ๊ณ„์‚ฐ๋œ๋‹ค.
๋ณ€์ˆ˜๊ฐ€ 3๊ฐœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. y๋Š” x์˜ functiion z๋Š” y์˜ function์ด๋ผ๊ณ  ํ•˜์ž
์—ฌ๊ธฐ์„œ z๋ฅผ x์— ๋Œ€ํ•ด์„œ ๋ฏธ๋ถ„์„ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ...!! ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์ง„ํ–‰ํ•œ๋‹ค.
๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋ฅผ Layer๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•  ๊ฒƒ.
 
Gradient Descent
W์— Gradient๋ฅผ ๊ตฌํ•˜๊ณ  learning rate๋ฅผ ๊ณฑํ•ด์„œ Gradient minimize๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค.
Error๋Š” output์˜ function์ด๋‹ค.
Error๋ฅผ output์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ƒฅ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, Error์„ output์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•˜๋ฉด
real output - expected output์ด ๋œ๋‹ค. = o - d ๊ฐ€ ๋œ๋‹ค๋ผ๋Š” ๊ฒƒ.
o๋ฅผ net์œผ๋กœ ๋ฏธ๋ถ„,, net์€ activate function์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์˜ ๊ฐ’.
๊ฒฐ๊ตญ Activate Fucntion์˜ ๋„ํ•จ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. 
net์„ Weight์— ๋Œ€ํ•ด ๋ฏธ๋ถ„์„ ์ง„ํ–‰!!

 

์‹œ๊ทธ๋งˆ wx๋ฅผ w์— ๋Œ€ํ•ด ๋ฏธ๋ถ„์„ ํ•˜๊ฒŒ ๋˜๋ฉด x๊ฐ€ ๋‚˜์˜จ๋‹ค. 
ํ•™์Šต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ==> "Update rule"
 

Learning Rate
๋„ˆ๋ฌด ์ปค๋„ ์•ˆ๋ผ๊ณ  ๋„ˆ๋ฌด ์ž‘์•„๋„ ์•ˆ๋œ๋‹ค.
๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํ•œ ๋ฒˆ์— ์•„์ฃผ ์กฐ๊ธˆ์”ฉ ๊ฐ€๋ฏ€๋กœ error๊ฐ€ ์กฐ๊ธˆ์”ฉ ์ค„์–ด๋“ ๋‹ค. ์ฆ‰ ์ˆ˜๋ ด์ด ๋Š๋ ค์ง„๋‹ค.
Local Minimun์— ๊ฐ‡ํž ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
Learning Rate๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฒœ์ฒœํžˆ ์ˆ˜๋ ดํ•œ๋‹ค.
์˜คํžˆ๋ ค Error๊ฐ€ ์ปค์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค.