๋ค์ด๊ฐ๋ฉฐ
ย ย ย 7์ฃผ์ฐจ ๊ฐ์์ ์ ์ด๋ค์๋ค. ์ด๋ฒ ๊ฐ์์์๋ ๋ํ์ ์ธ CNN ๋ชจ๋ธ๋ค๊ณผ ๋ชจ๋ธ์ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ์๋๋ฐฉ์(Residual Block, Bottleneck Block, Autoencoder…)์ ๋ํด์ ๋ฐฐ์ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ์ง Object detection๊ณผ Semantic Segmentation์ ๋ํด์ ๋ฐฐ์ ๋ค. ๋ง์ ๋ด์ฉ๋ค์ด ํ ๊ฐ์์ ๋ด๊ฒจ์๋ค๋ณด๋, ์ค๋ช
๋ค์ด ์น์ ํ์ง ์์ ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ ํ์์ธ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๋ค์ 8์ฃผ์ฐจ ๊ฐ์๋ฅผ ๋ง์ง๋ง์ผ๋ก ํด์ปคํค ํ๊ตฌ์ฑ์ด ์์๋๋ค. 4~5๋ช
์ผ๋ก ํ์ ์ด๋ค AI ๊ด๋ จ ์ฃผ์ ๋ฅผ ๊ฐ์ง๊ณ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ , ๋ง์ง๋ง ๋ฐํํ๋ฅผ ๋ง์ง๋ง์ผ๋ก ๋ถํธ ์บ ํ๋ ์ข
๋ฃ๋๋ค. ํด์ปคํค ํ์ ๋์์ด ๋ ์ ์๋๋ก ๊ฐ์๋ฅผ ์ ๋ง๋ฌด๋ฆฌ ํด์ผ๊ฒ ๋ค.
7์ฃผ์ฐจ
- ๋ํ์ ์ธ CNN ๋ชจ๋ธ๋ค - AlexNet, VGGNet, ResNet
- Object Detection - CNN์ ์ด๋ป๊ฒ ํ์ฉํ ๊น์?
- Autoencoder ์ Upsampling
- Semantic Segmentation ์ ์ด๋ป๊ฒ ํ ๊น์?
- (์ค์ต) Autoencoder ๋ค๋ค๋ณด๊ธฐ
- (์ค์ต) CNN pretrained model ํ์ฉํ๊ธฐ
๋ํ์ ์ธ CNN ๋ชจ๋ธ๋ค - AlexNet, VGGNet, ResNet
AlexNet
-
CNN์ ๊ธฐ๋ฐ์ ๋ฆ์ ๋ชจ๋ธ
-
GPU๋ฅผ ์ฌ์ฉํ CNN ํ์ต, Activation ํจ์๋ก ReLU ์ฌ์ฉ, Data augmentation ํ์ฉ, CNN์ dropout ๋์
-
Data augmentation?
- ๋ฐ์ดํฐ์ label์ ์ ์งํ์ฑ๋ก transform ์์ผ์ ๋ฐ์ดํฐ์ ์ ํฌ๊ธฐ๋ฅผ ํค์ฐ๋ ๋ฐฉ๋ฒ
- Overfitting ๋ฐฉ์ง, generalization ์ฑ๋ฅ ํฅ์์ ๊ธฐ์ฌ
- ์ํ์ข์ฐ ๋ฐ์ , ๋ ธ์ด์ฆ ์ฝ์ , random crop, blur
VGGNet
-
๋ง์ Layer์ ๊ฐ์ -> conv, fc layer ์ด 19๊ฐ: 144 million parameters
-
Conv filter ํฌ๊ธฐ๋ 3x3 ์ผ๋ก ๊ณ ์
- ์ฅ์ : 3x3 conv layer๋ฅผ ์ฌ๋ฌ๊ฐ ์์ผ๋ฉด ๋ ์ ์ parameter ๊ฐ์๋ก layer๋ฅผ ์์ ์ ์๋ค.
- ReLu(non-linearlity)๊ฐ ๋ง์ด ๋ค์ด๊ฐ ์ ์์ด์ ํํ๋ ฅ์ด ์ข์์ง
-
3x3 size conv filter, stride=1, padding=1 ์ธ conv layer๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํจ
ResNet
-
Conv layer๊ฐ ๋ง์์ง๋ค๊ณ ์ฑ๋ฅ์ด ๊ผญ ์ข์์ง๋ ๊ฒ์ ์๋๋ค.
- Gradient vanishing / exploding
- Layer ๋ค๊ฐ์ ์ฐ๊ฒฐ์ด ๋๋ฌด ๊ธธ์ด์ ธ์ ๋ฐ์ํ๋ ๋ฌธ์
-
Residual block์ ์ด์ฉํ์ฌ conv layer๊ฐ ๋ง์ ๋คํธ์ํฌ์ ๋ํด์ ํ์ต์ ์ฑ๊ณต
- Skip connection์ ์ด์ฉ
Residual Block
- Residual(์์ฐจ): ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ์ ์ฐจ์ด
- Skip connection์ ์ด์ฉํ์ฌ ์ด์ layer์ feature๋ฅผ ์ง์ ๋ฐ์์ฌ ์ ์๊ฒ ๋์๋ค.
Bottleneck Block
-
1x1 convolution์ ํ์ฉํ์ฌ ํ์ต parameter์์ ์ฐ์ฐ๋์ ์ค์ด๋ ๊ตฌ์กฐ, ResNet-50 ์ด์์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
-
1x1 convolution: ์ฐ์ฐ๋์ด ์์ feature map์ channel์ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ๋ ์ฌ์ฉํ๋ค.
-
Bottleneck block ๋จ๊ณ
- 1x1 conv๋ก feature map channel ์ถ์
- ์ถ์๋ channel์ 3x3 conv๋ก spartialํ feature map์ ์ป์
- 1x1 conv๋ก feature map์ channel ์์๋ณต๊ตฌ
-
๊ฒฝ๋ํ ๋ชจ๋ธ: MobileNet, SqueezeNet, ShuffleNet, …
Object Detection - CNN์ ์ด๋ป๊ฒ ํ์ฉํ ๊น์?
-
๋ฌผ์ฒด๊ฐ ์ด๋์ ์๋์ง์ ์ข ๋ฅ๋ฅผ ์์๋ด๋ task
- ์์น: Bounding Box๋ก ํํํ๋ค. (x, y, w, h)
- ์ข ๋ฅ: Classification
์ฑ๋ฅ ์ธก์
-
IoU(Intersection over union): ์ค์ ์์ญ๊ณผ ์์ธกํ ์์ญ์ ๊ต์งํฉ/ํฉ์งํฉ
-
Precision & Recall
- True Positive(TP): ์ค์ ๋ก๋ ์๋๋ฐ ์๋ค๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธก
- False Positive(FP): ์ค์ ๋ก๋ ์๋๋ฐ ์๋ค๊ณ ํ๋ฆฌ๊ฒ ์์ธก
- False Negative(FN): ์ค์ ๋ก๋ ์๋๋ฐ ์๋ค๊ณ ํ๋ฆฌ๊ฒ ์์ธก
- True Negative(TN): ์ค์ ๋ก ์๋๋ฐ ์๋ค๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธก
- Precision(์ ๋ฐ๋): TP/TP+FP -> ์ฐพ์ ๊ฒ๋ค ์ค ์ค์ ๋ก ์๋๊ฒ์ด ์ผ๋ง๋ ๋๋๊ฐ?
- Recall(์ฌํ์จ): TP/TP+FN -> ์ค์ ๋ก ์๋๊ฒ ์ค ์ฐพ์๊ฒ์ด ์ผ๋ง๋ ๋๋๊ฐ?
-
Precision-Recall ๊ณก์ (PR ๊ณก์ )
- Confidence threshold์ ๋ฐ๋ฅธ precision๊ณผ recall
- Confidence : ์๊ณ ๋ฆฌ์ฆ์ด ์์ธก์ ํ์ ์ ๊ฐ์ง๋ ์ ๋ -> threshold ์ดํ์ confidence๋ฅผ ๊ฐ์ง๋ ์์ธก์ ๋ฌด์
- Confidence threshold๊ฐ ๋ฎ์์ง๋ฉด detection์ด ๋ง์์ง๊ณ pricision์ด ๋ฎ์์ง๊ณ recall์ด ๋์์ง
- Confidence threshold๊ฐ ๋์์ง๋ฉด detection์ด ์ ์ด์ง๊ณ pricision์ด ๋์์ง๊ณ recall์ด ๋ฎ์์ง
-
Average Precision(AP)
- Pricision๊ณผ recall์ ๋์์ ๊ณ ๋ คํ ์ฑ๋ฅ์งํ
- PR ๊ณก์ ์ ์๋ ์์ญ์ ๋์ด
-
mean Average Precision(mAP)
- ๊ฐ class๋น AP์ ํ๊ท
Pretrained CNN ๋ชจ๋ธ
-
์ด๋ฏธ์ง๋ฅผ ํ์ต ์ํค๋ ค๋ฉด ๊ต์ฅํ ์ค๋ ๊ฑธ๋ฆฐ๋ค. -> pretrained model์ ์ด์ฉํ์ฌ task์ ๋ง๊ฒ finetuning ํ๋ค.(์์ lr)
- R-CNN -> Fast R-CNN -> Faster R-CNN
- SPPNet
- YOLO
- SSD
Autoencoder ์ Upsampling
-
Semantic Segmentation
- ๋ชจ๋ pixel์ ๋ํ classification (pixelwise classification)
- Pixcel ๊ฐ์๋งํผ CNN ๋๋ฆฌ๋ ๊ฒ์ ๋นํจ์จ์
- ํ๋ฒ์ ์ฌ๋ฌ pixel์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ ์ถ๋ค.
-
Encoder-Decoder ๊ตฌ์กฐ
- Encoder: ์ ๋ ฅ ๋ฐ์ดํฐ์์ ์๋ฏธ์๋ Latent feature(Encoder์ ์ํด ์์ถ๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ feature)๋ฅผ ์ถ์ถํ๋ ๋คํธ์ํฌ
- Decoder: Feature๋ก๋ถํฐ ์ํ๋ ๊ฒฐ๊ณผ ๊ฐ์ ์์ฑํ๋ ๋คํธ์ํฌ
-
Autoencoder
- ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ธ๊ณต์ ๊ฒฝ๋ง
- Label ์์ด๋ ์ ๋ ฅ๋ฐ์ดํฐ์ feature๋ฅผ ์ถ์ถํ ์ ์์
- Feature ์ฐจ์ ์ถ์ -> ์ค์ํ ์ ๋ณด๋ง ์ด๋ฆฌ๊ธฐ
-
Decoder์ upsampling
- ํ์ต parameter๊ฐ ์๋ ๊ฒฝ์ฐ: Bilinear interpolation, Nearest neighbor
- ํ์ต parameter๊ฐ ์๋ ๊ฒฝ์ฐ : Transposed convolution (Deconvolution)
Semantic Segmentation์ ์ด๋ป๊ฒ ํ ๊น์?
-
์ฑ๋ฅ์ธก์ : mean IoU, bounding box ๋์ pixel๋ก IoU ๊ณ์ฐ -> class ๋ณ IoU์ ํ๊ท
-
๋ง์ด ์ฐ๋ ๋ฐ์ดํฐ์ : PASCAL VOC 2012, MS COCO, Cityspaces
-
FCN(Fully Convolutional Network)
- fc layer ์์ด conv layer๋ก๋ง ๊ตฌ์ฑ๋จ -> ์ ๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ์ ์ ์ฝ๋ฐ์ง ์์
- VGG16์ backbone newtwork๋ก ์ฌ์ฉ, VGG16์ fc layer๋ฅผ conv layer๋ก ๋ณํ
- VGG16์ fc layer feature๋ง์ผ๋ก upsampling ํ๋ฉด corseํ ์ ๋ณด๋ง ๋ด๊น
- ์ค๊ฐ conv feature map์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ๋ํ ์ผ๋ค์ ์ถ๊ฐ
-
DeconvNet
- Deconvolution layer๋ convolution layer๋งํผ ๋ง์ด, ๋์นญ์ ์ผ๋ก ์์๋ณด์
-
U-Net
- skip connection
- Encoder์ conv feature map์ ๋์๋๋ ํฌ๊ธฐ์ decoder layer์ ์ง์ ์ ๋ฌ
-
DeepLab V3
- Atrous convolution(Dilated convolution)
- Conv filter ์ฌ์ด๋ฅผ ํ์ฅํ์ฌ convolution ํ๋ ๋ฐฉ๋ฒ
- ๋์ Receptive field๋ฅผ ๊ฐ์ง -> spartial ์ ๋ณด์ ๋ํ ์์ค์ ์ค์ผ์ ์๋ค.
- Atrous Spartial Pyramid Pooling(ASPP)
- Atrous rate๊ฐ ๋ค๋ฅธ ์ฌ๋ฌ filter๋ฅผ ์ฌ์ฉํ์ฌ multi-scale ์ ๋ณด๋ฅผ ํ๋