Deep Learning

[๋”ฅ๋Ÿฌ๋‹] ๋”ฅ๋Ÿฌ๋‹ ์•Œ์•„๋ณด๊ธฐ1 - ์ธ๊ณต ์‹ ๊ฒฝ๋ง, ํผ์…‰ํŠธ๋ก , ์€๋‹‰์ธต, ๋”ฅ๋Ÿฌ๋‹ ๋ฌธ์ œ์  ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

jpocket 2025. 6. 12. 15:47
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ[์ฐธ๊ณ ๋ฌธํ—Œ]

- https://todayisbetterthanyesterday.tistory.com/42

- ๋ชจ๋‘์˜ ์—ฐ๊ตฌ์†Œ ๊ฐ•์˜ ์ž๋ฃŒ
์ด๋ฏธ์ง€๋Š” ์ถœ์ฒ˜ ์ด์Šˆ๋กœ ์ง์ ‘ ๊ทธ๋ ธ๋‹ค.

 

 

 

1. ๐Ÿ›  ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจํ˜•


์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจํ˜•์€ ์ธ๊ฐ„์˜ ๋‰ด๋Ÿฐ ์ž๊ทน ์ „๋‹ฌ ๊ณผ์ •์— ์•„์ด๋””์–ด๋ฅผ ์ฐฉ์•ˆํ•˜์—ฌ ๋ฐœ์ƒํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

์ธ๊ฐ„์€ ์‹œ๋ƒ…์Šค๋ฅผ ํ†ตํ•˜์—ฌ ๋‹ค๋ฅธ ๋‰ด๋Ÿฐ์œผ๋กœ๋ถ€ํ„ฐ ์ž๊ทน์„ ์ „๋‹ฌ๋ฐ›๊ณ , ์‹œ๋ƒ…์Šค๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋‰ด๋Ÿฐ์—๊ฒŒ ์ž๊ทน์„ ์ „๋‹ฌํ•œ๋‹ค.

์ธ๊ณต์‹ ๊ฒฝ๋ง์—์„œ๋Š” ๋‰ด๋Ÿฐ์„ ๐Ÿ›  ๋…ธ๋“œ ๋˜๋Š” ๋‰ด๋Ÿฐ์ด๋ผ ๋ถ€๋ฅธ๋‹ค.

์ด ๋…ธ๋“œ๋“ค์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋ชจ์ด๋ฉด ๐Ÿ›  ์ธต layer๋ฅผ ์ด๋ฃฌ๋‹ค.

์ด ๊ตฌ์กฐ๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•œ ๊ฒŒ ํผ์…‰ํŠธ๋ก  perceptron์ด๋‹ค.

 

 

 

 

 

 

2. ๐Ÿ›  ํผ์…‰ํŠธ๋ก 


ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์€ ์–ด๋–ค ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์„๊นŒ?

ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ ํ•œ ๊ฐœ์˜ ์ถœ๋ ฅ์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์น˜ ๐Ÿ‘‰ํ•จ์ˆ˜์™€ ๋น„์Šทํ•˜๋‹ค.

 

 

 

ํ•˜๋‚˜์˜ ๋…ธ๋“œ ์•ˆ์—์„œ ์ž…๋ ฅ inputs๊ณผ ๊ฐ€์ค‘์น˜ weights๋ฅผ ๊ณฑํ•˜๊ณ  ๋”ํ•˜๋Š” ์„ ํ˜• ๊ตฌ์กฐ linear๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ,

๐Ÿ›  ํ™œ์„ฑํ™” ํ•จ์ˆ˜ activation function๋ฅผ ํ†ตํ•œ ๋น„์„ ํ˜• ๊ตฌ์กฐ non-linear๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ์‹ ๊ฒฝ๋ง์€ ๋‹จ์ˆœํ•œ ์„ ํ˜• ๋ชจ๋ธ์„ ๋„˜์–ด ๋ณต์žกํ•œ ๋น„์„ ํ˜• ๋ฌธ์ œ๋„ ํ•™์Šต ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋Ÿฐ ํผ์…‰ํŠธ๋ก ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋‚˜๋ž€ํžˆ ๋ฐฐ์น˜ํ•˜๋ฉด ํ•˜๋‚˜์˜ ์ธต์ด ๋œ๋‹ค.

 

 

f(x) ์•ˆ์— sum๊ณผ activation function์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š”๋ฐ sum์˜ ์˜๋ฏธ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž๋ฉด,

sum ์€ ๐Ÿ›  transfer function์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

z = wโ‚·xโ‚ + wโ‚‚·xโ‚‚ + ... + wโ‚™·xโ‚™ + b

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ ํ˜• ๊ณ„์‚ฐ์„ ํ•˜๋Š”๋ฐ ์‰ฝ๊ฒŒ ๋งํ•ด ์ž…๋ ฅ๊ฐ’์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋ชจ๋‘ ๋”ํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

 

ํ™œ์„ฑํ™” ํ•จ์ˆ˜ activation function๋Š”,

transfer function์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ์ธ z๋ฅผ ๋น„์„ ํ˜• ํ•จ์ˆ˜์— ํ†ต๊ณผ์‹œ์ผœ ๋ณต์žกํ•œ ํŒจํ„ด๋„ ํ•™์Šต ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.

transfer function ํ•จ์ˆ˜๋งŒ ํ•˜๋ฉด ์„ ํ˜•์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ฑฐ๊ธฐ์— ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊นŒ์ง€ ๋”ํ•ด์•ผ ๋น„์„ ํ˜•์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋‘˜์„ ํ•ฉ์ณ์•ผ ๋น„๋กœ์†Œ ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๊ณ , ๋น„์„ ํ˜•์„ฑ์ด ์žˆ์–ด์•ผ ์ธ๊ณต์‹ ๊ฒฝ๋ง์ด ๋ณต์žกํ•œ ๋ฌธ์ œ๋„ ํ•™์Šต ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๊ทธ๋ฆผ์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ๊ฐ ํผ์…‰ํŠธ๋ก ๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

 

 

์ด๋ฒˆ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํผ์…‰ํŠธ๋ก ์„ ์—ฌ๋Ÿฌ ์ธต์— ๊ฑธ์ณ ๋งŒ๋“ , ๐Ÿ›  Multi Layer Perceptron์„ ์•Œ์•„๋ณด์ž.

์ „์ฒด ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์•„๋ž˜ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค๋ณด์•˜๋‹ค.

์ „์ฒด ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ

 

 

 

โœ… ์ „์ฒด ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ

  1. ๐Ÿ›  ์ž…๋ ฅ์ธต (Input Layer)
    • ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๋ถ€๋ถ„ ( ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํผ์…‰ํŠธ๋ก ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š”, ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ํฌ์ธํŠธ ์—ญํ•  )
  2. ๐Ÿ›  ์€๋‹‰์ธต (Hidden Layer)
    • ์—ฌ๋Ÿฌ ํผ์…‰ํŠธ๋ก ์ด ์žˆ๋Š” ์ธต๋“ค
    • ์ด ์ธต์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด → ๋”ฅ๋Ÿฌ๋‹( Deep Learning )
  3. ๐Ÿ›  ์ถœ๋ ฅ์ธต (Output Layer)
    • ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ํผ์…‰ํŠธ๋ก ๋“ค

 

์ž…๋ ฅ -> ์€๋‹‰์ธต hidden layer -> ์ถœ๋ ฅ์ธต output layer ๊ตฌ์กฐ๋กœ ์Œ“์—ฌ์žˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, ์ด๋Ÿฌํ•œ ์ „๋‹ฌ ๊ณผ์ •์—์„œ layer์™€ perceptron์œผ๋กœ ๋‰ด๋Ÿฐ๊ณผ ์‹œ๋ƒ…์Šค๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์—ฐ๊ฒฐ์ง€์€ ๊ฒƒ์ด ์ธ๊ณต์‹ ๊ฒฝ๋ง ๋ชจํ˜•์ด๋‹ค.

 

 

 

Q. ๋…ธ๋“œ? ํผ์…‰ํŠธ๋ก ? ๐Ÿ”Ž

๐Ÿ‘‰ ๋…ธ๋“œ๋Š” "ํผ์…‰ํŠธ๋ก  ํ•œ ๊ฐœ"๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž.

 

ex) ์€๋‹‰์ธต์— ๋…ธ๋“œ 3๊ฐœ → ํผ์…‰ํŠธ๋ก  3๊ฐœ๊ฐ€ ์žˆ๋Š” ์ธต

์ด ๋…ธ๋“œ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์ž…๋ ฅ๊ฐ’๋“ค์„ ๋ฐ›์•„ ๊ณ„์‚ฐ → ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ์ธต์— ์ „๋‹ฌ

 

