경사 하강의 종료 조건을 정의하는 방법은 무엇입니까?


24

실제로 그라디언트 디센트의 종료 조건을 어떻게 정의 할 수 있는지 묻고 싶었습니다.

반복 횟수, 즉 100 회 반복에 대한 매개 변수 값을 고려하여 중지 할 수 있습니까?

아니면 내가 그런 기다려야한다는 점에서 다른 두 개의 매개 변수 값 '새'와 '오래된'의 순서가 말할 수에 아주 작은 ? 시간이 많이 걸릴 것입니다.106

가장 좋은 방법은 무엇입니까? 필자의 경우 하나의 반복조차도 상당한 시간이 걸립니다. 이 상황에서 두 번째 조건을 기다리는 경우 몇 주가 걸릴 수도 있습니다.

어떤 접근법을 사용해야합니까? 이 시나리오를 해결하는 방법?


1
명시 적으로 명시되어 있지는 않지만 MLE를 찾으려고한다고 가정합니다. 결과는 전적으로 매개 변수 공간, 가능성 함수 및 요구 사항 (일명 잘 정의되지 않은)에 따라 달라집니다. 점근 효율과 같은 이론적 정당성을 찾고 있다면; Le'Cam 조건에서는 1 단계 MLE 만 사용할 수 있습니다 (추가 가정에 따라 뉴턴의 방법과 경사 하강에 대한 점수 함수를 사용한다는 가정). 이것은 당신의 초기 값은 같은 것을 요구하는 가능성이있다. n1/2θ^0θ
Jonathan Lisic

"new"- "old"가 충분히 작다고 말할 때까지 기다리십시오. 그래디언트 디센트의 잘못된 종료 조건입니까? (정리 등의 고정 점을 적용하는 경우, 그 조건은 확인을해야?)
찰리 파커 (Charlie Parker)

fifixi3×2ftolabs ftolrelxtolabs

답변:


19

좋은 질문. 나는 문헌에서 많은 중지 규칙을 보았으며 상황에 따라 각각의 장단점이 있습니다. optim예를 들어 R 의 함수에는 적어도 세 가지 다른 중지 규칙이 있습니다.

  • maxit즉, 미리 정해진 최대 반복 횟수. 문헌에서 본 또 다른 유사한 대안은 시간이 초과되기 전의 최대 시간 (초)입니다. 필요한 모든 것이 근사치 인 경우 매우 합리적 일 수 있습니다. 실제로 조기 정지가 매개 변수 값보다 가우시안을 배치하는 것과 유사한 모델 클래스 (특히 선형 모델)가 있습니다. 잦은 주의자는 당신이 이전보다는 "L2 규범"을 가지고 있다고 말하지만, 그들은 또한 그것을 합리적인 일로 생각할 것입니다. 나는 이 논문을 훑어 보았지만 조기 중지와 정규화의 관계에 대해 이야기하고 더 많은 정보를 얻는 데 도움이 될 수 있습니다. 그러나 짧은 버전은 그렇습니다. 조기 중지는 무엇을 하느냐에 따라 완벽하게 존경받을 수 있습니다.

  • abstol즉, 함수가 "충분히 근접해"0에 도달하면 중지합니다. 이것은 당신과 관련이 없을 수도 있습니다 (0을 기대하는 것처럼 들리지 않습니다). 건너 뛸 것입니다.

  • reltol, 이는 두 번째 제안과 같습니다. 개선이 임계 값 아래로 떨어지면 중지합니다. 나는 실제로 이것에 대한 이론이 얼마나 많은지 알지 못하지만, 최대 반복 횟수가 적은 것보다 이런 식으로 최소값을 낮추는 경향이 있습니다. 그것이 당신에게 중요하다면, 더 많은 반복을 위해 코드를 실행할 가치가 있습니다.

중지 규칙의 또 다른 패밀리는 학습 데이터가 아닌 유효성 검증 데이터 세트 (또는 교차 유효성 검증)에서 비용 함수를 최적화하는 것과 관련이 있습니다. 모델을 사용하려는 대상에 따라 과적 합이 수반 될 수 있기 때문에 훈련 데이터에 대한 현지 최소값에 도달하기 전에 멈추는 것이 좋습니다. Trevor Hastie가이 작업을 수행하는 좋은 방법에 대해 썼다고 확신하지만 인용을 기억할 수 없습니다.

합리적인 시간 내에 최소 최소값을 찾는 다른 가능한 옵션은 다음과 같습니다.

  • 확률 적 그라디언트 디센트-한 번에 데이터의 작은 부분에 대한 그라디언트 만 추정하면됩니다 (예 : "순수한"SGD를위한 하나의 데이터 포인트 또는 작은 미니 배치).

  • 목표 함수의 곡률에 대한 정보를 사용하여 더 나은 방향을 가리키고 내리막 길을 이동할 때 더 나은 단계 크기를 취하는 고급 최적화 함수 (예 : 뉴턴 유형 방법 또는 공역 그라디언트)

  • 업데이트 규칙에서 "모멘텀"이라는 용어로, 옵티마이 저는 목표 함수에서 협곡 벽을 제한하지 않고 내리막 길을 더 잘 돌립니다.

이러한 접근 방식은 모두 온라인에서 찾은 강의 노트 에서 논의됩니다 .

이것이 도움이되기를 바랍니다!

편집 , 당신은 또한 더 나은 시작 값을 얻을 수 있습니다 (예를 들어 더 간단한 버전의 문제를 해결함으로써) "따뜻한 시작"에서 최적에 가까워지는 반복 횟수가 줄어 듭니다.


고정 된 반복 횟수를 선택할 때의 문제는 비용 곡선을 명확하게 플롯 할 수 없으면 (소음이 작음), 특히 최적화 기능이 복잡하고 알고있는 사람이 너무 많은 반복 횟수를 알기가 어렵다는 것입니다 로컬 최소값이 몇 개인 지, 그리고 초기화를 무작위 화 한 경우, "작은"반복 횟수가 무엇인지 추측하기 어렵 기 때문에 문제가 더욱 악화됩니다. 실제로 조기 중지를 사용하려면 실제로이 문제를 어떻게 해결합니까? 오버 슈트 나 언더 슈트를 피하지 않으려면 어떻게해야합니까?
Charlie Parker

나는 reltol"즉,"개선 "이 중지 될 때 무엇을 의미 하는지 명확히하고 싶습니다 . 첫 번째 개선은 비용 함수 감소를 의미합니다. 그래서 나는 당신이 의미하는 것은, 비용 함수가 충분히 멈추지 않을 때 (또는 증가하기 시작할 때) 멈추는 것입니다. 실제로 "| old-new |"를 수행하지 않습니다 업데이트 규칙의 유형이 맞습니까?
Charlie Parker

1
abstol매개 변수는 비용 함수 자체가 아니라 비용 함수의 그라디언트 공차를 취하는 경우에만 의미가 있습니다. 로컬 최적화 프로그램에서 그래디언트 값은 0입니다. 그러나 함수의 가치는 아닙니다.
마리오 Becerra

"따뜻한 시작"은 매우 영리한 트릭입니다! 감사합니다
Mehdi LAMRANI
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.