computer_study

[인공지능] Perceptron Convergence theorem 본문

학교수업정리/인공지능

[인공지능] Perceptron Convergence theorem

knowable 2020. 10. 6. 01:17

Perceptron Convergence theorem이란?

잘못 분류 된 data들을 찾아서 다시 분류하는 update rule이다.(boundary를 조금씩 바꾸어가면서)

 

perceptron(퍼셉트론)

초기 형태의 인공신경망으로 다수의 입력으로부터 할당된 웨이트 w를 곱한 다음 하나의 결과를 내보내는 알고리즘이다.

출처 : https://wikidocs.net/24958

즉. Perceptron convergence theorem이란, 퍼셉트론 알고리즘을 이용해서 값을 수렴시키는 이론이라는 의미이다.

 

 

Example

 

 

 

Perceptron Convergence의 특징

d차원에서 hyper plane으로 분류가 완벽하게 되는 경우(Linearly separable한 경우)

다음과 같이, 모든 data가 하나의 구 안에 들어있다고 볼 수 있다. 이때 그 구의 반지름이 R, boundary로 부터 가장 가까운 data까지의 거리를 r이라고 한다. 이때, perceptron convergence theorem을 사용하면, k step안에 완벽한 결과를 찾는 것을 보장하고 그 k는

 

 

를 만족한다.

 

 

 

 

Perceptron Convergence theorem이용한 update

 

Example1

그림에서 b(bias)는 생략했다.

g1, g2 .. gG별로 b가 존재하기 때문에 gi(x)에는 bi를 사용하였고, g(x)에는 b가 하나 존재하기 때문에 b라고 표기하였다.

 

(knowable.tistory.com/38 Logistic regression 1번예시 참고)

 

 

w11, w12,...,w21...식을 update하기 위해선 L을 wkl로 미분해야된다.(각 weight를 wkl이라고 한다면)

 

이러한 fully connected layer를 여러겹 쌓아 결과값을 산출해낼 수 있다.

출처 : https://wikidocs.net/24958

 

Example2

Example1과 같은 작업을 하지만, Fully connected layer를 여러겹 쌓은 예시를 본다.

Example1의 식이 여러층으로 주어졌을 때 그림을 보면 다음과 같다,

Object function을 loss function으로 두고 l층에서 (l+1)층의 k번째 노드로 가는 j번째 weight(wl,k,j)에 대해 미분을 수행하면

라는 update rule을 얻을 수 있다. 식을 간단하게 표현하기 위해 식 중간을

다음과 같이 둔다면

이를 바탕으로 (l-1)층에서 l층의 k번째 노드로 가는 j번째 weight(wl-1,k,j)에 대해 미분을 수행하면

위 식으로 부터 l+1번째 layer에 있는 delta들과 weight들을 곱한 후 모두 더하면, l번째 delta를 구할 수 있다는 것을 알 수 있다. 이 식은 recursive한 형태를 띄고있다.

 

이는 '델타 rule' 이라 하는데,

상위 layer에서 나오는 에러값을 아래 layer로 내려가며 w값을 update하고, 최종 에러값을 최대한 줄이기 위한 방법이다. 이때 error 정보를 거꾸로 전달하며 가져오기때문에 back-propagation을 이용해서 학습일 시킨다고 한다.

 

 

이 방법을 사용한다면, parameter가 많아지지만, 이를 충분히 학습시킬 수 있다. 

 

 

 

Comments