Transformer심화

Transformer


Self-Attention

ex) I go home

I에 대한 input vector가 hidden state처럼 역할을 하여서

I와 각각의 단어에 대한 내적을 한후 이에대한 softmax를 구하여 가중평균을 구한다.

이렇게 encoding vector값을 구하게 되면 결국 자기자신과 내적한 값이 큰값을 가져, 자기 자신에 대한 특성만이 dominant하게 담길것이므로, 이를 해결해주기 위해 다른 architecture를 쓴다

각 vector들이 3가지의 역할을 하고있는 것이다. 동일한 set의 vector에서 출발했더라도 각혁할에 따라 vector가 서로다른형태로 변환할수있게해주는 linear transformation matrix가 있다.

한마디로 각각의 input이 서로다른 matrix에 적용이되어 각각이 key, quary,value가 된다는 의미이다.

I 라는 word가 서로다른 matrix에 따라 quart, key, value값이 만들어지고 쿼리는 1개이고 이 쿼리 벡터와 각각의 key vector와의 내적값을 구하고 결과를 softmax에 통과시켜 가중치를 구한후 , 이값과 value vector를 각각 곱해주어 이들의 가중평균으로 최종적인 vector를 구하다. 결국 이 vector가 feature들이 담긴 encoding vector이다.

image-20210218113022613

이러하게 행렬연산으로 위의 과정을 한번에 처리할 수 있다.

Read more

Sequence to sequence with Attention

Sequence to sequence


\

Seq2Seq Model

Ex) Are you free tomorrow?

image-20210217110021239

서로 paramter를 share하지 않는 2개의 별개의 RNN model을 (보통 LSTM) 쓴다. 각각의 RNN을 Decoder, Encoder로 사용한다.

Encoder의 마지막단의 output을 vertorize 시켜준후 decoder의 input에는 SOS token, hidden state에는 encoder의 output을 넣어준다.

Read more

RNN심화1


RNN

서로다른 time step에서 들어오는 입력 데이터를 처리할때, 매번 반복되는 동일한 rnn module을 호출한다.image-20210216103443317

image-20210216103929384

각 단어별로 품사를 예측해야 되는 경우 -> 매 time step마다 y를 output으로

어떠한 문장의 긍부정을 판별하는 경우 -> 최종 time step의 y만이 output으로

모든 time step에서 같은 parameter W를 공유한다

Read more

Improving Language Understanding by Generative Pre-Training


이번에는 openai에서 발표한 논문인 GPT를 review해보겠다

GPT3는 이전에 review한 transformer구조를 활용하여 Language understanding을 효과적으로 만들었다.

Abstract


자연어를 이해는 text추론, 질문에 대한 대답, 의미의 유사성 평가, 문서분류등을 포함하고 있다. 라벨링 되지 않은 text들을 매우 넘처나지만, 특정 task의 학습을 위해 labed된 text들은 매우 적기때문에 좋은 모델을 학습시키는것은 매우 힘들다. Language 모델을 unlabled된 text로 generative pretrain을 한이후 각각의 task에 맞게 fine-tunning을 하였다. 이러한 많은 unlabed text를 사용하여 학습하였다. 이전의 연구와는 달리,필요한 task에 fine-tuning하여 응용하는 것이 매우 효과적이다.

Read more

Attention Is All You Need


Abstract

Seuence transduction model들은 현재 복잡한 recurrent한 구조 (RNN) 이나 encoder decoder를 포함한 CNN이 주를 이룬다. 가장 좋은성능을 내는 model또한 attention mechanism을 이용하여 encoder와 decoder를 연결하는 형태이다.

이 논문에서는 새로운 방법인 Transformer를 제안

이는 오로지 attention mechanism만을 사용!

이는 RNN이나 CNN보다 더 병렬화가 가능하고 train하는데 적은 시간이 걸린다!

WMT 2014 English to-German data를 사용하여 BLEU라는 score에서 28.4점을 얻었다.(여러 논문을 읽다보면 자주 등장하는 이 BLUE score은 정리해 놓은게 있는데 추후에 posting )

이는 앙상블을 포함한 이전의 가장 좋은 성능보다 2BLUE가 높다.

Read more

RNN1



RNN



Sequence Data & Model


  • 소리, 주가, 문자열 등의 데이터를 시퀀스 데이터로 분휴합니다

  • 시계열 데이터는 시간순서에 따라 나열된 데이터로 시퀀스 데이터에 속한다

  • 독립동등분포 가정을 잘 위해하기 때문에 순서를 바꾸거나 과거정보에 손실이 발생하면 데이터의 확률분포도 바뀌게 된다

  • Markov model : first order autoregressive model

  • 이들의 문제를 해결하기 위해 Latent autoregressive model

    hidden state가 과거의 정보들을 summerize한다

Read more

RNN2



Transformer


Sequential Model


image-20210204173823314

위와 같은 문제로, RNN같이 sequential한 문제들을 해결할 때, 중간에 단어가 빠지거나 하면 해결하기가 어려움

—> 여기서 나온게 Attention을 사용한 Transformer

Read more