728x90
경사 하강법 코드는 requires_grad=True, backward()등이 나온다. 이는 파이토치에서 제공하는 있는 자동 미분(Autograd) 기능을 수행하고 있는 것이다. 파이토치의 학습 과정을 보다 더 잘 이해하기 위해서 자동 미분에 대해서 이해해 보자.
자동 미분(Autograd) 실습하기
자동 미분에 대해서 실습을 해보자. 임의로 2w^2 + 5라는 식을 세워보고, w에 대해 미분해 보겠습니다.
import torch
값이 2인 임의의 스칼라 텐서를 w를 선언합니다. 이때 required_grad를 Ture로 설정합니다. 이는 이 텐서에 대한 기울기를 저장하겠다는 의미 한다.
w = torch.tensor(2.0, requires_grad = True)
이제 수식을 정의한다.
y=w**2
z=2*y+5
이제 해당 수식을 w에 대해서 미분해야 합니다. backward()를 호출하면 해당 수식의 w에 대한 기울기를 계산한다.
z.backward()
이제 w.grad를 출력하면 w가 속한 수식을 w로 미분한 값이 저장된 것을 확인할 수 있다.
print('수식을 w로 미분한 값: {}'.format(w.grad))
# 수식을 w로 미분한 값: 8.0
728x90
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
nn.Module로 구현하는 선형 회귀 (0) | 2024.03.04 |
---|---|
다중 선형 회귀(Multivariable Linear regression) (10) | 2024.02.02 |
Linear Regression(선형 회귀) (10) | 2024.01.24 |
머신 러닝 워크 플로우 (2) | 2023.12.22 |