그라데이션 방법은 일반적으로 더 나은 최적화 작업 비해 의 기울기 때문에 일반적으로 더 잘 조정 . 즉, 목적 함수의 형상을 일관되고 유용하게 반영하는 크기를 가지므로 적절한 단계 크기를 쉽게 선택하고 더 적은 단계로 최적의 결과를 얻을 수 있습니다.logp(x)p(x)logp(x)
의미를 확인하려면 및 대한 그래디언트 최적화 프로세스를 비교하십시오 . 어떤 점에서, 의 기울기 인이 값에 을 곱하면 관계없이 원점에서 전역 최적에 도달하는 데 필요한 정확한 단계 크기를 얻습니다.p(x)=exp(−x2)f(x)=logp(x)=−x2xf(x)
f′(x)=−2x.
1/2x입니다. 이것은 우리가 좋은 스텝 크기 (또는 ML 전문 용어의 "학습 속도")를 얻기 위해 너무 열심히 일할 필요가 없음을 의미합니다. 초기 지점이 어디에 있더라도 단계를 그라디언트의 절반으로 설정하면 한 단계에서 원점이됩니다. 필요한 정확한 요소를 모른다면 약 1 단계 정도의 스텝 크기를 선택하고 약간의 라인 검색을 수행하면 어디에서든 잘 작동하는 매우 빠른 단계 크기를 찾을 수 있습니다. 는 이 속성은 의 변환 및 크기 조정에 강력합니다 . 확장하는 동안 단계 스케일링 상관없이 동일하지 않습니다 적어도 1/2에서 차이 확장 최적의 단계, 원인이됩니다 입니다, 그래서 우리는 효율적인 그라데이션 기반 최적화를 얻기 위해 하나 개의 매개 변수를 찾을 수있다 계획.
xf(x)f(x)x
대조적으로, 의 기울기는 최적화를 위해 매우 열악한 전역 특성을 갖는다. 우리가이것은 증가함에 따라 지수 적으로 (보다 빠릅니다 인자 와 함께 완벽하게 훌륭하고 잘 동작하는 그래디언트 를 곱합니다 . 에서, , 우리는 이미 너무 그래디언트 벡터에 따른 공정은 약이며, 시간이 너무 작. 최적의 단계 크기를 합리적으로 얻기 위해서는 그 역수에 따라 그레디언트의 스케일을 조정해야합니다. 엄청난 상수p(x)
p′(x)=f′(x)p(x)=−2xexp(−x2).
−2xexp(−x2)xx=5exp(−x2)=1.4⋅10−1110−11∼1011. 이러한 잘못된 스케일링 그라디언트는 최적화 목적으로 쓸모없는 것보다 나쁩니다. 에 대해 스케일링하여 스텝을 설정하는 것보다 오르막 방향으로 단위 스텝을 시도하는 것이 좋습니다 . (많은 변수에서 는 그래디언트에서 방향 정보를 가져 오기 때문에 조금 더 유용하지만 스케일링 문제는 남아 있습니다.)
p′(x)p′(x)
일반적으로 가이 장난감 예제와 같이 특히 그라디언트 스케일링 속성이 우수 하다는 보장은 없습니다 . 그러나 사소한 문제가 거의 없다면 는 보다 낫습니다 . 이는 가능성이 많은 용어가 포함 된 큰 제품이기 때문에 여러 답변에서 언급 한대로 로그는 해당 제품을 합계로 바꿉니다. 가능성의 용어 가 최적화 관점에서 잘 작동 하면 로그는 일반적으로 잘 작동하고 잘 작동하는 기능의 합은 잘 작동합니다. 잘 행동 함으로써 나는logp(x)logp(x)p(x)f′′(x)너무 많이 또는 너무 빠르게 변경되지 않으므로 그래디언트 방법으로 최적화하기 쉬운 거의 이차 함수로 이어집니다. 도함수의 합은 도함수의 순서에 상관없이 합의 도함수이며, 이는 합산의 큰 더미가 매우 합리적인 이차 도함수를 갖도록하는 데 도움이됩니다!