KG_KAIROS/DeepLearning

[DeepLearning] ReLU와 Softmax 그리고 NN single node

projectlim 2024. 8. 19. 17:47
728x90
반응형
SMALL

신경망의 활성화 함수: ReLU와 Softmax

신경망에서 활성화 함수는 각 노드의 출력을 결정하는 중요한 역할을 합니다.

이번 포스트에서는 hidden layer의 활성화 함수로 **ReLU (Rectified Linear Unit)**를,

output layer의 활성화 함수로 softmax를 사용하는 경우에 대해 정리해보겠습니다.

ReLU (Rectified Linear Unit)

  • 정의: ReLU는 입력 값이 양수일 경우 그대로 출력하고, 음수일 경우 0을 출력하는 함수입니다.
  • 수식:
  • 특징: 계산이 간단하고, 음수 값을 0으로 만들어서 신경망의 비선형성을 유지하면서도 학습 속도를 빠르게 합니다. 이는 gradient vanishing 문제를 완화하는 데 도움이 됩니다.

Softmax

  • 정의: Softmax는 출력 값들을 확률 분포로 변환하는 함수입니다. 각 출력 값이 0과 1 사이의 값이 되며, 모든 출력 값의 합은 1이 됩니다.
  • 수식:
  • 특징: 주로 분류 문제에서 사용되며, 각 클래스에 속할 확률을 나타냅니다. 이를 통해 모델이 각 클래스에 대해 얼마나 확신하는지를 알 수 있습니다.

이 두 가지 활성화 함수는 신경망의 학습과 예측 성능을 높이는 데 중요한 역할을 합니다.

ReLU는 hidden layer에서 비선형성을 유지하면서도 효율적인 학습을 가능하게 하고,

softmax는 output layer에서 확률 분포를 제공하여 분류 문제를 효과적으로 해결합니다.


그러면 오늘의 수업 실습을 보여 드리겠습니다!!

 

https://aerial-kileskus-bc5.notion.site/Karios2_Deep-Learning_-8a47fc6adb9543cc831201d7282933d0

 

Karios2_Deep Learning_가산 | Notion

Built with Notion, the all-in-one connected workspace with publishing capabilities.

aerial-kileskus-bc5.notion.site

 

저번주 금요일에 했어야 했지만...

휴가 쓰는 바람에

첫 수업 입니다..!

 

지난 시간 review를 통해

array 활용 image

 

 

NN single node

관련 설명입니다.

 

머릿속에 저장

 

신경망(NN)의 단일 노드(single node)는 가장 기본적인 구성 요소입니다.

이를 이해하는 것은 전체 신경망의 동작을 이해하는 데 중요합니다.

단일 노드는 입력을 받아 가중치와 바이어스를 적용하고, 활성화 함수를 통해 출력을 생성합니다.

단일 노드의 구성 요소

  1. 입력 (Input): 노드는 여러 입력 값을 받을 수 있습니다. 각 입력 값은 해당 입력에 대한 가중치(weight)와 곱해집니다.
  2. 가중치 (Weights): 각 입력 값에 곱해지는 값으로, 학습을 통해 조정됩니다. 가중치는 입력의 중요도를 나타냅니다.
  3. 바이어스 (Bias): 모든 입력 값과 가중치의 합에 더해지는 값으로, 노드의 출력을 조정하는 역할을 합니다.
  4. 활성화 함수 (Activation Function): 입력 값과 가중치의 합에 바이어스를 더한 결과에 적용되는 함수로, 노드의 출력을 결정합니다.

단일 노드의 동작

  1. 입력 값과 가중치의 곱: 각 입력 값 (x_i)에 해당 가중치 (w_i)를 곱합니다.z = \sum_{i} x_i w_i
  2. 바이어스 추가: 위의 결과에 바이어스 (b)를 더합니다.z = \sum_{i} x_i w_i + b
  3. 활성화 함수 적용: 최종 결과에 활성화 함수 (f(z))를 적용하여 출력을 생성합니다.a = f(z)

예시: ReLU 활성화 함수 사용

  • 입력 값: (x_1, x_2)
  • 가중치: (w_1, w_2)
  • 바이어스: (b)
  • 활성화 함수: ReLU

z = x_1 w_1 + x_2 w_2 + b

a = \max(0, z)

 

이와 같이 단일 노드는 입력 값을 받아 가중치와 바이어스를 적용하고,

활성화 함수를 통해 최종 출력을 생성합니다.

이 기본적인 동작 원리가 여러 노드와 층(layer)으로 확장되어 복잡한 신경망을 구성하게 됩니다.

 

잘 모르면 reru 쓰셈ㅎㅎ

 

 

 

코랩 공유 해드립니다.

Untitled17.ipynb
0.11MB

 

sigmoid.ipynb
0.14MB
fashion_mnist_0819.ipynb
0.16MB
relu.ipynb
0.16MB

728x90
반응형
LIST