1. Background Knowledge

Translation

Invariance Equivariance
* Not Variance (불변성)
* Input Change = always Reference Output
                        (Not change)

* Pooling
  - pool하는 kernel size내에서는 invariance
  - locally invariance
* Variance (가변성)
* Input Change = Output Change
* Equivariant function f to g
  - f(g(x))=g(f(x))  
     g: I'x, y=l(x-1, y) -> shift pixel to right
     f: conv layer, f(x)=x
       (most simple translation equivariance)

* Conv layer is equivariant
   - with Weight Sharing: if input is shifted,
                                 representation also shifted
   - but representation pattern not change

     (위치 상관없이 동일 패턴 학습)

Translation Invariance vs Equivariance개념은 굉장히 헷갈리는 개념이다. 지금 읽고자 하는 논문의 경우, translation equivariance특성을 통해 image내의 entity pose 및 spatial relationship을 학습하려 하기 때문에 이 개념을 정확히 짚고 넘어가는 것이 중요하다.

 

일단 Translation Equivariance를 먼저 보자. EquivarianceVariance, 즉 가변성을 뜻한다. 넣는 input 값에 따라 output 값이 변한다는 뜻이다. Equivariant function ff(x)=x로 가정하면 가장 쉽다. Input=output이기 때문에 input x1, x2가 다르다면 output y1, y2는 다를 수밖에 없다.

 

그리고 이러한 성질은 이미지 학습에 최적화된 convolutional layer에서 나타난다.

 

다음으로 Translation Invariance이다. Equivariance와 반대되는 개념으로, 불변성을 뜻한다. 다른 input x1, x2에 대하여 어떤 함수를 통과하면 같은 y output으로 나올 수 있다는 뜻이다. 이는 convolution layer와 쌍으로 붙는 pooling layer에서 수행된다.

 

그렇다면 CNN을 가지고 좀 더 자세하게 설명해 보도록 하겠다.

 

CNN

  • 동일한 weight을 가진 filter를 sliding window로 연산 = weight sharing
  • Global이 아닌, local feature들과 convolutional 연산을 함으로써 local feature학습
이를 통해, filter는 object 위치와 상관없이 특정 패턴 학습

먼저, CNN의 일반적인 구조는 conv layer – pooling layer – activation function으로 이루어진다. 첫 번째, conv layer는 동일한 weight을 가진 일정한 filter size를 가지고 sliding window로 연산을 하여 이미지의 특징을 학습한다. 동일한 weightfilter 수만큼 있기 때문에(weight sharing), 위치에 상관없이 동일 feature에 대해서는 동일한 특징이 학습된다. 아래의 사진을 보자.

Translation Equivariance and Pattern representation Invariance

요가를 하는 사람이, 사진 정면에 있는 경우, 사진 우측으로 치우쳐 있는 경우이다. 이 사진을 convolution layer를 통과시킨다면, 같은 weight를 가진 filter가 통과되면서, 사람이 있는 곳에는 동일한 빨간색 점의 패턴이 학습된다. 이렇게 사람이 사진의 어디 위치에 있던 상관없이 동일 패턴이 학습되는 것이다.

 

그리고 요가를 하는 사람과 이미지의 모서리는 상관이 있을까? 이미지의 모서리는 그저 흰 배경을 나타낼 뿐, 요가를 하는 사람에 대한 인식과는 아무런 상관이 없다. 그래서 convolution layer는 주변 특징을 가장 연관성 있는 중요 feature로 보고 학습을 하게 된다. 그리고 이를 잘 반영한 CNN의 초기 모델이 AlexNet이다.

 

AlexNet

  • Stationarity of Statistics = 시계열 통계 특성이 시간이 지나도 변하지 않음 (동일 패턴이 반복됨을 의미)
    => 이미지의 특정 위치에서 학습한 파라미터를 이용해 다른 위치에 있는 동일한 특징 추출 가능(weight sharing). 즉, 전제가 이미지 위치에 상관없이 동일한 특징들이 존재한다는 가정(stationarity)
  • Locality of pixel dependencies = 이미지에서 한 점과 의미 있게 연결된 점은 주변으로 국한

 

이제, CNNTranslation EquivarianceInvariance특성을 알아보자.

 

Translation Equivariance Conv Layer & Translation Invariance Learning

  • 입력 위치가 변하면 출력도 위치가 변해서 나오기 때문에 conv filter 하나로, 다양한 위칭에서 특징 추출 가능. 그리고 이렇게 추출된 특징들은 동일함
  • Parameter sharing => translation invariance learning: 각 위치마다 동일한 필터를 사용하여, 위치에 상관없이 같은 값 추출
  • Pooling layer => small translation invariance: filter size 내에서는 위치에 상관없이 동일한 값을 추출

먼저, Convolution layer는 equivariant 한 성질을 갖는다. 다시 쉽게 f(x)=x를 생각하면 된다. 하지만 parameter sharingpooling layer를 통해 invariant 하게 모델을 학습한다. 그 이유는, 이미지 내에서 object가 어디에 있던 상관없이, object의 종류에 따리서만 동일한 feature를 학습하고 싶기 때문이다.

 

예를 들어 개와 고양이를 분류하는 문제가 주어진다면, 이미지 내에서 개의 위치와 고양이의 위치는 중요하지 않다. 동물이 이미지 상에 어디에 있던, 그것이 개인지 고양이 인지만 분류하는 것이 최대 효율이기 때문이다. 따라서 parameter sharing을 하는 conv layer를 통과하면, 위치는 equivariant 하게, 같은 object에 대해서 pattern output은 invariant 하게 나온다. 그리고 그것이 pooling layer를 거치면, 더욱 invariance해지며, conv layer를 거치면 거칠수록 위치에 상관없이 주요 특징만 남고, 마지막에 그 주요 특징을 가지고 분류 output layer를 도출하는 것이다.

 

I hate Translation Invariance Learning

  • Locally connected layers (unshared convolution) – depthwise conv
  • Capsule Network – translation equivariance learning => output is translation invariance
    (But if feature “position” is wrong, output will be invalid too, and translation invariance learning will not detect positioning wrong)

분명 누군가는 이러한 Translation invariance learning에 대해 회의감을 느낄 수 있다. 이미지에 눈, , 입이 산발해서 흩어져 있다고 얼굴이 되는 것은 아닌 것처럼, 단순히 위치에 상관없이 얼굴의 특징인 눈,. , 입만 가지고 있다고 얼굴이라고 예측하면 안 되기 때문이다. 그래서 invariance learning은 위치를 학습하지 못한다는 것과, 더 나아가 위치를 학습하지 못하기에 그에 따른 spatial relationship을 학습하지 못하는 치명적 단점을 가지고 있다.

 

이러한 치명적 단점을 지적하면서 본 논문은 출발한다.

 

2. 제목

  • Transforming: Transformation matrix가 포함된,
  • Auto-Encoder: reconstruction 모델

논문 제목이 모델을 어떻게 설계했다는 뜻을 함축적으로 담고 있다. 본 논문은 Capsule Network의 가장 기본 모델인 Dynamic Routing Capsule Network로 가기 전, cnntranslation invariance learning 문제를 꼬집으면서 capsule의 의미를 형성하는 아주 중요한 논문이다. 다음 챕터에서 본격적인 논문 리뷰를 해보도록 하겠다.


참고자료

+ Recent posts