역전파(Backpropagation)는 신경망의 손실이 각 가중치에 대해 어떻게 변하는지 계산하는 알고리즘으로, 미적분의 연쇄 법칙을 네트워크의 계층을 통해 역방향으로 적용한다. 이는 경사 하강법으로 심층 네트워크를 훈련하는 것을 계산적으로 실현 가능하게 만드는 메커니즘으로, 단일 순방향 통과와 거의 같은 시간에 업데이트에 필요한 모든 기울기를 계산하므로, 각 개별 가중치에 대해 별도의 비용이 많이 드는 계산을 요구하지 않는다.
역사
역전파의 기반이 되는 수학적 기법인 역방향 모드 자동 미분은 1960년대부터 다양한 형태로 기술되었으며, 폴 워보스(Paul Werbos)는 1974년 하버드 대학 박사 논문에서 이를 신경망에 명시적으로 적용했지만, 당시에는 그 작업이 대체로 주목받지 못했다. 역전파는 1986년 데이비드 럼멜하트, 제프리 힌턴, 로널드 윌리엄스(Ronald Williams)가 네이처(Nature) 저널에 발표한 논문 "오류 역전파를 통한 표현 학습(Learning representations by back-propagating errors)" 이후 주류 AI 연구에 진입했으며, 이 논문은 다층 네트워크가 유용한 내부 표현을 발견하도록 훈련할 수 있음을 입증하여, 20년 전 마빈 민스키(Marvin Minsky)와 시모어 파퍼트(Seymour Papert)가 단일 계층 퍼셉트론에서 확인한 한계를 직접적으로 해결했다. 1986년 논문은 두 번째 AI 겨울을 끝내는 데 기여하고 1980년대 후반과 1990년대 내내 연결주의적 AI 접근법에 대한 관심을 되살린 것으로 널리 인정받는다.
작동 방식
네트워크의 순방향 통과는 현재 입력과 가중치로부터 출력과 손실 함수 값을 계산한다. 그런 다음 역전파는 그 손실로부터 역방향으로 작동하여, 연쇄 법칙을 사용해 계층별로 각 가중치가 오류에 얼마나 기여했는지 계산하고, 단일 역방향 통과로 네트워크의 모든 매개변수에 대한 기울기를 생성한다. 이러한 기울기는 이후 일반적으로 경사 하강법의 변형인 옵티마이저에 의해 사용되어, 손실을 줄이는 방향으로 각 가중치를 조정한다. 이 역방향 계산의 효율성은 공식적으로 역방향 모드 자동 미분의 한 사례로, 수십억 개의 매개변수를 가진 네트워크를 훈련하는 것을 실용적으로 만든다. 각 기울기를 독립적으로 다시 계산하는 순진한 수치적 접근법은 그러한 규모에서 계산적으로 다루기 어려울 것이다.
채택과 한계
1986년 대중화에도 불구하고, 역전파는 즉시 지배적이지 않았다. 1990년대와 2000년대를 통해 역전파로 훈련된 심층 네트워크는 많은 계층을 가진 네트워크에서 기울기 소실 및 기울기 폭발 문제를 겪었으며, 이는 실용적인 깊이를 제한하고 얕은 모델과 서포트 벡터 머신과 같은 대체 방법에 대한 선호에 기여했다. LSTM 네트워크의 게이팅 메커니즘, 신중한 가중치 초기화, 그리고 이후의 잔차 연결 및 정규화 계층을 포함한 구조적 수정이 이러한 문제를 점차 해결했으며, 합성곱 신경망과 결국 트랜스포머를 포함한 매우 깊은 네트워크를 가능하게 했고, 이는 현대 딥러닝을 정의한다. 역전파 자체는 또한 과학적 비판을 받아왔으며, 가장 두드러지게는 제프리 힌턴이 후년에 생물학적 타당성 부족을 지적했다. 뇌에는 알고리즘이 요구하는 정밀하고 대칭적인 역방향 오류 신호에 대한 알려진 메커니즘이 없기 때문이며, 이는 더 생물학적으로 타당한 학습 규칙에 대한 지속적인 연구를 촉진했지만, 현재까지 그 실용적 성능을 따라잡지는 못했다.
중요성
역전파는 컴퓨터 비전에서 자연어 처리에 이르기까지 다양한 영역에서 신경망의 거의 보편적인 훈련 방법으로 남아 있으며, 파이토치와 텐서플로우를 포함한 모든 주요 딥러닝 프레임워크는 이를 대규모로 구현하는 자동 미분 엔진을 중심으로 구축되어 있다.