티스토리 뷰

 [업데이트 2018.04.30 17:10]


여덟번째 요약할 논문은 "Deep Residual Learning for Image Recognition"(https://arxiv.org/pdf/1512.03385.pdf) 입니다. 본 논문에서는 residual learning을 통해 기존의 심층 신경망보다 상당히 더 deep한 신경망에 대해서도 학습을 잘하는것을 보여주고 있습니다. ResNet이라고 불리는 본 논문의 심층 신경망의 경우 152개의 layer로 구성되며, VGGNet 대비 8배나 많은 depth를 가집니다. ILSVRC 2015 image classification 분야에서 top-5 test error 3.57%를 기록하며 우승했습니다. 또한 ImageNet detection/localization, COCO detection/segmentation 분야에서도 1위를 기록하게 됩니다. 실제로 인간이 이미지를 인식 할 때 발생하는 오류율이 약 5%-10%인데, 이것보다 더 좋은 결과를 보여준 놀라운 결과였습니다.


그러나 네트워크의 depth가 깊어지면 쉽게 성능 향상을 할 수 있을 것 같지만, 실제로는 2가지 문제를 유발하게 됩니다.


1. vanishing/exploding gradient 이슈

2. 학습이 어려워지는 이슈(overfitting에 의한 것이 아닌 네트워크 depth가 깊어짐에 따른 training error 증가)


아래 그림1은 빠른 시험 결과 도출을 위해 CIFAR-10 dataset을 사용하여 망 깊이에 따른 오류율을 확인한 결과입니다. 56개의 layer를 가진 경우가 더 오류율이 높은 것을 알 수 있습니다. 또한 overfitting이 아닌 학습 오류 또한 네트워크 depth가 깊어짐에 따라 커지는 것을 볼 수 있습니다.


이러한 degradation 문제를 해결하기 위해 본 논문에서 제안한 방법이 residual learning입니다. 



기존에는 H(x)를 출력으로 하는 layer에 대해 weight를 업데이트하였다면, 


F(x) = H(x) - x 


즉, 출력과 입력간의 차에 대해 학습을 시키면 degradation 문제를 해결 할 수 있다고 제시하고 있습니다. 위의 수식을 정리하면 아래와 같습니다.


H(x) = F(x) + x


입력 x값을 출력값에 더하는 identity mapping을 수행하며, Shortcut Connections라고 불리는 방법입니다. 이렇게 함으로써 추가적인 파라메터가 필요하지 않고, computational complexity가 증가하지 않게 됩니다. Shortcut Connections의 컨셉은 기존 논문중 하나인 GoogLeNet에도 적용되어 있음을 알 수 있습니다. 학습중에 Inception layer에 적용되는 Auxiliary classifier가 그 예입니다.


Shortcut Connections을 통한 identity mapping시 아래와 같이 수식을 정리 할 수 있습니다. 기본적으로 입력 x를 더할 때, F(x)와 차원이 같을 때는 아래와 같이 그냥 더하면 됩니다.


y = F(x) + x                   // F(x) = W2*relu(W1*x)


만약 F(x)와 x가 차원이 다를 경우, Ws projection matrix를 곱하여 차원을 같게 만든 후 더하게 됩니다.


y = F(x) + Ws*x


본 논문에서는 VGG-19, plain, residual network 이렇게 3가지에 대해 비교하며(Figure 3), 또한 ResNet(이하 residual network)의 경우 depth를 늘리고, Shortcut Connections시 방법 A, B, C에 따라 결과를 비교하고 있습니다. 여기서 중요한 포인트는 기존 VGG-16대비 연산량도 줄어들고, depth가 깊음에도 residual learning을 통해 학습이 더 잘되며, 좋은 성능을 이끌어냈다는 점입니다.



아래 Figure 4는 plain net과 residual net의 training error와 validation error를 비교한 결과로 ResNet이 더 우수한 성능을 보여줌을 알 수 있습니다. (training error의 큰 감소)



최종적으로 ILSVRC 2015 competition에서 ResNet-152 모델을 ensemble한 결과로 top-5 test erro에서 3.57%를 기록하며 우승하게 됩니다.



ResNet-152모델의 경우 "bottleneck" building block 구조(layer가 3개)를 가지고 residual function을 구성해 적용하였습니다. (Figure 5)



학습 및 테스트시 사용한 파라메터들입니다. 기본적으로 Alex Net, VGG Net의 환경을 따라 구현하였습니다.


[학습] 

- [256~480] 이미지 사이즈에서 random하게 resize

- resize된 이미지를 다시 224x224 size로 random crop, horizontal filp, per-pixel mean subtracted, standard color augmentation

- batch normalization

- SGD w/ 256 mini-batch size

- learning rate 0.1, error가 plat해질때 마다 1/10 감소

- weight decay 0.0001, momentum 0.9

- dropout 미사용


[테스트]

- 테스트시 10-crop testing, image resize {224, 256, 384, 480, 640}




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함