나의 작은 valley
[Python] 경사하강법(Gredient Desent) 본문
728x90
시작지점 설정)
x = torch.tensor([1.0], requires_grad=True)
복잡한 함수, 가령 4차 함수같은 경우에는 시작하는 지점에 따라 멈추는 지점이 다를 수 있다.
배우는 속도 설정)
:(아래의 코드 자체가 배우는 속도를 조절하는 코드는 아니다.)
learning_rate = 1e-2
#leatning_rate = 1
속도 설정값에 따라 학습속도가 다른데 높다고 무조건 빠르지 않다. 무슨 말인가하면 어느 시점을 넘어가면 분활이 된다거나 거꾸로 움직이는 등 기현상을 일으킨다.
쉬운 함수에 대해서는 눈으로 보고 변경을 해주는 것이 가능하지만 뉴럴 네트워크 같은 복잡한 함수에 대해서 속도를 적용할 떄는 쉽지않다.
<파이토치 그래디언트 계산 특>
:그래디언트를 계산할 떄 누적을 시키는 방식으로 한다.
<누적되는 것을 방지하는 법>
def gradient_descent():
.
.
.
x.grad = None
728x90
'Computer Science > [Python] 문법 정리' 카테고리의 다른 글
[Python] 확률적 경사하강법(Stochastic Gradient Descent) (0) | 2022.08.31 |
---|---|
[Python]지도학습(Supervised Learning) - 회귀(Regression) (0) | 2022.08.30 |
[Python] PyTorch (0) | 2022.08.29 |
[Python] 딥러닝 개념소개 (2) | 2022.08.29 |
[Python] 데코레이터(Decorataor) (0) | 2022.08.28 |
Comments