스터디노트 (GPT 2)

zoe·2023년 7월 5일
0

GPT - Transformer

Positional Encoding


  • Multi-Head Attention의 output dimension과 input의 크기가 같아야 함?..
  • Transformer
    - 기계번역 task에서 기존의 연구들보다 성능적으로 우수
    - 병렬적으로 처리가 가능한 모델 → time complexity 감소
    - 이후에 사용되는 Bert, GPT 모델에서 일반화에 강점이 있음을 확인
    - https://ratsgo.github.io/nlpbook/docs/language_model/tr_self_attention/

  • Positioning Encoding

  • 기존의 RNN 기반의 방법의 경우, '→' 와 같은 context 벡터를 추출해야 함

  • 그러나 이러한 추출을 하기 위해서 문장의 단어들을 순차적으로 처리해야만 했음

  • 디코더를 위해서도 마찬가지로 순차적으로 처리됨

  • 이러한 순차적인 방법은 문장의 순서를 고려하게 됨


  • 반면 Transformer의 입력 Q의 경우 행렬 연산을 통해 입력 벡터로 변환되어 Multi-head attention 모듈에 들어감
  • 문장의 순서에 대한 정보를 넣어줄 필요성이 생김
  • ★ 단어 순서대로 숫자를 카운팅? 숫자가 너무 빨리 커져서 Weight 학습 시 어려움이 있음(CNN에서의 initialization method를 생각)

  • ★ 단어 순서대로 숫자를 카운팅 후 정규화? 0 부터 1사이이므로 학습 weight는 안정적. 그러나 두번째 단어는 같은 값을 할당해야 하는데 단거의 길이가 다를 경우 값이 변함

  • ★ 단어 순서대로 벡터로 표현할 경우? 가변적인 길이에 상관없이 같은 벡터를 할당 가능함. 그런데 단어 순서끼리의 거리가 다르게 된다.


  • 연속함수이며 주기함수인 sin과 soc를 이용. 벡터의 차원에 따라서 진동 수가 줄어든다

  • 기존의 RNN 방법고 ㅏ달리 위치 정보를 얻을 수 없는 Transformer의 input embedding
  • 이를 해결하기 위해서 Positional Encoding을 사용한다




Multi-head self attention

  • Transformer의 핵심 아이디어인 Multi-head Self attention 모듈
    - Key, Query, Value attention 철학을 기반으로
    - Scaled Dot-product attention을 사용

  • 기존의 attention 기법의 경우 Key와 Query만 존재
  • 그러나 Transformer의 attention의 경우 Value까지 존재
  • 문장을 이해할 때 단어들은 서로 영향을 끼치며 그 강도는 다르다
  • 이 단어에 대한 벡터는 (Q) 주어진 단어들에 대해서 유사한 정도 만큼 (K) 고려하고 각 주어진 단어들은 V 만큼의 중요도를 가진다
  • Query로 단어를 주었을 때

  • 이 단어와 유사한 Key값을 더욱 더 attention을 주고

  • 이 key값의 중요도에 따라 Value 값을 준다

  • 최종 결과 값이 Query의 차원 수와 동일하게 된다

  • 계속해서 같은 차원으로 Self-attention 수행이 가능하게 된다

  • Masked - 왜 디코더에 masked self attention일까?
  • 처음 쿼리의 차원수가 head의 개수만큼 나눠주기 때문에 최종적으로 입력의 차원수와 같게 된다.



Layer norm






Transformer 관련 연구1 - Computer Vision

Visaul Tranformer (ViT)

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE, ICLR 2021

  • Transformer 는 NLP 에서 대중적으로 사용하는 구조가 되었음

  • Vit는 Transformer를 사용하여 이미지 인식에 적용한 연구

  • 반면 컴퓨터 비전 분야에서는 Convolution 연산을 이용한 방법이 아직까지 대중적

  • Inductive Bias : 귀납 편향

  • CNN에서 사용되는 inductive bias 없이 이미지 인식에서 성능향상을 보인 ViT

  1. 자동으로 low-level의 특성을 학습하는 embedding filter
  2. Positional embdding 이후의 이미지와 패치와의 유사도
  3. Attention이 얼마나 먼 패치를 할당하고 있는지 (receptive field와 유사)


DETR

End-to-End Object Detection with Transformers, ECCV 2020

  • Object Detection 문제를 direct set prediction으로 푸는 모델

  • 기존의 Detection 에서 생기는 non-maximum suppression (NMS) 문제를 해결

  • Transformer 기반의 prediction

  • 기존 방법은 non-maximum suppression (NMS) 문제를 해결하기 위해 post processing 필요

  • DETR은 transformer 를 활용한 end-to-end 방식

  • bipartite matching
    - NMS 해결 -> 각각의 실제 레이블에 대해서 하나만 할당하자!
    - bipartite matching



Transformer 관련 연구2 - 시계열 데이터

Informer: Beyond Efficient Transformer for Long Sequence TimeSeries Forecasting (AAAI'21 Best Paper)
기존의 시계열 데이터 처리는 LSTM을 많이 사용

자연어 데이터보다 일반적으로 훨씬 긴 시계열을 예측하는 시계열 데이터
Transformer 의 attention layer 는 matrix 연산임 -> 계산인 size의 제곱만큼 증가

너무너무너무너무너무 어렵다 ㅠㅠ...
💻 출처 : 제로베이스 데이터 취업 스쿨

profile
#데이터분석 #퍼포먼스마케팅 #데이터 #디지털마케팅

0개의 댓글