성장通

범용 함수 근사기로서의 신경망 본문

ML&DL/ML DL 기본기

범용 함수 근사기로서의 신경망

백악기작은펭귄 2022. 6. 15. 19:37

범용 함수 근사기로서의 신경망

뉴런은 가중 합산과 활성 함수를 순차 실행하는 합성 함수이므로, 뉴런의 그룹인 계층 또한 합성 함수이고 계층을 순차적으로 쌓은 신경망 역시 합성 함수이다. 이때 뉴런은 실함수로 정의되고, 계층과 신경망은 벡터함수로 정의된다.

 

실함수와 벡터함수

실함수(real-valued function)는 크기가 n인 벡터 $x^T=(x_1, x_2, x_3, ... , x_n)$를 입력으로 하며 실수 $f(x)=f(x_1, x_2, ... , x_n)$를 출력을 갖는 $f: \mathbb{R}^n\rightarrow \mathbb{R}$ 형태의 함수이다.

 

벡터함수(vector function)는 크기가 n인 벡터 $x^T=(x_1, x_2, x_3, ... , x_n)$를 입력으로 하며 크기가 m인 벡터 $f(x)=(f_1(x), f_2(x), ... , f_m(x))$를 출력으로 갖는 $f: \mathbb{R}^n\rightarrow \mathbb{R}^m$ 형태의 함수이다.

 

1) 실함수인 뉴런

뉴런은 벡터 입력 $x^T=(x_1, x_2, x_3, ... , x_n)$와 가중치 $w^T=(w_1, w_2, w_3, ... , w_n)$에 대하여 $w^Tx+b$로 가중 합산할 결과를 non-linear activation function으로 매핑해서 실수를 출력하는 합성 실함수이다.

 

$$f(x) = activation(w^Tx+b)$$

 

2) 벡터 함수인 계층

계층은 입력과 출력이 모두 벡터인 벡터함수이다. 계층을 이루는 각 뉴런은 이전 계층의 출력을 벡터 형태로 입력받고, 각 뉴런들의 출력을 모아 벡터 형태로 출력한다. 이때 벡터의 크기는 해당 벡터가 출력된 계층의 뉴런 개수와 같다. 즉, 이전 계층의 뉴런이 n개, 현재 계층의 뉴런이 m개라면 현재 계층은 크기가 n인 벡터를 입력으로 받아 크기가 m인 벡터를 출력한다. 여기서 계층의 가중치는 크기가 $n\times m$인 행렬 $W$로 정의되며 가중치 행렬의 각 열은 뉴런의 가중치를 나타낸다.

 

그리고 계층의 가중 합산은 가중치 행렬과의 곱 형태로 $W^Tx+b$와 같이 정의되며 크기가 m인 벡터가 계산된다. 가중 합산 결과에 활성 함수를 실행하면 벡터의 요소별로 활성 함수가 실행되어 크기가 m인 벡터가 출력된다.

 

$$f(x) = activation(W^Tx + b) = (f_1(x), f_2(x), ..., f_m(x))$$

 

3) 벡터 함수들의 합성 함수인 신경망

신경망은 입력과 출력이 모두 벡터인 벡터 함수이자, 각 계층이 정의하는 벡터 함수를 순차적으로 실행하는 합성 함수이다. 신경망의 계층 수가 L이면 다음과 같은 합성 함수로 정의된다.

 

$$y=f^L(...f^2(f^1(x)))$$

 

신경망은 입력 x를 출력 y로 매핑하는 $y = f(x; \theta)$ 형태의 파라미터 함수로, 뉴런의 weight와 bias를 포함한 $\theta$를 함수의 파라미터로 갖는다. 학습 시 미분을 사용하는 신경망의 특성상 신경망이 표현하는 함수는 미분 가능한 함수(differentiable function)이어야 한다.

 

입력 x와 출력 y의 매핑 관계를 표현하는 함수인 신경망

 

범용 근사 정리

신경망은 n차원 공간의 임의의 연속 함수를 근사할 수 있다. 이는 여러 샘플들의 클래스를 나누는 분류 문제에서 클래스 간 경계가 복잡하더라고 연속된 곡선으로 결정 경계를 표현할 수 있으며 입력과 출력의 관계가 함수로 표현되는 회귀 문제에서 매우 복잡한 예측 곡선을 만들 수 있다는 의미이다. 신경망이 n차원 공간의 임의의 연속 함수를 근사할 수 있는 범용 근사기(universal approximator)라는 것은 범용 근사 정리(universal approximation theorem)에 의해 증명되었는데, 이는 1개의 히든 레이어를 가진 Neural Network를 이용해 어떠한 함수든 근사시킬 수 있다는 이론이다. 1991년 시그모이드(sigmoid)를 활성 함수호 사용하는 2계층 순방향 신경망으로 처음 증명되었으며 증명자의 이름을 따 시벤코 정리(Cybenko's theorem)라고도 부른다.

 

범용 근사 정리에 따르면 매우 복잡한 함수를 정확히 근사하기 위해서는 은닉 뉴런을 많이 사용해야 하지만, 이는 모델의 크기를 크게 하여 과적합이 발생하기 쉽게 하였다. 따라서 2017년 다계층을 가진 깊은 신경망(Deep Neural Network)이 등장하였고, 이로 인해 같은 성능의 모델을 적은 수의 뉴런을 이용해 만듦으로써 범용 근사 정리가 갖는 문제점을 해결할 수 있게 되었다. 이로써 입력이 n 차원이고 ReLU를 사용할 때 은닉 계층의 수를 n+4로 제한하더라도 연속하지 않더라도 르베그 적분이 가능한 르베그 적분 가능 함수(Lebesgue integrable function)를 근사할 수 있음이 증명되었다.

 

신경망은 범용 근사기로서 복잡한 함수를 표현할 수 있다. 뉴런은 벡터 입력을 1차원 실수 공간으로 비선형 변환하는 모듈이고, 이것들이 계층으로 모이면 다차원 실수 공간으로 비선형 변환을 하는 함수가 된다. 여러 계층이 쌓이면 서로 다른 차원의 실수 공간 사이에서 여러 번 비선형 변환하기 때문에 표현하고자 하는 함수의 복잡도에 따라 뉴런과 계층의 수를 조절하는 것만으로도 모델을 쉽게 확장할 수 있게 되었다.

'ML&DL > ML DL 기본기' 카테고리의 다른 글

이진 분류 모델과 베르누이 분포  (0) 2022.07.06
분류와 회귀  (0) 2022.06.22
순방향 신경망 구조  (0) 2022.06.08
딥러닝의 역사  (0) 2022.06.01
지능과 인공 신경망  (0) 2022.05.25