[밑바닥딥러닝] 1.퍼셉트론

2021. 9. 10. 20:21Deep Learning

본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다.

 

 

퍼셉트론 


퍼셉트론(Perceptron)의 정의는 다음과 같다. 

In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers. A binary classifier is a function which can decide whether or not an input, represented by a vector of numbers, belongs to some specific class. It is a type of linear classifier, i.e. a classification algorithm that makes its predictions based on a linear predictor function combining a set of weights with the feature vector.

출처 : https://en.wikipedia.org/wiki/Perceptron

 

직역하자면, 퍼셉트론이란 이진 분류기의 지도학습을 위한 알고리즘인데, 이진분류기라는 것은 숫자 벡터로 표현되는

 

input이 특정 클래스에 속하는지 아닌지는 판단하는 함수이다. 하나의 선형 분류기이며, 가중치 집합특징 벡터

 

결합하는 선형 예측 함수에 기반하여 예측을 수행한다.

 

쉽게 말하자면, 다수의 신호를 입력받아 하나의 신호를 출력하는 함수라고 생각하면 된다. 

 

출처 : https://www.allaboutcircuits.com/technical-articles/how-to-train-a-basic-perceptron-neural-network/

 

위는 가장 단순한 형태의 퍼셉트론을 나타낸다. 다양한 입력(input)이 가중치(w0, w1, w2)를 만나 하나의 노드(뉴런)에서 

 

결합되어 하나의 출력(output0)을 만들어낸다. 

 

출처 : https://towardsdatascience.com/perceptron-learning-algorithm-d5db0deab975

 

입력과 가중치 곱의 조합들은 모두 더해져서 특정 임계값(θ)을 넘어설 때 1을 출력하고 넘어서지 못하면 0을 출력한다. 

 

임계값(θ)을 좌항으로 넘기면 가중치와 입력의 곱의 합들, 그리고 임계값(θ)의 총합이 0 이상일 경우 1, 0 미만일 때 0을 

 

출력한다.

 

퍼셉트론에서 가중치는 각각의 입력들의 중요도를 결정하고, 임계값 출력의 까다로움(?) 정도를 조절한다.

 

출처 : https://kr.mathworks.com/matlabcentral/answers/445848-how-to-create-a-fitnet-neural-network-with-multiple-hidden-layers 

 

퍼셉트론은 다계층으로 구성될 수 있는데, 위 그림은 Input layer와 Output layer 두 계층 사이에 Hidden layer를 

 

두고 있다. 각각의 입력들(4개)이 중간 출력(5개)를 만들어내고, 이 중간출력들이 다시 가중치와 곱해져서 조합되어 

 

하나의 출력을 만들어낸다. 이것을 다층 퍼셉트론(Multi-layer Perceptron)이라고 한다.