논문 정보
| 항목 | 내용 |
|---|---|
| 출판 시점 | 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로 둔다.
각 time step에서 memory slot들은 self-attention으로 서로를 읽는다.
여기서 는 memory slot과 input으로부터 만들어진다. Multi-head attention은 여러 relation subspace를 동시에 계산한다.
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 Memory Core의 memory matrix 구조
- self-attention이 recurrent update 안에서 쓰이는 방식
- language modeling과 algorithmic task 결과
- Transformer와 RNN의 hybrid architecture 관점
정리
Relational RNN은 RNN과 self-attention을 결합해 structured memory를 만들려는 시도다. 단일 vector state가 아니라 여러 slot의 관계를 갱신한다는 점에서, memory-augmented network와 Transformer 사이의 중간 형태로 볼 수 있다.