BERT, GPT, GAN

영릿·2022년 12월 18일
post-thumbnail

자연어 처리 모델
https://www.youtube.com/watch?v=fTQRplbzI1o&t=89s

GPT

  • 데이터 플로우 단방향
  • 두 단계로 나누어 학습 (비지도 학습 pre-training, fine tuning)
  • 시퀀스 투 시퀀스 모델링에서의 디코더
  • Pre-training 단어들의 관계를 최대화 시키는 과정
    뒤에 나올 단어의 확률을 최대화시킴
  • Fine-tuning: 학습 과정. task에 맞춰서 파라미터를 튜닝함.
    gpt의 구조
    GPT의 구조
    left to right 문장이 흘러가는 방향대로 attention

GPT2, GPT3

BERT

  • Bidirectional Encoder Representation from Transformers
  • 단방향 학습하는 GPT와 다르게 데이터 플로우 양방향
  • GPT와 유사한 Pre-trainingrhk fine tuning단계로 학습

MASKED LM

  • 전체 시퀀스의 15%에 마스크를 씌움
  • 마스크의 80%는 [mask]라는 토큰을 갖고, 10%는 무작위토큰, 나머지 10%는 원래 단어 그대로 활용
  • 이렇게 함으로써 시퀀스 전체를 학습할 수 있다.

(gpt는 100% mask, bert는 20% 무작위 또는 원래 단어로 문장 전체 활용)

NEXT SENTENCE PREDICTION


CLS NSP

PRE-TRAINING, FINE TUNING


https://production-media.paperswithcode.com/methods/new_BERT_Overall.jpg
BERT는 GPT2와 다르게 task specific 하게 fine tuning을 해주어야 함.
question -> source text
paragraph -> target language

4가지 시나리오에 맞춰 bert를 fine-tuning

bert의 입력토큰

출처: https://tmaxai.github.io/post/BERT/

GAN

출처 https://www.youtube.com/watch?v=dI1AiK_uN9Q

  • generative Adversarial Network
  • 생성적 적대 신경망, 2014년에 개발됨

    concept -> 서로 경쟁적으로 속이기 위해 학습함

적용 사례

  • style transfer (화풍 모방)
  • super-resolution (고화질 변환)

    (gan의 특징은 loss function의 영향을 덜 받는다)

GAN: Generative Adversarial Networks (꼼꼼한 딥러닝 논문 리뷰와 코드 실습) - 동빈나
https://www.youtube.com/watch?v=AVvlDmhHgC4

  • 생성자(generator)와 판별자(discriminator) 두 개의 네트워크를 활용한 생성 모델

MNIST 실습 코드 참고
https://github.com/ndb796/Deep-Learning-Paper-Review-and-Practice/blob/master/code_practices/GAN_for_MNIST_Tutorial.ipynb

profile
데이터분석가를 꿈꾸고 있습니다

0개의 댓글