Neural Network에서의 Computation
- Forward propagation : neural network의 output을 계산하는 과정
- Backward propagation : gradient(derivate)를 계산하는 과정
Computation Graph
Forward/backwrad propagation 과정을 그래프로 나타낸 것이다.
Computation graph를 이용해서 컴퓨터가 gradient를 간단하게 계산할 수 있도록 변환할 수 있다.
사람은 눈으로 보고 미분 방정식을 통해 쉽게 gradient를 계산할 수 있지만, 컴퓨터는 그렇지 못하다.
따라서 computation graph를 이용해서 컴퓨터가 gradient를 쉽게 계산할 수 있도록 수식을 만들어준다.
예시
아래 모델에서 우리가 필요한 것은 $dJ$에 대한 a, b, c에 대한 변화율($\frac{dJ}{da}, \frac{dJ}{db}, \frac{dJ}{dc}$)이다.
$\frac{dJ}{da}, \frac{dJ}{db}, \frac{dJ}{dc}$를 각각 $da, db, dc$로 표현한다.
위에서처럼 오른쪽에서 왼쪽 방향으로 backward propagation을 통해 쉽게 $da, db, dc$를 구할 수 있다.
Sum over Paths
아래 그림의 x node와 같이 backward propagation 할 때 여러 개가 하나로 모인다면 합하면 된다.
'Computer Science > AL, ML' 카테고리의 다른 글
Neural Network (0) | 2022.04.07 |
---|---|
Logistic Regression (0) | 2022.04.07 |
Gradient Descent (0) | 2021.08.06 |
Loss Function, Cost Function (0) | 2021.08.06 |
Matrix Notation (0) | 2021.08.05 |
댓글