일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Today
- Total
- activation function
- AdaGrad
- adaptive learning rate
- arithmetic reasoning
- Attention is all you need
- attention mechanism
- auto encoder
- Back Propagation Trough Time
- Backpropagation
- Bayes Theorem
- BCE
- Bert
- Bidirectional Encoder Representation from Transformer
- Binary classification
- BPTT
- Chain-of-Thought
- CNN
- commonsense reasoning
- Computer Vision
- Confusion Matrix
- convolutional neural network
- Cot
- cot reasoning
- counting
- Cross Entropy Loss
- deep learning
- degradation
- Dimension Reduction
- Few-shot
- fine-tuning
데이터 분석 일지
[Deep Learning] Geometric Perspective 본문
[Deep Learning] Geometric Perspective
-ˋˏ ♡ ˎˊ- 2024. 2. 26. 18:441. Curse of Dimensionality
이번 블로그에서는 데이터의 차원이 높아짐에 따라 데이터가 희소하게 분포하게 되는 문제에 대해 설명한다.
아래의 그림에서 1차원일 때, 2차원일 때, 3차원일 때의 분포를 살펴보자. 보통 모든 점들을 학습하기 위해서 모든 구역들을 살펴보아야 하는데, 3차원의 경우에는 빈 공간이 많아져 불필요한 학습을 하게된다. 따라서 차원이 높을수록 데이터는 희소하게 분포하게 되어 학습이 어려워진다. 그렇다고 차원이 무작정적으로 낮으면 데이터를 구분하는 특징을 추출할 수 없다. 아래의 그림에서 1차원일 경우에는 같은 칸에 있는 점들을 다 같은 점이라고 생각할 것이다. 따라서 적절한 차원을 찾는 것이 필요하다.
정리하자면, 같은 정보의 데이터를 표현할 때 차원이 높아질수록 희소성은 증가한다. 희소성이 높을수록 모델링의 난이도가 높아진다. 따라서 최소한 데이터의 특징을 구분하는 한해서의 낮은 차원으로 표현해야한다.
2. Dimension Reduction
curse of dimensionality를 해결하기 위하여 차원을 축소하는 방법을 사용한다. MNIST 데이터에서 예를 들어보자면, 이 데이터는 28 × 28 = 784 차원으로 이루어져 있다. 각각의 데이터에서 테두리 부분은 어떤 데이터든지 0의 값을 가지고 있을 것이다. 이러한 의미 없는 정보들을 버리고 차원을 축소하는 것이 목표이다.
2. 1. Linear Dimnesion Reduction: PCA
PCA(주성분분석)는 n차원의 공간에 샘플들의 분포가 주어져 있을 때, 분포를 잘 설명하기 위한 새로운 axis를 찾아내는 과정을 의미한다. 아래 그림과 같이 원래의 2차원 공간에서 데이터가 분포하고 있는 곳에서의 새로운 축을 찾아낼 수 있을 것이다. 이때 이 축은 데이터의 분포를 잘 설명해야 된다는 것이 중요하다.
축이 데이터의 분포를 잘 설명한다는 것은 다음의 두 가지 조건을 만족해야 한다.
왼쪽 그림의 조건은 빨간 점 사이의 거리의 합이 최대가 되야한다고 설명한다. 이는 차원을 축소했을 경우에도 데이터의 특징이 서로 구분되어야 한다는 것을 의미한다. 오른쪽 그림의 조건은 검은 점과 검은 선 사이의 거리의 합이 최소가 되어야한다고 설명한다. 이는 각각의 데이터 분포를 새로운 축에 사영했을 때와 원래 데이터 분포의 차이를 최소화해야한다는 것을 의미한다. 두 조건을 모두 만족하는 새롭게 찾아낸 axis에 샘플들을 투사(projection)하면 차원 축소가 가능하다.
2. 2. Why We Need Dimension Reduction?
2차원에서의 binary classification의 예를 들어보자. 아래의 그림과 같이 데이터가 분포되어 있을 때, 차원 축소를 하게 되면 적절한 axis를 찾아서 구간을 나누어 binary classification을 진행하게 될 것이다.
2. 3. Limitation of Linear Dimension Reduction
하지만 아래 그림과 같은 2차원 데이터 분포에서는 선형적인 차원 축소로 binary classification을 하기 어렵다. 하지만 DNN을 사용한다면 이 한계를 해결할 수 있다. auto encoder에서 실행했던 압축, 즉 차원 축소는 비선형적인 차원 축소가 가능하기 때문이다.
3. Manifold Hypothesis
이 가설이 완벽하게 증명되진 않았지만, 하나의 가설로써 연구의 기반이 된다. 이는 고차원 공간의 샘플들이 저차원 다양체(manifold)의 형태로 분포해 있다는 가정이다. 따라서 다양체를 해당 차원의 공간에 mapping할 수 있다. 아래의 왼쪽 그림은 고차원 공간을 나타내고, 오른쪽 그림은 고차원 공간을 저차원으로 mapping하여 나타낸 것이다.
실생활에서도 manifold hypothesis를 사용한다. 우리는 3차원의 좌표계에 살지만, 이를 2차원 지도로 표현하여, 2차원 좌표계로 세상을 인식하는 예시가 있다.
고차원 공간에서의 두 점 사이의 거리는 저차원 공간으로의 mapping 후 거리와 다르다는 것을 위 그림에서도 볼 수 있다. 고차원의 경우에서는 두 점 사이 최단 거리의 중점이 무의미한 지점이지만, 저차원의 경우에서는 두 점 사이 최단 거리의 중점이 값이 있는 유의미한 지점이다. 이를 예를 들어 설명하면 다음과 같다.
3. 1. MNIST Example
784차원에 존재하는 데이터를 2차원으로 손실 압축 시켰다고 한다면 아래의 그림과 같이 된다.
위의 분포에서 각 숫자가 연관되어 분포한 것을 볼 수 있다. 만약 6과 3이라는 숫자의 중점을 784차원의 고차원 상에서 찾게 된다면 무의미한 데이터인 noise가 된다. 하지만 이를 2차원의 저차원 상에서 찾게 된다면 0이라는 값을 찾아낼 수 있는 것이다.
이를 더 자세히 해석하자면 다음과 같다. auto encoder에서 입력 값 x는 784차원이고, bottleneck z는 2차원으로 이루어져있다. 입력 데이터로 6과 3을 넣었을 때의 z 값을 각각 z_1, z_2라고 하자. 이때 z_1과 z_2의 2차원 상에서의 중점 값은 0이 되는 것이다. 두 데이터의 2차원에서의 중점은 실제 데이터가 존재하는 곳이기 때문에 중점 값을 구했을 때 유의미한 값을 도출할 수 있는 것이다.
2.3. Non-linear Dimension Reduction Example
이제는 위에서 배웠던 manifold hypothesis를 가지고 non-linear dimension reduction을 수행할 수 있다. linear dimension reduction에서는 분류할 수 없었던 아래의 데이터 분포 또한 분류할 수 있는 것이다. 위의 복잡한 데이터 분포를 manifold hypothesis를 사용하여 1차원으로 차원 축소하게 된다면 아래의 그림과 같이 축소될 것이다.
위의 그림의 선을 일자로 핀다면 1차원 상에서 점들을 표현할 수 있을 것이고, 이를 통해 binary classification이 가능해진다. 이처럼 DNN을 사용한다면 비선형적인 차원 축소를 수행할 수 있게 된다.
'Lecture or Textbook Review > Deep Learning' 카테고리의 다른 글
[Deep Learning] Computer Vision (0) | 2024.02.29 |
---|---|
[Deep Learning] CNN (Convolutional Neural Network) (0) | 2024.02.27 |
[Deep Learning] Probabilistic Perspective (0) | 2024.02.23 |
[Deep Learning] Representation Learning (0) | 2024.02.22 |
[Deep Learning] Regularization (0) | 2024.02.06 |