June 16, 2015

인공신경망 (Artificial Neural Network)

 우리네 인간의 학습 능력은 어떤 메커니즘으로 작동하는가? 비밀은 신경망에 있다.

1. 인간 신경망

 대뇌피질의 신경세포는 다음과 같이 수상돌기(dendrite)를 통해 다른 여러 신경세포로부터 입력 신호를 받아, 세포체(cell body)에서 정보 연산을 처리하고 축색(axon)을 통해 처리된 정보를 다른 신경세포로 전달한다. 이러한 신경세포는 시냅스라는 가중 연결자(weighted connectior)로 여러 층의 신경망을 구성한다.


 세포체에서의 연산은 입력 신호들의 합을 구하고 그것이 일정한 임계치가 되면 축색이 활성화되어 스파이크를 일으켜 다른 신경세포로 전기 신호를 전달한다. 이러한 특성을 모방하여 만든 것이 인공 신경망(artificial neural network)이다.

2. 인공 신경망

 하나의 인공 신경세포(perceptron)는 다음과 같이 n개의 입력 x1, x2, ..., xn에 대해 연결 강도 w1, w2, ..., wn에 따른 가중치를 곱하여 모든 값의 합(summation)을 구한다. 수식으로 표현하면, u = Σwixi


 이 가중치의 합은 다시 활성화 함수(activation function)를 통과해서 다음 신경세포로 전달될 출력을 결정한다. 위 축색에 활성화 함수는 0 또는 1로 출력하는 계단식 함수가 표현되어 있지만 이부분을 사용자 정의 함수로 원하는 특성을 가진 인공신경망 모델을 구현할 수 있다. 아래는 공돌이식 다이어그램.


 이렇게 활성화 함수를 정의하여 하나의 인공 신경세포에 대한 모델이 정립되면, 다음엔 이들의 연결구조를 고려한다. 우리는 다층 퍼셉트론을 볼 것이기 때문에 입력층과 출력층 사이에 1개 이상의 은닉층을 가지는 구조의 다층 신경망 구조를 한번 보자.


 이러한 신경망 구조에서의 학습은 시냅스의 연결 강도(weight)를 변화시키는 것인데 가장 기본적인 방법은 헤브의 학습 규칙으로 연결된 두 신경세포가 동시에 활성화되면 가중치를 증가시키는 방법이다. 해당 블로그에서 우리는 보다 진화한 오류역전파 알고리즘을 중점적으로 파기로 한다.

3. 다층 퍼셉트론

 다층 퍼셉트론은 인공 신경세포 퍼셉트론을 이용한 XOR문제를 먼저 이해해야하는데, 퍼셉트론 패턴 분류의 약점으로 선형 판별함수 때문에 XOR과 같은 출력을 내도록 경계선(hyperplane)을 만드는게 불가능하여 비선형 경계선을 만들기 위해 은닉층을 추가한게 다층 퍼셉트론이다.

 이제 곧 퇴근을 위하여, 구체적인 다층 퍼셉트론과 하마의 mini SGD기반 MLP 알고리즘으로 분류하는 기법은 다음 글에서 만나기로 하며 마친다.

No comments:

Post a Comment