2017-05-30 114 views
5

對Pytorch模型執行超參數優化的最佳方法是什麼?實現例如隨機搜索我自己?使用Skicit學習?還是還有什麼我不知道的?Pytorch模型的超參數優化

+0

-1是什麼原因? – Alex

回答

2

您可以使用Bayesian optimization(全面披露,本人對本軟件包有所貢獻)或Hyperband。這兩種方法都試圖使超參數調整階段自動化。 Hyperband據說是這個領域的最先進的技術。除了隨機搜索之外,Hyperband是我聽說過的唯一沒有參數的方法。如果您願意,您還可以考慮使用強化學習來學習最佳超參數。

0

要執行超參數優化,您既不需要Skicit Learn也不需要隨機搜索。你應該通過嘗試不同的超參數和監視你的錯誤率來照顧學習過程。例如:嘗試不同的學習速率,不同的優化算法(即ADAM,RMSprop,ADAGRAD)以及針對學習速率的不同調度等。此外,繪製學習曲線以檢查學習過程總是有用的。

4

黑箱優化最簡單的無參數方法是隨機搜索,它將比網格搜索更快地探索高維空間。有關於此的論文,但是隨機搜索博士您每次都會在每個維度上獲得不同的值,而使用網格搜索則不會。

Bayesian optimisation有很好的理論保證(儘管有近似值),像Spearmint這樣的實現可以包裝任何腳本;有超參數,但用戶在實踐中看不到它們。 Hyperband由於顯示出比樸素貝葉斯優化更快的收斂性而備受關注。它能夠通過運行不同的網絡來進行不同次數的迭代,而貝葉斯優化並不能夠天真地支持。儘管可以考慮使用貝葉斯優化算法(如FABOLAS),但實際上超高頻帶非常簡單,但您可能更好地使用它並觀看它以間隔調整搜索空間。