HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    優(yōu)化算法有哪些(路徑優(yōu)化算法有哪些)

    發(fā)布時(shí)間:2023-03-22 02:19:36     稿源: 創(chuàng)意嶺    閱讀: 527        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于優(yōu)化算法有哪些的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀企業(yè),服務(wù)客戶遍布全國,網(wǎng)絡(luò)營銷相關(guān)業(yè)務(wù)請(qǐng)撥打175-8598-2043,或微信:1454722008

    本文目錄:

    優(yōu)化算法有哪些(路徑優(yōu)化算法有哪些)

    一、優(yōu)化算法

      SGD算法中的一個(gè)關(guān)鍵參數(shù)是學(xué)習(xí)率。之前,我們介紹的SGD使用固定的學(xué)習(xí)率。在實(shí)踐中,有必要隨著時(shí)間的推移逐漸降低學(xué)習(xí)率,因此我們將第 k 步迭代的學(xué)習(xí)率記作 ϵ k 。

      這是因?yàn)镾GD中梯度估計(jì)引入的噪聲源(m 個(gè)訓(xùn)練樣本的隨機(jī)采樣)并不會(huì)在極小點(diǎn)處消失。相比之下,當(dāng)我們使用批量梯度下降到達(dá)極小點(diǎn)時(shí),整個(gè)代價(jià)函數(shù)的真實(shí)梯度會(huì)變得很小,之后為 0,因此批量梯度下降可以使用固定的學(xué)習(xí)率。保證SGD收斂的一個(gè)充分條件是

      若 ϵ 0 太大,學(xué)習(xí)曲線將會(huì)劇烈振蕩,代價(jià)函數(shù)值通常會(huì)明顯增加。溫和的振蕩是良好的,容易在訓(xùn)練隨機(jī)代價(jià)函數(shù)(例如使用Dropout的代價(jià)函數(shù))時(shí)出現(xiàn)。如果學(xué)習(xí)率太小,那么學(xué)習(xí)過程會(huì)很緩慢。如果初始學(xué)習(xí)率太低,那么學(xué)習(xí)可能會(huì)卡在一個(gè)相當(dāng)高的代價(jià)值。通常,就總訓(xùn)練時(shí)間和最終代價(jià)值而言,最優(yōu)初始學(xué)習(xí)率會(huì)高于大約迭代 100 次左右后達(dá)到最佳效果的學(xué)習(xí)率。因此,通常最好是檢測(cè)最早的幾輪迭代,選擇一個(gè)比在效果上表現(xiàn)最佳的學(xué)習(xí)率更大的學(xué)習(xí)率,但又不能太大導(dǎo)致嚴(yán)重的震蕩。

      雖然隨機(jī)梯度下降仍然是非常受歡迎的優(yōu)化方法,但其學(xué)習(xí)過程有時(shí)會(huì)很慢。動(dòng)量方法 (Polyak, 1964) 旨在加速學(xué)習(xí),特別是處理高曲率、小但一致的梯度,或是帶噪聲的梯度。動(dòng)量算法積累了之前梯度指數(shù)級(jí)衰減的移動(dòng)平均,并且繼續(xù)沿該方向移動(dòng)。動(dòng)量的效果如圖8.5所示

      受 Nesterov 加速梯度算法 (Nesterov, 1983, 2004) 啟發(fā),提出了動(dòng)量算法的一個(gè)變種。這種情況的更新規(guī)則如下:

      其中參數(shù) α 和 ϵ 發(fā)揮了和標(biāo)準(zhǔn)動(dòng)量方法中類似的作用。Nesterov 動(dòng)量和標(biāo)準(zhǔn)動(dòng)量之間的區(qū)別體現(xiàn)在梯度計(jì)算上。Nesterov 動(dòng)量中,梯度計(jì)算在施加當(dāng)前速度之后。因此,Nesterov 動(dòng)量可以解釋為往標(biāo)準(zhǔn)動(dòng)量方法中添加了一個(gè)校正因子。完整的Nesterov動(dòng)量算法如算法3.2所示

      初始點(diǎn)能夠決定算法是否收斂,有些初始點(diǎn)十分不穩(wěn)定,使得該算法會(huì)遭遇數(shù)值困難,并完全失敗。當(dāng)學(xué)習(xí)收斂時(shí),初始點(diǎn)可以決定學(xué)習(xí)收斂得多快,以及是否收斂到一個(gè)代價(jià)高或低的點(diǎn)。此外,差不多代價(jià)的點(diǎn)可以具有區(qū)別極大的泛化誤差,初始點(diǎn)也可以影響泛化。

      也許完全確知的唯一特性是初始參數(shù)需要在不同單元間 ‘‘破壞對(duì)稱性’’。如果具有相同激活函數(shù)的兩個(gè)隱藏單元連接到相同的輸入,那么這些單元必須具有不同的初始參數(shù)。如果它們具有相同的初始參數(shù),然后應(yīng)用到確定性損失和模型的確定性學(xué)習(xí)算法將一直以相同的方式更新這兩個(gè)單元。即使模型或訓(xùn)練算法能夠使用隨機(jī)性為不同的單元計(jì)算不同的更新(例如使用Dropout的訓(xùn)練),通常來說,最好還是初始化每個(gè)單元使其和其他單元計(jì)算不同的函數(shù)。這或許有助于確保沒有輸入模式

    丟失在前向傳播的零空間中,沒有梯度模式丟失在反向傳播的零空間中。每個(gè)單元計(jì)算不同函數(shù)的目標(biāo)促使了參數(shù)的隨機(jī)初始化。我們可以明確地搜索一大組彼此互不相同的基函數(shù),但這經(jīng)常會(huì)導(dǎo)致明顯的計(jì)算代價(jià)。例如,如果我們有和輸出一樣多的輸入,我們可以使用 Gram-Schmidt 正交化于初始的權(quán)重矩陣,保證每個(gè)單元計(jì)算彼此非常不同的函數(shù)。在高維空間上使用高熵分布來隨機(jī)初始化,計(jì)算代價(jià)小并且不太可能分配單元計(jì)算彼此相同的函數(shù)。

      通常情況下,我們可以為每個(gè)單元的偏置設(shè)置啟發(fā)式挑選的常數(shù),僅隨機(jī)初始化權(quán)重。額外的參數(shù)(例如用于編碼預(yù)測(cè)條件方差的參數(shù))通常和偏置一樣設(shè)置為啟發(fā)式選擇的常數(shù)。

      我們幾乎總是初始化模型的權(quán)重為高斯或均勻分布中隨機(jī)抽取的值。高斯或均勻分布的選擇似乎不會(huì)有很大的差別,但也沒有被詳盡地研究。然而,初始分布的大小確實(shí)對(duì)優(yōu)化過程的結(jié)果和網(wǎng)絡(luò)泛化能力都有很大的影響。

      更大的初始權(quán)重具有更強(qiáng)的破壞對(duì)稱性的作用,有助于避免冗余的單元。它們也有助于避免在每層線性成分的前向或反向傳播中丟失信號(hào)——矩陣中更大的值在矩陣乘法中有更大的輸出。如果初始權(quán)重太大,那么會(huì)在前向傳播或反向傳播中產(chǎn)生爆炸的值。在循環(huán)網(wǎng)絡(luò)中,很大的權(quán)重也可能導(dǎo)致混沌(chaos)(對(duì)于輸入中很小的擾動(dòng)非常敏感,導(dǎo)致確定性前向傳播過程表現(xiàn)隨機(jī))。在一定程度上,梯度爆炸問題可以通過梯度截?cái)鄟砭徑猓▓?zhí)行梯度下降步驟之前設(shè)置梯度的閾值)。較大的權(quán)

    重也會(huì)產(chǎn)生使得激活函數(shù)飽和的值,導(dǎo)致飽和單元的梯度完全丟失。這些競(jìng)爭(zhēng)因素決定了權(quán)重的理想初始大小。

      也有助于避免在每層線性成分的前向或反向傳播中丟失信號(hào)——矩陣中更大的值在矩陣乘法中有更大的輸出。如果初始權(quán)重太大,那么會(huì)在前向傳播或反向傳播中產(chǎn)生爆炸的值。在循環(huán)網(wǎng)絡(luò)中,很大的權(quán)重也可能導(dǎo)致混沌(chaos)(對(duì)于輸入中很小的擾動(dòng)非常敏感,導(dǎo)致確定性前向傳播過程表現(xiàn)隨機(jī))。在一定程度上,梯度爆炸問題可以通過梯度截?cái)鄟砭徑猓▓?zhí)行梯度下降步驟之前設(shè)置梯度的閾值)。較大的權(quán)重也會(huì)產(chǎn)生使得激活函數(shù)飽和的值,導(dǎo)致飽和單元的梯度完全丟失。這些競(jìng)爭(zhēng)因素決定了權(quán)重的理想初始大小。

      有些啟發(fā)式方法可用于選擇權(quán)重的初始大小。一種初始化 m 個(gè)輸入和 n 輸出的全連接層的權(quán)重的啟發(fā)式方法是從分布 U(−1/√ m ,

    1/√ m ) 中采樣權(quán)重,而 Glorot and Bengio 建議使用標(biāo)準(zhǔn)初始化

      后一種啟發(fā)式方法初始化所有的層,折衷于使其具有相同激活方差和使其具有相同梯度方差之間。這假設(shè)網(wǎng)絡(luò)是不含非線性的鏈?zhǔn)骄仃嚦朔?,?jù)此推導(dǎo)得出。現(xiàn)實(shí)的神經(jīng)網(wǎng)絡(luò)顯然會(huì)違反這個(gè)假設(shè),但很多設(shè)計(jì)于線性模型的策略在其非線性對(duì)應(yīng)中的效果也不錯(cuò)。

      數(shù)值范圍準(zhǔn)則的一個(gè)缺點(diǎn)是,設(shè)置所有的初始權(quán)重具有相同的標(biāo)準(zhǔn)差,例如1/√ m ,會(huì)使得層很大時(shí)每個(gè)單一權(quán)重會(huì)變得極其小。Martens (2010) 提出了一種被稱為稀疏初始化(sparse initialization)的替代方案,每個(gè)單元初始化為恰好有 k 個(gè)非零權(quán)重。這個(gè)想法保持該單元輸入的總數(shù)量獨(dú)立于輸入數(shù)目 m,而不使單一權(quán)重元素的大小隨 m 縮小。稀疏初始化有助于實(shí)現(xiàn)單元之間在初始化時(shí)更具多樣性。但是,獲得較大取值的權(quán)重也同時(shí)被加了很強(qiáng)的先驗(yàn)。因?yàn)樘荻认陆敌枰荛L時(shí)間縮小 ‘‘不正確’’ 的大值,這個(gè)初始化方案可能會(huì)導(dǎo)致某些單元出問題,例如maxout單元有幾個(gè)過濾器,互相之間必須仔細(xì)調(diào)整。

      Delta-bar-delta 算法 (Jacobs, 1988) 是一個(gè)早期的在訓(xùn)練時(shí)適應(yīng)模型參數(shù)各自學(xué)習(xí)率的啟發(fā)式方法。該方法基于一個(gè)很簡單的想法,如果損失對(duì)于某個(gè)給定模型參數(shù)的偏導(dǎo)保持相同的符號(hào),那么學(xué)習(xí)率應(yīng)該增加。如果對(duì)于該參數(shù)的偏導(dǎo)變化了符號(hào),那么學(xué)習(xí)率應(yīng)減小。當(dāng)然,這種方法只能應(yīng)用于全批量優(yōu)化中。

      AdaGrad 算法,如算法8.4所示,獨(dú)立地適應(yīng)所有模型參數(shù)的學(xué)習(xí)率,縮放每個(gè)參數(shù)反比于其所有梯度歷史平方值總和的平方根 (Duchi et al., 2011)。具有損失最大偏導(dǎo)的參數(shù)相應(yīng)地有一個(gè)快速下降的學(xué)習(xí)率,而具有小偏導(dǎo)的參數(shù)在學(xué)習(xí)率上有相對(duì)較小的下降。凈效果是在參數(shù)空間中更為平緩的傾斜方向會(huì)取得更大的進(jìn)步。

      在凸優(yōu)化背景中,AdaGrad 算法具有一些令人滿意的理論性質(zhì)。然而,經(jīng)驗(yàn)上已經(jīng)發(fā)現(xiàn),對(duì)于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型而言,從訓(xùn)練開始時(shí)積累梯度平方會(huì)導(dǎo)致有效學(xué)習(xí)率過早和過量的減小。AdaGrad在某些深度學(xué)習(xí)模型上效果不錯(cuò),但不是全部。

      RMSProp 算法 (Hinton, 2012) 修改 AdaGrad 以在非凸設(shè)定下效果更好,改變梯度積累為指數(shù)加權(quán)的移動(dòng)平均。AdaGrad旨在應(yīng)用于凸問題時(shí)快速收斂。當(dāng)應(yīng)用于非凸函數(shù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),學(xué)習(xí)軌跡可能穿過了很多不同的結(jié)構(gòu),最終到達(dá)一個(gè)局部是凸碗的區(qū)域。AdaGrad 根據(jù)平方梯度的整個(gè)歷史收縮學(xué)習(xí)率,可能使得學(xué)習(xí)率在達(dá)到這樣的凸結(jié)構(gòu)前就變得太小了。RMSProp 使用指數(shù)衰減平均以丟棄遙遠(yuǎn)過去的歷史,使其能夠在找到凸碗狀結(jié)構(gòu)后快速收斂,它就像一個(gè)初始化于該碗狀結(jié)構(gòu)的 AdaGrad 算法實(shí)例。

      RMSProp 的標(biāo)準(zhǔn)形式如算法8.5所示,結(jié)合 Nesterov 動(dòng)量的形式如算法8.6所示。相比于 AdaGrad,使用移動(dòng)平均引入了一個(gè)新的超參數(shù)ρ,用來控制移動(dòng)平均的長度范圍。經(jīng)驗(yàn)上,RMSProp 已被證明是一種有效且實(shí)用的深度神經(jīng)網(wǎng)絡(luò)優(yōu)化算法。目前它是深度學(xué)習(xí)從業(yè)者經(jīng)常采用的優(yōu)化方法之一。

      Adam (Kingma and Ba, 2014) 是另一種學(xué)習(xí)率自適應(yīng)的優(yōu)化算法,最好被看作結(jié)合 RMSProp 和具有一些重要區(qū)別的動(dòng)量的變種。首先,在 Adam 中,動(dòng)量直接并入了梯度一階矩(指數(shù)加權(quán))的估計(jì)。將動(dòng)量加入 RMSProp 最直觀的方法是將動(dòng)量應(yīng)用于縮放后的梯度。結(jié)合縮放的動(dòng)量使用沒有明確的理論動(dòng)機(jī)。其次,Adam 包括偏置修正,修正從原點(diǎn)初始化的一階矩(動(dòng)量項(xiàng))和(非中心的)二階矩的估計(jì)(算法8.7)。RMSProp 也采用了(非中心的)二階矩估計(jì),然而缺失了修正因子。因此,不像 Adam,RMSProp 二階矩估計(jì)可能在訓(xùn)練初期有很高的偏置。Adam 通常被認(rèn)為對(duì)超參數(shù)的選擇相當(dāng)魯棒,盡管學(xué)習(xí)率有時(shí)需要從建議的默認(rèn)修改。

      目前,最流行并且使用很高的優(yōu)化算法包括 SGD、具動(dòng)量的 SGD、RMSProp、具動(dòng)量的 RMSProp、AdaDelta 和 Adam。

    二、優(yōu)化算法是什么呢?

    優(yōu)化算法是指對(duì)算法的有關(guān)性能進(jìn)行優(yōu)化,如時(shí)間復(fù)雜度、空間復(fù)雜度、正確性、健壯性。

    大數(shù)據(jù)時(shí)代到來,算法要處理數(shù)據(jù)的數(shù)量級(jí)也越來越大以及處理問題的場(chǎng)景千變?nèi)f化。為了增強(qiáng)算法的處理問題的能力,對(duì)算法進(jìn)行優(yōu)化是必不可少的。算法優(yōu)化一般是對(duì)算法結(jié)構(gòu)和收斂性進(jìn)行優(yōu)化。

    同一問題可用不同算法解決,而一個(gè)算法的質(zhì)量優(yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進(jìn)算法。一個(gè)算法的評(píng)價(jià)主要從時(shí)間復(fù)雜度和空間復(fù)雜度來考慮。

    遺傳算法

    遺傳算法也是受自然科學(xué)的啟發(fā)。這類算法的運(yùn)行過程是先隨機(jī)生成一組解,稱之為種群。在優(yōu)化過程中的每一步,算法會(huì)計(jì)算整個(gè)種群的成本函數(shù),從而得到一個(gè)有關(guān)題解的排序,在對(duì)題解排序之后,一個(gè)新的種群----稱之為下一代就被創(chuàng)建出來了。首先,我們將當(dāng)前種群中位于最頂端的題解加入其所在的新種群中,稱之為精英選拔法。新種群中的余下部分是由修改最優(yōu)解后形成的全新解組成。

    常用的有兩種修改題解的方法。其中一種稱為變異,其做法是對(duì)一個(gè)既有解進(jìn)行微小的、簡單的、隨機(jī)的改變;修改題解的另一種方法稱為交叉或配對(duì),這種方法是選取最優(yōu)解種的兩個(gè)解,然后將它們按某種方式進(jìn)行組合。爾后,這一過程會(huì)一直重復(fù)進(jìn)行,直到達(dá)到指定的迭代次數(shù),或者連續(xù)經(jīng)過數(shù)代后題解都沒有改善時(shí)停止。

    三、多目標(biāo)優(yōu)化算法有哪些?

    主要內(nèi)容包括:多目標(biāo)進(jìn)化算法、多目標(biāo)粒子群算法、其他多目標(biāo)智能優(yōu)化算法、人工神經(jīng)網(wǎng)絡(luò)優(yōu)化、交通與物流系統(tǒng)優(yōu)化、多目標(biāo)生產(chǎn)調(diào)度和電力系統(tǒng)優(yōu)化及其他。

    四、什么是智能優(yōu)化算法

    群體智能優(yōu)化算法是一類基于概率的隨機(jī)搜索進(jìn)化算法,各個(gè)算法之間存在結(jié)構(gòu)、研究內(nèi)容、計(jì)算方法等具有較大的相似性。因此,群體智能優(yōu)化算法可以建立一個(gè)基本的理論框架模式:

    Step1:設(shè)置參數(shù),初始化種群;

    Step2:生成一組解,計(jì)算其適應(yīng)值;

    Step3:由個(gè)體最有適應(yīng)著,通過比較得到群體最優(yōu)適應(yīng)值;

    Step4:判斷終止條件示否滿足?如果滿足,結(jié)束迭代;否則,轉(zhuǎn)向Step2;

    各個(gè)群體智能算法之間最大不同在于算法更新規(guī)則上,有基于模擬群居生物運(yùn)動(dòng)步長更新的(如PSO,AFSA與SFLA),也有根據(jù)某種算法機(jī)理設(shè)置更新規(guī)則(如ACO)。

    擴(kuò)展資料

    優(yōu)化算法有很多,經(jīng)典算法包括:有線性規(guī)劃,動(dòng)態(tài)規(guī)劃等;改進(jìn)型局部搜索算法包括爬山法,最速下降法等,模擬退火、遺傳算法以及禁忌搜索稱作指導(dǎo)性搜索法。而神經(jīng)網(wǎng)絡(luò),混沌搜索則屬于系統(tǒng)動(dòng)態(tài)演化方法。

    優(yōu)化思想里面經(jīng)常提到鄰域函數(shù),它的作用是指出如何由當(dāng)前解得到一個(gè)(組)新解。其具體實(shí)現(xiàn)方式要根據(jù)具體問題分析來定。

    參考資料來源:百度百科-智能算法

    以上就是關(guān)于優(yōu)化算法有哪些相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    濟(jì)南官網(wǎng)SEO技巧(濟(jì)南seo網(wǎng)站排名優(yōu)化工具)

    官網(wǎng)關(guān)鍵詞優(yōu)化價(jià)格(關(guān)鍵詞優(yōu)化的價(jià)格查詢)

    優(yōu)化網(wǎng)站排名就去云尚網(wǎng)絡(luò)(云尚優(yōu)算是什么平臺(tái))

    交易貓是啥(交易貓是啥平臺(tái))

    人生處處是銷售(人生處處是銷售怎么理解)