Transformer

ingsol·2023년 2월 21일
0
  1. 기존 seq2seq 모델의 한계
    인코더가 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 입력 시퀀스의 정보가 일부 손실된다는 단점이 있었고, 이를 보정하기 위해 attention이 사용되었다. 그런데 attention을 RNN의 보정을 위한 용도로서 사용하는 것이 아니라 attention만으로 인코더와 디코더를 만들어보면 어떨까?

  2. Transformer의 주요 하이퍼파라미터
    1) dmodeld_{model} = 512: 인코더와 디코더에서 정해진 입력과 출력의 크기
    2) num-layer = 6: 인코더와 디코더가 총 몇 6층으로 구성
    3) num-heads = 8: attention을 사용할 때, 한 번하는 것보다 여러개로 분할해서 병렬로 attention을 수행하고 결과값을 다시 하나로 합치는 방식을 택했는데, 이때 이 병렬의 개수
    4) dffd_{ff} : Transformer 내부에는 feed-forward 신경망이 존재하며 해당 신경망의 은닉층의 크기를 의미. feed-forward 신경망의 입력층과 출력층의 크기는 dmodeld_{model}이다.

  3. Transformer

이전 seq2seq구조에서는 인코더와 디코더에서 각각 하나의 RNN이 t개의 시점(time step) 을 가지는 구조였다면 이번에는 인코더와 디코더라는 단위가 N개 로 구성되는 구조이다.

  1. Positional Encoding

RNN이 자연어 처리에서 유용했던 이유는 단어의 위치에 따라 언어를 순차적으로 입력받아 처리하는 RNN의 특성으로 인해 각 단어의 위처 정보(positional information)을 가질 수 있었기 때문.

하지만 Transformer는 단어 입력을 순차적으로 받는 방식이 아니므로 단어의 위치 정보를 다른 방식으로 알려줄 필요가 있다. Transformer는 단어의 위치 정보를 얻기 위해서 각 단어의 embedding vector에 위치 정보들을 더하여 모델의 입력으로 사용하는데, 이를 positional encoding이라고 한다.

  1. Transformer
    1) self-attention
    ex. The animal didn't cross the street because it was too tired.
    Q. it은 animal? street?
    우리는 피곤한 주체가 동물이라는 것을 아주 쉽게 알 수 있지만 기계는 그렇지 않다. 하지만 셀프 어텐션은 입력 문장 내의 단어들끼리의 유사도를 구함으로써 그것(it)이 동물(animal)과 연관되었을 확률이 높다는 것을 찾아낸다.

0개의 댓글

관련 채용 정보