데이터분석 공부/DSBA 4기

딥러닝 언어 모델 (순방향/역방향 언어 모델, Masked Language Model, Skip-Gram Model)

이삼오 2024. 4. 30. 16:06

미리 학습된 언어 모델

https://ratsgo.github.io/nlpbook/docs/lm

BERT, GPT가 주목받는 이유 -> 이전에 있었던 모델보다 성능이 좋기 때문
공통점 : 미리 학습된 언어 모델(pretrained language model) -> 전이학습

 

언어 모델

  • 단어 시퀀스에 확률을 부여하는 모델
  • 단어 시퀀스를 입력받아 해당 시퀀스가 얼마나 그럴듯한지 확률을 출력하는 모델

순방향 언어 모델

  • 임의의 단어 시퀀스가 해당 언어에서 얼마나 자연스러운지 이해하고 있는 모델 구축
  • 조건부 확률에따라 언어 모델의 계산 로직을 이전 단어들(context)가 주어졌을 때 다음 단어 맞추기로 정해도 목표 달성 가능
  • 문장 앞부터 뒤로, 사람이 이해하는 순서대로 계산하는 모델
  • GPT가 이같은 방식으로 pretrain 수행
  • GPT : 문장 생성 모델. 종료 시퀀스가 나올 때까지 다음 단어를 예측을 반복, 출력하는 모델. 잘못된 내용도 출력할 수 있음
 

역방향 언어 모델

  • 문장 뒤부터 앞으로 계산
  • ELMo

넓은 의미의 언어 모델

  • P(w|context)
  • 컨텍스트가 전제된 상태에서 특정 단어 w가 나타날 조건부 확률
  • 컨텍스트와 맞힐 언어를 어떻게 설정하느냐에 따라 다양하게 변형할 수 있다

마스크 언어 모델(Masked Language Model)

  • BERT가 대표적
  • 특정 단어를 맞출 때, 중간이 뚫린 단어를 맞출 때 잘 작동함
  • 뉴스 긍부정 분류 등 분류 모델에 효율적
  • 학습 과정 : 학습 대상 문장에 빈칸을 만들어놓고 해당 빈칸에 올 단어로 적절한 단어가 무엇일지 분류
  • 맞힐 대상에 MASK를 씌워두고 문장 전체 맥락을 참고해서 맞힘
  • 양방향(Bidirectional) 성질이 있음

스킵-그램 모델(Skip-Gram Model)

  • 어떤 단어 앞뒤에 특정 범위를 정해두고 이 범위 내에 어떤 단어들이 올지 분류
  • Conv1D가 학습하는 과정과 비슷
  • context로 설정한 단어 주변에 어떤 단어들이 분포해있는지 학습

언어 모델이 주목받는 이유

  • 데이터 제작비용 때문
  • Transfer Learning
  • 대량의 말뭉치로 pretrain한 언어모델을 문서 분류, 개체명 인식 등 다운스트림 태스크에 적용하면 적은 양의 데이터로도 성능을 큰 폭으로 개선할 수 있다
  • 업스트림 태스크-pretrain model / 다운스트림 태스크-모델을 수정해 사용하는 부분