lecture6. Backpropagation

Ki8888·2021년 2월 1일
0

cs231n보다 최신의 딥러닝기초?강의인 미시간대학교의 강의를 공부하며 정리
딥러닝의 노드를 단순화시켜서 생각해보자.

fx\frac{\partial f}{\partial x} 를 구하기 위해선 합성함수미분의 원리인 chainrule을 이용하면 된다.
f(x,y,z)=(x+y)zf(x,y,z)=(x+y)zf=qz,q=x+yf = qz, q = x+y로 바꿔서 위 도식의 역순으로 미분을 진행하면
최초의 gradient=ff=1gradient = \frac{\partial f}{\partial f} =1
fq=z\frac{\partial f}{\partial q} = z , qx=1\frac{\partial q}{\partial x} = 1 , qy=1\frac{\partial q}{\partial y} = 1 , fz=q\frac{\partial f}{\partial z} = q 가 나온다.
체인룰로 계산후 input에서 주어진 값을 넣어주면,
fx=qxfq=1z=4\frac{\partial f}{\partial x} = \frac{\partial q}{\partial x}\frac{\partial f}{\partial q} = 1 z = -4 , fy=qyfq=1z=4\frac{\partial f}{\partial y} = \frac{\partial q}{\partial y}\frac{\partial f}{\partial q} = 1 z = -4 로 gradient가 완성된다. 이렇게 preforward과정의 역순으로 backpropagation을 순서에 맞춰서 쓰기만 하면 되는 방식을 'flat'하다고 하며, 이에 먼저 익숙해지는 것을 추천한다.

0개의 댓글