논문 정보
| 항목 | 내용 |
|---|---|
| 출판 시점 | 2015년 |
| 저자 | Oriol Vinyals, Samy Bengio, Manjunath Kudlur |
| 주제 | Set representation, attention, Set2Set |
핵심 아이디어
Set2Set은 순서가 없는 set을 neural network로 처리하기 위한 방법이다. 일반 RNN은 입력 순서에 민감하지만, set 문제에서는 원소 순서가 의미를 가지면 안 된다.
논문은 attention을 반복적으로 사용해 set 전체에 대한 representation을 만든다.
Set2Set은 입력 순서가 아니라 set 원소들 사이의 내용에 기반해 permutation-invariant representation을 만들려는 시도이다.
왜 중요한가
Graph neural network나 molecule representation에서는 node 순서가 arbitrary하다. Set2Set은 이러한 permutation 문제를 attention 기반 readout으로 다루는 초기 연구 중 하나이다.
수식으로 보는 핵심
Set2Set은 set 원소 embedding을 이라 두고, LSTM controller가 query를 반복적으로 만든다.
각 원소에 대한 attention score는 query와 원소 embedding의 내적으로 계산된다.
Softmax로 attention weight를 만든다.
Read vector는 set 원소들의 weighted sum이다.
다음 recurrent input은 query와 read vector를 concat한 값이다.
Set2Set의 핵심 수식은 set 전체를 한 번에 평균내지 않고, attention read를 여러 번 반복해 representation을 만든다는 점이다.
Aggregation이 sum/softmax 기반이므로 원소 순서를 바꿔도 같은 set content를 읽는 구조를 만들 수 있다.
Set을 다룰 때의 어려움
Set은 원소의 순서가 의미를 갖지 않는다. 하지만 RNN이나 seq2seq model은 입력 순서를 전제로 설계되어 있다. 같은 원소 집합이라도 순서를 바꾸면 hidden state trajectory가 달라지고, 결과도 달라질 수 있다.
이 논문은 set을 sequence model로 처리하되, attention과 반복적인 읽기 과정을 통해 순서 의존성을 줄이는 방법을 제안한다.
Set2Set 구조
Set2Set은 LSTM controller가 query를 만들고, 이 query로 set 원소들에 attention을 건다. Attention 결과는 read vector가 되고, 다음 step의 query 생성에 다시 사용된다. 이 과정을 여러 번 반복하면 set 전체의 정보를 점진적으로 읽는 representation이 만들어진다.
Set2Set은 한 번의 pooling으로 set을 압축하지 않고, attention 기반 read를 반복해 set representation을 구성한다.
Permutation Invariance
Set function은 입력 순서가 바뀌어도 같은 결과를 내야 한다. Set2Set은 attention score와 weighted sum을 사용하므로 단순 RNN보다 순서에 덜 민감한 readout을 만들 수 있다. 다만 완전한 permutation invariance를 수학적으로 보장하는 Deep Sets와는 관점이 조금 다르다.
GNN Readout과의 연결
Graph neural network에서는 node hidden state들의 집합을 graph-level representation으로 바꿔야 한다. 단순 sum이나 mean pooling은 안정적이지만 표현력이 제한될 수 있다. Set2Set은 attention을 사용해 중요한 node를 여러 번 읽을 수 있으므로 molecule property prediction 같은 graph-level task에서 readout module로 쓰였다.
한계
반복 attention은 단순 pooling보다 계산 비용이 크고, iteration 수 같은 hyperparameter에 민감하다. 또 입력 순서의 영향을 완전히 제거하려면 구현과 학습 과정에서 주의가 필요하다. 이후 Deep Sets, Set Transformer 같은 연구는 set representation의 이론적 성질과 attention 구조를 더 명확히 다뤘다.
읽을 포인트
- set input을 sequence model로 다룰 때 생기는 순서 의존성
- process block과 readout mechanism
- Pointer Network와 결합되는 방식
- 이후 Deep Sets, GNN pooling/readout과의 연결
정리
Set2Set은 set을 하나의 vector로 요약하는 문제를 attention 기반 sequence-to-sequence 문제로 재해석한다. 핵심은 순서 없는 입력에서도 원소 간 중요도를 동적으로 계산하며 읽어야 한다는 점이다.