모두를 위한 딥러닝
* [DL] 모두를 위한 딥러닝 9-2 Backpropagation
승무_
2022. 4. 3. 11:26
경사 하강법을 이용해 모델을 학습하기 위해서는 각 가중치의 미분값이 필요하다.
XOR을 구현한 모델은 2개의 레이어로 구성되어있다.
어떻게 해야할까?
*)Chain rule를 이용해 각 노드의 미분값을 구할 수 있다.
*)미분값의 의미:w를 1만큼 바꾸면 예측값이 5배 만큼 바뀜
*)df/dw의 의미: w의 변화가 f에 얼마나 영향을 주냐
chain-rule을 이용하면 레이어가 깊어도 미분 값 알 수 있다.
Chain rule을 이용한 Sigmoid노드의 미분
이를 이용하면 Sigmoid의 미분도 간단하다.
각 계산별로 노드를 나눈 뒤 미분을 수행하면 된다.
텐서플로우에서는 이러한 방식을 사용해 미분을 하는데,
각 노드가 서로 연결되어 있는 모습을 TensorBoard에서 확인할 수 있다
텐서플로우가 그래프로 만든 이유: backpropagation하기 위해서