Deeper Learning

Universal Approximation Theorem 본문

AI/Deep Learning

Universal Approximation Theorem

Dlaiml 2021. 10. 2. 13:55

Universal Approximation Theroem

one hidden layer로 모든 함수를 근사할 수 있다는 이론. 

신경망은 함수를 근사하는데 매우 뛰어난 method로 여러 신경망 층을 쌓은 딥러닝이 비정형 데이터에서 최고의 성능을 보이고 있다.

하지만 one hidden layer만 사용하여도 존재하는 모든 연속함수를 근사할 수 있다.

that a feed-forward network with a single hidden layer containing a finite number of neurons can approximate continuous functions on compact subsets of R

Example

 

위 그림과 같이 연속함수들은 수많은 아래와 같은 함수들을 사용하면 근사가 가능하다.

오른쪽 사진에서 볼 수 있듯이 구간을 짧게 하면 더 정확하게 함수를 근사하는 것을 볼 수 있다.

 

위와 같이 x축에서 범위가 겹치지 않는 bar function 을 만들 수 있으면 이들을 활용하여 근사가 가능하다.

 

이제 위 방식을 one hidden layer neural net에 적용시켜보겠다.

위 아키텍쳐의 output layer의 값은 hidden layer의 output인 4개의 함수의 가중합이다.

즉, hidden layer의 수가 많으면 많을수록 정확하게 함수의 근사가 가능한 것이다.

 

bar shape function을 만드는 방법은 아래와 같다.

f(x) - g(x)는 x가 0보다 같거나 크고 0.1보다 작을 때 1의 값을 가지고 나머지 정의역에서는 0의 값을 가지는 bar 형태의 함수가 된다.

g(x)는 f(x-0.1)과 같다. 근사하려는 target function이 x=0에서 3의 값을 가지면 x가 0일 때 3의 값을 가지는 bar가 필요하다.

3 * (f(x) - f(x-0.1))는 x가 0 ~ 0.1일 때 3의 값을 가지는 bar function이 된다.

위와 같은 방식으로 x가 0.1 ~ 0.3일 때 7의 값을 가지면 7 * (f(x-0.1) - f(x-0.3)) 과 같이 step function f(x)를 활용하여 모두 표현이 가능하다.

위처럼 weight, bias를 사용하여 식을 표현할 수 있다.

 

 

전체 정의역을 커버할 수 있도록 hidden layer에서 매우 많은 node를 사용하면 bar의 width는 0에 수렴하게 되며 더 적은 오차로 근사가 가능해진다.

 

활성화 함수로 시그모이드 함수를 사용하면 아래와 같은 모양으로 시그모이드 함수에 변형이 필요하다.

sigmoid(ax) 식에서 a가 매우 큰 값이면 x가 0보다 조금만 커져도 y의 값이 1이 되며 위 그림의 첫 번째 그래프와 비슷한 모양이 된다.

따라서 지금까지 사용한 step function f(x)는 sigmoid(ax)가 된다.

a가 100일 때, y = 3 * (sigmoid(100*x) - sigmoid(100*(x-0.1)) + 7 * (sigmoid(100*(x-0.1)) - sigmoid(100*(x-0.3))

input인 x에 100의 값이 모두 곱해져 있기 때문에 이전 예시와 다르게 첫 번째 layer의 weight는 모두 1이 아닌 100이 된다.

 

Tanh의 경우도 비슷하며 ReLU는 bar shape function을 만들기 위해 한 단계를 더 거쳐야 한다.

 

이론적으로 하나의 hidden layer만 사용한 신경망 모델로 모든 함수의 근사가 가능하지만 실제로는 여러층을 deep 하게 쌓은 deep-learning을 사용한다.

그 이유는 하나의 hidden layer만 사용하면 node 하나하나가 선형적으로 모델의 representation power를 증가시키는데 이 경우 매우 많은 node가 필요하며 수렴이 무조건 보장되는 것도 아니기 때문이다.

 

결론은 이론적으로 하나의 hidden layer와 비선형의 연속적인 활성화 함수를 사용하면 어떠한 연속함수라도 근사가 가능하다는 것이다.

 

Reference

[1] https://towardsdatascience.com/can-neural-networks-really-learn-any-function-65e106617fc6

[2] https://en.wikipedia.org/wiki/Universal_approximation_theorem

[3] https://www.youtube.com/watch?v=vnkGn4r62Q8&list=PL_iJu012NOxdDZEygsVG4jS8srnSdIgdn&index=22

Comments