[CV] ImageNet Classification with Deep Convolutional Neural Networks(CNN)

โ€ขPaperReview

CNN์ด๋ž€?

CNN์ด๋ž€, Convolutional Neural Network์˜ ์ค€๋ง๋กœ ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์ด๋ผ ๋ถˆ๋ฆฐ๋‹ค.
์ž…๋ ฅ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ํŠน์ง•์„ ์ถ”์ถœํ•˜์—ฌ ์ž…๋ ฅ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ค ์ด๋ฏธ์ง€์ธ์ง€ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
๋Œ€๊ฒŒ ์ด๋ฏธ์ง€ ๋ฐ ๋น„๋””์˜ค ์ธ์‹, ์ถ”์ฒœ ์‹œ์Šคํ…œ, ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ์˜๋ฃŒ ์ด๋ฏธ์ง€ ๋ถ„์„ ๋ฐ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์— ์ด์šฉ๋œ๋‹ค.

ANN๊ณผ CNN

ANN์€ Artificial Neural Network์˜ ์ค€๋ง๋กœ ์‚ฌ๋žŒ์˜ ์‹ ๊ฒฝ๋ง ์›๋ฆฌ์™€ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฐฉํ•˜์—ฌ ๋งŒ๋“  ๊ธฐ๊ณ„ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ด์™€ ๊ด€๋ จํ•œ ๋‚ด์šฉ์€ [DL] ANN, DNN, CNN, RNN ๊ฐœ๋…๊ณผ ์ฐจ์ด ์— ๋ช…์‹œํ•ด๋‘์—ˆ๋‹ค.

๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์™€ ANN๊ณผ ๋น„๊ตํ•˜์—ฌ CNN์„ ์•Œ์•„๋ณด์ž๋ฉด, ์ผ๋ฐ˜ ์‹ ๊ฒฝ๋ง, ANN์€ ์ด๋ฏธ์ง€ ์ „์ฒด๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋กœ ์ž…๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—
์ด๋ฏธ์ง€์˜ ํŠน์„ฑ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์ด๋ฏธ์ง€์˜ ์œ„์น˜๊ฐ€ ๋ณ€ํ˜•๋˜๊ฑฐ๋‚˜ ์™œ๊ณก๋œ ๊ฒฝ์šฐ์—๋Š” ์˜ฌ๋ฐ”๋ฅธ ์„ฑ๋Šฅ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ์˜ ํ˜•์ƒ์ด ๋ฌด์‹œ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด์— ๋ฐ˜ํ•ด ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง, CNN์€ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ด์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๊ฐ€ ์™œ๊ณก๋˜๋”๋ผ๋„ ์ด๋ฏธ์ง€์˜ ๋ถ€๋ถ„์  ํŠน์„ฑ์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์–ด ์˜ฌ๋ฐ”๋ฅธ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆผ 1. ANN๊ณผ CNN

ANN๊ณผ CNN

์ด์™€ ๊ด€๋ จํ•œ ๋‚ด์šฉ์€ ์œ„์˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด์„œ ์‰ฝ๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋ฆผ 2. CNN์˜ ์ง„ํ–‰์ˆœ์„œ

CNN์˜ ์ง„ํ–‰์ˆœ์„œ

์œ„์˜ ๊ทธ๋ฆผ์€ CNN์˜ ์ง„ํ–‰์ˆœ์„œ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ๋„์‹ํ™”ํ•œ ๊ฒƒ์ด๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด Convolution, ReLu function, Pooling๊ณผ์ •์„ ๊ฑฐ์ณ ํŠน์ง•์„ ๋ถ„์„ํ•˜๊ฒŒ ๋œ๋‹ค.
์ดํ›„ flatten, fully connected, Softmax function์„ ํ†ตํ•ด classification์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

CNN์˜ ๊ตฌ์กฐ

๊ธฐ์กด ์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์กฐ๋Š” ์ธ์ ‘ํ•˜๋Š” ๊ณ„์ธต์˜ ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ๊ฒฐํ•ฉ๋œ ์™„์ „์—ฐ๊ฒฐ๋กœ affine ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ CNN์˜ ๊ฒฝ์šฐ, ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ์—์„œ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต๊ณผ ํ’€๋ง์ธต์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๋˜ํ•œ ํ’€๋ง์ธต์€ ๋•Œ์— ๋”ฐ๋ผ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

CNN์˜ ๊ตฌ์กฐ

๊ทธ๋ฆผ 3. CNN์˜ ๊ตฌ์กฐ 1

CNN์˜ ๊ตฌ์กฐ

๊ทธ๋ฆผ 4. CNN์˜ ๊ตฌ์กฐ 2

CNN์˜ ๊ตฌ์กฐ2

์œ„์˜ <๊ทธ๋ฆผ 3>๊ณผ <๊ทธ๋ฆผ 4>๋ฅผ ํ†ตํ•ด CNN์˜ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

Convolution

