Blog Content

    티스토리 뷰

    Generator based AI 개선


    1. BERT Embedding 방식의 필요성

    - one-hot encoding embedding 방식 : text를 벡터로 바꿔주지만 단어간 유사도를 측정하기 어렵고, 희귀 단어, 이름, 숫자나 단어장에 없는 단어에 대한 학습에 어려움이 존재
    - 이로 인해 OOV (out of vocabulary) 문제 발생
    - 사전에 training 하지 않은 label이 input으로 들어올 경우 OOV 문제로 예측을 정상적으로 하지 못하는 현상
    - 따라서 미등록 단어 (OOV) 문제에 대해 해결하고자 embedding 방식을 변경할 필요가 있었음.

    2. BERT Embedding 방식?

    - 구글에서 개발한 NLP 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model임
    - Word Piece 임베딩 방식 : 자주 등장하는 sub-word는 그 자체 단위가 되고, 자주 등장하지 않는 단어(rare word)는 sub-word로 쪼개짐.
    - Word Piece 임베딩은 모든 언어에 적용 가능하며, sub-word 단위로 단어를 분절. OOV 처리에 효과적이고 정확도 상승효과도 있음.
    - 단어장에 없는 단어, 희귀 단어 등이 label 값으로 등장하여도 사전에 훈련했던 단어장을 참조하여 유사한 단어 묶음을 조회해 예측 가능
      (ex: phone number name → smartphone numbers name 예측 가능)

    3. Beam Search 알고리즘의 필요성

    - 모델이 달라지지 않는 한 계속 같은 값을 예측함
      ex) "test"라는 단어를 예측하도록 훈련시켰다면 계속 "test" 값만 예측함.
      이유 : 특정 문자 다음에 오는 문자를 확률이 가장 높은 글자를 매번 선택하기 때문 (greedy 방식)
      
    4. Beam-Search?

    - Beam-Search : 매 스탭마다 beam 갯수만큼 후보를 유지하면서 서치를 하는 방식
    - 모든 후보가 <eos>로 마무리될 때까지 가장 확률이 높은 K개의 후보군을 유지함.
    - 따라서 형식에 맞는 다양한 값 생성이 가능함 (ex: 예측값 2020-07-28 외에 2020-07-30, 2020-07-29 으로 예측 가능)

    5. BERT 상세보기

    - BERT(Bidirectional Encoder Representations from Transformers)
    - 18년 10월에 논문이 공개된 구글의 새로운 Language Representation Model임.
    - NLP의 11개 테스크에 최고 성능을 기록함
    - text = "Here is the sentence I want embeddings for."
      ['[CLS]', 'here', 'is', 'the', 'sentence', 'i', 'want', 'em', '##bed', '##ding', '##s', 'for', '.', '[SEP]']

      . original word가 subword로 쪼개짐
      . "##bed"는 어떤 단어의 일부, subword라는 뜻. 독립적인 단어 "bed"랑 다르다는 것을 보여주기 위해
      . 전체 단어가 BERT vocab에 없으면 subword로 쪼갬 (vocab에서 찾을 때까지 쪼갬). 끝까지 못 찾으면 철자 하나씩까지 쪼갬

    Comments