logo

인공 신경망이란? 📂머신러닝

인공 신경망이란?

정의

실제 생물의 신경계를 모방한 네트워크인공 신경망artificial neural network (ANN) 이라 한다.

수학적 정의

모티브

신경계는 뉴런들의 결합으로 구성되어있다. 신경세포체는 가지돌기를 통해 자극을 받아들이며, 축삭돌기를 통해 전기자극을 전달한다. 인간을 포함한 많은 생물들은 이렇듯 단순한 뉴런들의 결합을 환경에 적합하도록 진화시켜왔다. 그 결과 신경계는 빛을 감지하거나, 다리를 움직이거나, 기억하거나, 상상하는 등의 복잡한 일을 할 수 있게 되었다.

20190317\_195625.png

20190317\_201846.png

인공 신경망은 뉴런에서 신경세포체를 노드로, 축삭돌기를 링크로 모방한 네트워크를 말한다. 각 노드들은 신경세포체와 마찬가지로 정보를 받고 그것을 전달하는 과정에서 유의미한 결과를 얻을 수 있는 계산을 수행한다.

예시

간단한 예로써 데이터 $Y := \begin{bmatrix} 5 \\ 7 \\ 9 \end{bmatrix}$ 와 $X := \begin{bmatrix} 2.2 \\ 3.1 \\ 3.9 \end{bmatrix}$ 에 대해서 $Y$ 와 $X$ 의 상관관계에 대해 파악하는 문제가 있다고 하자.

물론 이 문제는 아주 쉽기 때문에 $Y \approx {\color{red}2} X + \color{blue}{1}$ 과 같은 선형상관관계가 있음을 어렵지 않게 짐작할 수 있다.

이를 단순회귀분석 $Y \gets X$ 으로 푼다면 계획행렬로 나타냈을 때 $$ \begin{bmatrix} 5 \\ 7 \\ 9 \end{bmatrix} = \begin{bmatrix} 1 & 2.2 \\ 1 & 3.1 \\ 1 & 3.9 \end{bmatrix} \begin{bmatrix} \color{blue} {\beta_{0} } \\ {\color{red}\beta_{1}} \end{bmatrix} $$ 의 최소제곱해 $( \color{blue} {\beta_{0} } , {\color{red}\beta_{1}} )$ 를 구하는 문제가 된다.

한편 이 문제에 대한 인공 신경망은

20190317\_205730.png

와 같이 구성될 수 있다. 우선은 $Y = {\color{red}w} X + \color{blue}{b}$ 와 같은 관계가 있을거라고 가정해보자. 이 때 $\color{red}{w}$ 를 가중치weight , $\color{blue}{b}$ 를 바이어스bias라고 부른다. 주어진 데이터 $\begin{bmatrix} 2.2 \\ 3.1 \\ 3.9 \end{bmatrix}$ 를 입력 받은 노드 $X$ 는 일단 무작정 랜덤한 $( {\color{red}w_{1}} , \color{blue}{b_{1}} )$ 로 $\begin{bmatrix} {\color{red}w_{1}} 2.2 +\color{blue}{b_{1}} \\ {\color{red}w_{1}} 3.1 +\color{blue}{b_{1}} \\ {\color{red}w_{1}} 3.9 +\color{blue}{b_{1}} \end{bmatrix}$ 를 계산해서 노드 $Y$ 로 넘긴다.

20190317\_205604.png

만약 이렇게 대충 찍은 값이 마음에 안 든다면, 다음과 같이 그보다 더 좋은 가중치로 계속 업데이트해가며 마음에 드는 결과가 나올때까지 반복한다.

20190317\_210511.png

이러한 의미에서 인공 신경망은 기계가 스스로 학습한다는 개념인 머신 러닝machine Learning을 구현한다고 볼 수 있으며, 이 과정이 더 복잡하되 효율적으로 발전된 것이 딥 러닝deep Learning이라고 보아도 무방하다.

이론적 측면

통계학이나 수학에 익숙한 학습자들은 이러한 기법들에 대한 이론적인 토대가 마련되지 않았다는 점에서 강한 거부감을 드러내곤 한다. 오차가 최소가 되도록 하는, 학습이 최적화 되는 조건에 대해서 알려진 바도 없고 어떤 함수를 사용하면서도 왜 쓰는지 그 이유는 모르는 경우가 많기 때문이다. 그런데 새 논문의 새 기법이 마음에 들든 안 들든 벤치마크 상으로 퍼포먼스가 개선되었다면 할 말이 없다.

물론 이런것들 하나하나에 대해 나름 수리적인 접근을 하려는 학자가 있었을지도 모른다. 하지만 연구에 어느정도 진전을 보일 때 쯤 산학계에서는 이미 구닥다리 퇴물이 되어버리는 게 현실이다. 이론을 공부하는 사람 입장에선 도전할 가치가 별로 없는 것이다.

그럼에도 이러한 기법을 경시할 수 없는 이유는 분명한데, 결과를 신뢰할 수 없는 것 치고는 퍼포먼스가 너무 우수하기 때문이다. 딥러닝은 데이터 과학에 있어서 거부할 수 없는 유혹이다. 금방 유행이 지나간다고 해도 퍼포먼스가 압도적으로 좋아서 배울 가치가 충분히 있으며, 수학만큼은 엄밀하진 않아도 그 분야에선 그 분야 나름의 이론적 토대가 다져지고 있으니 마음을 열고 받아들여보는 것도 나쁘지 않을 것이다.

같이보기