0. Embedding의 수학적 정의
2024.09.28 - [Programming/ML] - [ML] Embedding의 수학적 정의 및 Embedding Layer
1. 임베딩(Embedding)의 정의 및 본질
- 정의:
- 고차원 이산 데이터(high-dimensional discrete data)를
- 저차원 연속 벡터공간(low-dimensional continuous vector space)으로 변환하는 기법
- 본질:
- 복잡한 semantic information(의미 정보)을
- computer-friendly vector representation(컴퓨터 친화적 벡터 표현)으로 인코딩
- 목적:
- 데이터의 내재적 구조(intrinsic structure)와
- 관계(relationships)를 수치적으로 포착
Embedding은 "왕", "여왕", "남자", "여자"와 같은 개념(고차원의 이산 데이터)를 컴퓨터가 이해하고 처리할 수 있는 수치 벡터로 변환함. 이를 통해 이들 개념 간의 복잡한 관계를 수학적으로 표현하고 조작할 수 있게 됨.
예를 들어, Embedding 은 "왕"과 "여왕" 사이의 관계가 "남자"와 "여자" 사이의 관계와 유사하다는 것을 vector space에서 표현할 수 있음.
2. Embedding 의 실제 응용 사례: Lexical Semantics(어휘 의미론)
- 핵심 개념:
- vector("왕") - vector("남자") + vector("여자") ≈ vector("여왕")
- 의의:
- 단어 간 semantic relationships(의미적 관계)의 수학적 표현 및 조작 가능성 제시
- 확장:
- analogical reasoning(유추 추론), semantic similarity(의미적 유사성) 측정 등에 활용
이 응용사례는 Embedding 의 유용성을 잘 보여줌.
"왕"에서 "남자"의 특성을 제거하고 "여자"의 특성을 더했을 때 "여왕"과 유사한 벡터가 나온다는 것은, Embedding이 “성별”과 “지위”의 개념을 동시에 representation하고 있음을 의미.
이는 단순한 단어를 구분되는 vector로 변환하는 것을 넘어, 개념 간의 복잡한 관계를 수학적으로 모델링할 수 있음을 보여줌.
3. Embedding 기술의 발전 과정
-
- One-hot encoding(원-핫 인코딩)의 한계:
- 예: "왕" [1,0,0,0], "여왕" [0,1,0,0], "남자" [0,0,1,0], "여자" [0,0,0,1]
- 문제점: 차원의 저주, 단어 간 관계 표현 불가
- 초기 임베딩 접근법:
- 예: "왕" [0.7, 0.2, 0.8], "여왕" [0.6, 0.3, 0.8], "남자" [0.5, 0.2, 0.1], "여자" [0.4, 0.3, 0.1]
- 특징: 저차원 벡터, 단어 간 Similarity(유사성) “일부” 반영
(예: "왕"과 "여왕"의 마지막 차원 값이 유사)
- 의의: 단어 간 관계의 초보적 표현 가능, 그러나 여전히 제한적이었음
- 초기 단계: Categorical data encoding(범주형 데이터 인코딩)의 한계 극복을 위해 제안됨.
- ref.
- 다음 논문은 오늘날 사용되는 embedding의 개념을 만들어낸 기념비적 논문이나 embedding이라는 용어를 사용하진 않음.
- Bengio, Y., et al. (2003). "A Neural Probabilistic Language Model."
- One-hot encoding(원-핫 인코딩)의 한계:
-
- 혁신적 모델: Word2Vec, GloVe 등장
- 특징: Distributional hypothesis(분포 가설) 기반 단어의 “문맥적 의미” 학습
- 예시:
- "왕": [0.2, -0.5, 0.7, 0.1, ..., 0.3] (300차원)
- "여왕": [0.3, -0.4, 0.6, 0.2, ..., 0.4] (300차원)
- "남자": [-0.1, 0.2, 0.3, -0.2, ..., 0.1] (300차원)
- "여자": [-0.2, 0.3, 0.2, -0.1, ..., 0.2] (300차원)
- 의의: 벡터 연산을 통한 단어 관계 표현 가능
(예: vector("왕") - vector("남자") + vector("여자") ≈ vector("여왕")) - Ref.
- 다음 두 논문을 기점으로 word embedding이라는 용어가 널리 사용되기 시작함 (수학에서의 embedding이라는 용어에서 따옴).
- Natural Language Processing (NLP, 자연어 처리) 영역으로의 확장
- Mikolov, T., et al. (2013). “Efficient Estimation of Word Representations in Vector Space."
- Mikolov, T., et al. (2013). “Distributed Representations of Words and Phrases and Their Compositionality"
- Multi-modal data(다중 모달 데이터)로의 적용 범위 확대
- 대상: 이미지(images), 오디오(audio), 그래프(graphs) 등 다양한 데이터 유형
- 기술: Deep learning architectures(딥러닝 아키텍처)를 활용한 Embedding 생성
- 예시:
- 텍스트 "왕": [0.2, -0.5, 0.7, ...]
- 이미지 "왕": [0.1, 0.3, -0.2, ...]
- 통합 임베딩 "왕": [0.15, -0.1, 0.25, ...]
- 의의:
- 다양한 모달리티에서 "왕", "여왕", "남자", "여자" 개념의 통합적 표현 가능
- 관련 논문
Embedding 기술의 발전은 word representation의 발전을 잘 보여줌.
초기에는 one-hot encoding(원-핫 인코딩)의 한계를 극복하기 위해 저차원 벡터를 사용하기 시작하면서 embedding이 개발됨. 이 단계에서는 "왕"과 "여왕"의 유사성을 부분적으로 표현할 수 있게 되었으나 의미적 관계를 나타내는데에는 여전히 한계를 지녔음.
NLP 기술의 발전으로 Word2Vec, GloVe 등이 등장하면서 단어의 의미적 관계를 더 정교하게 추출하여 vector로 표현할 수 있게 되었음. 이 단계에서는 "왕", "여왕", "남자", "여자" 간의 복잡한 관계를 벡터 연산으로 표현할 수 있게 됨.
최근에는 텍스트뿐만 아니라 이미지, 음성 등 다양한 형태의 데이터에서 이러한 개념들의 관계를 embedding으로 표현하려는 연구가 이루어짐. 예를 들어, "왕"이라는 단어의 텍스트 임베딩과 왕관을 쓴 사람의 이미지 임베딩을 통합하여 더 풍부한 representaton을 만들어내고 있음.
4. Embedding과 다른 Feature Representation(특징 표현) 방식의 비교 분석
4.1 임베딩 vs Feature Vector(특징 벡터)
- 생성 방식
- Embedding:
- Neural network를 통한 end-to-end learning이 주로 사용됨.
- Training으로 얻어지는 low-dimensional vector를 embedding이라고 칭함.
- Feature Vector:
- 수동 설계 또는 heuristic algorithms(휴리스틱 알고리즘) 기반의 Feature engineering이 사용되는 경우가 일반적.
- 최근들어 training을 이용하는 경우도 있긴 함
- Embedding:
- Semantic 특성
- Embedding:
- Latent semantic relationships(잠재적 의미 관계) 포착
- 예: "왕"-"남자"+"여자"≈"여왕"
- Feature Vector:
- Explicit feature representation(명시적 특징 표현)
- 예: "왕"=[1,1,0], "여왕"=[1,0,1], 여기서 각 차원은 [왕족, 남성, 여성]을 나타냄
- Embedding:
- Dimensionality(차원성)
- Embedding:
- 일반적으로 lower dimension(저차원)
- 예: 300차원으로 모든 단어 표현
- Feature Vector:
- 데이터 특성에 따라 가변적
- 예: one-hot encoding의 경우 필요한 특성 수만큼 차원 증가
- Embedding:
- Expressiveness(표현력)
- Embedding:
- Complex, non-linear relationships(복잡한 비선형 관계) 표현 가능
- Feature Vector:
- Linear relationships 중심인 경우가 많음(사람이 모델링하는 한계)
- Embedding:
Embedding은 "왕", "여왕", "남자", "여자" 간의 복잡한 관계를 자동으로 학습하여 표현할 수 있음. 반면 전통적인 feature vector는 이러한 관계를 명시적으로 정의해야 하며, 복잡한 관계를 표현하는 데 한계를 보임 (단 DL을 통해 추출되는 feature vector들의 경우 Training을 통해 얻어지면서 매우 복잡한 non-linear relationship을 표현하기도 함).
4.2 임베딩 vs Feature Map(특징 맵)
- 구조적 특성
- Embedding:
- 주로 1D vector representation
- 예: "왕"을 300차원의 vector space의 element인 vector로 표현
- Feature Map:
- 2D 또는 3D tensor(텐서)
- 예: "왕"의 이미지에서 추출한 특징 맵
- Embedding:
- 주요 적용 분야
- Embedding:
- NLP, recommendation systems(추천 시스템) 등 다양한 도메인
- Feature Map:
- Computer vision(컴퓨터 비전), image processing(이미지 처리) 중심
- Embedding:
- Abstraction level(추상화 수준)
- Embedding:
- High-level semantic abstraction(고수준 의미 추상화)
- 예: "왕"의 개념적 특성 포착
- Feature Map:
- Mid-level feature representation(중간 수준 특징 표현)
- 예: "왕"의 이미지에서 추출한 시각적 특징
- Embedding:
- Learning process(학습 과정)
- Embedding:
- 주로 별도의 embedding layer(임베딩 층)를 통해 학습
- Feature Map:
- CNN의 convolution(합성곱), pooling layers(풀링 층)를 통해 자동 생성
- Embedding:
Embedding은 "왕", "여왕", "남자", "여자"와 같은 개념을 vector로 표현하여 의미적 관계를 포착.
반면 feature map은 이들의 시각적 특징을 공간적 구조를 유지한 채 표현.
예를 들어, "왕"의 임베딩은 그 개념적 특성을 포착하지만, feature map은 왕관, 망토 등의 시각적 특징을 표현.
5. Dimensionality
- Word2Vec model
- Dimension(차원): 100~300
- 예: '왕'을 300차원 벡터로 표현
- 의의: "왕", "여왕", "남자", "여자"의 다양한 semantic aspects(의미적 측면)를 효과적으로 포착
- BERT (Bidirectional Encoder Representations from Transformers, 양방향 인코더 표현)
- Dimension(차원): 768 (base model)
- 특징: Contextual word representations(문맥적 단어 표현) 제공
- 예: 문맥에 따른 '왕'의 dynamic representation(동적 표현)
- 의의: "이 나라의 왕은 현명하다"와 "체스의 왕은 중요한 말이다"에서 '왕'의 서로 다른 뉘앙스를 포착
Word2Vec에서는 "왕", "여왕", "남자", "여자"가 각각 300개의 숫자로 이루어진 고정된 벡터로 표현되며 이 벡터는 각 단어의 다양한 의미적 측면을 포착함.
반면 BERT에서는 이들 단어가 문맥에 따라 다르게 표현될 수 있어, 더 세밀한 의미 차이를 포착할 수 있음.
BERT의 경우, "왕"이라는 단어가 군주를 지칭할 때와 체스 말을 지칭할 때 서로 다른 vector로 표현하여 각 상황에서의 의미를 더 정확하게 반영함.
6. 임베딩 기술의 현재와 미래
- 현재: Powerful data representation technique으로 자리매김
- Semantic relationship capture(의미적 관계 포착),
- dimensionality reduction(차원 축소),
- generalization(일반화)
- 응용 분야:
- NLP, computer vision(컴퓨터 비전), recommender systems(추천 시스템), bioinformatics(생물정보학) 등
- 미래 전망:
- Multi-modal embeddings 의 대중화 (예: "왕"의 텍스트, 이미지, 음성을 통합한 임베딩)
- Transfer learning(전이 학습)을 통한 효율적인 임베딩 학습 (예: "왕"의 임베딩을 다른 언어나 도메인에 전이)
- Interpretable embeddings(해석 가능한 임베딩) 연구를 통한 black-box model(블랙박스 모델)의 한계 극복
- 과제:
- Ethical considerations(윤리적 고려사항) (임베딩에서의 성 편향 등),
- computational efficiency(계산 효율성)
현재 Embedding 기술은 "왕", "여왕", "남자", "여자"와 같은 개념들 사이의 복잡한 관계를 효과적으로 포착하여 다양한 분야에서 활용되고 있으며 점진적으로 이들 개념에 대한 텍스트, 이미지, 음성 정보를 통합한 multi-modal embedding으로 발전할 것으로 예상됨.
예를 들어, "왕"이라는 단어의 의미, 왕관을 쓴 사람의 이미지, "왕"이라고 말하는 음성을 모두 고려한 통합적인 embedding이 가능해질 것임. 또한, 한 언어에서 학습한 "왕"의 개념을 다른 언어로 쉽게 전이하는 기술도 발전할 것으로 보임. 다만, 임베딩에 내재될 수 있는 성 편향 등의 윤리적 문제도 중요한 과제로 남아 있음.
7. 결론
- Embedding: 현대 machine learning(기계 학습)과 AI(인공지능) 에서 핵심 기술
- 의의: Complex data(복잡한 데이터)를 computer-understandable form(컴퓨터가 이해할 수 있는 형태)으로 변환하는 역할
- 전망: 지속적인 혁신을 통한 AI 기술 발전의 주요 요소를 담당할 것으로 보임.
Embedding 기술은 "왕", "여왕", "남자", "여자"와 같은 복잡한 개념들을 컴퓨터가 이해하고 처리할 수 있는 형태로 변환하는 핵심 기술임.
- 이는 단순한 데이터 변환을 넘어
- 기계가 인간의 언어, 이미지, 음성 등을 '이해'하는 데 필수적인 기술로,
- 앞으로도 AI 기술 발전의 중요한 역할을 할 것으로 전망됨
'Programming > ML' 카테고리의 다른 글
[ML] Minkowski Distance (L-p Norm) (0) | 2024.10.02 |
---|---|
[ML] scikit-learn: Custom Transformer (2) | 2024.10.01 |
[ML] Embedding의 수학적 정의 및 Embedding Layer (0) | 2024.09.28 |
[ML] Kernel Function 이란: Kernel Trick 포함 (0) | 2024.09.28 |
[ML] Radial Basis Function Kernel (RBF Kernel) (1) | 2024.09.26 |