활성화 함수 (Activation Function)는 신경망의 출력을 결정하는 식이다.
기존 Perceptron 수식
y={0(w1x1+w2x2≤θ)1(w1x1+w2x2>θ)
변형된 Perceptron 수식
X=w1x1+w2x2+b
h(x)={0x≤01x>0
- 입력 신호의 합 h(x)를 거쳐 변환되어 y를 출력.
- h(x) 함수는 입력 값이 0을 초과하면 1을 리턴하고, 0을 초과하지 않으면 0을 리턴한다.
X : Perceptron 결과
y : 출력 값
h(x) : 활성화 함수

Step Function

h(x)={0x≤01x>0
import numpy as np
import matplotlib.pyplot as plt
def step_function1(x):
if x <= 0:
return 0
else x > 0:
return 1
def step_function2(x):
y = x > 0
return y.astype(np.int)
- 임계치를 기준으로 출력해주는 함수이며, Perceptron algorithm에서 Activation function으로 사용한다.
- 다중 분류 문제 같은 문제에서 다중 출력이 불가하다.
- 신경 세포의 전달 방법을 묘사한 기법이며, 출력되는 결과값이 갖는 정보가 희석된다는 단점이 존재한다.
Linear Function
h(x)=cx(c:상수)

def Linearfunction(x, c):
return c*x
장점
- 다중 출력이 가능하다.
단점
- 역전파 (Backpropagation) 사용이 불가하다.
역전파는 활성화 함수를 미분하여 이것을 이용해서 손실값을 줄이기 위한 과정이다.
선형함수의 미분값은 상수이기에 입력값과 상관없는 결과를 얻는다.
- 은닉층을 무시하고 얻을 수 있는 정보를 제한한다.
활성화 함수를 여러 층을 통하여 얻고자 하는 것은 필요한 정보를 얻기 위함이다.
선형 함수를 여러번 사용하는 것은 마지막에 선형 함수를 한번 쓰는것과 같다.
h(x)=cx 일 때, h(h(h(x)))=c′x 이기 때문이다.
'딥러닝 > Notions' 카테고리의 다른 글
Perceptron (0) | 2022.12.27 |
---|---|
Quantization (0) | 2022.12.26 |
CNN (Convolutional Neural Network) 개념 정리 (0) | 2022.12.14 |