안녕하세요.
Xception 논문 리뷰 2회차입니다.
1회차 논문리뷰로 An Extreme version of Inception module이 Depthwise Separable Convolution까지 소개했습니다.
아래 전 편의 글을 읽는 것을 추천드립니다.
https://coding-yoon.tistory.com/78?category=825914
An Extreme version of Inception module과 Depthwise Separable Convolution는 굉장히 비슷한 형태를 가지고 있습니다.
논문에서 소개하는 두 개의 차이점을 설명하고 있습니다.
Two minor differences between and “extreme” version of an Inception module and a depthwise separable
convolution would be:
“extreme” version of an Inception module과 depthwise separable
convolution의 두 가지 사소한 차이점은 다음과 같습니다.
1. Order(순서)
• The order of the operations:
depthwise separable convolutions as usually implemented (e.g. in TensorFlow)perform first channel-wise
spatial convolution and then perform 1x1 convolution, whereas Inception performs
the 1x1 convolution first.
Depthwise Separable Convolution : Depthwise Convolution(3x3, 5x5 ...), Pointwise Convolution
An Extreme version of Inception module : Pointwise Convolution , Depthwise Convolution(3x3, 5x5 ...)
Convolution의 순서가 다르다고 합니다.
We argue that the first difference is unimportant, in particular because these operations are meant
to be used in a stacked setting.
스택 설정에서 사용되기 때문에 순서의 차이점은 중요하지 않다고 합니다.
2. Non-Linearity(비선형성)
• The presence or absence of a non-linearity after the first operation.
In Inception, both operations are followed by a ReLU non-linearity, however depthwise separable
convolutions are usually implemented without non-linearities.
ReLU(비선형)의 유무.
Inception은 Convolution 수행이 후 ReLU가 붙는 반면,
일반적으로 Depthwise Separable Convolution는 ReLU가 없이 구현됩니다.
The second difference might matter, and we investigate it in the experimental section
(in particular see figure 10).
ReLU의 유무는 중요하며, Figure 10에서 실험 결과를 보여줍니다.
Depthwise Separable Convolution에서 ReLU를 사용하지 않았을 때 더 높은 Accruacy를 보여줍니다.
It may be that the depth of the intermediate feature spaces on which spatial convolutions are applied
is critical to the usefulness of the non-linearity:
for deep feature spaces (e.g. those found in Inception modules) the non-linearity is helpful,
but for shallow ones (e.g. the 1-channel deep feature spaces of depthwise separable convolutions) it becomes harmful,
possibly due to a loss of information.
깊은 특징 공간의 경우, ReLU가 도움이 되지만 얕은 공간( 1x1 Convolution )에서는 ReLU에 의해 정보 손실이 생길 수 있기 때문에 사용하지 않는 것이 좋다는 결과입니다.
다음 글은 Xception의 Architecture에 대해 설명하고, Pytorch로 구현함으로 글을 Xception 논문 리뷰를 마치도록 하겠습니다. 피드백주시면 감사하겠습니다.