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 $
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
$ \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
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 $ 자기 자신 값을 출력하므로 미분하기에 용이하다.
'Deep Learning' 카테고리의 다른 글
Object Function, Cost Function, Loss Fuction (3) | 2022.04.28 |
---|---|
[Deep Learning] RBF : Radial basis function (0) | 2022.03.21 |
[Deep Learning] Restricted Boltzmann Machines(RBM) (1) | 2022.03.08 |
Multi-layer Perceptron (MLP) (0) | 2021.06.21 |