계산 그래프(computational graph)란 계산하는 과정을 그래프로 나타낸 것이다. 그래프는 우리가 잘 아는 그래프 자료구조로, 복수의 노드와 에지로 표현된다. 계산은 왼쪽에서 오른쪽으로 진행되면 순전파(forward propagation), 오른쪽에서 왼쪽으로 진행되면 역전파(backward propagation)이라고 한다.
아래에 사과와 귤의 지불금액을 구하는 계산 그래프 예시가 있다.
계산 그래프의 특징은 '국소적 계산'을 전파함으로써 최종 결과를 얻는다. 즉 전체에서 어떤 일이 벌어지든 상관없이 자신과 관계된 정보만으로 결과를 출력한다.
아래 예시에서 사과의 값(200)과 4,000원의 값을 더하는 계산은 4,000원이 어떻게 계산되었는지 관계없이 더하기만 하면 된다!
이처럼 계산 그래프는 국소적 계산에 집중하며, 전체 계산이 아무리 복잡하더라도 분해하여 단순하고 국소적 계산으로 풀 수 있다.
계산 그래프의 장점은 무엇일까?
- 국소적 계산
--> 아무리 복잡해도 단순한 계산에 집중해서 문제를 단순화 할 수 있다.- 중간 계산 결과 저장
--> 단계별 계산 결과를 보관할 수 있다.- 역전파
--> 역전파를 통해 '미분'을 효율적으로 계산할 수 있다.