2층 신경망(2-layer neural network)의 역전파(backpropagation) 알고리즘은 모델의 출력을 실제 레이블과 비교하여 손실(loss)을 계산하고, 이 손실을 줄이기 위해 모델의 가중치와 바이어스를 업데이트하기 위해 기울기(gradient)를 계산하는 과정이다.
입력 데이터가 신경망을 통해 순차적으로 전달되며, 각 층의 가중치와 바이어스를 적용한 후 활성화 함수를 통해 변환된다.
2층 신경망의 경우, 입력층 → 은닉층 → 출력층 순으로 계산이 이루어진다.
최종 출력층에서 예측값 Y_hat이 계산된다.
손실 함수를 사용하여 모델의 예측 Y_hat과 실제 레이블 Y 간의 차이를 계산합니다.
일반적으로 분류 문제에서는 크로스 엔트로피 손실이 사용된다.
출력층에서의 오차(예측값과 실제값의 차이)를 계산한다.
dZ2 = Y_hat - Y
출력층의 오차 $dZ2$를 사용하여 출력층의 가중치 $W2$와 바이어스 $b2$에 대한 기울기를 계산한다.
dW2 = np.dot(A1.T, dZ2) / m
db2 = np.sum(dZ2, axis=0, keepdims=True) / m