Flow

  1. Bag-of-words vector
  2. Word Embedding
  3. CoVc
  4. GPT-1
  5. BERT, GPT-2
  6. XLM(번역)
  7. XLNet(transformer-XL)
  8. RoBERTa
  9. ELECTRA(GAN)(replace, original)
  10. ALBERT(빠른 BERT, SOP)
  11. DistillBERT, TinyBERT
  12. T5
  13. GPT-3



위에 나열되 있는 개념들을 정리할 예정이다.
(논문 리뷰, example code, pytorch 개념 등등)


필요한 개념 및 용어정리.

들어가기에 앞서(Transformer)

Transformer에 대해서 이야기를 안 꺼낼수가 없다.
Flow에서 나열하지 않은모델과 개념들이 많지만, 저기 위에있는거 다 몰라도, Transformer만 알아도 된다.
Transformer에 대해서 제일 먼저 개념정리를 하는것이 중요한것 같다.(2022-01-24 시점에는 이렇지만, 다른 시간에는 어떨지 모르겠다..)

  • query, key, value

key는 value를 가리키는 요소입니다. 하나의 key에 하나의 value만 매칭됨으로써, key가 특정되면 해당하는 key에 맞는 value를 얻을 수 있습니다. query는 원하는 key가 어떤 것인지를 나타내는 요소입니다. query에 적합한 혹은 query와 일치하는 key와 매칭되는 value들을 얻을 때 사용합니다.

Transformer attention에서는 query와 key의 dot product 를 통해 둘 간의 관계성을 얻어내고, softmax function을 통해 soft한 형태의 attention score를 얻어내게 됩니다. 그 후, attention score와 value를 dot product하여 query와 가장 잘 매칭되는 key를 가진 value들을 가져옵니다.

  • multi-head

multi-head는 single-head에 비해 다양한 관점으로 문장을 분석할 수 있게 해줍니다.
예시 링크: https://i.imgur.com/HjYb7F2.png

  • Transformer embedding과 BERT embedding의 차이점.

BERT embedding 에는 segment embedding이 있어서, 두 문장을 구분할 수 있게 해줍니다.

BERT embedding은 learnable parameter를 통해 positional encoding을 하고, Transformer는 sinusoidal function을 통해 positional encoding을 적용합니다.

—위의 내용은 김태성님의 자료입니다.—

https://nlpinkorean.github.io/illustrated-transformer/

댓글남기기