優(yōu)化器optimizers怎么用

本篇文章給大家分享的是有關(guān)優(yōu)化器optimizers怎么用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目前成都創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、齊齊哈爾網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

一,優(yōu)化器概述

機器學習界有一群煉丹師,他們每天的日常是:

拿來藥材(數(shù)據(jù)),架起八卦爐(模型),點著六味真火(優(yōu)化算法),就搖著蒲扇等著丹藥出爐了。

不過,當過廚子的都知道,同樣的食材,同樣的菜譜,但火候不一樣了,這出來的口味可是千差萬別?;鹦×藠A生,火大了易糊,火不勻則半生半糊。

機器學習也是一樣,模型優(yōu)化算法的選擇直接關(guān)系到最終模型的性能。有時候效果不好,未必是特征的問題或者模型設(shè)計的問題,很可能就是優(yōu)化算法的問題。

深度學習優(yōu)化算法大概經(jīng)歷了 SGD -> SGDM -> NAG ->Adagrad -> Adadelta(RMSprop) -> Adam -> Nadam 這樣的發(fā)展歷程。

對于一般新手煉丹師,優(yōu)化器直接使用Adam,并使用其默認參數(shù)就OK了。

一些愛寫論文的煉丹師由于追求評估指標效果,可能會偏愛前期使用Adam優(yōu)化器快速下降,后期使用SGD并精調(diào)優(yōu)化器參數(shù)得到更好的結(jié)果。

此外目前也有一些前沿的優(yōu)化算法,據(jù)稱效果比Adam更好,例如LazyAdam, Look-ahead, RAdam, Ranger等.

二,優(yōu)化器的使用

優(yōu)化器主要使用apply_gradients方法傳入變量和對應(yīng)梯度從而來對給定變量進行迭代,或者直接使用minimize方法對目標函數(shù)進行迭代優(yōu)化。

當然,更常見的使用是在編譯時將優(yōu)化器傳入keras的Model,通過調(diào)用model.fit實現(xiàn)對Loss的的迭代優(yōu)化。

初始化優(yōu)化器時會創(chuàng)建一個變量optimier.iterations用于記錄迭代的次數(shù)。因此優(yōu)化器和tf.Variable一樣,一般需要在@tf.function外創(chuàng)建。

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

優(yōu)化器optimizers怎么用

三,內(nèi)置優(yōu)化器

深度學習優(yōu)化算法大概經(jīng)歷了SGD->SGDM->NAG->Adagrad->Adadelta(RMSprop)->Adam ->Nadam 這樣的發(fā)展歷程。

在keras.optimizers子模塊中,它們基本上都有對應(yīng)的類的實現(xiàn)。

  • SGD, 默認參數(shù)為純SGD, 設(shè)置momentum參數(shù)不為0實際上變成SGDM, 考慮了一階動量, 設(shè)置 nesterov為True后變成NAG,即 Nesterov Acceleration Gradient,在計算梯度時計算的是向前走一步所在位置的梯度。

  • Adagrad, 考慮了二階動量,對于不同的參數(shù)有不同的學習率,即自適應(yīng)學習率。缺點是學習率單調(diào)下降,可能后期學習速率過慢乃至提前停止學習。

  • RMSprop, 考慮了二階動量,對于不同的參數(shù)有不同的學習率,即自適應(yīng)學習率,對Adagrad進行了優(yōu)化,通過指數(shù)平滑只考慮一定窗口內(nèi)的二階動量。

  • Adadelta, 考慮了二階動量,與RMSprop類似,但是更加復雜一些,自適應(yīng)性更強。

  • Adam, 同時考慮了一階動量和二階動量,可以看成RMSprop上進一步考慮了Momentum。

  • Nadam, 在Adam基礎(chǔ)上進一步考慮了 Nesterov Acceleration。

以上就是優(yōu)化器optimizers怎么用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:優(yōu)化器optimizers怎么用
網(wǎng)頁地址:http://bm7419.com/article16/pssdgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、動態(tài)網(wǎng)站、云服務(wù)器做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)