2-1 Roselblatt의 Perceptron 알고리듬과 Adaptive linear neuron의 연결고리

codingart(66)
Published in
#kr
Words
454
Reading
3 min
Listen
Play
7y

1957 Rosenblatt이 세상에 내 놓았던 머신 러닝의 야심작 Perceptron을 다시 살펴보자. Rosenblatt의 Perceptron 알고리듬에 관해서는 1년 전에 학습한바 있으나 보다 더 업그레이드 된 관점에서 그 알고리듬을 다시 조명해 보기로 한다.

Rosenblatt이 구현했던 Perceptron 모델은 20X20 즉 400개의 조도 센서(Photo cell, CdS)를 사용하여 입력 장치를 구성하고 학습을 위한 샘플수는 512개로 설정하였다.

noname01.png

지금 인테넷 이미지 검색에서 얻을 수 있는 자료로는 Rosenblatt 이 했던 classification 작업의 대상이 이원분류 즉 binary classification임에는 틀림없지만 그 대상이 무엇이었는지는 확실치 않다

가 학습을 위한 입력 벡터로서 400개의 조도센서 픽셀 신호로 구성되는 하나의 이미지라면 yi는 그 이미지의 알고 있는 class 값이다. 이원분류이므로 yi는 “+1” 이거나 “–1”일 것이다. 즉 위 알고리듬에 의하면 p = 512 이므로 512개의 학습 샘플을 사용하는 셈이다. 이 알고리듬에 의해서 웨이트와 바이아스 값이 결정되면 이 값들을 사용하여 입력되는 테스트 이미지들에 분류 작업이 가능하게 된다. 물론 이 테스트 이미지들에 되한 참값을 알고 있으면 Perceptron의 인식률 계산도 가능해진다.

알고리듬에서 판별하려고 하는 noname02.png 의 의미를 알아보자. sign()은 괄호 내 hypthesis 계산값이 양이면 “+1”, 음이면 “-1”을 부여하는 함수로서 컴퓨터 코드 상의 함수이다. 즉 hypothesis 의 sign 값이 calss 값과 일치하면 0 이 되며 그렇지 않다면 에러가 발생한 상태로서 웨이트 벡터 업데이트 과정이 이루어지게 된다. 에러 값은 다음과 같이 표로 정리된다.

noname03.png

가상적으로 cost 함수를 생각해 보자.

noname04.png

특정 웨이트 성분에 대해서 편미분을 실행하면

noname05.png

경사 하강법을 적용하는 현대의 머신 러닝에서는 1,0 보다 작은 수인 learning rate를 윗 식에 곱하여 웨이트 업데이트를 하며 업데이트된 웨이트 값을 사용하여 cost 함수를 다시 계산하여 감소 수렴하는지 여부를 관찰하게 된다. 아래 식에서 (1/2)은 Rosenblatt 방식과의 비교 목적을 위해 편의상 도입하였으며 1로 사용해도 무방할 것이다.

noname07.png

그러면 언제 경사하강법이 끝나게 되는가? 입력 벡터 성분이 0.0이 아니라면 괄호 부분이 0이 되는 경우이며 바로 Rosenblatt 의 학습완료 조건을 의미한다.
특히 Rosenblatt 의 알고리듬에서는 에 의해 부호 값을 판별해 보는 이유는 입력 벡터 공간상에서 “+1” 데이타와 “-1” 데이타를 classification 해주는 hyperplane을 전제로 하고 있다.
Rosenblatt 의 웨이트 업데이트 방식이 현대의 경사하강법 적용 시에 사용하는 방식과 동일하지만은 않다. 즉 learning rate 개념이 달리 없는데 그것은 learning rate를 1.0 으로 둔다고 보면 될 것이다.

업데이트 방식도 지금의 머신 러닝에서 사용하는 noname08.png
와는 약간의 차이가 있는 듯하다.
즉 위식의 hypothesis 부분을 변형하면 아래에서처럼 Rosenblatt 의 방식과 동일해 짐을 알 수 있다.

noname09.png

이 유도 과정을 살펴보면 Rosenblatt 은 아직 learning rate 개념을 생각지는 않았지만 이미 cost 함수의 개념을 어느 정도 이해하고 있었던 것으로 판단된다.

결국 1960년에 스탠포드 대학의 Bernard Widrow 교수와 박사과정이었던 Tedhoff 의 Adaline(Adaptive linear neuron) 논문 출판으로 cost 함수 사용이 공식적으로 시작된다.

※ Rosenblatt이 구현했던 Perceptron 모델은 20X20 즉 400개의 조도 센서(Photo cell, CdS)를 사용하여 입력 장치를 구성하고 학습을 위한 샘플수 p는 512개로 설정하였다.

noname11.png

이 부분의 내용에 관해서 2018년 12월에 출간했던 필자의 졸저 122페이지 중간 부분에서 파라메터 p 값을 학습 횟수로 설명하였는데 오류임을 지적한다. p 값은 “학습을 위한 샘플수”로 정정하고자 한다. 따라서 학습 횟수에 관해서는 알고리듬 상에서 repeat 과 until로 표현된 부분이 해당하는 듯하다.

필자의 졸저는 인터넷 교보문고에서 450페이지19900원에 판매중입니다.

noname10.png

2-1 Roselblatt의 Perceptron 알고리듬과 Adaptive linear neuron의 연결고리 | Ecency