[딥러닝]

[기계학습/인공지능] Perceptron convergence theorem

bestFinanceDataAnalyist 2022. 6. 8. 20:31

https://wikidocs.net/24958https://knowable.tistory.com/42?category=931709

의 글과 사진을 참고하였습니다. 문제가 있을 시 삭제하겠습니다.

https://blog.naver.com/haein0758/222765052356 글과 동일한 작성자입니다.

 

 

1. Perceptron?

 

실제 뇌를 구성하는 신경 세포 뉴런과 동작이 비슷합니다. 신호를 받아들이고, 이 신호를 다시 다른 말단에 전송합니다. 퍼셉트론도 마찬가지입니다. 초기 형태의 인공신경망으로 신경 세포 뉴런이 입력을 받아들이이고 출력하는 것처럼 퍼셉트론에서 각각 입력값과 출력값을 내보냅니다.

그림의 x는 입력값, w는 가중치, y는 출력값입니다. 가중치가 크면 클수록 해당 입력 값이 중요하다는 것을 의미합니다.

 

다음은 sigmoid 함수를 입력받아 결과를 확인해 보겠습니다.

가중치의 전체 곱이 임계치(1/2)를 넘으면 출력 신호가 1, 그렇지 않은 경우는 0을 출력합니다.

 

 

 

2. Multilayer Perceptron(다층 퍼셉트론)

위의 설명한 퍼셉트론은 단층 퍼셉트론이고, 다중 퍼셉트론은 hidden layer가 여러 개 있어 일일이 모든 값을 다 알기 어려운 형태입니다. 다중 퍼셉트론은 단층 퍼셉트론에 층을 더 추가한다고 이해하면 됩니다.

이때의 G<=D라고 할 수 있습니다.

 

EX) hidden layer =3의 예시를 들어보겠습니다.

사진에서와 같이 3개의 직선으로 구분이 되고 gi의 값은 0과 1은 간단하게 직선을 기준으로 왼쪽에 있냐, 오른쪽으로 구별하였습니다. 가중치와 b를 임의로 저장하고 각각의 영역에 결괏값을 비교하면 다음과 같습니다. 현재 그림에서는 경계선이 3개이고 hidden layer가 따로 존재하지 않지만, G(경계선), layer(hiden dalyer)가 증가할수록 w(가중치)의 개수가 많아짐을 생각해 볼 수 있습니다.

 

 

3. Perceptron Convergence theorem 이용한 update

b(bias는 생략하고) 입력의 개수는 D, 층의 개수는 L로 설정하였다. 다음은 각각의 층에 대한 함수 식을 표현하였다. 층의 노드는 수는 같을 수도, 다를 수도 있다. 첫 층의 가중치는 Wo, k는 현재 node, j는 이전 node를 의미한다. 층마다 가중치, 이전 NODE, 현재 NODE 식을 쓰고 g 함수를 구하면 쉽게 구할 수 있다.

다음은 밑의 식을 최소화하게 학습시켜보겠다. L이라고 설정하였다.

.

식을 전개하면 비슷한 유형의 식으로 볼 수 있는데 3가지 유형(빨간색 밑줄)로 친 부분을 볼 수 있다.

1)

.

2) logistic regression을 통해 다음과 같은 식을 구현할 수 있다

.

3)

 

마지막으로 3번을 정리한 것과 최종적으로 경사하강법을 통해 오류 역전파 알고리즘이 나오는 공식이다.

 

-----------------------------------------------------------------------------------------------------------------------------------------------

추가적으로 노트 필기 자료를 받고 싶다면 댓글에 이메일 남겨주세요!