퍼셉트론의 원리

퍼셉트론은 다층 퍼셉트론과 현재 인공지능을 구현하는 데 핵심 역할을 담당하는 딥러닝의 구성요소이기 때문에 퍼셉트론을 제대로 이해하는 것이 필요하다.

퍼셉트론의 구조와 연산


퍼셉트론은 input layer(파랑)output layer(빨강)로 구성된다. input에는 <n+1>개의 노드(node)가 있다. 여기서 n란 특징 벡터의 차원인데, 예를 들어 필기 숫자에서 화소를 특징으로 사용하는 경우, n는 64이다. (특징 벡터는 n x 1 벡터라는 사실을 잊지 말자!)

input layer(파랑)의 i번째 노드는 가중치 wi 를 갖는 에지(edge)로 연결된다. i번째 에지는 특징 xi와 가중치 wi를 곱해서 output 노드로 전달한다.

첫번째 파랑(0번째 노드)인 x0은 항상 1인데, 이것을 바이어스 노드(bias node)라 부른다. 따라서 계산할 때 x0*w0=w0이 된다는 것을 잊지 말자.

마지막 계단식으로 보이는 식은 활성 함수를 나타낸다.
그 직전에 출력 노드는 n+1개의 곱셈 결과를 모두 더한 s를 계산한다. 그리고 나서 s를 활성함수에 적용한 결과를 출력(out)으로 내보낸다.

만약 out이 0으로 나오는 경우는 어떻게 될까?
o=0이면 결정 경제, 즉 두 영역을 분할하는 경계이다. 퍼셉트론을 수학적으로 해석하면, 특징 공간을 두 공간으로 분할하는 이진 분류기(binary classifier)이다. 퍼셉트론의 결정 경계는 선형에 국한된다.

퍼셉트론은 활성 함수로 계단 함수를 사용한다.
계단 함수는 s가 0보다 크면 1, 그렇지 않으면 -1을 출력한다. 따라서 퍼셉트론은 특징 벡터를 식에 따라서 1 또는 -1로 변환하는 장치로 볼 수 있다.

퍼셉트론 계산하기

퍼셉트론을 계산하기 위해서는 선형대수학이 반드시 선행되어야 한다.

  • 어떤 제품이 크기와 색상을 나타내는 2개의 특징으로 표현된다고 가정하자. 특징 벡터 x=(크기,색상)=(x1,x2) 로 나타낼 수 있다. 특징은 0 또는 1을 가진다고 가정한다.

  • 제품 4개를 수집한 결과 불량 3개, 정상 1개로 판정했다고 가정하자.

  • 불량은 1, 정상은 -1로 표기한다.

    x1=(0,0)x2=(0,1)x3=(1,0)x4=(1,1)
    y1=-1y2=1y3=1y4=1
    정상불량불량불량
  • 퍼셉트론의 가중치는 w0 =. -0.5, w1 =1, w2 =1 이다.

  • 이때 input layer 에 들어가는 x2 벡터 = 1(x0=1), 0, 1 이 되는 것이다.

  • 따라서 weight 와 x 벡터를 내적하면 계산을 쉽게 할 수 있다!! 와아아앙

import numpy as np
x2=np.array([1,0,1])
w=np.array([-0.5,1.0,1.0])
s=sum(x2*w)
  • 위는 방금 설명한 것의 파이썬 코드이다.

좋은 웹페이지 즐겨찾기