퍼셉트론이란?
퍼셉트론은 딥러닝의 기원이 되는 알고리즘으로 딥러닝을 이해하기 위해서 꼭 필요한 개념이다. 퍼셉트론은 여러가지의 신호를 input으로 하여 하나의 output 을 내는 알고리즘이다.
여기서 보면 X1, X2, X3은 입력신호, y는 출력신호이고 w1, w2, w3은 가중치를 말한다. 각각의 원은 노드 혹은 뉴런이라고 부르는데 하나의 입력 원이 다른 원으로 보내질 때 가중치가 곱해진다. 이 신호의 합이 임계값을 넘어갈 때만 1을 출력하고 넘어가지 않으면 0을 출력한다.
여기에 bias를 추가해서 식을 써본다. bias란 각각의 노드가 얼마나 쉽게 활성화되는지를 제어한다. bias를 추가해서 그림을 그려보겠다.
이 그림은 가중치가 b이고 입력이 1인 뉴런이다. 1, x1, x2, x3 이렇게 총 4개의 신호가 입력되고 각각의 입력값에 가중치를 곱한다. 결과값이 0 이상이면 1, 0 미만이면 0을 출력한다. 여기서 b 의 값에 따라 노드가 쉽게 활성화되거나 어렵게 활성화 될 수 있다.
위의 내용을 식으로 표현해보면 밑에와 같이 간단하게 표현된다.
여기서 h는 입력신호를 출력신호로 바꾸는 조건부 함수이고 x안에는 위 그림의 수학식이 들어간다. 이 h 함수를 활성화 함수라고 부른다. 말 그대로 입력신호 -> 출력신호 가 활성화가 되는지, 안되는지 정하는 함수이다. 이것을 더 쉽게 그림으로 표현해보자.
활성화 함수의 처리 과정이다. 각각의 입력신호, 가중치를 곱한 수가 a가 되고 여기서 활성화 함수인 h을 거쳐서 출력신호로 바뀐다.
활성화 함수의 종류
임계값을 기준으로 출력이 바뀌는 함수를 활성화 함수라고 한다고 지금까지 정리했다. 그러면 자주 쓰이는 활성화 함수는 어떤 것이 있을까?
-시그모이드 함수
-계단 함수
-ReLU 함수
대표적으로 이렇게 3가지 함수가 있다. 3가지 함수의 공통점은 비선형함수(x값과 y값이 비례가 아닌 함수)이다. 선형함수는 사실 활성화함수에서 쓸 수 없다. 이유는 선형함수를 쓰면 x값과 y값은 비례하므로 값을 구분하거나 신경망의 층을 깊게 하는 의미가 사라진다. 최근에는 ReLU함수를 주로 이용한다.
퍼셉트론의 한계, 해결방법
퍼셉트론은 한계가 있다. 가중치는 기계가 자동으로 설정해주는 것이 아니라 사람이 설정해주는 것이기 때문에 적절한 가중치를 찾지 못할 수도 있다. 하지만 이 한계점을 신경망이 해결해준다.
'머신러닝 > 딥러닝' 카테고리의 다른 글
CNN의 오토인코더(Autoencoders) (0) | 2021.04.21 |
---|---|
이미지 분할(Image Segmentation), 이미지 증강(Image Augmentation), 객체인식(Object Recognition) (0) | 2021.04.20 |
spaCy를 이용한 자연어처리(1) (0) | 2021.04.12 |
딥러닝 독학 3) 신경망 학습 (0) | 2021.04.06 |
딥러닝 독학 2) 소프트맥스 함수 (0) | 2021.04.06 |