딥러닝의 학습 과정 – 학습과 최적화
전방 전달(Forward Propagation)
전방 전달은 딥러닝 학습의 첫 번째 단계입니다. 학습 과정에서 입력 데이터가 신경망의 입력층으로 들어오고, 각 **은닉층(hidden layer)**을 거쳐 출력층에 도달하게 됩니다. 이때 각 층에서 **가중치(weight)**와 **편향(bias)**을 고려하여 입력 값을 계산하고, 그 결과를 활성화 함수를 통과시켜 다음 층으로 전달합니다. 출력층에서는 최종적인 예측값을 도출하며, 이 값은 실제값과 비교하여 오차가 계산됩니다.
오차 계산
전방 전달이 끝난 후, 모델의 예측값과 실제값(정답) 사이의 **오차(error)**를 계산합니다. 오차를 계산하는 방법은 주로 **손실 함수(loss function)**를 사용하여 구합니다. 손실 함수는 모델의 예측이 얼마나 잘못되었는지 측정하는 지표로, 회귀 문제에서는 보통 **평균 제곱 오차(MSE)**를, 분류 문제에서는 교차 엔트로피(cross-entropy) 손실 함수를 사용합니다. 이 손실 값은 모델의 성능을 평가하는 지표로 사용되며, 이를 최소화하는 방향으로 학습이 진행됩니다.
역전파(Backpropagation)
역전파는 딥러닝 모델의 학습 알고리즘 중 핵심적인 부분으로, 모델의 오차를 네트워크를 거슬러 올라가면서 전파하여 가중치와 편향을 업데이트하는 방법입니다. 역전파는 미분 계산을 통해 각 **가중치에 대한 오차의 기울기(gradient)**를 구하고, 이 기울기를 이용해 경사 하강법(Gradient Descent) 또는 그 변형 방법(예: Adam, RMSProp 등)을 통해 가중치를 조정합니다. 역전파 알고리즘을 사용하면, 오차의 기울기가 네트워크의 각 층을 따라 전파되며, 가장 큰 오차가 발생하는 가중치가 우선적으로 수정됩니다
경사 하강법(Gradient Descent)
경사 하강법은 가중치 업데이트를 위한 핵심 알고리즘입니다. **기울기(Gradient)**를 사용하여 손실 함수를 최소화하는 방향으로 가중치를 수정합니다. 경사 하강법은 가장 낮은 오차를 찾기 위해 손실 함수의 기울기를 따라 이동하는 방식입니다. 이때, **학습률(learning rate)**이라는 하이퍼파라미터가 중요한 역할을 합니다. 학습률이 너무 크면 최적점을 넘칠 수 있고, 너무 작으면 학습이 느려지거나 최적점에 도달하지 못할 수 있습니다. 다양한 변형 방법인 모멘텀(Momentum), Adam, Adagrad 등이 경사 하강법의 성능을 향상시킬 수 있습니다.
가중치 업데이트와 최적화
가중치 업데이트는 딥러닝 모델 학습의 핵심입니다. 역전파를 통해 계산된 **기울기(gradient)**를 바탕으로, 경사 하강법을 사용하여 **가중치(weight)**를 조정합니다. 이 과정은 모델이 예측을 더 잘 할 수 있도록 가중치를 점진적으로 최적화하는 것입니다. 학습이 진행됨에 따라, 가중치와 편향은 최적화되어 모델의 예측 정확도가 향상됩니다. 학습이 완료되면, 최적의 가중치를 찾아내어 새로운 데이터에 대한 예측을 할 수 있는 모델이 됩니다. **과적합(overfitting)**을 방지하기 위해 정규화나 **드롭아웃(Dropout)**과 같은 기법을 사용하기도 합니다