딥러닝/Notions

Activation Function : Step/Linear Function

Jooyoung Lee 2022. 12. 27. 19:30
활성화 함수 (Activation Function)는 신경망의 출력을 결정하는 식이다.

 

기존 Perceptron 수식

$$ y= \begin{cases} 0 \quad (w_1x_1 + w_2x_2 \leq \theta) \\ 1 \quad (w_1x_1 + w_2x_2 > \theta) \end{cases} $$

 

변형된 Perceptron 수식

 

$$ X = w_1x_1 + w_2x_2 + b $$

$$ h(x) = \begin{cases} 0 \quad x \leq 0 \\ 1 \quad x>0 \end{cases} $$

 

  • 입력 신호의 합 \(h(x)\)를 거쳐 변환되어 \(y\)를 출력.
  • \(h(x)\) 함수는 입력 값이 0을 초과하면 1을 리턴하고, 0을 초과하지 않으면 0을 리턴한다.

\(X\) : Perceptron 결과

\(y\) : 출력 값

\(h(x)\) : 활성화 함수

 

 

 

Step Function

Step Function

$$ h(x) = \begin{cases} 0 \quad x \leq 0 \\ 1 \quad x>0 \end{cases} $$

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 \quad(c: 상수) $$

Linear Function

def Linearfunction(x, c):
	return c*x

장점

  • 다중 출력이 가능하다.

단점

  • 역전파 (Backpropagation) 사용이 불가하다.
역전파는 활성화 함수를 미분하여 이것을 이용해서 손실값을 줄이기 위한 과정이다.
선형함수의 미분값은 상수이기에 입력값과 상관없는 결과를 얻는다.
  • 은닉층을 무시하고 얻을 수 있는 정보를 제한한다.
활성화 함수를 여러 층을 통하여 얻고자 하는 것은 필요한 정보를 얻기 위함이다.
선형 함수를 여러번 사용하는 것은 마지막에 선형 함수를 한번 쓰는것과 같다.
\( h(x) = cx \) 일 때, \( h(h(h(x))) = c'x \) 이기 때문이다.