레플리
글 수 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
KoGPT2 v2.0 공개 깊은바다 2021-05-03 1589
GPT2로 글을 작성하는 사이트 - StoryAI file 깊은바다 2019-10-11 1582
KoNLPy를 이용하여 Huggingface Transformers 학습하기 깊은바다 2020-09-20 1571
Java에서 Word2vec 사용하기 깊은바다 2018-05-05 1559
글쓰는 법을 배우는 신경망 깊은바다 2016-03-25 1538
딥러닝 자연어처리 라이브러리 - Pororo file 깊은바다 2021-02-03 1529
일상대화 챗봇 레플리카(Replika)의 구현 방식 file 깊은바다 2020-12-22 1505
딥러닝으로 미소녀 챗봇 만들기 깊은바다 2018-06-01 1496
GPT-3로 NPC와 대화를 할 수 있는 게임 시뮬레이터 깊은바다 2021-02-22 1462
문장의 유사성을 예측하고 평가하는 AI - 카카오 심슨 깊은바다 2019-03-20 1461
챗봇의 슬롯 채우기(Slot Filling)와 DST(Dialogue State Tracking) file 깊은바다 2021-08-19 1455
한국어 형태소 분석기 성능 비교 - khaiii 깊은바다 2018-12-10 1447
GPT가 스스로 계획을 세워서 실행한다면 - AutoGPT와 LangChain file 깊은바다 2023-04-18 1440
문장을 사진으로 변환하는 StackGAN [1] 깊은바다 2018-09-17 1434
페이스북이 발표한 사전훈련 언어모델 RoBERTa file 깊은바다 2019-07-30 1429