在課程中,沒有關於時代的東西,但實際上它們無處不在。 如果優化器在一次傳遞中找到最佳權重,爲什麼我們需要它們?爲什麼模型會改進?爲什麼我們需要時代?
0
A
回答
0
通常,只要你想優化你使用梯度下降。漸變下降有一個稱爲學習速率的參數。僅在一次迭代中,您不能保證梯度下降算法將以指定的學習速率收斂到局部最小值。這就是爲什麼你重新迭代梯度下降以更好地收斂。
它也是一個很好的做法,通過觀察學習曲線來改變每個時代的學習率以獲得更好的收斂性。
0
爲什麼我們需要[訓練多個時代],如果優化器在一次發現中找到最佳的權重?
這在大多數情況下是錯誤的。梯度下降法(參見a list of them)通常不會在一個路徑中找到最佳參數(權重)。事實上,我從未看到任何情況下甚至達到了最佳參數(除了構建的案例)。
一個時代由許多重量更新步驟組成。一個時代意味着優化器曾經使用過每個訓練示例。爲什麼我們需要幾個時代?因爲梯度下降是迭代算法。它有所改進,但它只是以微小的步驟到達那裏。它只使用很小的步驟,因爲它只能使用本地信息。除了當前的位置之外,它沒有關於函數的想法。
您可能想要閱讀我的optimization basics博客文章的漸變下降部分。
相關問題
- 1. 爲什麼我們需要scalaz.stream迭代?
- 2. 爲什麼我們需要公鑰簽名時需要HMAC?
- 3. 當我們有點子時,爲什麼我們需要Anaconda?
- 4. C#代表,爲什麼我們需要它們?
- 5. DavLockDB:我們需要什麼?
- 6. 爲什麼我們需要simple_one_for_one?
- 7. 爲什麼我們需要TensorFlow tf.Graph?
- 8. 爲什麼我們需要使用prompt.start()?
- 9. 爲什麼我們需要WCF
- 10. 爲什麼我們需要Anaconda 2.7?
- 11. 爲什麼我們需要編寫log.isDebugEnabled?
- 12. 爲什麼我們需要ng-click?
- 13. 爲什麼我們需要Control.Lens.Reified?
- 14. 我們爲什麼需要纖維
- 15. 爲什麼我們需要org.junit.ComparisonFailure?
- 16. 爲什麼我們需要addRequestHeader方法?
- 17. 爲什麼我們需要ContinueWith方法?
- 18. 爲什麼我們需要Java NIO Selector?
- 19. 爲什麼我們需要使用ExitWindowsEx
- 20. 爲什麼我們需要包裝類
- 21. 爲什麼我們需要在JavaScript
- 22. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 23. 爲什麼我們需要ioc容器
- 24. mongodb爲什麼我們需要getSisterDB
- 25. 爲什麼我們需要BeginGetResponse和BeginRead?
- 26. 爲什麼我們需要fieldset標籤?
- 27. 爲什麼我們需要boost :: thread_specific_ptr?
- 28. JSP:爲什麼我們需要RequestDispatcher?
- 29. 爲什麼我們需要calloc(或malloc)?
- 30. 爲什麼我們需要.htaccess的worpdress?