본문 바로가기

ml_interview

심층 학습의 등장 배경 - manifold hypothesis

학습 모형을 새 견본들로 일반화하는 것이 고차원 자료를 다룰 때 지수적으로 더 어려워지는 문제점과 전통적인 기계 학습에서 일반화에 쓰이는 메커니즘들이 고차원 공간의 복잡한 함수들을 배우기에 부족하다는 문제점

그런 공간에서의 계산 비용 역시 높을 때가 많다. 

 

차원의 저주

변수의 개수자 증가함에 따라 변수들의 특정 값으로 이루어진 서로 다른 구성의 개수가 지수적으로 증가한다.

차원의 저주가 초래하는 어려움 중 하나는 통계적 난제, statistical challenge, 단위 공간 내에 훈련 견본이 없는 경우가 많을 것, 기계 학습 알고리즘에서는 단지 새 자료점에 대한 출력이 가장 가까이 있는 훈련 자료점에 대한 출력과 근사적으로 같을 것이라고 가정한다.

 

국소 일치성화 평활성 정칙화

기계 학습이 잘 일반화되려면, 알고리즘이 배워야 할 함수의 종류에 관한 사전 믿음 prior belief 를 알고리즘에 제공해야 한다. (사전 믿음들을 모형의 매개변수들에 관한 확률 분포의 형태로 명시적으로 지정)

이러한 매개변수화 함수의 관계 때문에 그러한 사전 믿음들이 함수 자체에 직접 영향을 미치고 매개변수들에게는 간접적으로만 영향을 미친다.

나아가, 특정 부류의 함수들을 선호하도록 알고리즘을 편향되게 구현함으로써 사전 믿음들을 암묵적으로 지정할 수도 있다. 그러한 편향을 여러 함수에 관한 믿음의 정도를 나타내는 확률 분포의 형태로 표현하곤 하지만,  항상 그런 것은 아니다!

 

암묵적 사전 믿음(사전 분포) 로 가장 널리 쓰이는 것은 평활성 사전분포(smoothness prior) 이다.

국소 불변성 사전분포 local constancy prior 라고도 부르는 사전분포는 함수가 작은 영역 안에서 아주 크게 변해서는 안 된다는 제약을 나타낸다.

 

간단한 알고리즘들은 좋은 일반화를 보장하기 위한 수단이 이 사전분포밖에 없다. 이런 알고리즘들이 인공지능 과제를 풀 때 발생하는 통계적 난제들을 감당할 정도로 규모가 확장되지는 않는다.

 

정교한 과제에 대한 일반화 오차를 줄이기 위해  심층 핛ㅂ에 도입하는 추가적인 사전분포들이 존재

 

학습된 함수가 매끄러워야 한다는, 국소적으로 불변이어야 한다는 사전 믿음을 명시적, 암묵적으로 표현하는 방법은 여러 가지이다. 

그러한 여러 표현 방법은 모두, 학습 과정이 특정한 조건을 만족하는 함수 f* 를 배우도록 격려하기 위해 고안된 것이다. 

특정한 조건이란, 대부분의 구성 x 와 작은 변화량 e 에 대해

f*(x) ~= f*(x+e)

이어야 한다는 것, 입력 x 에 대한 좋은 답을 알고 있다고 할 때 그 답은 x 의 이웃에 대해서도 좋은 답이어야 한다는 것, 

 

이러한 알고리즘의 극단적인 예는, k-nearest algorithm, 이런 알고리즘의 예측값은, k 개의 최근접 이웃이 동일한 점들, 즉, 훈련 집합에서 가장 가까운 이웃 견본 k 개가 서로 같은 점들로 이루어진 각각의 영역 안에서는 말 그대로 상수(불변)이다. k=1 일 때는 구별 가능한 영역의 수가 훈련 견본 개수를 넘지 못한다.

 

k-nearest algorithm 은 근처에 있는 훈련 견본들의 출력을 그대로 돌려주지만, 대부분의 kernel 기계 방법들은 이웃 훈련 견본들에 연관된 훈련 집합 출력들을 보간(interpolation - 두 점 사이를 왔다 갔다, 사이를 채우다?)해서 돌려준다. 

그러한 kernel 들의  중요한 부류로 local kernel 들이 있다. 

local kernel 에서는 u = v 일 때 k(u, v) 가 크고,  멀어질수록 k() 가 감소한다. 한 시험 견본이 각 훈련 견본과 얼마나 비슷한지를 측정해서 템플릿 부합을 수행하는 유사성 함수로 간주할 수 있다. 

 

심층 학습의 현대적인 동기 중 상당 부분은 이러한 국소 템플릿 부합의 한계들에 대한 연구와 국소 템플릿 부합이 실패하는 사례들에 대해 심층 모형이 얼마나 성공적일 수 있는지에 대한 연구에서 비롯되었다.

 

결정 트리에도 평활성에만 의존하는 학습의 한계들이 적용, 결정 트리가 입력 공간을 잎 노드 개수만큼의 영역들로 분할하고 각 영역에 대해 개별적인 하나의 매개변수를 사용하기 때문이다. 

대상 함수를 정확히 표현하는 데 필요한 결정 트리의 잎 노드가 적어도 n 개라고 할 때, 학습 모형을 그 결정 트리에 잘 적합시키려면 적어도 n 개의 훈련 견본이  필요하다.

