"활성화함수"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
16번째 줄: 16번째 줄:
 
def sigmoid_function(x):  # 일반적으로 넘파이 배열을 받는다.
 
def sigmoid_function(x):  # 일반적으로 넘파이 배열을 받는다.
 
     return 1 / (1 + np.exp(-x))  # 그냥 모양 그대로 반환한다.
 
     return 1 / (1 + np.exp(-x))  # 그냥 모양 그대로 반환한다.
 +
</syntaxhighlight>
 +
 +
== 렐루 함수(ReLU 함수) ==
 +
Rectfied(정류된) Linear Unit. 0 이하라면 0을 출력하고 0을 넘는다면 입력을 그대로 출력하는 함수. 즉, -흐름만을 차단한 함수이다. 선형함수이지만, 정류되었다는 점에서 구분된다.\
 +
 +
=== 구현 ===
 +
<syntaxhighlight lang="python">
 +
def relu_function(x):  # 일반적으로 넘파이 배열을 받는다.
 +
    return np.maximum(0, x)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
[[분류:딥러닝 이론]]
 
[[분류:딥러닝 이론]]

2021년 9월 8일 (수) 01:23 판

1 계단함수

퍼셉트론에서 사용하는 기본적인 함수. 0을 넘으면 1, 0과 같거나 작으면 0을 반환한다.

1.1 구현

def step_function(x):  # 일반적으로 넘파이 배열을 받는다.
    y = x > 0  # 들어온 배열에서 0보다 큰 경우만 골라 1을 반환한다.(True 반환)
    return y.astype(np.int)  # bool형을 반환하기 때문에 int형으로 바꾸어준다.

2 시그모이드 함수

sigmoid(S자 모양이라는 의미) function. 신경망에서 사용하는 함수. 신경망과 퍼셉트론의 차이는 활성화 함수의 차이 뿐이다.

2.1 구현

def sigmoid_function(x):  # 일반적으로 넘파이 배열을 받는다.
    return 1 / (1 + np.exp(-x))  # 그냥 모양 그대로 반환한다.

3 렐루 함수(ReLU 함수)

Rectfied(정류된) Linear Unit. 0 이하라면 0을 출력하고 0을 넘는다면 입력을 그대로 출력하는 함수. 즉, -흐름만을 차단한 함수이다. 선형함수이지만, 정류되었다는 점에서 구분된다.\

3.1 구현

def relu_function(x):  # 일반적으로 넘파이 배열을 받는다.
    return np.maximum(0, x)