優化演算法記錄

2021-09-13 09:31:36 字數 873 閱讀 8936

參考:

1.改進adam的方法:前期用adam,享受adam快速收斂的優勢;後期切換到sgd,慢慢尋找最優解。這一方法以前也被研究者們用到,不過主要是根據經驗來選擇切換的時機和切換後的學習率。adam+sgd—>amsgrad2.雖然adam演算法目前成為主流的優化演算法,不過在很多領域裡(如計算機視覺的物件識別、nlp中的機器翻譯)的最佳成果仍然是使用帶動量(momentum)的sgd來獲取到的。wilson 等人的**結果顯示,在物件識別、字元級別建模、語法成分分析等方面,自適應學習率方法(包括adagrad、adadelta、rmsprop、adam等)通常比momentum演算法效果更差。

3.自適應優化演算法訓練出來的結果通常都不如sgd,儘管這些自適應優化演算法在訓練時表現的看起來更好。 使用者應當慎重使用自適應優化演算法。

自適應演算法類似於過學習的效果,生成的模型面對整體分布時是過擬合的。

4.所以,談到現在,到底adam好還是sgd好?這可能是很難一句話說清楚的事情。去看學術會議中的各種*****,用sgd的很多,adam的也不少,

還有很多偏愛adagrad或者adadelta。可能研究員把每個演算法都試了一遍,哪個出來的效果好就用哪個了

理解資料對於設計演算法的必要性。優化演算法的演變歷史,都是基於對資料的某種假設而進行的優化,那麼某種演算法是否有效,就要看你的資料是否符合該演算法的胃口了。

演算法固然美好,資料才是根本。

另一方面,adam之流雖然說已經簡化了調參,但是並沒有一勞永逸地解決問題,預設引數雖然好,但也不是放之四海而皆準。因此,在充分理解資料的基礎上,依然需要根據資料特性、演算法特性進行充分的調參實驗,找到自己煉丹的最優解。而這個時候,不論是adam,還是sgd,於你都不重要了。

群聊天記錄,關於優化演算法

平民的信使 1637127384 13 17 20 問下,有沒有優化演算法,輸入 目標函式值,目標函式一階導數值,和約束函式值和約束函式一階導數值,進行優化迭代的?莫欺少年窮 823392794 13 17 30 只問一點,用的現在常用的並行庫吧 kung 757810342 13 18 09 用的...

志願匹配演算法開發記錄(四) 小優化

由於跟學校的匹配結果相比,我的演算法得到的分配結果還有比較大的差距,所以進行了一些小小的優化,但是效果並不是很明顯。public static int allocatetherest int studata,int projectdata if allocated false return stud...

mysql優化記錄

一.建立索引 索引的分類 1.新增primary key 主鍵索引 alter tabletable nameadd primary key column 2.新增unique 唯一索引 alter tabletable nameadd unique column 3.新增index 普通索引 寫法...