공부하면서 생소한 용어나 원활한 플로우 이해를 돕기 위한 포스팅 공간을 마련하였습니다. 계속 수정해가면서 내용이 추가될 예정입니다.
파라미터(Parameter)
모델의 파라미터는 머신러닝 모델이 학습을 통해 조정하는 값들로, 모델의 예측 성능을 결정하는 중요한 요소입니다. 파라미터는 모델의 구조에 따라 다르며, 주로 가중치(weights)와 편향(biases)으로 구성됩니다.
- 가중치(Weights)
- 입력 데이터의 각 특징(feature)에 곱해지는 값입니다. 가중치는 모델이 입력 데이터의 중요도를 학습하는 데 사용됩니다.
- 편향(Biases)
- 모델의 출력에 더해지는 상수 값입니다. 편향은 모델이 데이터를 더 잘 맞추기 위해 조정됩니다.
예시: 선형 회귀 모델
[ y = w_1 x_1 + w_2 x_2 + b ]
- ( w_1 )과 ( w_2 )는 가중치 파라미터입니다.
- ( b )는 편향 파라미터입니다.
- ( x_1 )과 ( x_2 )는 입력 데이터의 특징입니다.
- ( y )는 모델의 출력입니다.
그래디언트(Gradient)
그래디언트는 함수의 기울기를 나타내는 벡터입니다. 머신러닝에서 그래디언트는 손실 함수의 출력이 모델의 각 파라미터에 대해 얼마나 변화하는지를 나타냅니다. 즉, 그래디언트는 손실 함수의 변화율을 나타내며, 이를 통해 모델의 파라미터를 업데이트하여 손실을 최소화할 수 있습니다.
학습률(Learning Rate)
그래디언트의 크기를 조절하는 중요한 하이퍼파라미터입니다. 학습률은 그래디언트를 얼마나 크게 적용할지를 결정합니다. 높은 학습률은 빠른 학습을 가능하게 하지만, 불안정할 수 있습니다. 반대로, 낮은 학습률은 안정적인 학습을 가능하게 하지만, 느릴 수 있습니다.
손실(Loss)
모델의 예측값과 실제 레이블간의 차이를 의미합니다. 손실 값이 작을수록 모델의 예측이 실제 값에 가까워진다는 의미입니다.
손실 함수(Loss Function)
모델의 예측값과 실제 레이블 간의 차이를 수치화하는 함수입니다. 손실 함수는 모델이 얼마나 잘 예측하고 있는지를 평가하는 데 사용됩니다. 손실 함수의 출력은 손실 값입니다. 손실 함수의 예시는 다음과 같습니다.
- 평균 제곱 오차(MSE, Mean Squared Error)
- 회귀 문제에서 자주 사용됩니다. 예측값과 실제 값의 차이를 제곱한 후 평균을 구합니다.
- 교차 엔트로피 손실(Cross-Entropy Loss)
- 분류 문제에서 자주 사용됩니다. 예측 확률 분포와 실제 레이블 간의 차이를 계산합니다.
옵티마이저(Optimizer)
step() 메서드를 활용해서 역전파 결과를 바탕으로 모델의 파라미터를 업데이트합니다.
역전파(Backpropagation)
역전파는 신경망의 학습 과정에서 그래디언트를 계산하는 알고리즘입니다. 역전파는 다음과 같은 단계로 이루어집니다:
- 순전파(Forward Pass): 입력 데이터를 모델에 통과시켜 예측값을 계산합니다.
- 손실 계산(Loss Calculation): 예측값과 실제 레이블 간의 차이를 통해 손실을 계산합니다.
- 역전파(Backward Pass): 손실을 통해 그래디언트를 계산합니다. 이 과정에서 체인 룰(chain rule)을 사용하여 각 파라미터에 대한 그래디언트를 계산합니다.
- 파라미터 업데이트(Parameter Update): 옵티마이저를 사용하여 그래디언트를 기반으로 모델의 파라미터를 업데이트합니다.
역전파 기반 모델 업데이트 원리
역전파를 통해 계산된 그래디언트를 사용하여 모델의 파라미터를 업데이트하는 과정은 다음과 같습니다:
- 순전파(Forward Pass): 입력 데이터를 모델에 통과시켜 예측값을 계산합니다.
- 손실 계산(Loss Calculation): 예측값과 실제 레이블 간의 차이를 통해 손실을 계산합니다.
- 역전파(Backward Pass): 손실을 통해 그래디언트를 계산합니다.
- 그래디언트 초기화(Gradient Zeroing): 옵티마이저의 zero_grad() 메서드를 호출하여 이전 배치에서 계산된 그래디언트를 초기화합니다.
- 그래디언트 계산(Gradient Calculation): 손실의 그래디언트를 계산하여 각 파라미터에 대한 변화율을 구합니다.
- 파라미터 업데이트(Parameter Update): 옵티마이저의 step() 메서드를 호출하여 그래디언트를 기반으로 모델의 파라미터를 업데이트합니다.
'DeepLearning' 카테고리의 다른 글
[DeepLearning] LLM fine-tuning (/w Elice Cloud) (0) | 2025.02.19 |
---|---|
[DeepLearning] 언어 모델 최적화 개념 정리 (0) | 2025.02.14 |
[DeepLearning] 제목 기반 카테고리 예측 모델 개발 (0) | 2025.02.09 |