Pointer Networks
1 minute read

Motivation

기존 Seq2seq 모델은 output dimension 이 미리 정해져있어야한다. 따라서 seq2seq 모델을 사용해 combinatorial optimization 계열의 문제를 풀기 위해서는 output dimension 마다 별개의 모델을 훈련시켜야한다는 단점이 있다. 본 논문에서는 attention mechanism 을 응용한 pointer network 구조를 사용해 이 문제를 해결한다.

Method

Content Based Input Attention



기존 attention mechanism 에서는 계산된 attention weight 을 encoder 의 input 과 결합해서 context vector 를 만들고, context vector 를 decoder input 과 다시 concat 해서 output 을 예측하는데에 쓴다.

Pointer Networks

Pointer network 는 attention mechanism 을 간략화해서 output dimension 이 input sequence 의 길이에 따라 변할 수 있게 하였다. Attention weight 을 그대로 예측의 softmax 값으로 사용하는 것이다. Input 의 일부를 point 한다는 의미에서 pointer network 라고 한다.


이처럼 input token 을 output 의 timestep 에서 예측해야하는 상황에서 pointer network 는 유용하게 사용될 수 있다.

Results

results

Convex hull 문제를 vanilla seq2seq, seq2seq + attention, pointer network 를 사용해 푼 결과는 위와 같았다. LSTM 을 사용한 vanilla seq2seq network 는 input sequence 의 길이가 5 정도로 짧을때는 성능이 괜찮았지만 길기가 10 으로만 늘어나도 정확도가 크게 떨어졌다. Ground truth 와 겹친 면적의 비율을 평가한 AREA 가 fail 한 것은 output 을 연결했을 때 intersection 이 생긴 경우이다. Pointer network 는 training 시점과 test 시점에 output dimension 이 다를때도 적용할 수 있다는 장점이 있었고 AREA 또한 99.9% 로 높았다.

Comments

Recent Posts

Why are Sequence-to-Sequence Models So Dull?
Variational Autoregressive Decoder for Neural Response Generation
Content Preserving Text Generation with Attribute Controls
Matching Networks for One Shot Learning
Get To The Point: Summarization with Pointer-Generator Networks