왜 "새들 프리 뉴턴"하강 알고리즘이 실제로 사용되지 않습니까?


13

최근에 나는 Yann Dauphin 등의 논문을 읽었습니다. 고차원 비 볼록 최적화에서 새들 포인트 문제를 식별하고 공격합니다 . 여기서 새들 프리 뉴턴 (Saddle-Free Newton) 이라는 흥미로운 하강 알고리즘을 도입합니다. 신경 알고리즘 은 뉴럴 네트워크 최적화에 적합하게 맞춰져 있고 안장 포인트에 걸리지 않아야합니다. 바닐라 SGD와 같은 1 차 방법과 유사합니다.

이 논문은 2014 년으로 거슬러 올라가서 전혀 새로운 것은 아니지만, "야생"으로 사용되는 것을 보지 못했습니다. 이 방법을 사용하지 않는 이유는 무엇입니까? 실제 크기의 문제 / 네트워크에는 Hessian 계산이 너무 금지됩니까? 이 알고리즘의 일부 오픈 소스 구현이 있습니까? 주요 딥 러닝 프레임 워크와 함께 사용할 수 있습니까?

2019 년 2 월 업데이트 : https://github.com/dave-fernandes/SaddleFreeOptimizer )


좋은 질문입니다, 나는 아무것도 찾을 수 없었습니다. 그러나 의사 코드는 매우 간단하므로 직접 시도해 볼 수 있습니다.이 경우 저자의 박사 학위 논문 중 하나에 유용한 구현 세부 정보가 있습니다 (103 페이지, papyrus.bib.umontreal.ca/xmlui/bitstream/handle / 1866 / 13710 /… )
galoosh33 2016 년

1
Uber Deep-Neuroevolution 블로그 게시물에서 동일한 논문에 대한 참조를 찾았습니다. 링크 : eng.uber.com/deep-neuroevolution GitHub를 통해 온라인 / 공유 된 구현이 있는지 저자에게 물어볼 수 있습니다.
Cantren

여기 TensorFlow의 구현입니다 : github.com/dave-fernandes/SaddleFreeOptimizer은
데이브 F

추측해야한다면, 모델에 수백만 개의 매개 변수가있을 때 Hessian을 계산하고 반전시키는 것은 비실용적이라고 가정합니다.
Sycorax는 Reinstate Monica가

1
"구현이 있습니까?"에서 질문을 구체화 할 수 있습니까? 그것은 예 / 아니오 답변이 될 것 같고 소프트웨어 요청처럼 들립니다 (여기서는 주제가 아닙니다). 질문이 '더 많은 구현이 없었던 이유를 설명하는 어려움은 무엇입니까?'와 같이 자세히 설명해 주시겠습니까?
gung-모니 티 복원

답변:


2

더 나은 최적화가 반드시 더 나은 모델을 의미하는 것은 아닙니다. 결국 우리가 신경 쓰는 것은 모델이 일반화되는 정도이며 훈련 세트의 성능이 반드시 좋은 것은 아닙니다. Fancier 최적화 기술은 일반적으로 훈련 세트에서 더 잘 수행하고 더 빨리 수렴하지만 기본 알고리즘뿐만 아니라 항상 일반화하지는 않습니다. 예 를 들어이 백서 는 SGD가 ADAM 최적화 프로그램보다 일반화 할 수 있음을 보여줍니다. 이것은 2 차 최적화 알고리즘의 경우에도 해당됩니다.


[편집] 여기에 적용되지 않으므로 첫 번째 지점을 제거했습니다. 이것을 지적 해준 bayerj에게 감사한다.


1
두 번째 요점에 동의하지만 첫 번째 요점은 여기서 유효하지 않습니다. 저자는 2 차 복잡성을 요구하지 않는 Krylov 하위 공간에서만 최적화를 제안합니다.
bayerj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.