Artificial Intelligence

[A.I] Learning - Gradient descent learning ( ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•)

๐Ÿง Gradient Descent Learning ์ด๋ž€?

Input์„ ๋„ฃ์—ˆ์„ ๋•Œ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” Output์„ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ์— ๋งž๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

์•Œ๋งž์€ Output์ด ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” F(x)๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ์— ํ•™์Šต(Learning)์„ ์‹œ์ผœ์ค€๋‹ค.

( Perceptrone์—์„œ๋Š” F(x)๋ฅผ ์ฐพ๋Š”๋‹ค๋Š” ๊ฒƒ์€ Weight๋“ค์„ ์ฐพ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. )

 

 

์œ„์™€ ๊ฐ™์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— Training Data๋ฅผ ๋„ฃ์€ ๊ฒฐ๊ณผ์™€ ์˜ˆ์ƒ๋˜๋Š” Target Answer๋ฅผ ๋น„๊ตํ•œ๋‹ค.

๋น„๊ตํ•œ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ํ•™์Šต์„ ์‹œ์ผœ์ฃผ๋ฉฐ ๋ชจ๋“  ๊ฐ’์ด Target Answer์™€ ๋™์ผํ•˜๋„๋ก ๋ฐ˜๋ณตํ•˜๋ฉฐ ํ•™์Šต์‹œํ‚จ๋‹ค.

 

์ด๋Ÿฐ ๊ณผ์ • ์†์— ํ‹€๋ฆฐ ๊ฐ’, ์ฆ‰ Error๋“ค์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ด Error๋ฅผ ์ตœ์†Œํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์„๊นŒ?

 

์ผ๋‹จ Error๋ฅผ ๊ตฌํ•ด๋ณด์ž.

Error๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ „์ฒด ํ…Œ์ŠคํŠธ ํ•ด์•ผํ•  ์ •๋‹ต์˜ ์ˆ˜์—์„œ ๋งž์€ ์ •๋‹ต์˜ ์ˆ˜๋ฅผ ๋นผ์ฃผ๋ฉด ๋œ๋‹ค.

๋ฐฉ์ •์‹์˜ ๊ทน์†Œ์ ์„ ๊ตฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฏธ๋ถ„์„ ํ•œ ํ›„ 0์ด ๋˜๋Š” ๊ฐ’์„ ์ฐพ์•„์ฃผ๋ฉด ๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์—๋Ÿฌ ๊ฐ’์€ ์–‘์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ณ  ์Œ์ˆ˜๋„ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

์Œ์ˆ˜๊ฐ€ ๋‚˜์™€ ๊ณ„์‚ฐ์— ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์—†์• ์ฃผ๊ธฐ ์œ„ํ•ด Error์˜ ์‹์„ ๋ณ€๊ฒฝํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ์Œ์ˆ˜์—์„œ ์–‘์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด ์ ˆ๋Œ“๊ฐ’์„ ๋ถ™์—ฌ ํ•ด๊ฒฐํ•˜๊ณค ํ•˜์ง€๋งŒ,

๊ทธ๋Ÿฌ๋‚˜ ์ ˆ๋Œ“๊ฐ’์€ ๋ณต์žกํ•œ ์‹์ผ ๋•Œ ๋ฏธ๋ถ„ํ•จ์— ์žˆ์–ด์„œ ์–ด๋ ค์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ์ ˆ๋Œ“๊ฐ’์„ ์”Œ์–ด์ฃผ๋Š” ๋Œ€์‹  ์•„๋ž˜์™€ ๊ฐ™์ด ์‹์„ ๋ณ€๊ฒฝ์„ ํ•ด์•ผ ํ•œ๋‹ค.

 

์šฐ๋ฆฌ๋Š” ์ž„์˜์˜ weight ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ณ  ํ•™์Šต์„ ์‹œ์ผœ ์—๋Ÿฌ์œจ์„ ์ตœ์†Œํ™”์‹œ์ผœ์•ผ ํ•œ๋‹ค.

Error๊ฐ€ ์ตœ์†Œ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด weight ๊ฐ’๋“ค์„ ์›€์ง์ด๋ฉฐ ๊ทน์†Œ์ ์„ ์ฐพ์•„์ค˜์•ผ ํ•˜๋Š”๋ฐ,

 

์ด๋•Œ Gradient descent ( ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• )์„ ํ†ตํ•ด ๊ทน์†Œ์ ์ด ๋‚˜์˜ค๊ธฐ ์œ„ํ•œ weight ๊ฐ’๋“ค์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Gradient descent๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ๊ฒฝ์‚ฌ๊ฐ€ ํ•˜๊ฐ•ํ•˜๋Š” ๊ณณ์œผ๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

  • ๊ธฐ์šธ๊ธฐ๊ฐ€ ์Œ์ˆ˜๋ผ๋ฉด weight๊ฐ’์€ ๋†’์—ฌ์ค˜์•ผ ํ•˜๊ณ ,  ( Gradient < 0 -> direction of weight : + )
  • ๊ธฐ์šธ๊ธฐ๊ฐ€ ์–‘์ˆ˜๋ผ๋ฉด weight๊ฐ’์€  ๋‚ฎํ˜€์•ผํ•œ๋‹ค.  ( Gradient > 0 -> direction of weight : - )

์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒฝ์‚ฌ๊ฐ€ ํ•˜๊ฐ•ํ•˜๊ณ  ๊ฒฝ์‚ฌ๊ฐ€ ์ƒ์Šนํ•˜๋Š” ๋ถ€๋ถ„์— ์ตœ์†Ÿ๊ฐ’์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์†์‰ฝ๊ฒŒ Error๊ฐ€ ์ตœ์†Ÿ๊ฐ’์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ weight๊ฐ’๋“ค์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“ƒ ์ •๋ฆฌ

ํผ์…‰ํŠธ๋ก (Perceptron)์—์„œ Error๋ฅผ ์ตœ์†Ÿ๊ฐ’์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด ๊ฐ w๊ฐ’๋“ค์— ๋Œ€ํ•ด ํŽธ๋ฏธ๋ถ„์„ ํ•˜๋ฉฐ ๊ฐ’์„ ๊ตฌํ•ด์ค˜์•ผ ํ•œ๋‹ค.

( โ€ป ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์ด๋ผ๋ฉด ํŽธ๋ฏธ๋ถ„์„ BackPropagation Algorithm์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•˜์ž)

 

์ฆ‰, ์•„๋ž˜์™€ ๊ฐ™์€ ํผ์…‰ํŠธ๋ก ์ผ ๋•Œ ์ตœ์†Œ Error ๊ฐ’์„ ๊ตฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด,

๊ฐ ๊ฐ€์ค‘์น˜(w1, w2, w3.... wm)๋งˆ๋‹ค ํŽธ๋ฏธ๋ถ„์„ ์‹œํ–‰ํ•ด ๊ฐ ๊ฐ€์ค‘์น˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ํ•™์Šต์‹œํ‚ค์ž!

 

๊ถ๊ธˆํ•˜์‹  ๊ฒƒ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š”!

 

๋ฐ˜์‘ํ˜•

'Artificial Intelligence' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[A.I] Learning ( ํ•™์Šต )  (0) 2020.10.06
[A.I] Non-linear Problem์„ Linear Problem์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ  (0) 2020.09.14