[Back Propagation] 역전파 이론 요약

Meosun·2024년 8월 20일

Back Propagation이란?

Forward Pass를 역으로 계산(미분) 하는 것을 말한다.

예를 들어 함수를 정의 해보자

f(x,y,z)=(x+y)zf(x,y,z) = (x+y)z

Forward Pass

q=x+y이며,z(x+y)=z(q)q = x+y 이며, z(x+y) = z(q)

순으로 계산된다.

이를 역으로 q에 대해서 미분하면

df(x,y,z)dq=z(q)dq=z\frac {df(x,y,z)} {dq} = \frac {z(q)} {dq} = z

q노드는 역전파로 z가 된다.
뭔가 이해가 안될 수 있지만, 기본적으로 역전파 시 해당 값이 나온 node가 서로 반대로 나온 다는 것으로 알면된다.

이어서 z에 대해 미분하면

df(x,y,z)dz=z(q)dz=q\frac {df(x,y,z)} {dz} = \frac {z(q)} {dz} = q

z node에서는 역전파로 q 값이 나오게된다.

마지막으로 x,y에 대해 각각 미분해야하는데

df(x,y,z)dx=dzd(x+y)dx=d(zq)dqd(x+y)dx=z1\frac {df(x,y,z)} {dx} = \frac {dz*d(x+y)} {dx} =\frac {d(zq)} {dq}*\frac {d(x+y)} {dx} = z*1
df(x,y,z)dy=dzd(x+y)dy=d(zq)dqd(x+y)dy=z1\frac {df(x,y,z)} {dy} = \frac {dz*d(x+y)} {dy} =\frac {d(zq)} {dq}*\frac {d(x+y)} {dy} = z*1

따라서 각각 x,yz가 된다.

역전파는 단순히 역으로 계산(미분) 하는 것 뿐만아니라, Node가 지나온 길을 반대로 지나기때문에 해당 부분을
감안하여 계산하여야 한다.

결론 : 역전파시, 편미분을 해야하며 Node에서 값이 나오는 순서 혹은 방향이 바뀐다.

profile
데이터와 AI를 잘 활용하는 Backend Developer가 되자

0개의 댓글