1. 퍼셉트론(Perceptron)이란?
: 다수의 신호를 입력받아 하나의 신호를 출력하는 알고리즘이다. 인공신경망의 한 종류로서 뉴런의 구조와 비슷하다.
위 그림은 퍼셉트론의 구조이며 x는 입력 신호, w는 가중치(weight)이다. 입력신호에 가중치가 곱한 값들을 모두 더해서 임계값(세타)보다 큰 경우 출력값(output) 1을 출력하고 작거나 같은 경우 0을 출력하게 된다.
이를 식으로 나타내면 위와 같다. 여기서 임계값(세타)를 좌항으로 넘긴값 -세타를 b(bias,편향)으로 치환하면 아래와 같은 식을 얻을 수 있다.
w*x1 + w*x2 + ..... + wn*xn + b > 0
w*x1 + w*x2 + ..... + wn*xn + b <= 0
2. 퍼셉트론(Perceptron)의 응용과 한계
: 이러한 퍼셉트론(Perceptron)을 활용하면 AND, NAND, OR의 논리회로를 구현하는 것이 가능하다. 이를 그래프로 보면 다음과 같다.
위 그림을 보면 AND와 OR은 하나의 직선으로 출력값 0과 1 을 나누는 것이 가능하다. 이 선이 퍼셉트론 식이 된다. 하지만 XOR의 경우 하나의 직선으로 나누는 것이 불가능하다. 이는 단일 선형 퍼셉트론 ( Single Linear Perceptron)으로는 XOR을 구현하는 것이 불가능하다고 할 수 있다.
하지만 여러개의 선을 사용하거나 곡선을 사용한다면 XOR의 출력도 나누는 것이 가능하다. 이에 대해서 아래에서 알아 본다.
3. 다층 퍼셉트론(Multi- layer Perceptron)
4. 퍼셉트론(Perceptron)의 장단점
: 이러한 퍼셉트론에는 장단점이 있다. 우선 장점은 어떠한 복잡한 함수도 다층 퍼셉트론을 이용하면 표현하는 것이 가능하다. 단점으로는 이러한 식을 만들 때에 가중치의 값을 정하는 것은 사람이 수동으로 해야한다는 것이다. 하지만 이는 식이 복잡할 수록 매우 어려워진다.
이러한 퍼셉트론의 단점을 극복하는 것은 다음 신경망 글에서 다룬다.
'기타' 카테고리의 다른 글
비행기 슈팅 게임(Unity5) - 비행기 움직이기 #1 (0) | 2019.10.23 |
---|---|
백준 2698번 인접한 비트의 개수(동적계획법) (0) | 2019.03.07 |
컬러모델(RGB, CMY, YCbcr, HSI) (0) | 2019.01.18 |
ConvNet Max pooling (0) | 2019.01.03 |
ConvNet의 Conv 레이어 만들기 (0) | 2019.01.03 |