# 4.21. 1차 수정
단어임베딩
(개요)
1. 신경망은 비선형적 차원 축소를 통해 특징을 효율적으로 추출할 수 있다.
2. 그러나 비선형적 차원 축소는 계산 비용이 매우 비싸고 최적화가 어렵다.
3.비선형적 방법을 이용하지 않고서도 성능이 좋은 단어임베딩을 구현한 알고리즘이 word2vec / GloVe
알고리즘 종류 : word2vec (skip-gram&CBOW) / GloVe
Word2Vec
CBOW : 주변에 나타나는 단어들을 원핫인코딩된 벡터로 입력받아 해당 단어를 예측
skip-gram : 대상 단어를 입력받아 주변에 나타나는 단어를 예측하는 네트워크를 구성해 단어 임베딩 벡터를 학습 (분류문제-softmax사용)
Negative Sampling : 전체 단어 집합에 대하여 임베딩을 조정하는 대신, 일부 단어 집합에 대해서 연산함으로써 계산효율성을 높인 방법.
방법 :: (1) 주변 단어를 가져온다 (2) 랜덤으로 선택된 주변 단어가 아닌 상관 없는 단어를 일부 가져온다. (3) 주변 단어를 pos로 랜덤 선택 단어를 neg로 두고 이진분류 수행.
Word2Vec은 딥 러닝 모델(Deep Learning Model)이 아니다.
(1) Word2Vec는 입력층과 출력층 사이에 하나의 은닉층만이 존재 -얕은신경망(Shallow Neural Network)
(2) Word2Vec의 은닉층[투사층(projection layer)]은 활성화 함수 대신 룩업 테이블이라는 연산을 담당하는 층이다.
GloVe
GloVe : 대상 단어에 대하여 코퍼스에 함께 나타날 단어별 출현 빈도 예측 (회귀문제-MSE사용)
목적: '임베딩 된 중심 단어와 주변 단어 벡터의 내적이 전체 코퍼스에서의 동시 등장 확률이 되도록 만드는 것'
출처)
PyTorch로 시작하는 딥 러닝 입문 (링크)
'오늘의 코딩 > 머신러닝,Deep Learning' 카테고리의 다른 글
[딥러닝 구조] (0) | 2020.05.16 |
---|---|
자연어 처리 시작! word embedding (0) | 2020.03.31 |
[ML]Regularization에 대하여 (0) | 2020.03.30 |
재밌는 분야[적대적 훈련(Adversarial training)] (0) | 2020.03.26 |
pytorch transfer learning 모델 설정 중 에러.. (0) | 2020.02.04 |