나의 작은 valley

[Python] 경사하강법(Gredient Desent) 본문

Computer Science/[Python] 문법 정리

[Python] 경사하강법(Gredient Desent)

붕옥 아이젠 2022. 8. 30. 00:17
728x90

 

 

 

시작지점 설정)

x = torch.tensor([1.0], requires_grad=True)

 

복잡한 함수, 가령 4차 함수같은 경우에는 시작하는 지점에 따라 멈추는 지점이 다를 수 있다.

 

 

 

배우는 속도 설정)

:(아래의 코드 자체가 배우는 속도를 조절하는 코드는 아니다.)

learning_rate = 1e-2    
#leatning_rate = 1
 
속도 설정값에 따라 학습속도가 다른데 높다고 무조건 빠르지 않다. 무슨 말인가하면 어느 시점을 넘어가면 분활이 된다거나 거꾸로 움직이는 등 기현상을 일으킨다.
 
쉬운 함수에 대해서는 눈으로 보고 변경을 해주는 것이 가능하지만 뉴럴 네트워크 같은 복잡한 함수에 대해서 속도를 적용할 떄는 쉽지않다.

 

 

 

<파이토치 그래디언트 계산 특>

:그래디언트를 계산할 떄 누적을 시키는 방식으로 한다. 

 

 

 

<누적되는 것을 방지하는 법>

def gradient_descent():
 

        .

         .

        .

       x.grad = None

728x90
Comments