논문 링크: A Simple Neural Network Module for Relational Reasoning
논문 정보
| 항목 | 내용 |
|---|---|
| 출판 시점 | 2017년 |
| 저자 | Adam Santoro et al. |
| 주제 | Relation Network, relational reasoning |
핵심 아이디어
Relation Network는 object pair 사이의 관계를 명시적으로 계산하는 module이다. 입력 object representation들이 있을 때, 가능한 모든 pair를 함수 에 넣고, 그 결과를 합친 뒤 로 최종 답을 만든다.
Relation Network는 reasoning 문제에서 object 자체보다 object pair의 관계를 직접 모델링해야 한다는 점을 강조한다.
왜 중요한가
이 구조는 CLEVR 같은 visual question answering task에서 강한 성능을 보였다. 질문이 "왼쪽의 공보다 큰 물체가 있는가"처럼 관계를 묻는 경우, pairwise relation을 계산하는 inductive bias가 효과적이다.
수식으로 보는 핵심
Relation Network는 object 집합 에 대해 모든 pair relation을 계산한다.
Question이 있는 VQA에서는 question embedding 도 relation function에 들어간다.
여기서 는 object pair의 관계를 feature로 바꾸는 MLP이고, 는 합쳐진 relation feature로 답을 예측하는 MLP다.
Relation Network의 핵심 수식은 object를 독립적으로 분류하지 않고, 모든 object pair에 같은 relation function을 적용한다는 점이다.
Pair 수는 이므로 계산량은 다음처럼 증가한다.
이 비용을 지불하는 대신, 모델은 "A가 B보다 왼쪽에 있는가", "같은 색인가", "더 큰가" 같은 비교를 architecture 수준에서 직접 수행할 수 있다.
Relational Reasoning 문제
일반 CNN은 이미지의 local pattern을 잘 잡지만, 물체들 사이의 관계를 명시적으로 계산하도록 설계되지는 않았다. CLEVR 같은 benchmark는 색, 모양, 위치, 크기 관계를 묻기 때문에 단순 texture recognition만으로는 부족하다.
Relation Network는 이 문제에 강한 inductive bias를 넣는다. 물체 representation을 만든 뒤, 모든 object pair에 대해 관계 함수를 적용한다.
RN Module
RN은 크게 두 함수로 구성된다. 는 object pair 와 필요하면 question embedding을 받아 pairwise relation feature를 만든다. 그 결과를 모든 pair에 대해 합산하고, 가 최종 답을 예측한다.
Sum aggregation은 object 순서에 덜 민감한 구조를 만든다. 또 모든 pair를 보기 때문에 왼쪽, 오른쪽, 더 큼, 같은 색 같은 관계를 직접 비교할 수 있다.
Relation Network는 관계 추론을 network가 알아서 발견하길 기다리지 않고, pairwise 비교라는 구조를 architecture에 넣는다.
CLEVR에서의 의미
CLEVR는 synthetic image 기반 VQA dataset이지만, relational reasoning을 평가하기 위해 설계되었다. 예를 들어 "작은 빨간 공의 왼쪽에 있는 금속 물체와 같은 색의 물체가 있는가" 같은 질문은 object detection, attribute binding, relation comparison이 모두 필요하다. RN은 이런 질문에서 단순 CNN+MLP보다 강한 성능을 보였다.
GNN과의 관계
RN은 모든 object pair에 message를 계산한다는 점에서 fully connected graph neural network처럼 볼 수 있다. 다만 recurrent message passing을 여러 step 수행하기보다는, pairwise relation을 한 번 계산해 합산하는 단순한 형태다. 이 단순함이 장점이지만, 복잡한 multi-hop reasoning에는 한계가 될 수 있다.
한계
모든 pair를 계산하므로 object 수가 많아지면 비용이 든다. 또 object representation을 어떻게 얻는지가 성능에 크게 영향을 준다. 실제 이미지에서는 object slot이 명확하지 않기 때문에, detector나 attention module과의 결합이 필요하다.
읽을 포인트
- object representation을 어떻게 만드는가
- 모든 pair를 계산할 때 생기는 비용
- relation module과 graph neural network의 유사성
- VQA에서 relational reasoning을 평가하는 방법
정리
Relation Network는 reasoning 문제에 맞는 inductive bias를 architecture로 표현한 논문이다. 관계가 중요한 문제에서는 object feature를 단순히 concat하거나 pooling하는 것보다, object pair를 명시적으로 비교하는 구조가 유리할 수 있다.