๋ณธ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ bias๋Š” ํŽธํ–ฅ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ, Convolution์˜ bias๋Š” ๋ฐ์ดํ„ฐ์— bias๊ฐ€ ๋”ํ•ด์ง€๋Š” ๊ณผ์ •์ด๋‹ค.
๋ง์…ˆ์—ฐ์‚ฐ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ์™„์ „ ์—ฐ๊ฒฐ ์‹ ๊ฒฝ๋ง์—๋Š” ๊ฐ€์ค‘์น˜(Weight) ๋งค๊ฐœ๋ณ€์ˆ˜์™€ bias๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.
CNN์—์„œ๋Š” ์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ•„ํ„ฐ์™€ bias๊ฐ€ ํ•™์Šต์„ ์‹œํ‚ฌ ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋‹ค.
๋‹ค์‹œ ๋งํ•ด, ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์—์„œ ๋งํ•˜๋Š” ํ•„ํ„ฐ ์—ฐ์‚ฐ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

stride

stride๋Š” ์ง€์ •๋œ ๊ฐ„๊ฒฉ์œผ๋กœ ํ•„ํ„ฐ๋ฅผ ์ˆœํšŒํ•˜๋Š” ๊ฐ„๊ฒฉ์„ ์˜๋ฏธํ•œ๋‹ค. ์•„๋ž˜์˜ <๊ทธ๋ฆผ 6>์—์„œ๋Š” stride๊ฐ€ 1๋กœ ์„ค์ •๋œ ๊ฒƒ์ด๋ฉฐ,
stride๊ฐ€ 2๋กœ ์„ค์ •๋˜๋ฉด ํ•„ํ„ฐ๋Š” 2์นธ์”ฉ ์ด๋™ํ•˜๋ฉด์„œ ํ•ฉ์„ฑ๊ณฑ์„ ๊ณ„์‚ฐํ•œ๋‹ค.

๊ทธ๋ฆผ 5. ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ ๊ณผ์ • 1

ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ๊ณผ์ • 1

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด bias๋Š” ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๊ฐ’(1ร—11 \times 1)์œผ๋กœ ์กด์žฌํ•˜๋ฉฐ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•œ ํ›„ ๋ชจ๋“  ์›์†Œ์— ๋”ํ•ด์ง€๊ฒŒ ๋œ๋‹ค.
์ฆ‰ CNN์„ ํ†ตํ•ด ํ•™์Šต์ด ๊ฑฐ๋“ญ๋˜๋ฉฐ ํ•„ํ„ฐ์˜ ์›์†Œ๊ฐ’๊ณผ bias๊ฐ€ ๋งค๋ฒˆ ๊ฐฑ์‹ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆผ 6. ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ ๊ณผ์ • 2

ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ๊ณผ์ • 2

2์ฐจ์›์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด, ํ•„ํ„ฐ์˜ ์œˆ๋„์šฐ๊ฐ€ ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ ์ด๋™ํ•ด๊ฐ€๋ฉฐ ์—ฐ์‚ฐ์ด ์ ์šฉ๋œ๋‹ค.
์ด๋•Œ ์ด ์ด๋™๊ณผ์ •์„ Stride๋ผ๊ณ  ํ•œ๋‹ค.
์ด ๊ณผ์ •์„ ๋ชจ๋“  ์žฅ์†Œ์—์„œ ์ง„ํ–‰ํ•˜๊ณ , ์œ„์˜ ์‚ฌ์ง„ ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™์€ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์˜ ์ถœ๋ ฅ์ด ์™„์„ฑ๋œ๋‹ค.

Padding

Padding์€ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์ฃผ๋ณ€์— ๊ฐ’๋“ค์„ ์ฑ„์›Œ๋„ฃ์–ด ํฌ๊ธฐ๋ฅผ ํ‚ค์šฐ๋Š” ๊ฒƒ์ด๋‹ค.
Convolution ๊ณผ์ •์€ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, Padding์ด ์—†์ด ์ง„ํ–‰๋˜๋ฉด Convolution ์—ฐ์‚ฐ ํ›„์—๋Š” '์˜๋„์น˜ ์•Š๊ฒŒ' ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๊ฒŒ ๋œ๋‹ค.
์ด๋Š” Edge ์„ฑ๋ถ„์ด ์ ์ฐจ ์‚ฌ๋ผ์ง€๊ฒŒ ๋˜๊ณ , ์ด์— ๋”ฐ๋ผ Edge ๊ทผ์ฒ˜์˜ ํŠน์ง•์„ ๋ˆ„๋ฝํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ Padding์„ ํ†ตํ•ด Convolution ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„, ๊ทธ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๊ฐ€ ์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ๊ทธ ํฌ๊ธฐ๋ฅผ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ํŠน์ง•์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

Padding์˜ ์ข…๋ฅ˜

๋ฐ์ดํ„ฐ ์ฃผ๋ณ€์— ์–ด๋– ํ•œ ๊ฐ’์„ ์ฑ„์šฐ๋А๋ƒ์— ๋”ฐ๋ผ padding์˜ ์ข…๋ฅ˜๊ฐ€ ๋‚˜๋‰œ๋‹ค.

  • Zero Padding : ์ตœ์™ธ๊ฐ์„ ๋ชจ๋‘ pixel 0์œผ๋กœ ์„ค์ •
  • Same Padding : ์ตœ์™ธ๊ฐ์„ ๋ชจ๋‘ ์ด๋ฏธ์ง€ ์™ธ๊ณฝ์˜ pixel ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ

