두 함수 f와 g가 있고, 두 함수를 연결한 fg가 있다고 가정해 보죠. 여기에서 fg(x) == f(g(x))입니다.
def fg( ): = g( ) = f( ) return
연쇄 법칙을 사용하면 grad(y, x) == grad(y, x1) * grad(x1, x)가 됩니다. 따라서 f와 g의 도함수를 알고 있다면 fg의 도함수를 계산할 수 있습니다. 중간에 함수를 더 추가하면 사슬(chain)처럼 보이기 때문에 연쇄 법칙(chain rule)이라고 부릅니다.
def fghj( ): = j( ) = h( ) = g( ) = f( ) return grad(y, x) == (grad(y, x3) * grad(x3, x2) * grad(x2, x1) * grad(x1, x))
신경망의 그레이디언트 값을 계산하는 데 이 연쇄 법칙을 적용하는 것이 역전파 알고리즘입니다. 구체적으로 어떻게 작동하는지 알아보겠습니다.