AI VIDEO BRIEFING

역전파 원리 정리: 순전파와 같은 비용으로 기울기를 얻는 이유 (스탠퍼드 CS229 8강)

스탠퍼드 CS229 2026년 봄학기 8강은 미분 가능한 회로라면 기울기 계산 비용이 함수 계산 비용과 같다는 정리에서 출발해, 연쇄법칙을 모듈별 역방향 함수로 재해석하고 선형 계층과 활성화 함수의 역전파 공식을 직접 유도했다.

역전파는 왜 '공짜'인가: 스탠퍼드 CS229 8강이 짚은 기울기 계산의 원리 영상 대표 이미지

핵심 메시지

  • 크기 n인 미분 가능한 회로가 스칼라 함수를 계산한다면, 그 함수의 기울기도 비슷한 O(n) 시간에 계산할 수 있다는 것이 역전파의 핵심 정리다.
  • 신경망은 연산량이 파라미터 수에 비례하므로, 손실값 계산도 기울기 계산도 모두 파라미터 수에 비례하는 비용으로 끝난다.
  • 연쇄법칙은 '출력 쪽 기울기를 받아 입력 쪽 기울기를 돌려주는 역방향 함수'로 볼 수 있고, 이 함수는 뒤쪽 계산이 무엇이었는지 전혀 알 필요가 없다.
  • 행렬곱의 역방향은 가중치 행렬의 전치를 곱하는 것이고, 가중치에 대한 기울기는 출력 쪽 기울기와 입력 벡터의 외적이라 예제 하나 기준으로는 항상 랭크 1이다.
  • 역전파는 활성값에 대한 기울기를 순차적으로 내려보내는 흐름과, 거기서 갈라져 나오는 파라미터 기울기 계산의 두 단계로 나뉘며 후자는 병렬화와 메모리 해제의 여지를 만든다.

쉽게 이해하기

스탠퍼드 CS229 2026년 봄학기 8강은 신경망 강의의 두 번째 편으로, 주제는 역전파다. 강의자는 요즘은 프레임워크가 알아서 해주니 직접 유도할 일이 없지만, 한동안 연구소 면접에서 역전파를 물어봤을 만큼 딥러닝에서 객관적으로 답할 수 있는 몇 안 되는 기술적 질문이라고 소개한다. 학습률이나 데이터셋 설계 같은 결정은 상당 부분 주관적인 반면, 기울기를 어떻게 효율적으로 구하는가는 정확한 답이 있는 문제라는 것이다.

강의는 신경망이 아니라 더 일반적인 '미분 가능한 회로'에서 출발한다. 덧셈·곱셈 같은 사칙연산과 시그모이드 같은 기본 함수를 이어 붙여 스칼라 하나를 내놓는 회로가 있다고 하자. 이때 회로의 크기가 n이면 함수값을 구하는 데 O(n)이 드는데, 놀랍게도 입력 전체에 대한 기울기 역시 비슷한 O(n)에 구할 수 있다. 즉 순전파와 역전파의 비용이 사실상 같다. 신경망에서는 연산 횟수가 파라미터 수에 비례하므로(D×D 행렬은 파라미터도 연산도 D²), 손실의 기울기 계산 비용도 파라미터 수에 비례한다는 결론이 따라온다.

증명의 도구는 연쇄법칙인데, 강의는 이를 익숙한 공식이 아니라 모듈의 인터페이스로 재해석한다. 중간 변수 u가 함수 G를 통해 입력 z로부터 나오고, 그 뒤로 아무리 복잡한 계산 f가 이어져 최종 손실 J가 나온다고 하자. 이때 J를 u로 미분한 값만 주어지면, J를 z로 미분한 값은 야코비 행렬의 전치를 곱해 구할 수 있다. 중요한 것은 이 계산에 G와 z만 필요할 뿐 뒤쪽의 f가 무엇이었는지는 전혀 필요 없다는 점이다. 강의자는 이 성질을 두고 과거를 잊어도 된다는 의미에서 마르코프적이라고 표현했고, 그래서 파이토치의 모든 모듈이 자기 몫의 역방향 함수만 구현하면 어떤 조합에도 끼워 넣을 수 있다.

