논문
ELMo (Deep contextualized word representations) 논문 리뷰
두설날
2024. 7. 15. 10:36
Abstract(초록)
- deep contextualized word representations 학습, 적용
- 문맥에 따른 단어 다른 임베딩 학습 제시
- 동의어
- 다의어
- 학습방법으로 bidirectional을 LSTM방식으로 활용한 biLM 제시
- unlabeling된 text corpus pretrain, 작업에 맞게 labeling된 text corpus를 downstream model에 학습하는 방법인 semi-supervision을 NLP에 사용
- question answering, textual entailment, sentiment analysis등 6개의 task에서 state of the art의 성능 증명
1 Introduction
- 기존 NLP의 Pre-trained model이 word representations학습 후 high quality representations 학습에 연구 필요
- 복잡한 언어 특성
- 언어적 맥락
- 본 논문은 이 문제에 대한 해결과 state of the art 성능 도달
- ElMo는 large text corpus로 bidirectional LSTM으로 2가지 벡터 결합 후, 문장단위 임베딩
- LSTM들이 앞뒤 문맥 파악, 같은 위치 layer끼리 결합
- 기존보다 더 깊은 layer로 학습
2 Related work
- 서브워드 정보와 다중 의미 표현
- 문자 컨볼루션을 통해 서브워드 정보를 활용하고, 다중 의미 정보를 명시적으로 학습하지 않고도 통합하여 활용
- 문맥 의존적 표현 학습
- 최근 연구들은 context2vec 및 CoVe와 같은 방법을 사용하여, 문맥을 포함한 단어 임베딩을 학습
- 이 방법들은 대규모 비지도 데이터의 중요성을 강조, 심층 문맥 표현(예: ELMo)을 제안
- 심층 biRNN의 레이어별 정보
- ELMo는 약 3000만 문장으로 구성된 코퍼스에서 학습된 biLM을 기반
- 낮은 레벨 레이어는 문법 정보를, 높은 레벨 레이어는 단어 의미를 학습합니다.
- 이 방식으로 -20% error, 성능 향상
- 비지도 데이터로 사전 학습 후 고정 가중치 사용
- biLM을 비지도 데이터로 사전 학습, 가중치를 고정하고 작업별 모델 용량을 추가
3 ELMo: Embeddings from Language Models
- 기존 설명한 ELMO : sentence단위 word representation을 학습하기 위한 Bidrectional LSTM
- ELMo의 downstream 구성
3.1 Bidirectional language models
- bidrectional LSTM : left to right, right to left 2가지 결합하여 사용
- LSTM의 forward부분 :
- senetence를 N개의 token으로 나누어, 현재 토큰 기준 다음 토큰 나올 확률 예측 모델
- LSTM의 backward 부분 :
- 현재 토큰 기준으로 이전 토큰 예측 LSTM 모델
- forward, backward를 유지하면서 log likelihood를 최대화하는 최대 우도 구하기
- 같은 가중치(파라미터) 적용
3.2 ELMo
- ELMo : 2가지 LSTM의 layer representations 결합
- 각 토큰의 L층마다 biLM과 token layer 결합
- 모든 layer들을 하나의 vector 압축
- s * task는 학습 가중치로, softmax 가중치 적용
- 모든 가중치의 합 = 1
- 𝛾𝑡𝑎𝑠𝑘는 전체 모델의 적용되는 scale로 최적화에 아주 중요한 역할
- 경우에 따라 가중치 부여전, layer normalization(정규화)
3.3 Using biLMs for supervised NLP tasks
- 사전학습한 ELMo를 작업에 맞게 supervised architecture(지도학습 구조) 설계
- 1. biLM을 학습 후, 각 단어에 대한 layer representaitons 저장
- 2. downstream 사전학습된 모델의 선형결합 학습
- 벡터들 선형결합 후, 최적의 가중치 학습과정, 필요하면 각 모델의 기여도 조정하여 성능 최적화
- 방법
- 1. 사전학습한 biLM의 가중치 고정
- 2. input text를 각 token에 대한 biLM학습과정 거친 후, task에 맞는 ELMO의 task k 추출
- 3. input token x k 와 ELMO task k를 결합, [𝑥𝑘𝐿𝑀;𝐸𝐿𝑀𝑂𝑘𝑡𝑎𝑠𝑘] 형태의 input으로 지도학습 RNN모델에 입력
- 4. 필요하다면 dropout과 loss에 biLM의 가중치에 L2 norm(𝜆||𝑤||22) 추가하여 가중치 감소 방법 사용
- drop out: 신경망에서 과적합(overfitting)을 줄이기 위해 사용되는 정규화 기법으로, 뉴런을 임의로 선택하여 해당 뉴런을 제거하는 방식
3.4 Pretrained bidirectional language model architecture
- layer로 2 biLSTM 사용, dimension=512, 첫번째 layer와 두번째 layer를 residual connection 연결
- 임베딩
- 2048개 character n-gram convolutional filters 사용
- 2개의 highway layer사용하여 임베딩 변환, projection함으로써 최종임베딩 획득
4 Evaluation
- task에 ELMo 사용시 결과, 모든 task성능 상승
- Question answering: 주어진 질문에 문장 안 올바른 정답을 출력
- Textual entailment: 주어진 전제로 가설이 참인지 거짓인지 결정
- Semantic role labeling: semantic rol labeing(SRL)은 누가 언제 어디서 등 동사나 인수의 구조를 맞추기
- Coreference resolution: 임의의 개체(entity)를 표현하는 다양한 명사구(mention) 들을 찾아 연결
- Named entity extraction: 말 그대로 개채명 인식이고, 미리정의된 사용자 이름, 조직, 위치 및 기타 등 인식
- Sentiment analysis: Stanford Sentiment Treebank(SST-5)에서의 감성 분류 작업. 문장을 보고 영화평점 1~5까지 분류
5 Analysis
5.1 Alternate layer weighting schemes
- 데이터셋 3개에서 ELMo 적용 결과
- Baseline : 전체 layer 결합
- Last only : 마지막 layer 결합
- λ=1 : 기존
- λ=0.001 : 현재
5.2 Where to include ELMo?
- input, input+ouput, output 적용결과
- SQuAD, SNLI은 Input & Output 둘다 적용하였을때 성능이 , SRL은 Input만 적용하였을때 성능이 가장 좋음
- 여기서 SQuAD, SNLI은 biRNN이후 바로 attention layer를 사용하였기 때문에 이 layer에 ELMo를 추가하여 내부 representations에 직접 접근할 수 있도록 해주고, SRL의 경우 task-specific context representation이 biLM context representations 보다 더 중요하기 때문
5.3 What information is captured by the biLM's representations?
- ELMo를 적용한 task에 향상된 성능을 보이면서 biLM이 contextual representations를 잘 학습하여 NLP task에 유용하다는 것이 증명
- biLM은 context로 word의 의미를 명확하게 해석
- 위 테이블의 첫 번째를 보면 기존에 사용하던 방법인 GloVe vector를 사용하여 "play" 근처의 리스트를 뽑아본 것
- 여러 부분에 분포하지만 스포츠 관련 의미에 집중
- 본 논문의 biLM에서는 "play"의 비슷한 의미로 쓰인 문장을 판단 가능
5.4 Sample efficiency
- ELMo는 샘플링의 효율성도 증가
- ELMo 없이 기존모델은 486 epochs에 최고 성능을 도달했다면, ELMo를 적용한 모델은 10 epochs에 최고 성능을 도달
- 또한 적은 train set으로도 ELMo를 적용한 모델이 좋은 성능을 도출 아래의 x축은 총 데이터세트의 percentage입니다.
- 위 그림은 softmax-normalized parameter 를 시각화한 자료
- ELMo를 biRNN의 input과 output에 사용했을 때를 각각 나눠서 비교
- ELMo가 input에 사용되었을 떄는 대부분 first LSTM layer가 가중치가 높다
- 반면 ELMo가 output에 사용된 경우엔 하단 layer가 더 높은 가중치를 갖고 있음
6 Conclusion
- word 단위가 아닌 context(문맥) 단위로 임베딩하는 ELMo로 NLP 성능 향상 증명