728x90
반응형
SMALL
1. 비선형 활성화 함수(Activation Function)
- 인공 신경망(Artificial Neural Network) 모델에서 입력 신호의 가중합을 변환하여 출력 신호를 생성하는 함수
- 신경망의 성능을 향상시키기 위해 사용
- 선형으로 풀지 못하는 문제를 비선형으로 바꾸어 성능을 향상시킴(곡선으로 차원을 바꿈)
- 선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에 신경망에서 여러 개의 선형 활성화 함수를 사용한다면 최종 출력값은 입력값과 가중치의 선형 조합으로 표현되므로 이는 입력 데이터의 비선형 관계를 표현할 수 없음(선형함수를 여러개 곱해봐야 선형함수임)
- 신경망이 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해서 비선형 활성화 함수를 사용
1-1. 시그모이드(Sigmoid)
import numpy as np
import matplotlib.pyplot as plt
✅ 시그모이드 함수 만들기
def sigmoid(x):
return 1/(1+np.exp(-x))
x= np.arange(-5.0, 5.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
plt.plot([0,0], [1.0,0.0], ':') # 가운데 점선 추가
plt.title('Sigmoid Function')
plt.show()
1-2. 하이퍼볼릭탄젠트
- 영상처리 시 사용
x= np.arange(-5.0, 5.0, 0.1)
y = np.tanh(x)
plt.plot(x, y)
plt.plot([0,0], [1.0, -1.0], ':') # 가운데 점선 추가
plt.axhline(y=0, color='orange', linestyle='--')
plt.title('tanh Function')
plt.show()
1-3. ReLU
- 활성화 함수는 거의 렐루를 많이 사용
def relu(x):
return np.maximum(0,x)
x= np.arange(-5.0, 5.0, 0.1)
y = relu(x)
plt.plot(x, y)
plt.plot([0,0], [5.0,0.0], ':') # 가운데 점선 추가
plt.title('ReLU Function')
plt.show()
1-4. Softmax
x= np.arange(-5.0, 5.0, 0.1)
y = np.exp(x) / np.sum(np.exp(x))
plt.plot(x, y)
plt.title('Softmax Function')
plt.show()
728x90
반응형
LIST
'Python > ML&DL' 카테고리의 다른 글
[파이썬, Python] 딥러닝 - 2️⃣ 전이학습(Transfer Learning), 이진분류 신경망 모델 구현하기! (0) | 2023.07.01 |
---|---|
[파이썬, Python] 딥러닝 - 1️⃣ CNN(Convolutional Neural Network (0) | 2023.07.01 |
[파이썬, Python] 딥러닝(DeepLearning) - 퍼셉트론과 역전파 (0) | 2023.06.29 |
[파이썬, Python] 데이터로더(DataLoader) - 배치 단위로 학습시키기! (0) | 2023.06.29 |
[파이썬, Python] 파이토치(Pytorch)로 논리 회귀(Logistic Regression)구현하기! (0) | 2023.06.26 |