[DL] Neural Network

김선형·2025년 9월 19일

DL

목록 보기
1/4

Neural Network와 Perceptron

Neural Network는 인간의 신경망 구조에서 영감을 받은 모델이다. Perceptron은 Neural Network의 기본 요소로, 각 퍼셉트론은 신경 세포 하나를 나타낸다.
퍼셉트론은 입력 벡터의 Weighted sum에 bias를 더한 뒤, Activation Function을 적용한다. 단일 퍼셉트론은 사실상 Logistic Regression과 동일하다.

✏️ Activation Function의 역할
1. 출력을 특정 범위로 제한한다.
2. 데이터에 비선형성을 추가한다.

✏️ Neural Network는 여러 퍼셉트론으로 Layer를 구성해 쌓아가는 구조이기 때문에 Multi Layer Perceptron이라고도 불린다.

  • Input Layer: Feature 값을 그대로 입력으로 받는 첫 레이어
  • Hidden Layer: Input Layer와 Output Layer 사이의 레이어
  • Output Layer: 최종 출력값 (예측값)을 반환하는 레이어

Input Layer와 Output Layer는 오직 하나이지만, Hidden Layer는 여러 개일 수 있다.
Hidden Layer

Feed Forward와 Backpropagation

Feed Forward (순전파)는 Input Feature를 받아서 출력 결과를 받는 것을 말한다. 즉, Input Layer에서 Output Layer 방향으로 값이 흐른다. Input Vector와 Weight의 Dot Product를 계산하여 Bias 더한 뒤, Activation Function을 적용한다.
Backpropagation (역전파)은 반대로 Output Layer에서 Input Layer 방향으로 오차 신호가 흐른다.

Neural Network의 학습

  1. 주어진 Input Feature에 대해 Feed Forward 과정을 거쳐 예측값을 계산한다. 맨 처음에는 가중치에 임의의 초기값을 할당한다.
  2. 예측값과 타겟값 사이의 차이, 즉 Loss Function을 계산한다.
  3. Loss Function 값에 대한 각 퍼셉트론의 가중치 벡터의 Gradient 값을 활용하여 가중치를 업데이트한다. 해당 과정은 역전파를 통해 수행된다.
  4. 1~3이 끝나면 다음 샘플 데이터에 대해 해당 과정을 반복한다. 모든 샘플 데이터에 대해 업데이트가 끝나면 Iteration이 한 번 끝난 것으로 간주한다. 이때 한 번의 Iteration을 1 Epoch라고 한다.
  5. 이러한 Iteration을 Gradient가 수렴할 때까지 반복 수행한다.

✏️ 1 Epoch = 모든 학습 샘플에 대해 1번의 Forward Pass + Backward Pass

NN Learning

수식

Feed Forward

Input a[0]=xa^{[0]}=\mathbf{x}과 Activation Function ff에 대해, 각 Layer (l=1,,Ll=1,\dots,L)에서

z[l]=W[l]a[l1]+b[l]a[l]=f[l](z[l])z^{[l]}=\mathbf{W}^{[l]}a^{[l-1]}+b^{[l]}\\ a^{[l]}=f^{[l]}\left(z^{[l]}\right)

Output Layer에서는 a[L]a^{[L]}이 최종 출력이다.

Backpropagation

Loss Function LL에 대해,
Output Layer(l=Ll=L) Loss:

δ[L]=Lz[L]=a[L]y\delta^{[L]}=\frac{\partial L}{\partial z^{[L]}}=a^{[L]}-y

Hidden Layer (l=L1,,1l=L-1,\dots,1) Loss:

δ[l]=((W[l+1])Tδ[l+1])f[l](z[l])\delta^{[l]}=\left(\left(\mathbf{W}^{[l+1]}\right)^T\delta^{[l+1]}\right)\odot f'^{[l]}\left(z^{[l]}\right)

where \odot: 원소별 곱
Gradients:

LW[l]=δ[l](a[l1])TLb[l]=δ[l]\frac{\partial L}{\partial \mathbf{W}^{[l]}}=\delta^{[l]}\left(a^{[l-1]}\right)^T\\ \frac{\partial L}{\partial b^{[l]}}=\delta^{[l]}

Update

W[l]W[l]ηLW[l]b[l]b[l]ηLb[l]\mathbf{W}^{[l]}\leftarrow\mathbf{W}^{[l]}-\eta\frac{\partial L}{\partial \mathbf{W}^{[l]}}\\ b^{[l]}\leftarrow b^{[l]}-\eta\frac{\partial L}{\partial b^{[l]}}

예시

Feed Forward
Backpropagation

profile
선형의 비선형적 기록 🐜

0개의 댓글