[NLP] CS224N 3강 정리 [Backpropagation, Neural Network]
1. 신경망의 기본 개념
구조
- 신경망은 여러 개의 계층으로 구성되며, 각 계층의 뉴런은 입력에 가중치(W)를 곱하고 편향(b)을 더한 후 비선형 함수를 적용합니다.
중간 계층의 역할
- 중간 계층은 신경망이 스스로 유용한 표현을 학습하도록 돕는 중요한 역할을 합니다.
비선형 함수 (활성화 함수)
- 신경망이 복잡한 함수를 근사할 수 있도록 해주는 핵심 요소입니다. 선형 변환만으로는 표현력에 한계가 있기 때문에, 비선형 함수가 필수적입니다.


초기 모델
- 처음에는 기울기가 없어 학습이 어려웠던 임계값 함수가 사용되었습니다.
과거 사용 모델
- 이후 기울기가 있는 시그모이드(Sigmoid)나 TanH 함수가 주로 사용되었습니다.
현대 모델
- 현재는 ReLU(Rectified Linear Unit)가 가장 보편적으로 사용됩니다.
- ReLU는 계산이 간단하고 학습에 효과적이라는 장점이 있습니다.
- 이 외에도 Leaky ReLU, Parametric ReLU, Swish, GeLU 등 다양한 변형이 있습니다.
2. 경사 기반 학습 및 행렬 미적분학
경사 하강법
- 신경망 학습은 경사 하강법(gradient-based learning)을 통해 이루어집니다.
- 이는 손실 함수의 기울기를 계산하여 매개변수를 업데이트하는 방식입니다.
행렬 미적분학
- 이 과정을 위해 행렬 미적분학이 활용됩니다.
- 다변수 함수의 기울기는 야코비(Jacobian) 행렬로 표현되며, 연쇄 법칙(chain rule)은 여러 단계로 구성된 함수의 미분 값을 계산하는 데 사용됩니다.

3. 역전파 알고리즘 (Backpropagation)
핵심 원리
- 역전파는 연쇄 법칙과 중간 결과 저장이라는 두 가지 핵심 원리를 바탕으로 작동합니다.
- 순전파(forward pass) 과정에서 계산된 중간 결과를 저장해 두었다가, 역전파(backward pass) 시 재사용하여 중복 계산을 피하고 효율적으로 기울기를 계산합니다.
연산 그래프
- 강의에서는 연산 그래프를 이용해 순전파와 역전파 과정을 설명합니다.
- 각 노드에서는 '업스트림 기울기'와 '로컬 기울기'를 곱하여 '다운스트림 기울기'를 계산하는 과정이 반복됩니다.
효율성
- 역전파 알고리즘은 순전파와 비슷한 복잡도를 가지므로 매우 효율적입니다.
자동 미분
- 파이토치와 같은 최신 딥러닝 프레임워크는 사용자가 순전파 함수만 정의하면 자동 미분(automatic differentiation) 기능을 통해 계산 그래프를 자동으로 관리하고 역전파를 수행해줍니다.
검증
- 역전파 구현이 올바른지 확인하기 위해 수치 기울기(numeric gradients)를 사용해 수동으로 검증하는 방법도 소개되었습니다.