Deep Learning

퍼셉트론(Perceptron)

언킴 2022. 5. 6. 09:51
반응형

1. 퍼셉트론(Perceptron) 

초기의 인경신공망 모형이고 퍼셉트론이 동작하는 방식은 다음과 같다. 각 노드의 가중치와 입력치를 곱한 것을 모두 합한 값이 활성함수에 의해 판단되는데, 그 값이 임계치(보통 0)보다 크면 뉴런이 활성화되고 결과값으로 1을 출력한다. 뉴런이 활성화되지 않으면 결과값으로 -1을 출력한다.

 

$ \Sigma_{i}^{n}{w_{i}x_{i}}  \geq \theta \rightarrow y = 1 $

 

$ \Sigma_{i}^{n}{w_{i}x_{i}}  < \theta \rightarrow y = 0 $

 

y 값이 threshold 인 $ \theta $ 을 기준으로 0, 1로 분류한다.

$ b $(bias) 로 표기할 때도 있다.

$ \Sigma_{i}^{n}{w_{i}x_{i}} + b \geq 0 \rightarrow y = 1 $

 

$ \Sigma_{i}^{n}{w_{i}x_{i}} + b < 0 \rightarrow y = 0 $

$ \Sigma_{i}^{n}{w_{i}x_{i}} + b $

 

 

input 값$( x_{1}, x_{2}, \cdot, x_{i} )$과 hidden layer 의 $w$ 를 곱해서 $\Sigma_{i}^{n}{w_{i}x_{i}} + b$ 식이 도출되면 그 결과값을 activity function 을 거치고 나면 y를 출력하게 된다. 

 


2. active function

1) step function ( binary function ) - threshold = 0

 

2) sigmoid function

sigmoid function

$ \Sigma_{i}^{n}{w_{i}x_{i}}  \geq \theta \rightarrow y = 1 $

 

$ \Sigma_{i}^{n}{w_{i}x_{i}}  < \theta \rightarrow y = 0 $

 

이 식에서 Threshold ($\theta$) 가 0.5인 그래프다.

0.5를 기준으로 0.5보다 큰 값이 출력되면 1, 작은 값이 출력되면 0을 반환한다.

 

 

3) tanh

tanh

sigmoid function 보다 더 빠르게 움직인다.

 

$ sigmoid(x) = {1 \over 1 + e^{-x}} $

 

$ tanh(x) = 2sigmoid(2x) -1 $

 

4) ReLU

퍼셉트론은 기본적으로 Grandient Descent 를 사용하게 되는데 Loss function이 최소가 되는 지점 즉 Loss function의 미분값이 0 이 되는 지점을 찾아야 한다. 하지만 1), 2), 3) 활성함수를 사용할 경우 x의 값이 커지면 미분함수의 기울기가 거의 0에 가까워지므로 결과값에 오류가 생기게 된다. 이럴경우 active function 으로 ReLU function 을 사용하게 된다.  

$ max(0,x) $

 

0 이하 값은 모두 0으로 처리하고 0보다 큰 값은 $ y = x $ 자기 자신 값을 출력하므로 미분하기에 용이하다.