본문 바로가기
논문리뷰

MoblieNetV2: Inverted Residuals and Linear Bottlenecks. (CVPR 2018)

by Park Hyun Kook 2020. 6. 1.

MoblieNetV2: Inverted Residuals and Linear Bottlenecks. (CVPR 2018)

 Authors: Mark SandlerAndrew HowardMenglong ZhuAndrey ZhmoginovLiang-Chieh Chen.

 

- 본 논문에서는 Google에서 제안한 MobileNetV1 다음 버전인 MobileNetV2 모바일이나 임베디드에서도 real-time으로 작동할 있게 모델을 경량화하고, 성능 또한 유지한 네트워크이다.

 

- Linear Bottleneck block. 논문에서는 이전 MobileNetV1 구조였던 Depthwise Separable Convolution에서 Depthwise Convolution Pointwise Convolution에서 Pointwise Convolution 연산량이 많아지기 때문에 이러한 계산량 부담을 인식하고 이전 layer Depthwise Convolution 연산 비중을 올리는 테크닉을 제안한다. 논문에서는 Manifold라는 개념을 제안하며 이를 통해 고차원의 채널이 저차원의 채널로 표현할 있다는 가설을 통해서 1x1 pointwise convolution 먼저 수행한 depthwise convolution 수행한다. 이를 통해 Expansion layer(pointwise conv)으로 채널 수를 늘리고 depthwise convolution 수행한 projection layer 통해 다시 input channel 개수로 줄이는 bottleneck block 구조를 가진다. 이는 아래의 그림을 통해서 확인할 있다.

 

Figure 1: Linear Bottleneck block.

- ReLU6 activation. ReLU6 positive region에서 Maximum value 6 넘어가지 못하게 하는 activation function이다. 이는 기존의 ReLU Positive region에서 상한선이 없기 때문에 이를 표현하기 위해서 bit수를 정할 risk 있었다. 하지만 ReLU6 결과값이 6이하기 때문에 integer bit 3bit 고정하며 연산량 감소의 효과가 있다.)

 

Figure 2: Activation Function  상한선 비교

- ReLU6 activation. 논문에서는 기존의 ReLU 필연적으로 정보손실을 야기하기 때문에 이를 방어해야 한다고 말한다. 아래 Figure 3 통해 ReLU 문제를 확인할 있다. ReLU 필연적으로 정보손실을 야기하기 때문에 차원이 적을 ReLU 사용하면 성능을 저하시킨다. Figure 4 통해서 이를 해결할 있는데 채널이 많을수록 ReLU 정보 손실을 발생시켜도 다른 채널에서 정보가 유지될 있기 때문에 채널이 많을 때는 ReLU 사용하는 것이 가능하다고 한다.

Figure 3:  채널  1 인   데이터의  ReLU  결과 ,  중요정보가   삭제될   수   있다 .
Figure 4:  채널이  2 인   데이터의  ReLU 결과 .  중요   정보가   삭제되어도   다른   채널에서   해당   정보가   존재할   가능성이   있다 .

 

- Inverted Residual connections. Depthwise Separable Convolution Linear Bottleneck 합친 것이다. 기존의 residual connection 반대로 뒤집은 형태라서 inverted residual라고 부른다. 위에서 말했듯이 ReLU 채널수가 많을 사용해야하기 때문에, 먼저 input 1x1 pointwise convolution으로 채널수를 확장하고 ReLU6 포함된 Depthwise convolution 진행한다. 그리고 마지막으로 projection layer(linear bottleneck) 통해 기존 input 채널수와 동일하게 채널수를 줄인다. 더불어 Figure 6에서 확인할 있듯이 stride 1일때는 shortcut 있지만 stride 2일때는 존재하지 않다. 이는 이미지의 크기가 줄어들면 정보의 선형성이 보장되지 않기 때문이라고 생각한다.

 

Figure5: left. Residual block, right. Inverted residual block.

 

Figure 6: left, stride=1 일   때  inverted residual connection, right, stride=2 일   때 inverted residual connection.

 

댓글