티스토리 뷰
단어 임베딩은 차원 축소와 함께 원-핫 인코딩의 대안으로 생각할 수 있습니다.
텍스트 데이터를 다룰 때 신경망을 포함한 기계 학습 모델에 입력하기 전에 이를 숫자로 변환해야 합니다.
단순함을 위해 단어는 범주형 변수와 비교할 수 있습니다. 범주형 기능을 숫자로 변환하기 위해 원-핫 인코딩을 사용합니다. 그렇게 하기 위해 각 범주에 대해 더미 기능을 만들고 0과 1로 채웁니다. 마찬가지로 텍스트 데이터의 단어에 대해 원-핫 인코딩을 사용하는 경우 각 단어에 대해 더미 기능을 갖게 됩니다.
이는 10,000단어의 어휘에 대해 10,000개의 feature를 의미합니다. 이것은 단어 벡터를 위한 큰 저장 공간을 요구하고 모델 효율성을 감소시키기 때문에 실현 가능한 임베딩 접근 방식이 아닙니다.
임베딩 레이어를 사용하면 각 단어를 정의된 크기의 고정 길이 벡터로 변환할 수 있습니다. 결과 벡터는 0과 1 대신 실제 값을 갖는 조밀한 벡터입니다. 단어 벡터의 고정된 길이는 축소된 차원과 함께 더 나은 방식으로 단어를 표현하는 데 도움이 됩니다.
이러한 방식으로 임베딩 레이어는 Lookup 테이블처럼 작동합니다. 단어는 이 테이블의 키이고 조밀한 단어 벡터는 값입니다.
임베딩 레이어로 변환 시키는데에는 두 가지 방법이 존재하게 되는 것입니다! 헷갈려하지 않기
1. 단어를 범주형 변수로 변환
2. 원핫 인코딩으로 변환
그 후에 lookup table처럼 만들어주고, 각 단어가 임베딩 벡터로 만들어지는 것입니다.
파이토치의 nn.Embedding은
- Vocab size : 단어의 크기
- embedding dim : 각 단어의 벡터 길이
- input length : 시퀀스의 최대 길이
로 매개변수 입력값을 받습니다.
'AI > NLP' 카테고리의 다른 글
Prompt-based Learning이란? (0) | 2023.04.22 |
---|---|
[자연어처리 수업 정리] Natural language processing - tutorial (2) | 2023.04.20 |
Lecture 12: Recurrent Networks (RNN, LSTM, GRU) (0) | 2022.08.25 |
RNN과 LSTM 기본 개념 이해하기 (0) | 2022.08.24 |
LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit) 그림으로 이해하기 (2) | 2022.08.24 |
- Total
- Today
- Yesterday
- 구글드라이브서버연동
- 프롬프트
- clip
- 파이썬 딕셔너리
- 파이썬 클래스 다형성
- 도커
- style transfer
- CNN
- 파이썬 클래스 계층 구조
- stylegan
- 데이터셋다운로드
- 딥러닝
- python
- 도커 컨테이너
- vscode 자동 저장
- 파이썬
- prompt learning
- 서버구글드라이브연동
- NLP
- cs231n
- 구글드라이브다운
- 퓨샷러닝
- 구글드라이브서버다운
- Prompt
- 서버에다운
- docker
- support set
- few-shot learning
- Unsupervised learning
- 구글드라이브연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |