1. Abstract
Shape recognition을 위한 Artificial Neural Network는 layer들을 통해 feature detector를 scalar output을 생성함으로써 학습한다. 하지만 computer vision분야는 SIFT와 같은 feature의 pose의 명시적 representation이 포함된 전체 vector output을 생성하는 복잡한 hand-engineered feature 방법을 사용한다. 본 논문은 neural network가 instantiation parameter의 전체 vector를 output을로 내뱉는 feature를 학습하는지를 보여주고, 다양한 position, orientation, scale, lighting에 지금 neural network분야의 기존 모델보다 더 잘 대처할 수 있어야 한다고 주장한다. 또한, hand engineered feature보다, feature를 domain에 더 잘 학습하도록 하는 효과적 방법을 제시함으로써 더 나은 방향을 제시한다.
2. Introduction
본 논문은 처음부터 현 모델들의 object recognition task에 대한 성능이 굉장히 회의적이라고 지적하며, 기존의 best CV model들이 “without knowing exactly where they are”, 즉 object의 위치를 파악하지 않고 학습을 하기 때문이라고 말한다. 특히, recognition task에서는 예를 들면 코와 입의 정확한 spatial relationship을 학습하는 것이 중요한데, 이를 현 모델들이 간과하고 있다는 것이다.
이는 수많은 conv layer를 거치면서, high level feature의 pose에 대한 uncertainty가 높아지기 때문인데, local translation invariance learning을 거듭하면서 higher feature로 갈수록 그 pose에 대한 특성을 잃어버리고 단순히 feature가 존재한다/존재하지 않는 다로만 남기 때문이다. 이는 “invariance to pose”를 지향하여 단순히 이미지 내에 object가 어디에 존재하느냐와 상관없이, object가 어떤 것인지에 대한 분류 및 명명을 위해서라고는 하지만, 이 효율성을 쫒다 보니 spatial relationship을 학습하지 못하게 되는 치명적 단점이 발생한다.
그래서 본 논문은, CNN이 본래 하고자 했던 목표를 향해서 잘못된 방향으로 가고 있다고 지적한다. “Translation Invariance Output = Invariance to Pose”라는 목표는 맞지만, 하나의 scalar output으로 summarize 해나가는 “Translation Invariance Learning”방법보다는, highly informative 한 vector를 담고 있는 capsule을 사용하여 “Translation Equivariance Learning”방법을 사용해야 한다는 것이다. 각 capsule은 entity의 변형이나 viewing condition과 상관없도록 학습이 되며, output은 entity가 존재하는가에 대한 probability와 entity의 고유한 속성 값(pose, lighting, etc)을 instantiation parameter로 구성된다. Capsule이 제대로 작동한다면, entity가 존재하는가에 대한 probability값은 locally invariant 한 값이며, instantiation parameter는 viewing condition에 따라 equivariant 한 특성을 갖게 된다.
Capsule의 최대 장점 중 하나는, part를 학습함으로써 whole을 인식할 수 있다는 것이다(hierarchical spatial-relationship). Sample output pose가 선형적으로 natural(referenced) representation pose와 연관되어 있을 때, 캡슐은 아래 그림과 같이 작동한다.
두 개의 capsule A와 B는 알맞은 spatial relationship을 가질 경우, higher-level capsule C로 activate 된다. canonical-A와 sample-A사이의 pose는 T_A라는 transformation matrix로 표현되며, sample-A의 instantiation은 capsule-A에 표현이 된다. 그리고 이는 B, C도 마찬가지이다. Canonical-A와 canonical-C 사이의 관계를 matrix multiplication T_AC
로 나타내면, T_C에 대한 prediction 예측이 가능하다. 또한, 이를 T_BC를 비교하여 적합하면, 이는 capsule-C를 activate 하기 위한 적절한 조건으로, capsule-A와 capsule-B가 알맞은 spatial relationship을 가지고 있다고도 볼 수 있다. 그리고 이렇게 예측한 T_C의 평균값은 sample-C가 canonical-C와 비교했을 때, 얼마나 transformed 되어있는지를 판단할 수 있는 지표가 된다.
이 방법을 통해 shape recognition을 할 때 흥미로운 점은, part-whole relationship이 viewpoint-invariant 한 weight matrix와 view-point equivariant 한 instantiation parameter로 알 수 있다는 것이다. 이는 인간에게 있어, 눈동자를 급하게 돌릴 때 translation이 일어나 pose가 변화되어 인식되지만, 머릿속의 표준 이미지를 통해 같은 물체임을 인식하는 원리와 같다.
3. Learning the First Level of Capsules
Introduction에서 설명한 것과 같이, pixel intensities가 capsule화 되어 그다음을 activate 하고, 이는 recursive 하게 진행된다. 이때, first-level capsule이 pixel로부터 pose matrix를 도출해야 한다면, 어떻게 pixel언어를 capsule화 할 수 있을까? 저자들은 그 해답을 본인들의 모델인 “transforming auto-encoder”로 제시한다.
위 그림을 보자. 각 블록은 capsule이고, 한 캡슐은 “recognition unit(red)”로부터 pixel을 받아와, entity presentation probability값인 p와 x, y position을 추출한다. 그 후, 이 값들은 transformation matrix를 거쳐, “generation unit(green)”으로 들어간다. 이때, transformation matrix는 원래 이미지를 오른쪽으로 shift 시키는 변환 행렬이며, generation unit에서 새로운 이미지 output을 생성하게 된다. 만약 capsule이 잘 학습되었다면, output은 target output처럼 오른쪽으로 2가 치우쳐 있어야 한다. 이때, 3개의 capsule은 부분 pixel들을 학습하고, weight sharing은 하지 않는 독립적 개체이다. 오직 output 이미지를 생성하기 위한 마지막 부분에서만 합쳐지게 된다.
4. Experiments
실험 결과는, 잘 학습된 capsule과 그 내부의 transformation matrix에 따라, shift, rotation, scaled 등으로 output이 도출되며, 보지 않은 각도의 이미지도 output을 생성해 낸다.
5. Discussion
이제 마지막 chapter로 와서, 저자는 본 모델의 이점을 역설하고 있다. 관심이 있으신 분들은 한 번 읽어 보시면 좋을 것 같다. (본인은 아직 해석에 난항을 겪고 있다…)
6. Conclusion & Summary
- Transforming Auto-Encoder는, pixel로부터 바로 sample entity의 특징을 학습한다.
- 본 모델은 capsule로 이루어져 있으며, sample-entity의 instantiation parameter의 translation equivariance 한 정보를 담고 있다.
- 또한 transformation matrix의 weight parameter는 sample entity와 canonical entity와 비교하여 translation invariance 한 정보를 학습하고, 이로써 high level capsule을 activate 한다.
- 따라서 본 모델은, part-whole spatial relationship을 통해서 학습되는 모델이며, translation equivariance 한 정보와 invariance 한 정보를 capsule에 모두 담고 있다.
- 그래서 view-point independent 한 output을 도출할 수 있다.