"순전파(Forward propagation)"는 딥러닝 모델에서 입력 데이터를 모델의 레이어를 통과시켜서 출력을 계산하는 과정을 말한다.
딥러닝 모델은 일련의 레이어와 활성화 함수로 구성되어 있으며, 입력 데이터는 이러한 레이어를 통과하면서 점진적으로 변환된다. 각 레이어는 입력 데이터에 일련의 연산을 수행하고, 이를 통해 입력 데이터를 고차원 공간으로 매핑하거나 특정 패턴을 추출한다.
순전파의 과정은 다음과 같이 이루어진다.
- 입력 데이터를 모델의 첫 번째 레이어에 주입한다.
- 입력 데이터는 레이어에서 정의된 연산을 수행하고, 가중치와 편향을 고려하여 변환된다.
- 이렇게 변환된 데이터는 다음 레이어로 전달되고, 동일한 과정이 반복된다.
- 최종 레이어에서는 예측값을 생성하는 연산을 수행한다.
- 최종 예측값이 반환된다.
순전파는 학습된 가중치와 편향을 사용하여 입력 데이터에 대한 예측값을 계산하는 과정이기 때문에, 이 단계는 주로 학습된 모델을 사용하여 새로운 입력에 대한 예측을 수행하는 데 사용된다. 학습 중에는 순전파를 통해 예측값을 생성하고, 이를 기준으로 손실 함수를 계산하여 모델을 업데이트하는 등의 과정이 이루어진다.
순전파는 딥러닝 모델의 핵심적인 계산 과정이며, 역전파(backpropagation) 과정과 함께 학습 과정을 이룬다.
"역전파(backpropagation)"는 모델의 가중치를 학습하기 위한 과정으로, 손실 함수의 그래디언트를 계산하여 모델의 파라미터를 업데이트한다.역전파는 손실 함수를 통해 모델의 예측과 실제 값 사이의 오차를 측정하고, 이 오차를 이용하여 모델의 가중치를 조정한다. 역전파를 통해 모델은 학습 데이터에 맞춰 최적의 가중치를 조정하며, 일반화된 예측을 수행할 수 있도록 한다.
주로 경사하강법(Gradient Descent)을 사용하여 역전파된 그래디언트를 기반으로 모델 파라미터를 업데이트한다. 이를 통해 모델은 손실 함수를 최소화하도록 학습된다.
역전파 과정은 다음과 같이 이루어진다.
- 순전파: 입력 데이터를 모델에 주입하여 예측값을 계산한다.
- 손실 함수 계산: 예측값과 실제 값 사이의 오차를 계산하는 손실 함수를 정의하고, 순전파로 얻은 예측값과 실제 값으로 손실 함수를 계산한다.
- 그래디언트 계산: 손실 함수의 그래디언트를 계산하기 위해 역전파를 시작한다. 먼저, 손실 함수의 값에서 시작 레이어의 그래디언트를 계산한다. 이는 손실 함수의 값에 대한 해당 레이어의 가중치의 편미분 값이다.
- 역전파: 그래디언트를 이전 레이어로 전파한다. 각 레이어에서는 해당 레이어의 입력과 그래디언트를 이용하여 가중치와 편향에 대한 편미분 값을 계산한다. 이 편미분 값은 그래디언트의 방향과 크기를 나타낸다.
- 가중치 업데이트: 계산된 편미분 값을 사용하여 경사하강법 등의 최적화 알고리즘을 이용하여 가중치와 편향을 업데이트한다. 이 단계에서 학습률(learning rate)과 같은 하이퍼파라미터를 사용하여 가중치 업데이트의 크기를 조절할 수 있다.
- 업데이트된 가중치로 순전파와 역전파 반복: 가중치가 업데이트되었으므로 다시 순전파를 수행하여 새로운 예측값을 계산하고, 역전파를 수행하여 새로운 그래디언트를 계산한다. 이 과정을 지정된 에폭(epoch) 또는 학습 반복 횟수만큼 반복한다.
Summary
순전파는 입력 데이터가 신경망을 통과하여 출력을 계산하는 과정을 말한다. 입력 데이터는 신경망의 입력층으로 들어가며, 각 층에서는 가중치와 활성화 함수를 이용하여 계산이 이루어진다. 순전파는 입력에서부터 출력 방향으로 진행되며, 각 층의 출력은 다음 층의 입력이 된다. 이러한 과정을 통해 신경망은 입력 데이터에 대한 예측이나 출력을 생성한다.
역전파는 순전파의 결과와 실제 값 사이의 오차를 사용하여 가중치를 조정하는 과정을 말한다. 오차를 역방향으로 전파하며, 신경망의 가중치와 편향을 업데이트한다. 역전파는 오차를 각 층으로 전파하면서, 각 층의 가중치와 편향에 대한 미분 값을 계산한다. 이를 통해 오차를 최소화하는 방향으로 가중치를 조정하여 모델의 성능을 향상시킨다.
순전파와 역전파는 인공 신경망의 학습 과정에서 상호작용한다. 순전파는 입력에서부터 출력을 계산하고, 역전파는 오차를 역방향으로 전파하여 가중치를 업데이트한다. 이 과정을 반복하면서 신경망은 입력과 출력 사이의 관계를 학습하고, 예측 능력을 향상시키는 것이다.
'자연어 처리(NLP) 공부' 카테고리의 다른 글
| 미니배치(mini-batch)란? (0) | 2023.06.19 |
|---|---|
| Special Tokens: <PAD>, <UNK>, <SOS>, <EOS> (0) | 2023.06.19 |
| 기계 번역 Task 과정 (0) | 2023.06.14 |
| 텐서(Tensor) (0) | 2023.06.13 |
| collate_fn이란? (0) | 2023.06.13 |