1. 임베딩
- 임베딩 : 이산 타입과 벡터 공간의 포인트 사이에 매핑을 학습하는 것
1.1 임베딩 이유
- 문장에 등장하는 카운트 값은 단어의 빈도에 상응하는데, 이 카운트 기반 표현은 중요한 내용이나 의미가 벡터의 여러 차원에 표현되어서 분산적 표현이라고도 부른다.
분산 표현은 단어가 훨씬 낮은 차원의 밀집 벡터로 표현된다는 사실에서 이름을 따왔습니다. 단어의 의미와 다른 속성이 이 밀집 벡터의 여러 차원에 걸쳐 분산됩니다.
- 저차원으로 학습된 밀집 표현은 one-hot vector나 카운트 기반의 벡터와 다른 장점이 있는데,
① 계산이 효율적으로 수행된다.
② 카운트 기반은 여러 차원에 비슷한 정보를 중복해 인코딩한 고차원 벡터를 만듭니다.
③ 매우 고차원 입력은 머신러닝과 최적화에서 실제로 문제가 될 수 있다.
→ 차원의 저주로 불리며, 특이값 분해나 주성분 분석과 같은 차원 축소 방법을 선택한다.
④ 작업에 특화된 데이터에서 학습된 표현은 현재 작업에 최적입니다.
1.1.1 장점
- 원-핫 벡터처럼 입력으로 받는 linear 층의 가중치 행렬에는 원-핫 벡터의 크기와 같은 개수의 열이 있어야 한다. 그 후 행렬 곱셈을 할 때, 결과 벡터는 실제로 0이 아닌 원소가 가리키는 행을 선택해서 만든다.
그러나, 임베딩을 이용하면 행렬 곱셈 단계를 건너 뛰고 직접 정수를 인덱스로 사용하여 선택된 행을 추출할 수 있다.
- 실제로 임베딩은 원-핫 벡터 또는 카운트 기반 표현보다 낮은 차원 공간에서 단어를 표현하는 데 자주 사용된다.
- 단어 임베딩 방법은 모두 단어만으로 (즉, 레이블이 없는 데이터로) 학습되지만 지도 학습 방식을 사용합니다.
1.1.2 사전 훈련된 단어 임베딩
- 임베딩 로드
- 원본 Word2Vec 에서 스탠퍼드의 GLoVe ( https://stanford.io/2PSIvPZ )
- 페이스북의 FastText ( https://fasttext.cc )
2. CBOW 임베딩
'Deep Learning > Natural Language Processing' 카테고리의 다른 글
KG graph with ESG data (0) | 2023.08.02 |
---|---|
N label classification with ESG data (0) | 2023.08.02 |
[pytorch] Feed-forward network (0) | 2022.07.25 |
[pytorch] 신경망의 기본 구성 요소 (0) | 2022.07.25 |
[pytorch] nlp기술 빠르게 훑어보기 (0) | 2022.07.18 |