CS/인공지능

[인공지능] 퍼셉트론(Perceptron)

IT록흐 2021. 12. 14. 23:22
반응형

 

 

Warren McCulloch와 Walter Pitts는

1943년, 인공지능을 구현하기 위해

실제 인간의 뇌신경망을 구현하려는 시도를 한다. 

 

Frank Rosenblattt는

1957년, 최초로 수학적으로 정립된 신경망 모델을 제안하는데,

그것이 퍼셉트론(Perceptron)이다. 

 

 

 

퍼셉트론 ( Perceptron )

 

 

출처 위키백과

 

 

인간의 뉴런은 머리 부분에서 신호를 입력받고 처리한 뒤 꼬리 부분으로 출력한다. 이를 수학적으로 풀면 아래와 같다.

 

 

 

 

다양한 입력값을 받으면 가중치(w)를 곱한 후 모두 더한다(sum). 그리고 계단함수(f)의 변수로 sum을 넣어 f(sum)을 구한다. 계단 함수는 sum이 특정값(Θ)보다 크면 1이고 작으면 -1을 출력하는 함수이다. 

 

내용이 어려우니 예를 통해 알아보자.

 

EX) 개와 고양이를 구분하는 인공지능을 구현하려고 한다. 

 

1) 입력값

 

x1 : 울음 소리

x2 : 눈의 크기

 

2) 가중치

 

x1 , x2 중 어떤 값을 높이 평가할지 가중치를 부여한다. 

 

x1 : 울음 소리  w1 : 5 ( 울음소리에 높은 가중치를 부여 )

x2 : 눈의 크기  w2 : 3

 

3) SUM

 

SUM = x1*w1 + x2*w2 ( 가중치가 높을수록 SUM에 많은 영향을 준다. )

 

4) 계단함수, f(SUM)

 

계단 함수는 sum이 특정값(Θ)보다 크면 1이고 작으면 -1을 출력하는 함수이다. 

 

f(SUM)은 계단 함수이므로,

if( SUM >= Θ ) 1을 출력 ( 1은 강아지이다. )

else -1을 출력 ( -1은 고양이이다. )

 

SUM >= Θ

x1*w1 + x2*w2 >= 3 ( 바이어스; bias )

5*x1 + 3*x2  >=  3

x2 >= -5/3*x1 + 1

 

이를 그래프로 표현하면 아래와 같다.

 

 

 

x2 >= -5/3*x1 + 1

 

x1(울음소리)가 3이고 x2(눈의 크기)가 5이면 부등식이 성립하니 인공지능은 '개'라고 판단한다.

x1(울음소리)가 0이고 x2(눈의 크기)가 -1이면 부등식이 성립하지 않으니 인공지능은 '고양이'라 판단한다. 

 

 

일반화

 

SUM >= Θ

x1*w1 + x2*w2 >= Θ 

 

Θ를 x와 w로 나타내면 일반화 시킬수 있다.

 

x1*w1 + x2*w2 - Θ*1 >= 0

 

Θ x0

1 w0

 

x1*w1 + x2*w2 + x0*w0 >= 0

x0*w0 + x1*w1 + x2*w2 >= 0

d(X) = x0*w0 + x1*w1 + x2*w2 >= 0

 

d(X)가 0보다 크냐 작냐에 따라 구분되므로 d(X)를 분류기(classfier)라 부른다. 

 

 

학습(Learning)이란?

 

분류기가 입력값 X에 따라 적절히 분류할 수 있도록 가중치(W)와 절편(Θ)의 적절한 값을 찾아가는 과정이 학습(Learning)이다.

 

이를 위해, 얼만큼 오차(손실)이 발생하는지 파악해야한다. 손실정도를 나타내는 함수를 목적함수(손실함수)라고 부르고 손실의 최소 지점을 찾아가는 대표적인 알고리즘이 경사하강알고리즘이다. 

 

 

한계 

 

퍼셉트론은 선형적으로 구분 가능한 경우 유용하지만 그렇지 못하면 성능을 발휘하지 못한다.

 

선형 분리 가능

 

 

선형분리 불가능

 

 

 

이런 한계를 극복하고자 MLP(Multi Layer Perceptron)가 등장했다. 

반응형