본문 바로가기
  • GDG on campus Ewha Tech Blog
3-2기 스터디/NLP 입문

[9주차] 딥러닝을 이용한 자연어처리 입문 Chap.17 BERT

by chaerin314 2022. 5. 30.

BERT

  • 트랜스포머는 단어의 위치 정보를 얻기 위해서 각 단어의 임베딩 벡터에 위치 정보들을 더하여 모델의 입력으로 사용하는데, 이를 포지셔널 인코딩(positional encoding)이라고 합니다.
  • 마스크드 언어 모델은 입력 텍스트의 단어 집합의 15%의 단어를 랜덤으로 마스킹(Masking)합니다. 그리고 인공 신경망에게 이렇게 마스킹 된 단어들을(Masked words) 예측하도록 합니다.
    • 80%의 단어들은 [MASK]로 변경한다.Ex) The man went to the store → The man went to the [MASK]
    • 10%의 단어들은 랜덤으로 단어가 변경된다.Ex) The man went to the store → The man went to the dog
    • 10%의 단어들은 동일하게 둔다.Ex) The man went to the store → The man went to the store
  • BERT-base는 BERT보다 앞서 등장한 Open AI GPT-1과 하이퍼파라미터가 동일한데, 이는 BERT 연구진이 직접적으로 GPT-1과 성능을 비교하기 위해서 GPT-1과 동등한 크기로 BERT-Base를 설계하였기 때문입니다. 반면, BERT-Large는 BERT의 최대 성능을 보여주기 위해 만들어진 모델입니다. BERT가 세운 기록들은 대부분 BERT-Large를 통해 이루어졌습니다.
  • BERT는 단어보다 더 작은 단위로 쪼개는 서브워드 토크나이저를 사용합니다. BERT가 사용한 토크나이저는 WordPiece 토크나이저로 서브워드 토크나이저 챕터에서 공부한 바이트 페어 인코딩(Byte Pair Encoding, BPE)의 유사 알고리즘입니다. 동작 방식은 BPE와 조금 다르지만, 글자로부터 서브워드들을 병합해가는 방식으로 최종 단어 집합(Vocabulary)을 만드는 것은 BPE와 유사합니다.
  • [CLS] 토큰은 BERT가 분류 문제를 풀기 위해 추가된 특별 토큰입니다.
  • BERT는 이미 누군가가 학습해둔 모델을 사용하는 것이므로 우리가 사용하는 모델과 토크나이저는 항상 맵핑 관계여야 합니다.
  • BERT를 파인 튜닝(Fine-tuning)하기
    1. 하나의 텍스트에 대한 텍스트 분류 유형(Single Text Classification)
    2. 하나의 텍스트에 대한 태깅 작업(Tagging)
    3. 텍스트의 쌍에 대한 분류 또는 회귀 문제(Text Pair Classification or Regression)
    4. 질의 응답(Question Answering)
  • 어텐션 마스크는 BERT가 어텐션 연산을 할 때, 불필요하게 패딩 토큰에 대해서 어텐션을 하지 않도록 실제 단어와 패딩 토큰을 구분할 수 있도록 알려주는 입력입니다.

댓글