반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags more
Archives
Today
Total
관리 메뉴

코딩몬

[스마트인재개발원] BERT Model 본문

Deep Learning

[스마트인재개발원] BERT Model

탄중이 2021. 6. 27. 23:50
반응형

BERT Model

이번 프로젝트 주제를 감성분석 기반 추천 시스템으로 잡았고, 아직 딥러닝 까지는 배운적이 없어 최대한 머신러닝으로 자연어 처리를 하여 감성분석을 해 보려고 했으나... 감성분석이라는 분야 자체가 워낙 고도의 학습이 필요한 NLP 분야라서 어쩔 수 없이 딥러닝 분야에 이렇게 살짝 일찍 맛을 보게 되었다...

 

조사를 해 본 결과 한국어 자연어 처리로는 KoBERT라는 모델이 우리 프로젝트에 가져다 쓰기에 가장 적합한 Open Source라고 판단하여 프로젝트를 진행하였고, KoBERT라는 모델에 대해 이해하기 위해서 KoBERT의 전신인 BERT모델에 대해 공부를 하게 되었다.

 

BERT(Bidirectional Encoder Representations from Transformers)는 2018년에 구글이 공개한 사전 훈련된 모델입니다.

 

BERT라는 이름은 세서미 스트리트라는 미국 인형극의 케릭터 이름이기도 한데, 앞서 소개한 임베딩 방법론인 ELMo와 마찬가지로 세서미 스트리트의 케릭터 이름을 따온 것이기도 합니다.

 

 

 

BERT Model 개요

BERT는 Transformers를 이용하여 구현되었으며, 위키피디아(25억 단어)와 BooksCorpus(8억 단어)와 같은 레이블이 없는 텍스트 데이터로 사전 훈련된 언어 모델입니다.

 

BERT가 높은 성능을 얻을 수 있었던 것은, 위에서 언급한 바와 같이 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고, 레이블이 있는 다른 작업에서 추가 훈련과 함께 하이퍼파라미터를 재조정하여 이 모델을 사용하면 성능이 높게 나오는 기존의 사례들을 참고하였기 때문입니다.

 

* 파인 튜닝(Fine-tuning) : 다른 작업에 대해서 파라미터 재조정을 위한 추가 훈련 과정

 

 

 

BERT Model의 내부 동작

Input = Token Embeddings + Segment Embeddings + Position Embedding

Token Embeddings, Segment Embeddings, Position Embedding 이 세 가지 임베딩을 합치고 이에 Layer 정규화와 Dropout 을 적용하여 input으로 사용한다

  • Token Embeddings : 자주 등장하는 sub-word 자체가 단위가 되어 자주 등장하지 않는 단어는 쪼개진다.
  • Segment Embeddings : 두 개의 문장을 문장구분자와 함께 합쳐 넣는다
  • Position Embedding : 단순하게 Token순서대로 0,1,2,3... 과 같이 순서대로 인코딩 한다.

 

BERT Model 언어 모델링 구조

임베딩을 한 후 훈련 데이터에대한 인코딩이 끝났다면, 이제 Pre-training(사전훈련)을 시켜야 한다.

기존의 방법들은 보통 문장을 왼쪽에서 오른쪽으로 학습하여 다음 단어를 예측하는 방식이거나, 예측할 단어의 좌우 문맥을 고려하여 예측하는 방식을 사용한다.

그러나 BERT 언어의 특성이 잘 학습되도록 2가지 방식, MLM(Masked Language Model)과 NSP(Next Sentence Prediction)을 사용합니다.

 

 

www.smhrd.or.kr

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

 

반응형
Comments