Zorba blog
NLP에서의 사전 훈련(Pre-Training) 본문
BERT를 배우기에 앞서 워드 임베딩에서부터 ELMo, 그리고 트랜스포머에 이르기까지
자연어 처리가 발전되어온 흐름을 정리해보자.
1. 사전 훈련된 워드 임베딩
- 어떤 테스크를 수행할 때, 임베딩을 사용하는 방법으로는 크게 두 가지가 있음.
1) 임베딩 층을 랜덤 초기화하여 처음부터 학습하는 방법.
2) 방대한 데이터로 Word2Vec 등과 같은 임베딩 알고리즘으로 사전에 학습된 임베딩 벡터들을 가져와 사용하는 방법.
- 만약 테스크에 사용하기 위한 데이터가 적다면, 사전 훈련된 임베딩을 사용하여 성능 향상을 기대할 수 있음.
- 그러나 위 2가지 방법 모두 하나의 단어가 하나의 벡터값으로 맵핑되므로, 문맥을 고려하지 못하고 다의어나 동음이의어를 구분하지 못하는 문제가 발생.
(ex. '사과'라는 단어는 용서를 빈다는 의미로도 쓰이지만 먹는 과일의 의미로도 사용. 임베딩 벡터는 '사과'라는 벡터에 하나의 벡터값을 맵핑하므로 이 두 가지 의미를 구분할 수 없음.)
2. 사전 훈련된 언어 모델
- 2015년 구글은 'Semi-supervised Sequence Learning'라는 논문에서 LSTM 언어 모델을 학습하고나서 분류문제에 추가 학습하는 방법을 보임.
- 우선 LSTM 언어 모델을 학습. 주어진 텍스트로부터 이전 단어들로부터 다음 단어를 예측하도록 학습하므로 별도의 레이블이 부착되지 않은 텍스트 데이터로도 학습 가능.
- 이렇게 레이블이 없는 데이터로 학습된 LSTM과 랜덤으로 초기화 된 LSTM 두 가지를 두고 텍스트 분류와 같은 문제를 학습하여 사전 훈련된 언어 모델을 사용한 전자의 경우가 더 좋은 성능을 얻을 수 있다는 가능성을 확인.
- ELMo는 순반향과 역방향 언어 모델을 각각 따로 학습하고, 이렇게 사전 학습된 언어 모델로부터 임베딩 값을 얻음.
- 임베딩은 문맥에 따라 임베딩 벡터값이 달라지므로, 기존 워드 임베딩인 Word2Vec이나 GloVe등이 다의어를 구분할 수 없었던 문제점을 해결.
- 이후로 언어 모델은 RNN 계열의 신경망에서 탈피하기 시작.
- 트랜스포머의 디코더는 LSTM 언어 모델처럼 순차적으로 이전 단어들로부터 다음 단어를 예측.
- 이후 언어 모델의 학습 방법에 변화를 주는 모델들이 등장.
- 좌측 그림에 있는 단방향 언어모델은 전형적인 언어 모델. 시작 토큰 <SOS>가 들어가면, 다음 단어 I를 예측.
- 우측에 있는 양방향 언어 모델은 지금까지 본 적이 없던 형태의 언어 모델. 실제로 이렇게 구현하는 경우는 거의 없음.
- 왜?! 이미 예측해야하는 단어를 역방향 언어 모델을 통해 미리 관측한 셈이므로 언어 모델은 일반적으로 양방향으로 구현하지 않음.
- 그 대안으로 ELMo에서는 순방향과 역방향이라는 두 개의 단방향 언어 모델을 따로 준비하여 학습하는 방법을 사용.
- 이와같이 기존 모델로는 양방향 구조를 도입할 수 없으므로, 양방향 구조를 도입하기 위해서 2018년에는 새로운 구조의 언어 모델이 탄생하였고, 그것이 바로 마스크드 언어 모델.
3. 마스크드 언어 모델(Masked Language Model)
- 마스크드 언어 모델은 입력 텍스트의 단어 집합의 15%의 단어를 랜덤으로 마스킹(Masking)
- 그리고 인공 신경망에게 마스킹 된 단어들을 예측하도록 함.
- 해당 언어 모델에 대해서는 다음 BERT에서 더 자세히 알아보겠음.
'자연어처리' 카테고리의 다른 글
BERT의 마스크드 언어 모델(Masked Language Model) (0) | 2022.06.08 |
---|---|
버트(Bidirectional Encoder Representations from Transformers, BERT) (0) | 2022.06.07 |
트랜스포머(Transformer) 모델 / 인코더, 포지션-와이즈 피드 포워드 신경망, 잔차 연결, 정규화 (0) | 2022.06.03 |
트랜스포머(Transformer) 모델 / 개념, 포지셔널 인코딩(Positional Encoding) (0) | 2022.06.02 |
어텐션 메커니즘 (Attention Mechanism) (0) | 2022.05.31 |