본문 바로가기

수업내용정리/인공지능

[Tensorflow][Keras]활성화 함수의 사용법 간단하게 알아보기

 

이번시간에는 Activation은 무엇이며 또 Keras에서는 이 활성화 함수를 어떤 방법으로 사용하는지 알아보자.

 

 

활성화 함수란 무엇인가? 신경망 모델을 깊고 복잡하게 만들기 위해서 사용이 되는 함수이며

신경망모델에서 한 레이어에서 가중치들로 연산을 한 뒤, 그 결과를 다음 레이어로 보내기 전에 결과 값에 취해지는 함수이다.

ReLU, sigmoid, tanh 등 여러 활성화 함수가 존재한다.

 

그렇다면 Keras 에서는 어떻게 활성화 함수를 사용할 수 있을까?

Keras에서 활성화함수는 다양한 방법으로 사용이 가능한데, 크게 3가지가 있다고 알아두면 된다.

첫 번째로는, 사용하고자 하는 활성화 함수 자체(ReLU, Softmax 등..)를 레이어처럼 불러와서 사용이 가능하며

 

from tensorflow.keras.layers import ReLU

model.add(ReLU())

 

 

두번째 방법으로는 Activation 이라는 레이어를 불러와 Activation에서 사용하고자 하는 활성화 함수를 집어넣어 사용을 하거나(내장된 활성화 함수를 직접 집어넣거나 혹은 문자열 식별자('relu', 'sigmoid'...) 사용)

 

from tensorflow.keras.layers import Activation
from tensorflow.keras.activations import relu

model.add(Activation('relu'))
model.add(Activation(relu))

 

 

 

마지막으로는 다음과 같이 Dense나 Conv2D 등 다른 레이어에서 activation 파라미터를 통해 활성화 함수를 정하고 사용할 수도있다. (주로 많이 사용함)

 

model.add(Dense(20,input_shape=(32,32,3,),activation='relu')) #레이어의 activation 파라미터사용

 

 

 

 

다음시간에는 활성화 함수의 사용 이유, 종류에 대해 자세히 알아보도록 하자.

 

참조

https://keras.io/api/layers/activation_layers/

 

Keras documentation: Activation layers

 

keras.io

 

https://keras.io/ko/activations/#activations

 

Activations - Keras Documentation

Activations의 이용 Activations는 Activation 층이나 앞선 층에서 지원하는 모든 activation argument로 이용 가능합니다: from keras.layers import Activation, Dense model.add(Dense(64)) model.add(Activation('tanh')) 이것은 다음과

keras.io

 

https://keras.io/api/layers/activations/

 

Keras documentation: Layer activation functions

Layer activation functions Usage of activations Activations can either be used through an Activation layer, or through the activation argument supported by all forward layers: model.add(layers.Dense(64, activation=activations.relu)) This is equivalent to:

keras.io