더북(TheBook)

두 함수 fg가 있고, 두 함수를 연결한 fg가 있다고 가정해 보죠. 여기에서 fg(x) == f(g(x))입니다.

def fg(x):
    x1 = g(x)
    y = f(x1)
    return y

연쇄 법칙을 사용하면 grad(y, x) == grad(y, x1) * grad(x1, x)가 됩니다. 따라서 fg의 도함수를 알고 있다면 fg의 도함수를 계산할 수 있습니다. 중간에 함수를 더 추가하면 사슬(chain)처럼 보이기 때문에 연쇄 법칙(chain rule)이라고 부릅니다.

def fghj(x):
    x1 = j(x)
    x2 = h(x1)
    x3 = g(x2)
    y = f(x3)
    return y 
    
grad(y, x) == (grad(y, x3) * grad(x3, x2) *
               grad(x2, x1) * grad(x1, x))

신경망의 그레이디언트 값을 계산하는 데 이 연쇄 법칙을 적용하는 것이 역전파 알고리즘입니다. 구체적으로 어떻게 작동하는지 알아보겠습니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.