← Back to Blog

[Paper Review] A Simple Neural Network Module for Relational Reasoning

paper review > deep learning

2026-07-093 min read

#paper-review #deep-learning #relational-reasoning #visual-question-answering

논문 링크: 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를 함수 gθg_\theta에 넣고, 그 결과를 합친 뒤 fϕf_\phi로 최종 답을 만든다.

RN(O)=fϕ(i,jgθ(oi,oj))RN(O) = f_\phi\left(\sum_{i,j} g_\theta(o_i, o_j)\right)

Relation Network는 reasoning 문제에서 object 자체보다 object pair의 관계를 직접 모델링해야 한다는 점을 강조한다.

왜 중요한가

이 구조는 CLEVR 같은 visual question answering task에서 강한 성능을 보였다. 질문이 "왼쪽의 공보다 큰 물체가 있는가"처럼 관계를 묻는 경우, pairwise relation을 계산하는 inductive bias가 효과적이다.

수식으로 보는 핵심

Relation Network는 object 집합 O={o1,,on}O = \{o_1, \dots, o_n\}에 대해 모든 pair relation을 계산한다.

RN(O)=fϕ(i,jgθ(oi,oj))RN(O) = f_\phi\left(\sum_{i,j} g_\theta(o_i, o_j)\right)

Question이 있는 VQA에서는 question embedding qq도 relation function에 들어간다.

RN(O,q)=fϕ(i,jgθ(oi,oj,q))RN(O, q) = f_\phi\left(\sum_{i,j} g_\theta(o_i, o_j, q)\right)

여기서 gθg_\theta는 object pair의 관계를 feature로 바꾸는 MLP이고, fϕf_\phi는 합쳐진 relation feature로 답을 예측하는 MLP다.

Relation Network의 핵심 수식은 object를 독립적으로 분류하지 않고, 모든 object pair에 같은 relation function을 적용한다는 점이다.

Pair 수는 n2n^2이므로 계산량은 다음처럼 증가한다.

O(n2)\mathcal{O}(n^2)

이 비용을 지불하는 대신, 모델은 "A가 B보다 왼쪽에 있는가", "같은 색인가", "더 큰가" 같은 비교를 architecture 수준에서 직접 수행할 수 있다.

Relational Reasoning 문제

일반 CNN은 이미지의 local pattern을 잘 잡지만, 물체들 사이의 관계를 명시적으로 계산하도록 설계되지는 않았다. CLEVR 같은 benchmark는 색, 모양, 위치, 크기 관계를 묻기 때문에 단순 texture recognition만으로는 부족하다.

Relation Network는 이 문제에 강한 inductive bias를 넣는다. 물체 representation을 만든 뒤, 모든 object pair에 대해 관계 함수를 적용한다.

RN Module

RN은 크게 두 함수로 구성된다. ghetag_ heta는 object pair (oi,oj)(o_i, o_j)와 필요하면 question embedding을 받아 pairwise relation feature를 만든다. 그 결과를 모든 pair에 대해 합산하고, fphif_phi가 최종 답을 예측한다.

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 수가 많아지면 O(n2)O(n^2) 비용이 든다. 또 object representation을 어떻게 얻는지가 성능에 크게 영향을 준다. 실제 이미지에서는 object slot이 명확하지 않기 때문에, detector나 attention module과의 결합이 필요하다.

읽을 포인트

정리

Relation Network는 reasoning 문제에 맞는 inductive bias를 architecture로 표현한 논문이다. 관계가 중요한 문제에서는 object feature를 단순히 concat하거나 pooling하는 것보다, object pair를 명시적으로 비교하는 구조가 유리할 수 있다.