深度學習基礎(四)優化函數(梯度下降函數)

梯度下降函數也就是優化函數,在神經網絡訓練過程最重要的函數。重要程度類似于調校對于汽車的重要性,搭建模型和參數設置等操作=“造好了一輛汽車”,優化函數=“調校”。因為汽車最終的操控性和加速性能等指標很大程度取決于調校,調校的好的汽車操控性非常好,而調校不好的汽車開起來很難受。而優化函數也是一樣,很多情況下學習模型是正確的,但是最終訓練結果不如人意,往往是因為優化函數的選擇錯誤。

目錄

一、優化函數的發展歷程。

二、優化函數原理詳解

總結:


一、優化函數的發展歷程。

優化函數的發展主要經歷了下面的過程:?BGD->SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam。

今天我們主要介紹其中的6種優化函數,其中包括幾乎“萬能”的Adam,以及被大神們用的出神入化的SGD及其變種。此外,Adam算法對新手最友好了,幾乎能解決所有的由優化函數引起的訓練問題。

二、優化函數原理詳解

1.BGD

BGD,全稱是Batch gradient descent,批量梯度下降。其計算損失函數是遍歷全部數據集,然后算函數對各個參數的梯度和更新梯度,所以其計算速度慢并且不支持在線學習。

實現:利用現有參數對訓練集中的每一個輸入生成一個估計輸出Y_pred,然后跟實際輸出Y統計所有誤差,求平均以后得到平均誤差,以此來作為更新參數的依據。

2.SGD

SGD,全程是stochastic gradient descent,隨機梯度下降。每遍歷一個數據就算一次損失函數,然后求取梯度更新參數。速度較快,但收斂性不好,容易在最優點附近振蕩,陷入局部最優點。

實現:X_{t+1}=X_{T}-\sigma *\Delta f(X_{T})

每步迭代過程,從訓練集中的隨機抽取一批容量為m的樣本{x1,…,xm},以及相關的輸出y,計算梯度和誤差并更新參數.

3.SGD +Momentum

SGD加入了慣性,是為了抑制SGD的振蕩,即即將陷入局部最優點時,利用其慣性繼續往前計算,避免陷入局部最優點。

?

4.Adagrad

Adagrad加入了二階動量,即“自適應學習率”優化算法。在訓練過程中經常更新的參數A,應該降低其學習速率;而對于偶爾更新的參數B,在針對特定出現的樣本數據訓練時應增大其學習速率。

Ghis主要代表的是歷史數據的梯度,1e-7是一個很小的常量。

5.RMSprop

RMSprop是由AdaGrad改進而來的,因為在遭遇數據量非常大的數據集進行訓練時,AdaGrad函數的Ghis項會越來越龐大,導致訓練速度變慢以及其他的問題,所以加入decay的存在,該decay是歷史數據對Ghis的權重。

6.Adam

Adam可以說是上述4項優化函數的優點的集大成者,存在2個超參數,分別控制一階動量和二階動量。

上圖中first?momentum和second?momentum分別是一階動量和二階動量。

總結:

Adam對新手最友好,幾乎“萬能”;但是很多大神仍然用SGD及其變種來就能解決問題,大神些還是牛逼啊

參考文獻:

1.深度學習之tensorflow

2.https://mp.weixin.qq.com/s/xm4MuZm-6nKTn2eE3eNOlg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ANSYS 簡支梁的約束

在ansys中,梁的定義都是通過梁截面和軸線進行定義的,不同的梁的區別在ansys中的體現僅在于約束的處理上不同 1.簡支梁的約束 假設簡支梁的梁軸線是x軸,可以繞z軸彎曲,則簡支梁的約束: 起始點:X、Y、Z、RO…

js 實現 復制 功能 (zeroclipboard)

#復制功能因訪問權限和安全問題, 被瀏覽器禁了# 我要實現的功能:點擊復制按鈕,復制瀏覽器的當前頁面地址,加上用戶選擇的參數(用戶查找過濾),直接將該鏈接發給別人,點擊打開就是對應…

解決 kindle 書籍字體顏色偏淡問題的方法

現象 通過Markdown轉換而來的mobi格式書籍都有一個大問題:字體偏淡,放在kindle上看對比度很差。 原因分析: 導致這種問題的原因,可能是因為在制作電子書的過程中,這些內容是被標注了彩色或灰色。這可能更適合全彩屏幕的…

車智匯模式系統技術開發數據

用戶思維:對經營者和消費者的理解,以用戶為中心,學會換位思考,發掘用戶的真正想法和需求。以前是生產什么就賣什么(自己制作賣點),現在是了解用戶需要什么才做什么(實現賣點)。車智匯是一款以"云平臺智能終端&quo…

深度學習基礎(二)激活函數

