Perceptron

퍼셉트론은 뉴런의 모양에서 영감을 받아 신호 처리를 구현한 모양이다.

image.png

위 그림과 같이 입력 데이터와 가중치의 가중합 연산이 일어나고, bias 가 더해져 퍼셉트론의 값이 결정된다.

가중치는 각 입력 데이터에 얼만큼의 가중치를 둘지 정하고, bias 는 가중합의 값에 보정을 가한다. 이 연산들을 통해 선형 변환이 일어나고, 가중합을 통해 multidimensional data 의 각 요소의 영향력을 모델링하는 것이다.

Perceptron Mechanism

image.png

하나의 퍼셉트론은 여러 개의 입력을 받아 가중치와의 가중합을 거친다. 이 가중합 결과의 크기에 따라 하나의 binary output 을 내놓는다. Bias 는 이를 조절하는 threshold 의 역할을 하기도 한다.

image.png

하나의 퍼셉트론을 이용해 AND 게이트를 구현해보자. 입력과 출력에 맞는 가중치와 편향을 고르면 다음 중

(0.5, 0.5, -0.6) 일 것이다.

image.png

이렇게 가중치만 바꿔주면 구조를 바꾸지 않아도 OR 게이트를 구현할 수 있다.

Activation Function

image.png

퍼셉트론의 출력 부분에서 출력을 원하는 범위 내로 조종하는 역할을 한다. 여러가지 함수들 중 쓰임새에 맞는 것을 고를 수 있다. Sigmoid 를 사용하면 Logistic Regression, tanh 를 사용하면 Binary Classification 에 이용할 수 있다.

Perceptron Training

퍼셉트론의 훈련도 머신러닝 알고리즘과 마찬가지로 손실함수를 정의하고, Gradient-based Optimization 을 이용해 훈련을 진행한다. 위에서 본 활성화 함수들의 미분 결과를 한 번 살펴보자.

image.png

ReLU 는 원점에서 미분 불가능하지만, 이 사실을 무시하고 미분값을 구했음에 유의하자.