딥러닝 4일차

박철민·2021년 11월 10일
0

4장 임베딩

4.2 단어임베딩

4.2.1 원-핫 인코딩

  • 가장 단순한 임베딩 방법
  • 벡터 요소 중 단 하나만 1이고 나머지는 0
  • 희소 벡터

원-핫 이코딩 과정

  1. 단어 사전 구축
  • 말뭉치의 서로 다른 모든 단어의 집합
  • 단어의 수 -> 원-핫 벡터의 차원
  1. 인덱스 부여
  • 인덱스 번호가 원-핫 벡터의 1의 값을 가지는 요소의 위치

원-핫 인코딩 단점

  • 단어의 의미나 유사한 단어 정보가 없음
  • 단어 사전의 크기가 커짐에 따라 원-핫 벡터 차원 커짐
    -> 메모리 낭비, 계산의 복잡도 증가
  • 희소 벡터

4.2.2 희소 표현과 분산 표현

희소 표현

  • 원-핫 인코딩
  • 각각의 차원이 독립적인 정보를 표현 -> 사람이 직관적으로 이해하기 쉬움
  • 메모리 낭비, 계산 복잡도 증가
  • 단어 간 연관성이 없어 의미를 담을 수 없음

분산 표현

  • 한 단어의 정보가 특정 차원에 표현되지 않고 여러 차원에 분산되어 표현
  • 한 차원에 다양한 정보 저장
  • 데이터 손실을 최소화하면서 벡터 차원이 압축되는 효과
  • 밀집 표현, 밀집 벡터

분산 표현의 장점
1) 임베딩 벡터의 차원을 데이터 손실을 최소화하면서 압축 가능

  • 신경망 모델의 차원의 저주 문제 회피 가능
    2) 임베딩 벡터에 단어의 의미, 주변 단어 간의 관계 등 많은 정보가 내포되어 있어 일반화 능력이 뛰어남
  • 벡터 공간 상에 유사한 의미의 단어들은 비슷한 위치에 분포

4.2.3 Word2Vec

  • 2013년, 구글
  • 기존 신경망 기반 단어 임베딩 모델에 비해 구조상 차이는 없지만 계산량을 획기적으로 줄여 빠른 학습 가능

CBOW

  • 맥락이라 표현되는 주변 단어들을 이용해 타겟 단어를 예측하는 신경망 모델
  • 신경망 입력: 주변 단어
  • 신경망 출력: 타겟 단어
  • 학습된 가중치 벡터: 임베딩 벡터
  • 학습 속도 빠름

Skip-gram 모델

  • 하나의 타겟 단어를 이용해 주변 단어들을 예측하는 신경망 모델
  • 입출력이 CBOW와 반대
  • CBOW 모델에 비해 예측해야 하는 맥락이 많음
  • 단어 분산 표현력이 우수, 임베딩 품질 우수

Word2Vec의 단어 임베딩

  • 학습을 통해 비슷한 의미의 단어들을 비슷한 벡터 공간에 위치
  • 벡터 특성상 의미에 따라 방향성을 가짐
  • 방향성 -> 임베딩된 벡터들 간 연산 -> 단어 간 관계를 계산

https://github.com/e9t/nsmc

with는 자동으로 열고 닫는 것이다.

클래스로 만들려면 __enter__ , __exit__를 사용한다.

profile
취준좀비 컴공

0개의 댓글