๐Ÿ‘ฆ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/TIL(Today I Learned)

TIL_220517_๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ

  • -

Convolutional Neural Networks (ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง)

ํ•ฉ์„ฑ๊ณฑ(Convolution) :

  • ์ปดํ“จํ„ฐ ๋น„์ „(Computer Vision, CV) ๋ถ„์•ผ์—์„œ ๋งŽ์ด ์“ฐ์ด๋Š” ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ์‹
  • ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN) : ๋ฅด์ฟค ๊ต์ˆ˜, ํ•ฉ์„ฑ๊ณฑ์„ ์ด์šฉํ•œ ์‹ ๊ฒฝ๋ง ๋””์ž์ธ
  • ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์—์„œ ๊ฐ€์žฅ ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ

 

ํ•ฉ์„ฑ๊ณฑ(Convolution)

 

ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต(Convolution layer)

  • ํ•„ํ„ฐ(Filter ๋˜๋Š” Kernel)๋ฅผ ํ•œ ์นธ์”ฉ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์›€์ง์ด๋ฉฐ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ
  • ์ด๋™ํ•˜๋Š” ๊ฐ„๊ฒฉ์„ ์ŠคํŠธ๋ผ์ด๋“œ(Stride)
  • ํŠน์„ฑ ๋งต ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“œ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํŒจ๋”ฉ(Padding ๋˜๋Š” Margin)
  • 1๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉ

ํŠน์„ฑ ๋งต์ด ์ค„์–ด๋“ฌ


ํŠน์„ฑ ๋งต์˜ ํฌ๊ธฐ๊ฐ€ ๋™์ผ

 

์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์ด์šฉํ•œ ํ•ฉ์„ฑ๊ณฑ

  • 3์ฐจ์›(๊ฐ€๋กœ, ์„ธ๋กœ, ์ฑ„๋„)์˜ ์ด๋ฏธ์ง€
  • ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ
    • ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ: (10, 10, 3)
    • ํ•„ํ„ฐ์˜ ํฌ๊ธฐ: (4, 4, 3)
    • ํ•„ํ„ฐ์˜ ๊ฐœ์ˆ˜ :2
    • ์ถœ๋ ฅ ํŠน์„ฑ ๋งต์˜ ํฌ๊ธฐ: (10, 10, 2)

 


 

CNN์˜ ๊ตฌ์„ฑ

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN)

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN) ์€ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต(Convolution layer)๊ณผ ์™„์ „์—ฐ๊ฒฐ ๊ณ„์ธต(Dense layer)์„ ํ•จ๊ป˜ ์‚ฌ์šฉ

 

- ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต + ํ™œ์„ฑํ™” ํ•จ์ˆ˜ + ํ’€๋ง์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ ์  ์ž‘์•„์ง€์ง€๋งŒ ํ•ต์‹ฌ์ ์ธ ํŠน์„ฑ๋“ค์„ ๋ฝ‘์•„๋ƒ„
ํ’€๋ง ๊ณ„์ธต(Pooling layer)์€ ํŠน์„ฑ ๋งต์˜ ์ค‘์š”๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ์—ญํ• 
- ํ’€๋ง ๊ณ„์ธต์„ ์ง€๋‚˜๋ฉด ์™„์ „์—ฐ๊ฒฐ ๊ณ„์ธต๊ณผ ์—ฐ๊ฒฐ์ด ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ ํ’€๋ง์„ ํ†ต๊ณผํ•œ ํŠน์„ฑ ๋งต์€ 2์ฐจ์›,

์™„์ „์—ฐ๊ฒฐ ๊ณ„์ธต์€ 1์ฐจ์›์ด๋ฏ€๋กœ ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€ :
ํ‰ํƒ„ํ™” ๊ณ„์ธต(Flatten layer)์„ ์‚ฌ์šฉํ•ด์„œ 2์ฐจ์›์„ 1์ฐจ์›์œผ๋กœ ํŽผ์น˜๋Š” ์ž‘์—…

 



Max pooling์˜ ์˜ˆ์‹œ
- 2x2 ํฌ๊ธฐ์˜ ํ’€ ์‚ฌ์ด์ฆˆ(Pool size)๋กœ ์ŠคํŠธ๋ผ์ด๋“œ 2์˜ Max pooling ๊ณ„์ธต์„ ํ†ต๊ณผํ•  ๊ฒฝ์šฐ
2x2 ํฌ๊ธฐ์˜ ํŠน์„ฑ ๋งต์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๋“ค์„ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ์‹

 



Average pooling์˜ ์˜ˆ์‹œ
- Max pooling์—์„œ๋Š” 2x2 ํฌ๊ธฐ์˜ ํŠน์„ฑ ๋งต์—์„œ ์ตœ๋Œ€ ๊ฐ’์„ ์ถ”์ถœํ–ˆ๋‹ค๋ฉด
Average pooling์€ 2x2 ํฌ๊ธฐ์˜ ํŠน์„ฑ ๋งต์—์„œ ํ‰๊ท  ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ์‹

 

Max pooling๊ณผ Average pooling์˜ ๋น„๊ต

 