激活函數(也被稱為激勵函數)的意義就是加入非線性因素,使得神經網絡具有非線性表達的能力。其必要條件是激活函數的輸入和輸出都是可微的,因為神經網絡要求處處可微。(可微是指函數的各個方向可導,可微大于等于可導) …

ANSYS——固定斜度的變截面變截面的定義、自由耦合和變截面的定義

目錄 1.變截面梁 2.自由度耦合 3.變截面的ANSYS GUI操作 4.疑問 以下兩個定義轉自:http://wenku.baidu.com/view/04e43ebbfd0a79563c1e722d.html 上述文章中還包含了一個實例,可以參考

Please ensure that adb is correctly located at……問題解決方案

啟動android模擬器時.有時會報The connection to adb is down, and a severe error has occured.的錯誤.在網友說在任務管理器上把所有adb.exe關閉掉.重啟eclipse.但試過不管用.所以在外國網站上找到一種可行的方法:1.先把eclipse關閉.2.在管理器轉到你的android SDK 的platfor…

2016.8.23

1 貼吧里看到一個關于因為游戲鬧翻的故事,大致情況是這樣的:某女初中的時候有個閨蜜。后來此人因為抑郁之類的精神問題被送到醫院,這讓女主很苦悶且脆弱又孤單,這時候她的閨蜜去醫院看望她,然后女主就喜歡上了這位閨蜜…

[Spring]01_環境配置

1.1 Spring jar包下載 (1)進入官網http://repo.spring.io (2)在資源庫界面點擊Artifacts標簽,然后點擊libs-release-local,展開后依次點擊org -> springframework -> spring。 然后,就可…

ANSYS——常見梁的后處理方法(彎曲應力、彎矩、軸力等的顯示)

目錄 a. 顯示變形 b. 顯示當量應力 c. 顯示彎曲應力 d. 支反力顯示 e. 將圖形存入文件

深度學習基礎(三)loss函數

loss函數,即損失函數,是決定網絡學習質量的關鍵。若網絡結構不變的前提下,損失函數選擇不當會導致模型精度差等后果。若有錯誤,敬請指正,Thank you! 目錄 一、loss函數定義 二、常見的loss算法種類 1.M…

C#中DataTable中的Compute方法使用收集

Compute函數的參數就兩個:Expression,和Filter。 Expresstion是計算表達式,關于Expression的詳細內容請看這里“http://msdn2.microsoft.com/zh-cn/library/system.data.datacolumn.expression(VS.80).aspx”。而Filter則是條件過濾器&#x…

Lazy延遲實例對象

懶對象,實現延遲實例對象。 轉載于:https://www.cnblogs.com/yj2010/p/5798622.html

Shift鍵關閉大小寫

同事說他的大寫開了之后無法關閉,我檢查了下,的確是,非常奇怪,然后我不小心按了下下面的Shift鍵,大寫指示燈滅了,我立即明白是怎么回事,原來是文字和語言設置里的Key setting改了,如…

ANSYS——如何選擇合適的單元類型

目錄 1.該選桿單元(Link)還是梁單元(Beam)? 2.對于薄壁結構,是選實體單元還是殼單元?

深度學習之pytorch(一) 環境安裝

快2周沒更新博客了,別問為什么!我才不會告訴你忙的飛起!說心里話,個人更喜歡用tensorflow來做深度學習! 一、環境配置 1.win10 64位系統; 2.anaconda3; 3.不管是CPU還是GPU具有(…

hdu3068馬拉車

其實馬拉車還真是最好理解的算法(感覺初中的時候好像講過類似的,但是當時就沒有認真聽) 沒想到一個簡單的優化能變成O(n),感覺碉堡 不說了,馬拉車裸題,我在寫的時候只保留了id,沒保留mx&#xf…

CAD——將圖形移動到指定點的方法(此處以捕捉坐標系原點為例)

1、在CAD中畫一個正方形,沒有任何角點在坐標原點上 2、點擊修改工具欄的“移動命令”,選擇剛剛畫好的圖形,選擇一個點為第一個基點; 3、先輸入#號(shift3),再輸入0,0,用英文逗號隔開&#xff0c…

閱讀推薦——深入淺出Mesos

深入淺出Mesos(一):為軟件定義數據中心而生的操作系統http://www.infoq.com/cn/articles/analyse-mesos-part-01 深入淺出Mesos(二):Mesos的體系結構和工作流http://www.infoq.com/cn/articles/analyse-mes…

MySQL主從復制(二)

1<span style"font-family:sans-serif;">主從架構中&#xff1a;從node是不接受w操作的&#xff0c;否則可能會導致數據不一致。</span><br> 一、復制架構中應該注意的問題&#xff1a; 1.限制slave為只讀模式 可以設置在啟動參數中。 > show g…