- WordEmbadding
- Motivation
- 주변 (context windwo)에 같은 단어가 나타나는 단어일 수록 비슷한 벡터값을 가져야 한다
- 문장의 문맥에 따라 정해지는 것이 아님
- context window의 사이즈에 따라 embedding의 성격이 달라질 수 있음
- Skip-Gram(Basic Concept)
-
기본 전략
- 주변 단어를 예측하도록 하는 과정에서 적절한 단어의 임베딩(정보의 압축)을 할 수 있다.
- Non-linear activation func.이 없음
-
기본적인 개념은 오토인코더와 굉장히 비슷함

- $\hat{X}$를 성공적으로 예측하기 위해 필요한 정보 선택 및 압축
-
Skip-gram

-
WordEmbedding의 현실
- 단어 임베딩을 통해 좀 더 나은 성능을 기대했으나 NLP이외 영역에서 응용의 발판
- 일반적인 NLP 지도학습에서는 random initialized embedding layer사용
- 유사도 비교밖에는 못함.
-
Word Embedding Vector
- Skip-gram : 주변 단어가 비슷한 단어일수록 비슷한 임베딩 값을 갖도록 학습
- 특수한 상황을 제외하고, 실제 NLP에서는 드물게 활용
-
Embedding Layer
- 원핫 인코딩 (one-hot encoding)된 이산(discreate) 샘플의 벡터를 받아, 연속(continous) 벡터로 변환
- 높은 차원의 벡터를 효율적으로 계산하기 위함
- loss를 최소화하는 과정에서, 자연스럽게 해당 task에서 비슷한 쓰임새를 갖는 단어는 비슷한 벡터를 갖게 됨.
- ELMo (Embedding from Language Model)
- Get word embeddings based on bidirectional context
- 기존의 고정된 단어 임베딩을 넘어서 context에 따른 단어 임베딩을 통해 target task성능을 끌어올림
- 한계점
- Task-specific 구조의 모델이 추가로 필요, 해당 모델은 대용량 코퍼스의 도움을 직접적으로 받지 못함
- Bi-LM을 만들긴 하지만, 각기 한 방향의 정보만 담고 있다.
- wrap-up
- WordEmbadding
- 대용량의 사전 학습 코퍼스를 대상으로 word2vec 학습 후 fine-tuning
- Word2vec obj. 가 downstream task의 obj.와 달라 효과가 적음
- 코퍼스 전체에 따라 단어별 유니크한 emb.가 결정됨.
- ELMo
- 대용량의 사전 학습 코퍼스를 대상으로 임베딩 레이어를 대체할 sub-net을 학습 후 freeze하여 사용
- 양방향 context를 고려해 의미를 결정 하므로 문장 구성에 따라 단어의 emb.가 바뀜
- Word2Vec을 비롯한 ELMo와 같은 방식은 feature를 사전학습 하는 방법
- 대용량 코퍼스를 통해 학습한 더 좋은 feature를 입력으로 넣어주는 목표
- 임베딩 레이어의 weight만 사전학습하는 방식
- 따라서 downstream task를 위한 모델 파라미터 자체는 사전학습 할 수 없음
- 추후 등장하는 PLM방식들은 모델 파라미터 자체를 사전학습 하는것
- 대용량 코퍼스를 통해 학습한 더 좋은 seed weight parameter를 통해 더 나은 성능 확보