728x90
1. Layer는 블록과 같은 것
딥러닝 모델은 이 lego building과도 같다.
2. torch.nn.Module
1. 딥러닝 레이어의 base class
2. input, output, forward, backward를 정의하고
3. 학습 대상이 되는 파라미터(텐서)를 정의함
3. nn.Parameter
1. 텐서 객체의 상속 객체
2. nn.Module 내에 attribute될 때 -> required_grad = True로 지정되어( = Autograd의 대상이 되어) 학습 대상이 되는 텐서
4. Backward
1. 각 레이어의 파라미터들을 미분
2. Forward의 결과값(model의 output = 예측치 = yhat)과 실제값 간의 차이(loss)에 대해 미분을 수행( -> 자동미분으로 연산 -> 이때 backward함수 호출)
3. 해당 값으로 Parameter 업데이트
4. 과정 : Epoch마다 backward 발생 -> optimizer를 zero gradient로 바꿔줌 -> 예측치 구함 -> 예측치와 실제값의 차이를 구함 -> backward(미분) -> parameter(가중치) 업데이트
728x90
'AI > AITech 3기' 카테고리의 다른 글
[PyTorch] super().__init__() 과 super(MyClass, self).__init__() 차이 (2) | 2022.01.25 |
---|---|
[PyTorch] 5강 Datasets & dataloaders (2) | 2022.01.25 |
[PyTorch] 파이토치 함수 코드 보는 법 (0) | 2022.01.25 |
[PyTorch] 3강 PyTorch 프로젝트 구조 이해하기 (0) | 2022.01.24 |
[PyTorch] 2강 PyTorch Basics (0) | 2022.01.24 |