Param_update(행렬,야코비안)

안민기·2023년 4월 25일
0

딥러닝은 행렬연산이 전부이다....
pytorch 기반 grad 구하고 update하기

Forward pass & DAG

  • 방향성 비순환 그래프(Directed Acyclic Graph:DAG)의 잎(leave)은 입력 텐서이고, 뿌리(root)는 결과 텐서이다.
  • Forward pass시 jacobain-matrix를 바로바로 구할 수 있다.
  • Backward pass시 chain-rule에 의해 행렬연산을 통해 각 텐서의 gradient를 쉽게 구할 수 있다.

Backward pass

loss1가 스칼라일 때 => loss1.backward() ()안에 1.0인 텐서가 생략
loss2가 (a,b)인 텐서일 때 => loss2.backward((a,b)인 텐서)
loss1 = (3,1)tensor x loss2일 때 loss1.backward() = loss2.backward((3,1)tensor)

profile
Trendy AI Developer

0개의 댓글