본문 바로가기
Computer Science/AL, ML

Deep Neural Network의 Propagation

by Gofo 2022. 4. 20.

Deep Neural Network의 Propagation

Shallow network와 동일하게 forward/backward propagation을 통해 예측/update를 할 수 있다.

 

Caching

Backward propagation을 통해 gradient를 구할 때에는 a와 z 값을 caching 해놓는 것이 좋다.

Forward propagtion을 쭉 다 한 후 backward propagation을 수행하게 되는데, forward에서 사용된 a와 z 값이 backward에서 그대로 사용되기 때문이다.

 

따라서 forward에서 구한 $a^{[l]}, z^{[l]}$의 값들을 버리지말고 저장해놨다가 backward에서 사용하는 것이 연산 시간을 줄일 수 있다.

 

Backward Propagation

$l$-th layer의 backward propagation을 일반화하면 아래와 같다.

 

$dW$와 $db$는 $W$와 $b$에 대한 update 값이므로 m으로 나눠 평균을 취해야 한다.

 

각 matrix의 shpae는 아래와 같다.

  • $W^{[l]}$, $dW^{[l]}$ : $(n^{[l]}, n^{[l-1]})$
  • $b^{[l]}$, $b^{[l]}$ : $(n^{[l]}, 1)$
  • $Z^{[l]}$, $dZ^{[l]}$ : $(n^{[l]}, 1)$
  • $A^{[l]}$, $dA^{[l]}$ : $(n^{[l]}, 1)$

 

'Computer Science > AL, ML' 카테고리의 다른 글

[네트워크 성능] Dataset  (0) 2022.04.20
네트워크의 성능  (0) 2022.04.20
Neural Network에서 Layer 수 vs. Unit 수  (0) 2022.04.20
Deep Neural Network의 Vectorization  (0) 2022.04.20
Deep Neural Network (DNN)  (0) 2022.04.20

댓글