구체적인 모듈로 내려가면 계산은 단순해진다. 선형 계층에서 입력에 대한 기울기는 가중치 행렬의 전치를 출력 쪽 기울기에 곱한 것이 전부다. 가중치에 대한 기울기는 더 흥미로운데, 한 예제만 놓고 보면 출력 쪽 기울기와 입력 벡터의 외적이 되어 항상 랭크 1인 행렬이 된다. 강의자는 이 형태가 생물학에서 시냅스 갱신을 설명하는 규칙과 닮았다고 언급하며, 어떤 연결의 기울기는 그 연결이 이어주는 출력 쪽 오차와 입력 쪽 값의 곱이라고 정리한다. 활성화 함수는 좌표별로 독립이라 야코비 행렬이 대각행렬이 되고, 결국 미분값 벡터와 원소별 곱을 하면 끝난다.

마지막으로 실제 구현에서 중요한 구조가 나온다. 역전파는 중간 활성값에 대한 기울기를 뒤에서 앞으로 순차적으로 내려보내는 흐름이 하나 있고, 거기서 각 층의 파라미터 기울기가 옆으로 갈라져 나온다. 첫 층의 파라미터 기울기를 얻으려면 활성값 기울기 사슬을 끝까지 타고 내려와야 하지만, 갈라져 나오는 쪽은 병렬로 처리할 수 있고 계산이 끝난 텐서는 메모리에서 해제할 수 있다. 어떤 값이 어떤 값에 의존하는지를 이해해야 계산 순서와 메모리 해제 시점, GPU 간 통신까지 최적화할 수 있다는 것이 강의의 실무적 결론이다.

주요 인사이트

  • '기울기가 함수 계산과 같은 비용'이라는 정리는 신경망 전용이 아니다. 순전파로 계산할 수 있는 형태로 정의된 함수라면 대부분 적용되며, 그래서 자동미분은 딥러닝 밖에서도 쓰인다.
  • 이 정리를 두 번 적용하면 2차 정보의 일부도 효율적으로 얻을 수 있다. 헤시안 행렬 자체는 파라미터 수의 제곱 크기라 만들 수 없지만, 기울기와 벡터의 내적을 다시 미분하면 헤시안·벡터 곱은 선형 시간에 구해진다.
  • 알고리즘 자체를 미분 대상으로 삼을 수도 있다. 한 번의 경사하강 스텝을 밟은 뒤의 손실을 다시 파라미터로 미분하는 식이며, 학습률 같은 하이퍼파라미터 튜닝이나 메타러닝, 테스트 시점 학습 같은 기법의 토대가 된다.
  • 역방향 함수가 국소 정보만 요구한다는 점이 프레임워크 설계와 직결된다. 모듈은 자기 함수와 입력값만 기억하면 되므로 임의의 구성으로 조립할 수 있고, 그래서 새로운 층을 추가할 때도 전체 그래프를 다시 설계할 필요가 없다.

자주 묻는 질문

역전파가 순전파와 비슷한 비용으로 끝나는 이유는 무엇인가?

크기 n인 미분 가능한 회로가 스칼라 함수를 계산하면 그 기울기도 O(n)에 계산할 수 있다는 정리 때문이다. 신경망은 연산 횟수가 파라미터 수에 비례하므로, 손실 계산과 기울기 계산 모두 파라미터 수에 비례하는 비용으로 끝난다.

연쇄법칙을 모듈 단위로 본다는 것은 무슨 뜻인가?

중간 변수에 대한 기울기를 입력으로 받아 그 앞 변수에 대한 기울기를 내놓는 함수로 본다는 뜻이다. 이 계산에는 해당 모듈의 함수와 입력값만 필요하고 뒤쪽에서 어떤 계산이 이어졌는지는 필요 없어서, 모듈을 자유롭게 조합할 수 있다.

선형 계층과 활성화 함수의 역방향 계산은 각각 어떻게 되는가?

선형 계층에서 입력에 대한 기울기는 가중치 행렬의 전치를 곱한 값이고, 가중치에 대한 기울기는 출력 쪽 기울기와 입력 벡터의 외적이다. 활성화 함수는 좌표별로 독립이므로 야코비 행렬이 대각행렬이 되어, 미분값 벡터와의 원소별 곱으로 계산이 끝난다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식