AI VIDEO BRIEFING
계산 그래프와 역전파 원리 정리: 파이토치가 기울기를 구하는 과정을 예제로 확인하기
딥러닝 프레임워크는 함수를 노드와 연산으로 쪼갠 계산 그래프 위에서 연쇄법칙을 적용해 기울기를 구한다. 순전파와 역전파가 어떻게 이어지는지, 파이토치 예제에서 계산 값이 정확히 맞아떨어지는 과정까지 함께 짚어본다.

핵심 메시지
쉽게 이해하기
딥러닝에서 큰 비중을 차지하는 일은 매우 복잡한 함수의 미분값, 즉 기울기를 효율적으로 구하는 것이다. 텐서플로나 파이토치 같은 프레임워크는 이를 위해 계산 그래프라는 개념을 사용한다. 강연자는 변수 세 개의 곱이라는 단순한 함수로 이 구조를 설명한다.
x, y, z의 곱으로 이뤄진 함수를 그래프로 만들면 먼저 x와 y가 곱셈 연산으로 만나 x·y 노드가 되고, 그 결과가 다시 z와 곱해져 마지막 노드가 된다. 이렇게 나가는 간선이 없는 노드에 도달할 때까지 그래프를 훑어 함수값을 구하는 것이 순전파다. 노드는 값을 담고, 노드 사이의 연결은 연산을 뜻한다.
역전파는 반대 방향으로 진행된다. 단순 곱에서 z에 대한 미분은 z를 지운 x·y이므로 이 값을 z 노드에 저장하고, 같은 식으로 x·y 노드에는 z가 저장된다. x에 대한 미분은 연쇄법칙에 따라 'f를 x·y로 미분한 값'에 'x·y를 x로 미분한 값'을 곱해 구하는데, 앞의 항은 이미 노드에 들어 있으므로 다시 계산할 필요가 없다.
여기서 핵심은 원래 함수가 무엇이었는지 몰라도 된다는 점이다. 그래프를 따라가며 이전 노드에 저장된 값을 꺼내 쓰기만 하면 되기 때문이다. 그래서 노드가 수천, 수십억 개로 늘어나도 함수가 해석적이기만 하면 같은 방식으로 그래프 맨 앞까지 기울기를 되돌릴 수 있다.
파이토치 실습에서는 2, 3, 4를 담은 텐서에 기울기 추적을 켜고 세 값의 곱을 만든 뒤 backward()를 호출한다. x의 기울기는 y·z인 12, y는 x·z인 8, z는 x·y인 6으로 손으로 푼 값과 정확히 일치한다. 이어서 x를 제곱하는 블록과 1을 더하는 블록을 이어 붙인 예에서도, 전체 함수가 x²+1이므로 x=2에서 기울기는 4가 나온다.
주요 인사이트
- 계산 그래프의 진짜 이점은 미분 공식을 매번 새로 유도하지 않아도 된다는 데 있다. 각 노드가 자기 몫의 기울기를 들고 있어 뒤 노드의 결과를 그대로 재사용한다.
- 트랜스포머든 합성곱 신경망이든 하나의 '계산 블록'으로 추상화하면, 블록이 몇 개로 늘어나든 같은 연쇄법칙을 반복 적용하는 문제로 단순해진다.
- 그래프가 아무리 커져도 미분을 아는 기본 연산의 조합으로만 이뤄져 있다면 기울기 계산은 효율적으로 유지된다.
- 파이토치의 기울기 추적 설정과 backward() 호출은 이 이론을 그대로 옮겨 놓은 인터페이스이며, 손으로 계산한 미분값과 출력이 맞는지 비교해 보면 동작을 확인할 수 있다.
자주 묻는 질문
계산 그래프는 왜 필요한가요?
신경망 학습의 핵심인 역전파는 매우 복잡한 함수의 기울기를 구해야 하는데, 함수를 노드와 기본 연산으로 쪼개 그래프로 표현하면 각 노드에 미분값을 저장해 두고 연쇄법칙으로 이어 붙이는 방식으로 효율적으로 계산할 수 있기 때문이다.
순전파와 역전파는 어떻게 다른가요?
순전파는 입력 노드에서 시작해 연산을 따라가며 최종 함수값을 구하는 과정이고, 역전파는 그 그래프를 거꾸로 훑으며 연쇄법칙으로 각 노드에 기울기를 저장해 가는 과정이다.
어떤 함수든 기울기를 구할 수 있나요?
영상에서는 함수가 해석적이고 미분을 아는 기본 연산들로 계산 그래프에 담을 수 있다면, 그래프가 아무리 복잡해도 항상 기울기를 효율적으로 구할 수 있다고 설명한다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