ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 리뷰] Deep Residual Learning for Image Recognition
    Paper Review/Neural Network 2022. 1. 25. 19:53

    Abstract 

    이전의 신경망들은 층이 깊어질수록 훈련하기가 어렵다. 이 논문에서는 이전의 네트워크보다 매우 심층적인 네트워크의 훈련을 원활히 하기 위한 Residual Learning framework를 제안한다. 

     

    참조되지 않은 새로운 함수를 적용하는 대신에 residual function을 학습하는 것으로 layer를 재구성한다. 이 방법을 통해 residual network가 최적화하기 더 쉽고 상당히 깊은 네트워크에서 높은 정확도를 보여준다. 

     

    결과적으로 152개의 layer를 통해 VGG net보다 좋은 성능을 내고, 이 논문에서는 100개와 1000개의 layer를 통해 CIFAR-10 데이터에 대한 분석을 제시한다. 

    1. Introduction 

    이전의 많은 논문들을 통해 CNN은 이미지 분류에 상당한 성능을 보이고, deep network일수록 성능이 좋다는 것을 알 수 있다. 

     

    Deep network가 깊어질수록 정확도가 저하되는 degradation 문제는 training data와 test data에 대해 더 많은 layer들이 추가되었기 때문에 발생한다. (Figure 1.) 기울기를 구하기 위해 가중치에 해당하는 손실 함수의 미분을 오차역전파법으로 구한다. 이 과정에서 활성화 함수의 편미분을 구하고 그 값을 곱해주는데 이는 layer가 뒷단으로 갈수록 활성화함수의 미분값이 점점 작아지거나 커지는 효과를 갖는다. 

     

    따라서 여러번 미분값이 곱해져 기울기가 0에 가까워지는 기울기 소실(gradient vanishing), 반대로 극도로 커지는 기울기 폭발(gradient exploding)의 문제가 발생한다. 

    training과 test 데이터 모두의 성능이 낮아지고 있어 과적합의 문제로 보지 않는다고 한다. 

    이러한 문제는 모든 시스템이 비슷하게 최적화되기 어려움을 보여준다. 이를 해결하기 위해 이 논문에서는 deep residual learning framework을 통해 degradation 문제를 다룬다. 이러한 residual block을 추가하면 네트워크의 최적화 난이도를 낮출 수 있다. 

     

    기존의 mapping을 H(x)라고 하면 nonlinear layer mapping을 F(x) = H(x) - x 로 설정한다.

    따라서 기존의 H(x)는 F(x) + x 로 recast 될 수 있다. 즉, 출력과 입력의 차를 줄이는 의미를 갖는다. 

    이는 Shortcut Connection으로써 하나 이상의 layer를 skip하게 만들어준다. 

     

    Shortcut Connection은 단순히 입력에서 출력으로 바로 연결되는 shortcut만 추가하기 때문에 추가 매개변수나 계산이 복잡하지 않은 것이 장점이다. 또한, 이 네트워크에서는 여전히 SGD와 역전파를 통해 end-to-end로 훈련될 수 있다. 

    이 논문에서는 degradation 문제를 보여주고 방법을 평가하기 위해 ImageNet에 대해 아래 두 가지의 목표를 설정한다. 

     

     1) 일반적인 CNN 모델인 plane nets(단순히 층을 쌓는 것)는 깊이가 증가하면 더 높은 훈련 오류를 보이

        만 deep residual nets은 최적화하기 쉽다.

     2) Deep residual nets은 훨씬 더 깊은 깊이에서 얻은 정확도 이득을 쉽게 누릴 수 있어 이전 네트워크보다

        훨씬 나은 결과를 산출할 수 있다.

    2. Related Work 

    Residual Representations.

    feature vector x를 feature vector y로 mapping 하는 벡터 양자화에 있어 residual vector를 인코딩하는 것이 original vector를 인코딩하는 것보다 훨씬 효과적이라는 것을 이전의 연구를 통해 알 수 있다.

    low level의 비전과 컴퓨터 그래픽에서, 편미분 방정식(PDE) 해결하기 위해 널리 사용되는 Multigird 방법 시스템을 여러 scale에서 하위 문제로 재구성하며, 여기서 하위 문제는 작은 scale 미세한 scale 사이의 residual을 담당한다. 이 방식은 residual의 특성에 대해 기존 방식보다 훨씬 빠르게 수렴하는 것을 보여준다.  

    Shortcut Connections.

    이전에 많은 shortcut connection에 관한 논문들과 다르게, ResNet의 shortcut connection은 파라미터가 추가로 필요하지 않으며, 0으로 수렴하지 않기 때문에 항상 모든 정보가 통과된다. 따라서 지속적으로 residual function을 학습하는 것이 가능하다.

    3. Deep Residual Learning

    3.1 Residual Learning

    실제의 경우, identity mapping 최적일 가능성은 낮지만, 이 논문의 방법 문제를 pre-conditioning 하는 도움이 있다. 최적의 함수가 zero mapping보다 identity mapping에  가까울 경우, solver 새로운 기능으로 함수를 학습하는 것보다 identity mapping 참조하여 작은 변화를 찾는 것이 쉬울 것이라고 한다.

     

    즉, x를 보존하고 추가적인 정보만 학습하면 된다. 매번 새로운 mapping을 계산하지 않아도 된다. 

    3.2 Identity Mapping by Shortcuts 

    이 논문에서는 모든 stacked layer residual learning 적용한다. 다음과 같이 정의된 빌딩 블록을 고려한다.

    여기 x y 각 layer 입력 출력 벡터이다. 함수 F(x, {Wi}) 학습해야 residual mapping 나타낸다. 개의 layer가 있는 figure 2. 예에서, F = W_2*σ*(W_1*x)이며(2개의 weight layer), 여기서 σ ReLU 나타낸다. F + x 작업은 shortcut connection과 element-wise addition 의해 수행됩니다. 추가 번째 비선형성(, σ(y)) 채택한다.

    Equation(1) shortcut connection 추가 매개 변수나 계산 복잡성을 도입하지 않는다. 또한, x F dimension은 같아야 한다. 그렇지 않은 경우, shortcut connection으 linear projection W_s 수행하여 dimension을 일치시킬 있다.

    3.3 Network Architecture

    다양한 형태의 plain/residual network에 대해 테스트 했으며 일관된 현상을 보인다. 

    점선은 입력과 출력의 dimension이 맞지 않을 경우임

    Plain Network.

    Plain net VGG net에서 영감을 받았다. Conv layer 대부분 3×3 필터를 가지고 있으며 가지 단순한 설계 규칙을 따른다.

     

    (1) 동일한 출력 feature map size 대해 layer들은 동일한 수의 필터를 가지고 있다.

    (2) feature map size 반으로 줄면 layer time complexity 보존하기 위해 필터 수가 배로 증가한다.

     

    네트워크는 global average pooling layer와 softmax 있는 fully-connected layer으로 끝난다. weighted layer 수는 34이다. 이는 VGG net에 비해 적은 필터 수와 복잡성을 가진다. 

    Residual Network. 

    위의 plaine net을 기반으로 네트워크를 shortcut connection을 삽입한다. 입력과 출력이 동일한 dimension identity shortcut(Eq.(1))을 직접 사용할 있다(그림 3 실선). 하지만, dimension 증가할 (그림 3 점선), 가지 방법이 있.

     

    (1) identity shortcut connection을 계속 실행하는 경우, dimension을 증가시키기 위해 나머지를 zero

        padding한다. 

    (2) projection shortcut connection은 deimension을 맞추기 위하여 1X1 connection을 사용한다.

    3.4 Implementation 

    1. 이미지는 scale agmentation를 위해 [256, 480]에서 무작위로 샘플링된 짧은 면으로 resize 
    2. 224×224 크롭은 픽셀당 평균을  상태의 이미지 또는 이미지 수평 플립에서 무작위 샘플링
    3. Standard color augmentation 사용
    4.  convolution 직후와 활성화 전에 배치 정규화(BN) 사용
    5. 가중치를 He 초기화 방법으로 초기화하고 모든 plain/residual net 처음부터 훈련
    6. 256 mini-batch size SGD 사용
    7. Learning rate는 0.1에서 시작하여 오류 발생  10으로 나누며, 모델은 최대 60 × 104 반복 학습
    8. Weight decay : 0.0001, Momentum : 0.9
    9. 드롭아웃은 사용 X

    테스트에서 비교 연구를 위해 10-cross validation 방식을 사용한다. 

    4. Experiments 

    4.1 ImageNet Classification 

    1000개의 클래스로 구성된 ImageNet 2012 분류 데이터 세트 대해서 평가한다. 모델은 128 개의 train 이미지 대해 훈련되고 5만 개의 validation 이미지에 대해 평가된다

    Plain Networks.

    먼저 18 layer  34 layer의 plain net 평가한다

    Table 2 결과는 깊은 34 layer plain net 얕은 18 layer plain net보다 높은 validation error 가지고 있음을 보여준다. figure 4.(왼쪽)에서 훈련 절차 training/validation error 비교해보면 degradation 문제를 발견할 수 있. 34 layer plain net 전체 훈련 절차에서 높은 training error 갖는다.

    이러한 최적화 어려움이 vanishing gradients으로 인해 발생할 가능성이 낮다. Plain net은 BN으로 훈련되었기 때문에 forward propagated signal이 non-zero variances를 갖는다. 따라서 forward, backward signal은 사라지지 않는다. Deep plain net가 기하급수적으로 낮은 수렴률(exponentially low convergence rate)을 가질 있어, 이로 인해 training error 감소에 영향을 미쳤다고 판단한다.

    Residual Networks.

    다음으로 18 layer, 34 layer residual net(ResNets) 평가한다. 기본 아키텍처는 위의 plain net 동일하므로 figure 3(오른쪽) 같이 3×3 필터의 쌍에 shortcut connection 추가된. 번째 비교(table 2 figure 4 오른쪽)에서는 모든 shortcuts identity mapping 사용하고 크기를 늘리기 위해 zero padding 사용한다(옵션 A). 

    Table 2 figure 4에서 3 가지 주요 관측 결과를 확인할 있다.

     

    (1) 34 layer ResNet 18 layer ResNet보다 성능이 높다. 더욱 중요한 것은 34 layer ResNet 상당히 낮은 training error 보이고 validation 데이터로 일반화될 있다는 점이다. 이는 degradation 문제가 설정에서 해결되었으며 증가된 깊이로부터 정확도 이득을 얻을 있음을 나타낸다.

    (2) 34 layer ResNet plain model 비교하여 training error 성공적으로 줄였다.

    (3) 18 layer plain/residual net 비교적 정확하지만(table 2) 18 layer ResNet 빨리 수렴한다.(figure 4) 네트워크가 지나치게 깊지 않은(18 layer) , ResNet 초기 단계에서 빠른 수렴을 제공하여 SGD를 통한 최적화를 용이하게 한다.

    Identity vs. Projection Shortcut.

    매개 변수가 없는 identity shortcut이 training 도움이 된다는 것을 보여주었다. 다음으로 projection shortcut(Eq.(2)) 조사한다. Table 3에서는 가지 옵션을 비교한다.

     

    (A) zero padding shortcut을 dimension 증가에 사용되며, 모든 shortcut은 매개 변수가 없다. 

    (B) projection shortcut을 dimension 증가에 사용되고 다른 shortcut은 모두 identity shortcut이다.

    (C) 모든 shortcut projection shortcut이다.

    Table 3 가지 옵션 모두 plain net보다 상당히 나은 것을 보여준다. A zero padding 과정에 실제로 residual learning 없기 때문에 B의 성능이 더 좋다. 또한, 많 projection shortcut 의해 파라미터가 추가되었기 때문에 C가 B의 성능보다 좋다. 

     

    그러나 A/B/C 간의 차이가 작기 때문에 projection shortcut이 degradation 문제를 해결하는 필수적이지 않다. 따라서 메모리/시간 복잡성과 모델 크기를 줄이기 위해 논문의 나머지 부분에서는 옵션 C 사용하지 않는다

    Deeper Bottleneck Architectures.

    이 부분에서는 ImageNet 위한 심층적인 네트에 대해 설명한다. training 시간 대한 우려로 인해 building block bottleneck design으 수정한다. residual function F 대해 2개 아닌 3개의 layer stack 사용한다(figure 5). 3개의 layer 1×1, 3×3, 1×1 컨볼루션이며, 여기서 1×1 layer dimension 늘리거나 줄이는 역할이며, 3×3 layer 입출력 dimension을 줄이는 bottleneck 역할을 한다. Figure 5  구조 유사한 시간 복잡성을 갖는 예를 보여준다.

    매개 변수가 없는 Identity shortcut(1 x 1)은 bottleneck 구조의 복잡성을 증가시키지 않는 점에서 특히 중요하다. Figure 5 identity shortcut(오른쪽) projection shortcut으로 대체하면 shortcut이 차원이 높은 끝단에 연결돼 시간 복잡도와 모델 크기가 배로 커진다. 따라서 identity shortcut은 bottleneck architecture을 보다 효율적인 모델로 만든다.

    50-layer ResNet.

    50 layer Resnet에서 34 layer net 2 layer block 3 layer bottleneck block으로 교체한다. 크기를 늘리기 위해 옵션 B 사용한다.

    101-layer and 152-layer.

    많은 3 layer block 사용하여 101 layer, 152 layer ResNet 구성한다. 놀랍게도 깊이가 상당히 증가했지만 152 layer ResNet 여전히 VGG-16/19 nets보다 복잡성이 낮다.

    Comparison with State-of-the-art Methods.

    Table 4에서 확인한 single-model 결과는 이전의 모든 앙상블 결과를 능가한다(Table 5). 서로 다른 깊이의 6 모델을 결합하여 앙상블을 구성했을 경우 ILSVRC 2015에서 1위를 차지했다.

    4.2 CIFAR-10 and Analysis

    10개의 클래스에서 50,000개의 train 이미지와 10,000개의 test 이미지로 구성된 CIFAR-10 데이터 세트에 대한 결과이다

    Exploring Over 1000 layers.

    1000 이상의 layer 이루어진 깊은 모델을 보았을때 Figure 6.의 오른쪽 결과처럼 110 layer network의 결과보다 안 좋은 성능을 보인다. 이 논문에서 이것이 과적합 때문이라고 주장한다. 1202 layer network는 해당 데이터셋에 비해 불필요하게 크다고 한다. 이 논문에서 maxout/dropout 같은 정규화를 사용하지 않았기 때문에 앞으로 더 강력한 정규화와 결합하면 더 나은 성능을 보일 것이라고 한다.

    4.3 Object Detection on PASCAL and MS COCO 

    이 논문의 방법은 다른 recognition 작업에서 일반화 성능이 좋다. Table 7 8에는 PASCAL VOC 2007 2012 COCO object detection baseline 결과가 표시된다. Detection 방법으로 faster R-CNN 사용했다. 

    Deep residual nets을 기반으로 ILSVRC & COCO 2015 대회에서 여러 트랙에서 1위를 차지했다고 한다

     

     

     

     

     

     

     

    paper 
    https://arxiv.org/abs/1512.03385

     

Designed by Tistory.