Attentive Recurrent Comparator 이해

최근에 데이터 효율적인 학습을위한 간단하면서도 강력한 모델을 제안 하는 ICML’17 논문 “Attentive Recurrent Comparators(https://arxiv.org/abs/1703.00767)”가 발표되었습니다. 이 논문은 원본 픽셀 정보만을 사용하여 Omniglot 데이터세트에서 첫번째 슈퍼휴먼 One-Shot 분류 성능을 제시합니다!

 

이 블로그 게시물에서 이 논문의 주요 아이디어에 대한 이해를 제시할 것이다. 이 논문의 저자들은 Theano를 사용하여 구현을 발표했습니다. 그러나 구현이 어려워 PyTorch에서 다시 구현했습니다.

데이터 효율적인 머신러닝은 지금 인기있는 문구입니다. 아이디어는 잘 수행되지만 100만개에 달하는 주석이 달린 데이터 포인트를 필요로하지 않는 ML 알고리즘을 설계하는 것이 이상적입니다. 이상적인 ML 알고리즘은 전체 개념을 배우기 위해 단 하나의 데이터 포인트 만 필요합니다. 이러한 개념의 학습 시스템을 One-Shot 학습 시스템이라고 합니다. One-Shot 학습을 하는 데 따른 어려움은 동적 표현이 어렵기 때문입니다.

동적 표현(Dynamic Representation)
Dynamic Representation은 기본적으로 즉석에서 느리게 설정되는 기능을 제공합니다. 사과를 보게 되면 그 색깔, 모양을 생각하기 시작합니다. 얼굴을 볼 때 눈의 색, 코의 모양 등을 생각하기 시작합니다.
동적 표현을 갖는 영리한 방법은 주어진 샘플을 다른 샘플의 컨텍스트로 인코딩하는 것 입니다.

예 :
1. 사과, 오렌지, 구아바와 같은 과일을 구별하라는 요청을 받으면 다른 과일에 대한 표현을 시도합니다. 사과는 오렌지와 구아바와 어떻게 다른가요?
2. 마찬가지로, 얼굴을 구별하라는 질문을 받으면, 얼굴 A가 데이터세트의 다른 얼굴과 어떻게 다른지 이해하려고 시도합니다.

ARC
이 논문은 먼저 두 개의 주어진 이미지를 구별하는 것을 배우기위한 간단한 모델인 “Attentive Recurrent Comparator(ARC)”를 제시합니다. 모델은 인간이 주어진 두 이미지 사이의 차이점을 어떻게 발견하는지 관찰함으로써 동기 부여를 유도합니다.

한 쌍의 이미지를 구별하려는 인간은 두번째 이미지를 보기 전에 첫번째 이미지에 대한 모든 것을 이해하려고 시도하지 않습니다. 한번에 모든 것을 처리하는 것은 너무 많은 데이터입니다.
ARC 아키텍처는Attention 메커니즘을 영리하게 사용합니다. 매 단계마다 인간이 ‘차이점 찾기’하는 것과 비슷한 방식으로 첫번째 이미지(이미지 A)와 두번째 이미지(이미지 B)를 번갈아 가며 훑어 봅니다.

 

 

Tags:

Attentive Recurrent Comparator

ARC

Attentive

Representation

PyTorch

Attention

One-Shot