AI

[AI] 임베딩(Embedding)

usingsystem 2024. 5. 9. 10:33
728x90

임베딩기법은 자연어 처리를 위한 기법중 하나로 머신러닝 알고리즘을 쓸 때 머신러닝 알고리즘은 어떤 문자형 데이터를 처리할 수 없기 때문에 인티저 인코딩이나 원핫 인코딩 같은 형태로 벡터 표현 형태로 그 텍스트 데이터를 변경을 수행해 주었어야만 했다. 하지만 주로 사용하는 원핫 인코딩을 사용할 경우 여러 가지 문제점들이 있게된다. 첫 번째로는 데이터 표현형태가 Sparse(희박하다)해진다는 문제점이 있다. 만약 10000개의 단어가 들어있을 때 1000개의 단어에 9999에는 0이들어있고 하나의데이터에 1이 들어있는 문제가있다. 이런 문제를 해결하기 위해 Sparse한 one-hot encoding의 데이터 표현을 Dense(빽빽한)한 표현 형태로 변환하는 기법이다. 이를 위해서 원본 데이터에 Dense한 임베딩 행렬을 곱해서 데이터의 표현형태를 만들어야한다. 

 

자연어 처리에서의 임베딩은 일반적으로 단어나 문장을 벡터로 나타내는 방법을 의미합니다. 각 단어나 문장은 임베딩 공간에서 고유한 위치를 가지며, 이러한 위치는 단어나 문장의 의미와 관련이 있습니다.

가장 일반적인 예로는 단어 임베딩(word embeddings)이 있습니다. 단어 임베딩은 각 단어를 고정된 길이의 실수 벡터로 표현하는 기법으로, 이러한 임베딩은 단어 간의 의미적 유사성을 측정하거나 자연어 처리 모델의 입력으로 사용됩니다. 대표적인 단어 임베딩 기술로는 Word2Vec, FastText, BERT 등이 있습니다.

 

이미지를 고차원의 픽셀 값으로 표현하는 대신, 이미지를 저차원의 임베딩으로 표현하여 이미지 간의 유사성을 측정하거나 이미지 분류 및 검색과 같은 작업에 사용될 수 있다.

임베딩의 장점

  • 차원 축소
  • 유사한 의미를 가진 단어를 유사한 벡터구조로 표현 가능
  • 희박한 데이터 표현 형태를 빽빽한 데이터 표현 형태로 변경
728x90