๊ทธ๋ฆผ 7. Zero Padding ์›๋ฆฌ

padding

<๊ทธ๋ฆผ 7>์€ zero padding์˜ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•œ ๊ทธ๋ฆผ์ด๋‹ค.

Pooling

CNN์˜ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด Conv โ†’ Pooling โ†’ Conv โ†’ Pooling~~์˜ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค.

Convolution ์—ฐ์‚ฐ ํ›„, FC Layer(Fully-Connected Layer)๋กœ ๋ฐ”๋กœ ์—ฐ๊ฒฐ๋  ๊ฒฝ์šฐ, ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.
์ด ๋•Œ๋ฌธ์— FC Layer์—์„œ์˜ ์—ฐ์‚ฐ๋Ÿ‰์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด Pooling์ด๋ผ๋Š” ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ, ์—ฐ์‚ฐ ํ›„ ํฌ๊ธฐ๋ฅผ '์ ๋‹นํžˆ' ์ค„์ด๊ณ  ํŠน์ • feature๋ฅผ ๊ฐ•์กฐํ•œ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ํŠน์ • feature๋ฅผ ๊ฐ•์กฐํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฌด์Šจ ์˜๋ฏธ์ผ๊นŒ?

ํŠน์ • feature๋ฅผ ๊ฐ•์กฐํ•œ๋‹ค๋Š” ๊ฒƒ์€ Convolution ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์†์—์„œ ํŠน์ • ํŠน์ง•์„ ๊ฐ•์กฐํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

Convolution์ด ํ–‰๋ ฌ(matrix)์˜ ์—ฐ์‚ฐ์ด๋ผ๋ฉด, Pooling์€ ๊ฐ Pixel์—์„œ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ฝ‘์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

Pooling์˜ ์ข…๋ฅ˜

pooling์€ ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • Max Pooling : ์œˆ๋„์šฐ ์ฐฝ ๋‚ด์—์„œ ๊ฐ ์›์†Œ๋“ค ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ถ”์ถœ
  • Average Pooling : ์œˆ๋„์šฐ ์ฐฝ ๋‚ด์—์„œ ๊ฐ ์›์†Œ๋“ค์˜ ํ‰๊ท  ๊ฐ’์„ ์ถ”์ถœ

๊ทธ๋ฆผ 8. Pooling์˜ ์›๋ฆฌ

pooling

<๊ทธ๋ฆผ 8>์„ ํ†ตํ•ด Pooling์˜ ์›๋ฆฌ๋ฅผ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด...

CNN(Convolution Neural Network)์€ ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ธ์ ‘ ์ด๋ฏธ์ง€์™€์˜ ํŠน์ง•์„ ํšจ๊ณผ์ ์œผ๋กœ ์ธ์‹ํ•˜๊ณ  ๊ฐ•์กฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
ํŠน์ง• ์ถ”์ถœ ์˜์—ญ์€ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ  ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ฐพ๋Š” Convolution Layer์™€ ํŠน์ง•์„ ๊ฐ•ํ™”ํ•˜๊ณ  ๋ชจ์œผ๋Š” Pooling Layer๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

CNN์€ ํ•„ํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋น„๋กฏํ•˜์—ฌ Stride, Padding๊ณผ Pooling์˜ ํฌ๊ธฐ๋กœ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๊ณ , ํ•„ํ„ฐ์˜ ๊ฐœ์ˆ˜๋กœ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ฑ„๋„์„ ๊ฒฐ์ •ํ•œ๋‹ค.

CNN์€ ๊ฐ™์€ ๋ ˆ์ด์–ด ํฌ๊ธฐ์˜ FCNN๊ณผ ๋น„๊ตํ•ด ๋ณผ ๋•Œ ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์–‘์ด ํ˜„์ €ํžˆ ์ ๋‹ค. ์€๋‹‰์ธต์ด ๊นŠ์–ด์งˆ ์ˆ˜๋ก ๊ทธ ์ฐจ์ด๋Š” ๋” ์ปค์ง€๊ฒŒ ๋œ๋‹ค.
์ฆ‰, CNN์€ ๋” ์ž‘์€ ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋” ๋†’์€ ์ธ์‹๋ฅ ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋ณธ ๋…ผ๋ฌธ์—๋Š” ํŠน์ง• ์ถ”์ถœ๊ณผ ๋ถ„๋ฅ˜๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ์œผ๋‚˜, ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ํŠน์ง• ์ถ”์ถœ ๋ถ€๋ถ„์— ํฌ์ปค์Šค๋ฅผ ๋งž์ถ”์–ด ์ง„ํ–‰ํ•˜์˜€๋‹ค.


PS. ์ถ”๊ฐ€ ๋ฌธ์˜์‚ฌํ•ญ ๋ฐ ์งˆ๋ฌธ์€ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฅผ ํ†ตํ•ด ์ €๋„ ๋” ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์„ํ…Œ๋‹ˆ๊นŒ์š”. ๊ธด ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Reference

Share