그리고 예측 결과의 통계적 신뢰도를 일정 수준 이상으로 확보하려면 훈련 견본의 개수가 n 의 몇 배여야 한다.

 

 

일반화하면, 입력 공간을 O(k) 개의 서로 다른 영역들로 구분하기 위해서는 O(k) 개의 견본이 필요하다. 

 

훈련 견본보다 많은 수의 영역을 구분할 수 있는 함수를 표현할 방법이 있을까?? 

 

 

평활성 가정과 관련 비매개변수적 알고리즘들은, 학습할 실제 바탕 함수의 대부분의 봉우리 peak 들에서는 값이 큰 점들을 관측하고, 대부분의 계곡에서는 값이 작은 점들을 관측하기만  한다면 잘 작동한다. 

학습할 함수가 충분히 매끄러보 그리 많지 않은 차원들에서만 변화할 때는 그런 조건이 충족된다. 그러나 차원이 높을 때는 매끄러운 함수도 문제가 될 수 있다. 

변화가 매끄럽다고 해도, 함수가 각 차원에서 서로 다른 방식으로 변할 수 있기 때문이다. 함수가 다양한 영역에서 서로 다른 방식으로 행동한다면, 하나의 훈련 집합으로 그 함수를 서술하기가 복잡해진다. 

복잡한 함수일수록 그러한 함수가 잘 일반화되리라고 기대하기는 힘들 것이다...

 

 

복잡한 함수를 효율적으로 표현하는 것과 추정된 함수가 새 입력들에 잘 일반화되는 것 모두 가능하다. 

핵심은!!! O(k) 개의 표본들로 그보다훨씬 많은 영역들을 정의할 수 있다는 것이다. 

그러기 위해서는 바탕 자료 생성 분포에 관한 추가적인 가정들을 도입해서 영역들 사이에 일정한 의존성을 부여해야  한다. 이렇게 하면 비국소적인 일반화가 가능해진다.

 

심층 학습 알고리즘 중에는 적합한 암묵적 또는 명시적 가정들을 도입함으로써 그러한 장점들을 취하는 것들이 많이 있다.

 

인공지능 과제들에는, 주기성처럼 단순하고 사람이 명시적으로 설정한 속성으로 제한하기에는 너무 복잡한 구조가 존재한다. 따라서 좀 더 범용적인 가정들을 학습 알고리즘 안에 체현하는 접근 방식이 더 바람직하다.

 

심층 학습의 핵심 착안은, 자료가 인자들의 조합 composition of factors 을 통해서 생성된다는 것이다, 

 

심층 분산 표현으로 얻을 수 있는 지수적 장점은 차원의 저주가 유발하는 지수적 어려움을 상쇄한다.

 

 

Manifold learning

기계 학습의 여러 착안에 깔린 중요한 개념 하나는, manifold 개념,

manifold 는 연결된 영역, 각 점 주변의 이웃과 연관된 점들의 집합이다. 

주어진 임의의 점에서 볼 때, manifold 는 국소적으로 하나의 유클리드 공간으로 보이게 된다. 

 

기계 학습에서의 manifold 는 더 높은 차원의 공간에 내장된, 하지만 그보다 낮은 차원, 자유도로 잘 근사할 수 있는  일단의 연결된 점으로 느슨하게 정의된다.

 

각 차원은 변동(variation) 의 국소적 바향 하나에 대응된다. 

 

다양체의 차원이 위치에 따라 다를 수 있다. 다양체가 자신과 교차할 때 그러한 일이 발생, 

 

manifold learning 알고리즘들은 R^n 공간의 대부분이  유효하지 않은 입력으로 구성되고 흥미로운 입력들은 일부 점들로 이루어진 몇몇 manifold 들에만 존재, 

그리고 학습 대상 함수의 출력에서 흥미로운 변동들은 그 manifold 에 놓인 방향들에서만 발생하거나 manifold 간 이동할 때만 발생한다고 가정, 이러한 어려움 극복

 

원래 manifold 학습은 연속값 자료를 사용하는 비지도 학습을 위해 도입되었지만, manifold 학습의 확률 집중 착안을 이산 자료를 사용하느느 지도 학습으로도 일반화할 수 있다. 핵심 가정은 확률질량이 고도로 집중되어 있다는 것,

 

인공지능 과제의 맥락에서는 그러한 manifold 가정이 적어도 근사적으로 옳다는 것이 이 책의 주장,

 

이러한 manifold hypothesis 을 지지하는 첫 논점은, 실제 데이터의 확률분포가 실제로 집중되어 있다는 것이다. 

 

인위적인 데이터 분포 잡음이 입력들과 비슷한 경우는 전혀 없다. 

 

확률 분포가 집중되어 있다는 점과, 각 견본들의 이웃 견본들이 존재한다는 점도 입증해야 한다. 여기에서 manifold 가설을 지지하는 두 번째 논점을 얻을 수 있는데, 그런 이웃들과 변환들을 비공식적으로 상상할 수 있다는 것, 

대부분의 응용에서는 여러 개의 manifold 가 관여할 가능성이 크다. .

 

자료가 저차원 manifold 에 놓여 있다면, 그 manifold 를 기준으로 한 좌표로 표현하는 것이 더 자연스럽다.