← Back to Blog

[Paper Review] Relational Recurrent Neural Networks

paper review > deep learning

2026-07-093 min read

#paper-review #deep-learning #rnn #attention #relational-memory

논문 링크: Relational Recurrent Neural Networks

논문 정보

항목내용
출판 시점2018년
저자Adam Santoro et al.
주제Relational Memory Core, self-attention, recurrent model

핵심 아이디어

Relational Recurrent Neural Network는 recurrent memory를 단일 vector가 아니라 여러 memory slot의 matrix로 둔다. 각 time step에서 memory slot들이 self-attention으로 서로 상호작용한다.

Relational RNN의 핵심은 memory를 하나의 hidden vector가 아니라 관계를 계산할 수 있는 slot들의 집합으로 보는 것이다.

이 구조는 Transformer의 self-attention idea를 recurrent memory 안으로 가져온 형태로 볼 수 있다. Memory slot 간 interaction을 통해 relational reasoning이 필요한 sequence task를 더 잘 처리하려 한다.

왜 중요한가

이 논문은 RNN과 attention, memory-augmented network 사이의 연결을 보여준다. Transformer가 sequence modeling의 중심이 된 이후에도, recurrent state 안에 structured memory를 두는 아이디어는 계속 연구되고 있다.

수식으로 보는 핵심

Relational Memory Core는 memory를 하나의 vector가 아니라 slot matrix로 둔다.

MtRN×dM_t \in \mathbb{R}^{N \times d}

각 time step에서 memory slot들은 self-attention으로 서로를 읽는다.

Attention(Q,K,V)=softmax(QKdk)V\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V

여기서 Q,K,VQ,K,V는 memory slot과 input으로부터 만들어진다. Multi-head attention은 여러 relation subspace를 동시에 계산한다.

headh=Attention(QWhQ,KWhK,VWhV)\mathrm{head}_h = \mathrm{Attention}(QW_h^Q, KW_h^K, VW_h^V) MHA(Q,K,V)=[head1;;headH]WO\mathrm{MHA}(Q,K,V) = [\mathrm{head}_1;\dots;\mathrm{head}_H]W^O

RMC는 이 attention 결과를 recurrent update와 gate에 넣어 다음 memory를 만든다.

Relational RNN의 핵심 수식은 recurrent state 내부에서 self-attention을 수행해 memory slot 간 relation을 매 step 갱신한다는 점이다.

따라서 단일 hidden vector가 아니라 여러 slot의 상호작용으로 sequence 정보를 유지한다.

RNN Hidden State의 한계

일반 RNN이나 LSTM은 memory를 하나의 vector 또는 gate가 붙은 cell state로 표현한다. 이 방식은 sequence 정보를 압축하는 데 유용하지만, 여러 entity 사이의 관계를 동시에 유지하고 조작하기에는 구조가 부족하다.

Relational RNN은 memory를 여러 slot으로 나누고, slot 사이의 관계를 self-attention으로 계산한다.

Relational Memory Core

Relational Memory Core(RMC)는 memory matrix를 recurrent state로 사용한다. 각 row는 memory slot이며, time step마다 input과 기존 memory가 함께 들어와 multi-head attention을 수행한다. Attention 결과는 MLP와 gating을 거쳐 다음 memory로 업데이트된다.

RMC는 recurrent model 안에 작은 Transformer block을 넣어 memory slot 간 interaction을 계산한다.

왜 Self-Attention을 쓰는가

Self-attention은 slot들이 서로를 참조하게 한다. 예를 들어 어떤 slot은 object A를, 다른 slot은 object B를 담고 있다면 attention을 통해 둘 사이의 관계 정보를 만들 수 있다. 단일 hidden vector에서는 이런 구조가 섞여버리기 쉽다.

실험적 의미

논문은 language modeling과 bAbI, program evaluation 같은 reasoning 성격의 task에서 RMC의 장점을 보인다. 핵심은 긴 sequence를 처리하면서도 내부 memory가 relation을 유지할 수 있다는 점이다.

한계

RMC는 일반 LSTM보다 계산량이 크고, memory slot 수와 attention head 수에 민감하다. 또 Transformer가 대규모 sequence modeling의 중심이 되면서, recurrent 구조의 장점은 streaming이나 stateful processing이 필요한 영역에서 더 선별적으로 논의된다.

읽을 포인트

정리

Relational RNN은 RNN과 self-attention을 결합해 structured memory를 만들려는 시도다. 단일 vector state가 아니라 여러 slot의 관계를 갱신한다는 점에서, memory-augmented network와 Transformer 사이의 중간 형태로 볼 수 있다.