ํ‰ํƒ„ํ™” ๊ณ„์ธต(Flatten layer)
- ํ‰ํƒ„ํ™” ๊ณ„์ธต์„ ํ†ต๊ณผํ•˜๊ฒŒ ๋˜๋ฉด ์™„์ „์—ฐ๊ฒฐ ๊ณ„์ธต์—์„œ ํ–‰๋ ฌ ๊ณฑ์…ˆ์„ ํ•  ์ˆ˜ ์žˆ๊ณ  ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์™„์ „์—ฐ๊ฒฐ ๊ณ„์ธต(=Dense=Fully connected) + ํ™œ์„ฑํ™” ํ•จ์ˆ˜์˜ ๋ฐ˜๋ณต์„ ํ†ตํ•ด ์ ์  ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถ•์†Œ, ๋งˆ์ง€๋ง‰์— Softmax ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผ ํ›„ ์ถœ๋ ฅ์ธต์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ

 

 


 

๋‹ค์–‘ํ•œ CNN ์ข…๋ฅ˜

 

๋ฒค์น˜๋งˆํฌ ํ‘œ

 


 

Transfer Learning (์ „์ด ํ•™์Šต)

  • ์ „์ด ํ•™์Šต์ด๋ผ๋Š” ๊ฐœ๋…์€ ์ธ๊ฐ„์ด ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ์‚ฌ
  • ๊ณผ๊ฑฐ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ์ถ•์ ๋œ ๊ฒฝํ—˜์„ ํ† ๋Œ€๋กœ ๊ทธ๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋„๋ก ์‹ ๊ฒฝ๋ง์„ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ „์ด ํ•™์Šต
  • ์ „์ด ํ•™์Šต์€ ๋น„๊ต์  ํ•™์Šต ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  (๋น ๋ฅธ ์ˆ˜๋ ด), ๋” ์ •ํ™•ํ•˜๊ณ , ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ƒ„
  • ์ „์ดํ•™์Šต์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œ ๋ช…ํ•œ ๋„คํŠธ์›Œํฌ๋“ค๊ณผ ๊ฐ™์ด ๋ฏธ๋ฆฌ ํ•™์Šต์‹œํ‚จ ๋ชจ๋ธ(pretrained models)์„ ๊ฐ€์ ธ์™€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

 

์œ ๋ช…ํ•œ ๋„คํŠธ์›Œํฌ

 


 

Recurrent Neural Networks (์ˆœํ™˜ ์‹ ๊ฒฝ๋ง)

RNN์€ ์€๋‹‰์ธต์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ˆœํ™˜๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ํ•œ ์ข…๋ฅ˜

์Œ์„ฑ, ๋ฌธ์ž ๋“ฑ ์ˆœ์ฐจ์ ์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•œ ๋ชจ๋ธ

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง๊ณผ ๋”๋ถˆ์–ด ์ตœ๊ทผ ๋“ค์–ด ๊ฐ๊ด‘ ๋ฐ›๊ณ  ์žˆ๋Š” ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ

๊ธธ์ด์— ๊ด€๊ณ„์—†์ด ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ

 

 


 

Generative Adversarial Network (์ƒ์„ฑ์  ์ ๋Œ€ ์‹ ๊ฒฝ๋ง)

์„œ๋กœ ์ ๋Œ€(Adversarial)ํ•˜๋Š” ๊ด€๊ณ„์˜ 2๊ฐ€์ง€ ๋ชจ๋ธ(์ƒ์„ฑ ๋ชจ๋ธ๊ณผ ํŒ๋ณ„ ๋ชจ๋ธ)์„ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ 

 

 * GAN์€ ์œ„์กฐ์ง€ํ๋ฒ”๊ณผ ์ด๋ฅผ ๋ณด๊ณ  ์ ๋ฐœํ•˜๋Š” ๊ฒฝ์ฐฐ์˜ ๊ด€๊ณ„๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ƒ์„ฑ๋ชจ๋ธ (์œ„์กฐ์ง€ํ๋ฒ”): ๊ฒฝ์ฐฐ๋„ ๊ตฌ๋ถ„ ๋ชปํ•˜๋Š” ์ง„์งœ๊ฐ™์€ ์œ„์กฐ์ง€ํ๋ฅผ ๋งŒ๋“ค์ž!
- ํŒ๋ณ„๋ชจ๋ธ (๊ฒฝ์ฐฐ): ์ง„์งœ ์ง€ํ์™€ ์œ„์กฐ ์ง€ํ๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•ด๋‚ด์ž!
- ์ด์™€๊ฐ™์ด ๊ณ„์† ์ง„ํ–‰๋˜๋ฉด ์œ„์กฐ์ง€ํ๋ฒ”์€ ๋”์šฑ ๋” ์ •๊ตํ•˜๊ฒŒ, ๊ฒฝ์ฐฐ์€ ๋”์šฑ ๋” ํŒ๋ณ„์„ ์ž˜ํ•˜๋ฉด์„œ ์„œ๋กœ ๋ฐœ์ „์˜ ๊ด€๊ณ„๊ฐ€ ๋˜์–ด
์›๋ณธ๊ณผ ๊ตฌ๋ณ„์ด ์–ด๋ ค์šด ๊ฐ€์งœ ์ด๋ฏธ์ง€๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

์ถœ์ฒ˜ ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.