[부스트캠프 AI Tech 5기] Autograd and Optimizer

박상우·2023년 3월 14일
0

부스트캠프

목록 보기
9/54
post-thumbnail

Layer = Block
딥 러닝은 레이어의 집합이다

  • 딥러닝은 여러 블록 반복의 연속

nn.Module

  • 딥 러닝을 구성하는 Layer의 base class
  • Input, Output

nn.Parameter

  • 텐서 객체의 상속 객체
  • nn.Module 내에서 attribute가 될때 required_grad=True
  • Autograd의 대상
  • 우리가 직접 지정할 일은 잘 없음
  • Forward의 결과값과 실제값 간의 차이에 대해 미분을 수행
  • 해당 값으로 가중치 update
for epoch in range(epochs):

	optimizer.zero_grad()
    # 가중치 초기화 
    
    outputs = model(inputs)
    # y_hat 생성 
    
    loss = criterion(outputs,labels)
    # 로스 계산 
    
    loss.backward
    # gradient 계산
    
    optimizer.step()
    # 업데이트
  • 실제 backward는 module 단계에서 직접 지정 가능
  • module에서 backward와 optimize 오버라이딩
  • 직접 미분 수식을 써야 하니 부담스러움
  • 따라서 보통 autograd를 사용
profile
세상아 덤벼라

0개의 댓글