머신러닝 & 딥러닝

[딥러닝] 2. 활성화 함수

김초송 2023. 4. 27. 15:20

활성화 함수 (Activation Function)

  • 입력층에서 은닉층으로 값을 전달할 때 사용하는 함수
  • 입력값의 가중치의 합

 

1. 계단 함수

  • 입력값과 가중치의 곱의 합한 값 (x1 * w1 + x2 *w2)
    이 음수면 0, 양수면 1
  • 단층 퍼셉트론
import numpy as np

def step_function(x):
    y = x > 0
    return y.astype(np.int)

 

2. 시그모이드 (Sigmoid) 함수

  • 0 에서 1 사이의 실수를 출력
  • 다층 퍼셉트론

시그모이드 함수식

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

 

3. 하이퍼볼릭 탄젠트 (tanh) 함수

  • -1 과 1 사이의 실수를 출력
  • 다층 퍼셉트론
import math

def tanh(x):
    return list(map(lambda x:math.tanh(x), x))

 

4. ReLU (Rectified Linear Unit) 함수

  • 0 이하면 0, 0 보다 크면 그대로 출력
  • 다층 퍼셉트론
def relu(x):
    return np.maximum(0, x)

계단, sigmoid, relu

# tensorflow 내장함수

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense # 완전 연결계층

model = Sequential()
model.add(Dense(5, activation='sigmoid')) # 뉴런 수, 활성화 함수
model.add(Dense(5, activation='tanh'))
model.add(Dense(5, activation='relu'))

 

본 내용은 아이티윌 '빅데이터&머신러닝 전문가 양성 과정' 을 수강하며 작성한 내용입니다.