레플리
글 수 282


transformer-ber-ulmfit-elmo.png

 

https://jalammar.github.io/illustrated-bert/?fbclid=IwAR1tT0Z10N7fdAj0-PUYk-t3lylnUzjqYd_aRwPzYjCksM3Da3grXJ-sTyI

 

 

 

최근 인기를 끌고 있는 구글의 BERT는 사전훈련(pre-trained) 기반의 언어모델입니다. 사전훈련은 CNN 같은 이미지 분류에서는 오래전부터 많이 활용되어 왔습니다. 예를 들어, ImageNet으로 다양한 사진들을 분류하는 모델을 파인튜닝합니다. 그래서 좀 더 세부적인 이미지들을 구분하는 자신만의 모델을 만들 수 있습니다. 이렇게 하면 적은 데이터만 가지고도 성능이 높은 모델을 빠르게 학습시킬 수 있습니다.

 

2018년에는 자연어처리에서도 이런 사전훈련을 도입한 논문들이 많이 발표되었습니다. 이 글에서는 ELMo, OpenAI Transformer 등을 거쳐 BERT로 이어진 과정을 자세히 설명하고 있습니다.

 

 

 

물론 기존에도 Word2Vec이나 GloVe 같이 비지도학습 방식의 사전훈련 모델이 있었습니다. 하지만 단순히 단어의 임베딩을 생성하는데 그쳤습니다. 그리고 모든 단어가 동일한 벡터값을 가지기 때문에 문맥에 따라 다른 의미를 가진 단어들을 표현할 수 없었습니다. 예들 들어, "눈이 와서 너무 좋다"와 "너의 눈이 너무 예쁘다"에서 '눈'은 다른 뜻을 가지고 있습니다. 하지만 Word2Vec으로 변환하면 모두 같은 임베딩을 가집니다.

 

이런 문제점을 해결하여 단어마다 각각 다른 임베딩을 부여하는 방법이 ELMo입니다. 이를 위해 사전훈련을 사용합니다. Bidirectional LSTM을 사용하여 문장에서 단어들이 주어지면 다음 단어를 예측하도록 학습합니다. Ngam 언어모델과 유사합니다. 이렇게 학습된 모델에서 해당 단어위치의 히든레이어 벡터들을 조합하여 단어의 임베딩을 구합니다.

 

OpenAI Transformer는 단어 차원이 아니라 문장 단위로 활용하는 모델입니다. ELMo와 동일한 방법으로 다음 단어를 예측하도록 사전훈련합니다. Transformer에서 디코더 부분만 사용하는데 문장의 한쪽 방향으로만 학습이 가능하다는 한계가 있습니다.

 

 

 

BERT의 가장 큰 특징은 Bidirectional로 문장의 양쪽으로 학습하여 정확도가 더 높다는 것입니다. OpenAI가 디코더를 쓰는 것과 달리 Transformer의 인코더만 사용합니다. 하지만 다음 단어를 예측하는 방법은 Bidirectional에서는 적용하기 불가능합니다. 그래서 문장에서 일정 확률로 임의의 단어를 마스킹하여 그 단어를 예측하는 새로운 학습방법을 고안하였습니다. 그와 함께 두 문장이 서로 연결되는 의미인지 분류하는 방식도 함께 사용합니다.

 

올해에는 이런 사전훈련을 적용한 자연어처리 모델이 더욱 발전하지 않을까 예상됩니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수sort
BERT 톺아보기 깊은바다 2018-12-17 26395
딥러닝을 사용한 챗봇 개발방법 정리 file 깊은바다 2018-02-03 25436
초거대모델의 파인튜닝 방법 - P-tuning과 LoRA file 깊은바다 2022-04-05 12037
글쓰기 보조 서비스 JasperAI, ChatGPT 때문에 어려움 직면 깊은바다 2023-03-01 9693
RAG(Retrieval-Augmented Generation) - LLM의 환각을 줄이는 방법 file 깊은바다 2023-07-04 9652
딥러닝 RNN으로 구현한 챗봇 깊은바다 2017-08-01 8135
문장을 학습하는 딥러닝 RNN의 Seq2Seq 모델 설명 file 깊은바다 2017-09-15 7327
챗봇에 딥러닝 학습을 적용하기 어려운 이유 file 깊은바다 2018-03-23 6641
KoGPT2, KoBERT, KoELECTRA로 만든 심리상담 챗봇 file 깊은바다 2020-08-05 6347
문장을 입력하면 비슷한 짤방을 보여주는 프로젝트 file 깊은바다 2019-01-28 6172
SKT가 공개한 한글 GPT2 - KoGPT2 깊은바다 2020-02-02 5296
챗봇에서 유사한 문장 자동인식 방법 file 깊은바다 2018-04-27 5151
네이버 영화리뷰 감정분석 with Hugging Face BERT file 깊은바다 2019-12-17 4663
사전학습을 통한 구글의 자연어처리 언어 모델 - BERT file 깊은바다 2018-11-03 4299
인라이플의 한글 BERT 대형모델 깊은바다 2020-05-18 4246