티스토리 뷰

반응형

One-Hot Encoding / Vector (원-핫 인코딩 / 벡터) ?

  • 어휘 집합 (Vocabulary)단어를 표현하는 가장 간단한 방법이다.
    • 어휘 집합 (Vocabulary) ? : 중복된 단어가 없는 서로 다른 단어들의 집합이다.

왜 사용할까 ?

  • 상당히 직관적이며, 간단하다.
  • 컴퓨터나 기계는 보통 문자보다는 숫자를 더 잘 처리하기 때문에, 문자를 숫자 형태로 바꾸기 위해 사용한다.

설명

  • 표현하고 싶은 단어의 인덱스 값 1, 이외에 나머지 값들은 모두 0으로 설정한다.
    • 원-핫 인코딩을 통해 나온 벡터를 원-핫 벡터 (One-Hot Vector) 라고 하며, 이 벡터의 차원은 어휘 집합의 크기와 동일하다.
  • ex) "강아지", "고양이", "사자", "호랑이", "돼지" 라는 단어들로 구성된 어휘 집합 (5개) 이 있다고 해보자.
  • 어휘 집합에 있는 단어들을 원-핫 벡터로 표현하면 아래와 같이 5차원이 될 것이다.

 

Sparse Representation / Vector (희소 표현 / 벡터) ?

One-Hot Encoding의 문제점

  1. 그런데 만약 어휘 집합의 크기가 1천 개, 1만 개라면 어떻게 될까?
    • 벡터의 차원 수도 1천, 1만이 될 것이며, 계산 복잡성, 메모리 부족 등 비효율적인 여러 문제들을 야기하게 될 것이다.
    • 이렇게 만들어진 벡터를 희소 벡터 (Sparse Vector) 라고 하며, 해당 단어 인덱스의 값만 1이고, 나머지 9999, 99999 값은 모두 0으로 구성된다 (Sparse 하다고 표현한다).
    • 현실에 있는 단어들의 수는 수만 개 또는 그 이상이 존재할 것이고, 이 단어들을 모두 벡터로 표현하면 차원수는 굉장히 커질 것이다.
  2. 문제점은 하나 더 있는데, 두 벡터의 내적 (Inner Product) 값이 항상 '0' 이라는 것이다.
    • 이는 두 벡터가 항상 직교 (Orthogonal) 한다는 것이다.
    • 즉, 두 벡터가 항상 독립적 (Independent) 이라는 것을 의미하지만, 실제로는 어떤 두 단어 사이에 전혀 관련성이 없지 않다.
    • 위 예시 단어 중 강아지, 고양이만 봐도 동물이라는 카테고리로 보면 어느 정도 유의성을 가지는 것으로 볼 수 있다.
    • 위 예시 외에도 유의어, 반의어 같이 단어들 끼리 의미적으로 특정한 관계를 맺고 있기 때문이다.

 

Distributed Representation / Dense Vector (분산 표현 / 밀집 벡터) ?

도입

  • 분산 표현은 원-핫 벡터의 문제점인 고차원과 내적 값이 항상 '0'인 부분을 해결하기 위한 방법이다.
  • 먼저, Sparse Vector의 요소 값은 0 또는 1인 이진 (Binary) 값을 가지며, Dense Vector의 요소 값은 연속형의 실수 값을 가진다.
  • 즉, 분산 표현은 Sparse한 벡터 (이진 값) 를 Dense한 벡터 (연속형의 실수 값) 로 변환하여 표현하는 것이다.

설명

Distributed Representation (출처. ratsgo님의 블로그)

  • 위 그림의 왼쪽을 보면 9개의 그림이 있다 (해 3개, 달 3개, 구름 3개).
  • 이를 원-핫 인코딩을 거쳐 표현하면 9차원 벡터 9개가 나올 것이다.
  • 그런데, 9개 그림에서는 2가지 속성 (색깔, 모양) 이 존재한다.
  • 여기서 분산 표현 (Distributed Representation) 의 개념2가지 속성 (2차원 벡터) 을 가지고 하나의 모양 (객체, Object) 을 표현할 수 있다는 것이다.
  • 즉, 9차원이던 벡터 (Sparse Vector) 가 2차원 벡터 (Dense Vector) 로 변환된다.
  • 이 2차원 벡터는 실수값을 가지므로 아래와 같이 공간상에서 벡터 간 거리나 유사도를 구할 수 있다.
  • 의미가 유사한 단어는 가깝게, 반대의 경우는 멀게 배치가 될 것이다.

  • 수치적으로 나타낸다면, 아래와 같을 것이다.
  • 아래의 수치는 정확한 값이 아닌 예시를 보여주기 위해 임의로 집어 넣은 값이다.

 

Reference

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
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 29 30
글 보관함