A simple neural network module for relational reasoning
in Studies on Deep Learning, Deep Learning
WHY?
관계적 추론(relation reasoning)은 중요한 지능 중 하나지만 neural net은 이를 학습하지 못하였다. 그리하여 관계를 묻는 문제에 답하는 일에 대해서는 좋은 성과를 거두지 못하고 있었다.
WHAT?
RN(Relation Network)의 가장 기본적인 구성은 다음과 같다. RN(O) = f_{\phi}(\Sigma_{ij}g_{\theta}(o_i, o_j))\\
o를 우리가 상정한 object라고 하고 g의 output을 relation이라고 한다. 관계적 유추를 할 수 있는 RN은 한가지 모델로 모든 관계를 유추한다는 점에서 데이터 효율적이고 순서에 구애받지 않아 한가지 집합에 대하여 같은 결과를 가져온다. Data에 따라 object가 달라지는데 이미지의 경우에는 CNN마지막 레이어의 각 픽셀이 한 object가 된다. 관계의 의미는 질문에 따라 달라지기 때문에 질문을 LSTM의 마지막 hidden layer로 축약하여 모든 관계에 condition해준다. 각 object의 pair와 질문을 concate한 후 g(MLP)를 거쳐 관계에 대한 결과가 나오고 모든 pair에 대한 결과를 모두 더하여 f(MLP)를 거친 결과로 문제의 답을 찾는다.
So?
성질 비교, 갯수 비교와 같이 관계적 추론을 요하는 문제에서 인간을 초월하는 성능을 보였다.
Critic
2017년 6월에 발표된 이 논문은 당시에 상당한 유명세를 탔지만 후에 이를 활용하여 좋은 성과를 보인 논문은 많지 않았다. 내 생각에 RN은 object가 주어져야 하고 question이 condition되어야 한다는 점에서 활용범위가 넓지 못한 것 같다. 무엇보다 모든 object들의 관계의 조합을 생각한다는 점에서 계산복잡도가 너무 높다. 하지만 관계를 neural net으로 유추한다는 발상을 통하여 좋은 성과를 거두었다는 점이 의미가 있으며 다른 연구 분야와 융합할만한 점을 생각해 볼 만 하다.