๐Ÿ‘‰ ์ฆ‰, ํผ์…‰ํŠธ๋ก  = ๋…ธ๋“œ = ์ธ๊ณต ๋‰ด๋Ÿฐ
์ด ํผ์…‰ํŠธ๋ก ๋“ค์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋ชจ์ด๋ฉด ์ธต(layer)์ด ๋œ๋‹ค.
์ด๋“ค์€ ์ž…์ถœ๋ ฅ ํ๋ฆ„์„ ํ†ตํ•ด ํ•™์Šต๊ณผ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

 

 

 

 

 

3. ๐Ÿ›  Hidden Layer ์€๋‹‰์ธต


 

์ธ๊ณต์‹ ๊ฒฝ๋ง์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ๊ณต ๋‰ด๋Ÿฐ๋“ค์ด ๋ชจ์—ฌ ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

๋‰ด๋Ÿฐ๋“ค์ด ๋ชจ์ธ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋ฅผ ์ธต layer๋ผ๊ณ  ํ•˜๊ณ , ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.

๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ธต layer๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ ๊ทธ์ค‘์—์„œ๋„ ์ด ๊ธ€์—์„œ๋Š” ์€๋‹‰์ธต hidden layer์„ ์†Œ๊ฐœํ•˜์˜€๋‹ค.

์ธ๊ณต์‹ ๊ฒฝ๋ง์€ ์€๋‹‰์ธต์ด ์†Œ์ˆ˜์ง€๋งŒ ๋”ฅ๋Ÿฌ๋‹์€ ์€๋‹‰์ธต์ด ๋‹ค์ˆ˜ ํฌํ•จ๋œ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์ด๋ผ๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

 

 

 

 

 

 

4. ๋”ฅ๋Ÿฌ๋‹ ๋ฐœ์ „ ๊ณผ์ •


๋”ฅ๋Ÿฌ๋‹ ๋ฐœ์ „ ๊ณผ์ •์—์„œ ๋ฐœ๊ฒฌ๋œ ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ์ ๋“ค๊ณผ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

1) ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ ๋ฌธ์ œ

์€๋‹‰์ธต์˜ ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋” ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ,

๋„ˆ๋ฌด ๊นŠ์œผ๋ฉด ์—ญ์ „ํŒŒ๋ฅผ ์œ„ํ•ด ๊ฐ€์ค‘์น˜ w์™€ ๋ฐ”์ด์–ด์Šค b๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ˆ˜ํ•™์  ๋ฐฉ๋ฒ•์ธ ๋ฏธ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ ธ์„œ 0์œผ๋กœ ์ˆ˜๋ ด๋˜๋Š”, ์ฆ‰ ์†Œ๋ฉธ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• => ์‹œ๊ทธ๋ชจ์ด๋“œ๋‚˜ ์Œ๊ณก ํƒ„์  ํŠธ ๋Œ€์‹  ๐Ÿ›  ReLU ํ•จ์ˆ˜

 

 

 

2) ๊ณผ์ ํ•ฉ ๋ฌธ์ œ

๋ชจ๋ธ์ด ์ง€๋‚˜์น˜๊ฒŒ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋งž์ถ”์–ด์ง„ ์ƒํƒœ๋ฅผ ๊ณผ์ ํ•ฉ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๊ณผ์ ํ•ฉ๋œ ๋ชจ๋ธ์€ ํ•™์Šต๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค.

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• => ๐Ÿ›  ๊ทœ์ œํ™” regularization ๊ธฐ๋ฒ•, ๐Ÿ›  ๋“œ๋กญ์•„์›ƒ dropout ๊ธฐ๋ฒ•, ๐Ÿ›  ๋ฐฐ์น˜ ์ •๊ทœํ™” batch normalization ๊ธฐ๋ฒ•

 

 

 

 

 

 


๋”ฅ๋Ÿฌ๋‹์€ ๋‹ค์–‘ํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ReLU, Dropout, BatchNorm, Adam ๋“ฑ ํ•ต์‹ฌ ๊ธฐ์ˆ ๋“ค์ด ๋ฐœ์ „ํ–ˆ์œผ๋ฉฐ,

์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ ๋•๋ถ„์— ํ˜„์žฌ์˜ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP), ์ปดํ“จํ„ฐ ๋น„์ „(CV), ์ž์œจ์ฃผํ–‰ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์‹ค์šฉ์ ์ธ ์„ฑ๊ณผ๋ฅผ ๋‚ด๊ณ  ์žˆ๋‹ค.๐Ÿ˜Š

 

 

 

๋ฐ˜์‘ํ˜•