부스트캠프 AI Tech

2주차 - PyTorch 구조 학습하기

이니니 2022. 9. 30. 20:33

4강. AutoGrad & Optimizer

 

torch.nn.Module은 다음과 같은 특징을 가지고 있다.

  • 딥러닝을 구성하는 layer의 base class이다.
  • input, output, forward, backward를 정의해야 한다.
  • 학습의 대상이 되는 parameter(tensor)를 정의해야 한다.

 

nn.Module을 정의하려면, 학습의 대상이 되는 weight 값들을 정의해야한다. 이 weight 값들은 nn.Parameter에 정의하게 된다. nn.Parameter는 다음과 같은 특징을 가지고 있다.

  • Tensor 객체의 상속 객체
  • nn.Module 내에 attribute가 될 때는 required_grad=True로 지정되어 학습 대상이 되는 Tensor (AutoGrad의 대상이 된다.)
  • 우리가 직접 지정할 일은 잘 없다. 왜냐하면, 대부분의 layer에는 weights 값들이 지정되어 있기 때문이다.

 

Backward의 특징은 다음과 같다.

  • layer에 있는 parameter들의 미분을 수행한다.
  • forward의 결과값(model의 output = 예측치)과 실제 값 간의 차이(loss)에 대해서 미분을 수행한다.
  • 해당 값으로 parameter를 업데이트 한다.

5강. PyTorch datasets & dataloaders

 

데이터셋을 load하는 방법은 아래 그림과 같다.

 

Dataset 클래스

  • 데이터 입력 형태를 정의하는 클래스
  • 데이터를 입력하는 방식의 표준화
  • image, text audio 등에 따라 다른 입력 정의

 


위 내용은 부스트캠프 AI Tech 에서 제공한 내용을 바탕으로 작성하였습니다.

'부스트캠프 AI Tech' 카테고리의 다른 글

3주차 - 최적화  (0) 2022.10.05
3주차 - 딥러닝 기본  (0) 2022.10.04
2주차 - Pytorch 기본  (0) 2022.09.29
1주차 - AI Math (9/19 ~ 9/23)  (1) 2022.09.23
1주차 - Python (9/19 ~ 9/23)  (1) 2022.09.23