단일 퍼셉트론에서는 경사하강법(gradient descent)로 가중치를 수정해가며, 오차를 줄였다.
다층 퍼셉트론에서도 비슷한 방법으로 진행하는데, 그것이 Backpropagation이다.
Backpropagation 방법
- 임의의 초기 가중치를 정한 후 Forward Propagation을 진행한다.
- 계산 결과와 우리가 원하는 값 사이의 오차를 구한다(Loss function에 따라 다름).
- Gradient descent 방식을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 수정 위와 같은 그림에서 첫 번째로 수정할 가중치들은 \(W_5,W_6,W_7,W_8\)이다. 우선 \(W_5\)을 업데이트하기 위해서는 total Error를 \(W_5\)에 대해서 미분한다. 그 후 Gradient descent 방식을 통해 학습률(learning rate)에 따라서 \(W_5\)를 업데이트한다.
위와 같은 방법으로 가중치들을 업데이트 시켜간다.
- 오차가 더 이상 줄어들지 않을 때까지 순전파와 역전파를 반복(반복 횟수를 Epoch라고 한다)
요약
우선 인공 신경망은 입력에 대해서 순전파(forward propagation) 연산을 하고, 그리고 순전파 연산을 통해 나온 예측값과 실제값의 오차를 손실 함수(loss function)를 통해 계산하고, 그리고 이 손실(loss)을 미분을 통해서 기울기(gradient)를 구하고, 이를 통해 역전파(back propagation)를 수행한다.
'DL Study' 카테고리의 다른 글
과적합 줄이기 (0) | 2022.09.06 |
---|---|
Sigmoid Function(시그모이드함수) (0) | 2022.09.05 |
다층 퍼셉트론(MultiLayer Perceptron, MLP) (0) | 2022.09.01 |
Perceptron(퍼셉트론) (0) | 2022.08.31 |
Softmax Regression(Multinomial Logistic Regression) (0) | 2022.08.30 |