본문 바로가기

Deep Learning

[인공지능] 특징 공간

인공지능에게 특징을 표현하는데 있어서 1차원 특징과 2차원 특징 공간이 있다.

보통 전 포스트와 같은 직선 상에서 하나의 값을 예측하는 것을 1차원 특징 공간이라 하며, 이미지와 같이 x, y를 전부 고려해야하는 것을 2차원 특징 공간이라 한다. 

이 때 각 특징 벡터들은 다음과 같이 표기를 한다.

벡터 예시는 다음과 같다.

 

사실 다차원이라고 다른가? 라고 하면 그렇진 않다. 데이터베이스도 그렇듯이 d-차원이라고 하면 단순히 d개의 특징을 가지고 있다고 보면 된다.

그래서 d차원의 경우는 bias가 붙기 때문에 d+1 만큼의 매개변수를 가지며, 2차원의 경우는 매개변수는 d^2+d+1만큼의 매개변수를 가지게 된다. 


하지만 2차원 데이터를 가지고 있고, 선형 분리를 하려고 한다고 가정하자. 그럼 다음과 같은 데이터는 딱히 좋은 데이터군이 아니다.

 

왜냐면 하나의 선으로는 최대로 75%의 정확도밖에 나오지 않는다. 하지만 다음과 같이 데이터를 전처리를 한다면 분류를 잘 할 것이다.

그리고 위의 데이터는 다음과 같이 표현할 것이다.

즉 이러한 과정에서 좋은 특징 공간을 자동으로 찾는 작업을 표현 학습(Representation Learning)이라 합니다. 딥러닝은 다수의 은닉층을 가진 신경망을 이용해서 이런 다계층적인 특징 공간을 찾아내며, 이 때 input에 가까운 은닉층은 저급 특징(에지, 구석점 등)을 먼저 검출하며, 점점 계층을 내려올수록 더 고급 특징(얼굴 등)을 검출한다.

 

이 때 차원에 무관하게 수식 적용을 할 수 있는 것은 유클리드 알고리즘이다.

이 때 저차원에선 간단하지만, 고차원으로 가면 갈수록 발생하는 현실적인 문제를 차원의 저주라 한다. 예로들어 d=4라고 하면 데이터 축마다 100개 구간으로 나누면 100^4 즉 1억개의 칸이 나오며, d=784개를 가진 MNIST 데이터의 경우 0,1 값을 가진다면 2^784개의 칸을 가진다.