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으로 나누어, 현재 토큰 기준 다음 토큰 나올 확률 예측 모델
forward 식
LSTM의 backward 부분 :
현재 토큰 기준으로 이전 토큰 예측 LSTM 모델
backward 식
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 sj를 시각화한 자료
ELMo를 biRNN의 input과 output에 사용했을 때를 각각 나눠서 비교
ELMo가 input에 사용되었을 떄는 대부분 first LSTM layer가 가중치가 높다
반면 ELMo가 output에 사용된 경우엔 하단 layer가 더 높은 가중치를 갖고 있음
6 Conclusion
word 단위가 아닌 context(문맥) 단위로 임베딩하는 ELMo로 NLP 성능 향상 증명