인공 신경망 (Artificial Neural Network)
- 정보가 입력되었을 때, 정보를 얼마나 어떻게 결정할지 결정
- 입력 값, 활성화 함수, 출력 값으로 구성
- 가중치와 편향에 따라 활성화 여부가 결정
활성화 함수 (Activation Function)
1) Sigmoid 함수
- h(x) = 1 / (1 + exp(-x))
- 자연 상수를 분모로 하는 함수
- 0과 1 사이의 값을 갖는다.
- 미분한 값의 최대치가 0.25다.
2) tanh 함수 (하이퍼볼릭 탄젠트)
- tanh(x) = sinh(x) / cosh(x)
- Sigmoid 함수를 rescale한 함수
- 1과 -1 사이의 값을 갖는다.
- 실수의 회귀 문제에 자주 쓰인다. (수요예측 문제 등)
3) ReLU
- ReLU(x) = 0 if (x<0) / x if ( x>=0)
- 극단적으로 값이 0보다 작으면 0, 0보다 크면 x값 그대로 출력
- 미분한 값의 최대치가 1 또는 0
- 최근 딥러닝에서 가장 많이 사용됨!
출력층 (Output Layer)
- 분류 문제(Classification)와 회귀 문제(Regression)에 따라 출력층을 설계함
- 분류 문제는 데이터가 어느 클래스에 속할지 결정하는 문제로, 출력층에 Softmax 함수를 사용 (카테고리 합을 1로 바꿔주는 함수)
- 회귀 문제는 수치를 예측하는 문제 (주가 등), 항등 함수(Linear Function)를 사용 (그대로 출력한다는 뜻)
역전파 (Back Propagation)
기울기 소실 (Vanishing Gradient)
- 층이 늘어나면서 미분값이 중간에 0이 되어 정보가 소실되어 버리는 현상
- 활성화 함수 중 Sigmoid 함수의 특징으로 인함
- 1보다 작기 때문에 계속 곱하다 보면 기울기가 사라져 가중치를 수정하기 어려움
- 활성화 함수 중 ReLU를 쓰거나, 초기화를 잘 하는 것이 중요함
신경망의 모델링
Affine and Activation
- 입력층, 은닉층, 출력층을 설계할 때 아래와 같이 할 수 있음
- 입력층 - Affine - ReLU - Affine - ReLU - Affine - Softmax
- 여기에서 Affine(취합)이란 입력을 받아 데이터를 처리하는 부분 (w1x1 + w2x2 + ... + b 등)
'AI > Deep Learning' 카테고리의 다른 글
| [딥러닝] 전처리 - 토큰화 (Tokenizing) (0) | 2025.12.09 |
|---|---|
| [딥러닝] 선형회귀와 경사하강법 (0) | 2025.12.07 |
| [딥러닝] TensorFlow란? (0) | 2025.12.06 |
| [딥러닝] 생성형 AI의 발전 과정 (0) | 2025.08.06 |
| [딥러닝] CNN (Convolutional Neural Network) (0) | 2024.12.11 |