一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文解析深度學(xué)習(xí)的優(yōu)算方法

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:Chenhao's Studio ? 作者:Chenhao's Studio ? 2020-08-31 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)的目的是找到使損失函數(shù)的值盡可能小的參數(shù)。這是尋找最優(yōu)參數(shù)的問(wèn)題,解決這個(gè)問(wèn)題的過(guò)程稱(chēng)為最優(yōu)化(optimization)。遺憾的是,神經(jīng)網(wǎng)絡(luò)的最優(yōu)化問(wèn)題非常難。這是因?yàn)閰?shù)空間非常復(fù)雜,無(wú)法輕易找到最優(yōu)解(無(wú)法使用那種通過(guò)解數(shù)學(xué)式一下子就求得最小值的方法)。而且,在 深度神經(jīng)網(wǎng)絡(luò)中,參數(shù)的數(shù)量非常龐大,導(dǎo)致最優(yōu)化問(wèn)題更加復(fù)雜。

為了找到最優(yōu)參數(shù),我們將參數(shù)的梯度(導(dǎo)數(shù))作為了線(xiàn)索。 使用參數(shù)的梯度,沿梯度方向更新參數(shù),并重復(fù)這個(gè)步驟多次,從而逐漸靠近最優(yōu)參數(shù),這個(gè)過(guò)程稱(chēng)為隨機(jī)梯度下降法(stochastic gradient descent),簡(jiǎn)稱(chēng)SGD。SGD是一個(gè)簡(jiǎn)單的方法,不過(guò)比起胡亂地搜索參數(shù)空間,也算是“聰明”的方法。

打個(gè)比方: 有一個(gè)性情古怪的探險(xiǎn)家。他在廣袤的干旱地帶旅行,堅(jiān)持尋找幽 深的山谷。他的目標(biāo)是要到達(dá)最深的谷底(他稱(chēng)之為“至深之地”)。這 也是他旅行的目的。并且,他給自己制定了兩個(gè)嚴(yán)格的“規(guī)定”:一個(gè) 是不看地圖;另一個(gè)是把眼睛蒙上。因此,他并不知道最深的谷底在這個(gè)廣袤的大地的何處,而且什么也看不見(jiàn)。在這么嚴(yán)苛的條件下,這位 探險(xiǎn)家如何前往“至深之地”呢?他要如何邁步,才能迅速找到“至深 之地”呢?

尋找最優(yōu)參數(shù)時(shí),我們所處的狀況和這位探險(xiǎn)家一樣,是一個(gè)漆黑的世界。我們必須在沒(méi)有地圖、不能睜眼的情況下,在廣袤、復(fù)雜的地形中尋找 “至深之地”。大家可以想象這是一個(gè)多么難的問(wèn)題。

在這么困難的狀況下,地面的坡度顯得尤為重要。探險(xiǎn)家雖然看不到周 圍的情況,但是能夠知道當(dāng)前所在位置的坡度(通過(guò)腳底感受地面的傾斜狀況)。 于是,朝著當(dāng)前所在位置的坡度最大的方向前進(jìn),就是SGD的策略。勇敢的探險(xiǎn)家心里可能想著只要重復(fù)這一策略,總有一天可以到達(dá)“至深之地”。

SGD

用數(shù)學(xué)式將SGD可以寫(xiě)成如下形式:

為需要更新的權(quán)重參數(shù),?L?W\frac{\partial L}{\partial W}?W?L為損失函數(shù)LLL關(guān)于WWW的梯度。η\etaη表示學(xué)習(xí)率,一般會(huì)取0.01或0.001這些事先決定好的值。式中的←\leftarrow←表示用右邊的值更新左邊的值。

缺點(diǎn):

(1)SGD 因?yàn)楦卤容^頻繁,會(huì)造成 cost function 有嚴(yán)重的震蕩。

SGD呈 “之”字形移動(dòng)。這是一個(gè)相當(dāng)?shù)托У穆窂健R簿褪钦f(shuō), SGD的缺點(diǎn)是, 如果函數(shù)的形狀非均向(anisotropic),比如呈延伸狀,搜索的路徑就會(huì)非常低效。因此,我們需要比單純朝梯度方向前進(jìn)的SGD更聰 明的方法。 SGD低效的根本原因是, 梯度的方向并沒(méi)有指向最小值的方向。

(2)容易收斂到局部最優(yōu),并且容易被困在鞍點(diǎn)。

Momentum

Momentum算法借用了物理中的動(dòng)量概念,它模擬的是物體運(yùn)動(dòng)時(shí)的慣性,即更新的時(shí)候在一定程度上保留之前更新的方向,同時(shí)利用當(dāng)前batch的梯度微調(diào)最終的更新方向。這樣一來(lái),可以在一定程度上增加穩(wěn)定性,從而學(xué)習(xí)地更快,并且還有一定擺脫局部最優(yōu)的能力:

和前面的SGD一樣, WWW表示要更新的權(quán)重參數(shù), 表示損失函數(shù)關(guān)于WWW的梯度,ηηη表示學(xué)習(xí)率。 這里新出現(xiàn)了一個(gè)變量vvv,對(duì)應(yīng)物理上的速度。 式(1)表示了物體在梯度方向上受力,在這個(gè)力的作用下,物體的速度增加這一物理法則。Momentum方法給人的感覺(jué)就像是小球在地面上滾動(dòng)。

式(1)中有αvαvαv這一項(xiàng)。在物體不受任何力時(shí),該項(xiàng)承擔(dān)使物體逐漸減速的任務(wù)(α設(shè)定為0.9之類(lèi)的值),對(duì)應(yīng)物理上的地面摩擦或空氣阻力。

和SGD相比, “之”字形的“程度”減輕了。這是因?yàn)殡m然x軸方向上受到的力非常小,但是一直在同一方向上受力,所以朝同一個(gè)方向會(huì)有一定的加速。反過(guò)來(lái),雖然y軸方向上受到的力很大,但是因?yàn)榻换サ厥艿秸较蚝头捶较虻牧Γ鼈儠?huì)互相抵消,所以y軸方向上的速度不穩(wěn)定。因此,和SGD時(shí)的情形相比, 可以更快地朝x軸方向靠近,減弱“之”字形的變動(dòng)程度。

AdaGrad

在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中,學(xué)習(xí)率(數(shù)學(xué)式中記為ηηη)的值很重要。學(xué)習(xí)率過(guò)小, 會(huì)導(dǎo)致學(xué)習(xí)花費(fèi)過(guò)多時(shí)間;反過(guò)來(lái),學(xué)習(xí)率過(guò)大,則會(huì)導(dǎo)致學(xué)習(xí)發(fā)散而不能 正確進(jìn)行。

在關(guān)于學(xué)習(xí)率的有效技巧中,有一種被稱(chēng)為學(xué)習(xí)率衰減(learning rate decay) 的方法,即隨著學(xué)習(xí)的進(jìn)行,使學(xué)習(xí)率逐漸減小。實(shí)際上,一開(kāi)始“多” 學(xué),然后逐漸“少”學(xué)的方法,在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中經(jīng)常被使用。

逐漸減小學(xué)習(xí)率的想法,相當(dāng)于將“全體”參數(shù)的學(xué)習(xí)率值一起降低。 而AdaGrad進(jìn)一步發(fā)展了這個(gè)想法,針對(duì)“一個(gè)一個(gè)”的參數(shù),賦予其“定 制”的值。

AdaGrad會(huì)為參數(shù)的每個(gè)元素適當(dāng)?shù)卣{(diào)整學(xué)習(xí)率, 與此同時(shí)進(jìn)行學(xué)習(xí) (AdaGrad的Ada來(lái)自英文單詞Adaptive,即“適當(dāng)?shù)摹钡囊馑迹?。下面,讓我們用?shù)學(xué)式表示AdaGrad的更新方法。

其中,hhh為梯度累積變量,它保存了以前的所有梯度值的平方和,hhh的初始值為0。?\bigodot?表示對(duì)應(yīng)矩陣元素的乘法,η\etaη表示學(xué)習(xí)率,δ\deltaδ為很小的一個(gè)數(shù)值,是為了防止分母為0。然后,在更新參數(shù)時(shí),通過(guò)乘以 1h√\frac{1}{\sqrt h}h1,就可以調(diào)整學(xué)習(xí)的尺度。這意味著, 參數(shù)的元素中變動(dòng)較大(被大幅更新)的元素的學(xué)習(xí)率將變小。也就是說(shuō), 可以按參數(shù)的元素進(jìn)行學(xué)習(xí)率衰減,使變動(dòng)大的參數(shù)的學(xué)習(xí)率逐漸減小。

由圖可知,函數(shù)的取值高效地向著最小值移動(dòng)。由于y軸方 向上的梯度較大,因此剛開(kāi)始變動(dòng)較大,但是后面會(huì)根據(jù)這個(gè)較大的變動(dòng)按 比例進(jìn)行調(diào)整,減小更新的步伐。因此,y軸方向上的更新程度被減弱,“之” 字形的變動(dòng)程度有所衰減。

RMSProp

AdaGrad會(huì)記錄過(guò)去所有梯度的平方和。因此,學(xué)習(xí)越深入,更新 的幅度就越小。實(shí)際上,如果無(wú)止境地學(xué)習(xí),更新量就會(huì)變?yōu)?0, 完全不再更新。為了改善這個(gè)問(wèn)題,可以使用 RMSProp 方法。RMSProp方法并不是將過(guò)去所有的梯度一視同仁地相加,而是逐漸 地遺忘過(guò)去的梯度,在做加法運(yùn)算時(shí)將新梯度的信息更多地反映出來(lái)。 這種操作從專(zhuān)業(yè)上講,稱(chēng)為“指數(shù)移動(dòng)平均”,呈指數(shù)函數(shù)式地減小過(guò)去的梯度的尺度。

其中ppp一般可取0.9,其它參數(shù)和AdaGrad一致。

Adam

Momentum參照小球在碗中滾動(dòng)的物理規(guī)則進(jìn)行移動(dòng),AdaGrad為參數(shù)的每個(gè)元素適當(dāng)?shù)卣{(diào)整更新步伐。如果將這兩個(gè)方法融合在一起會(huì)怎么樣呢?這就是Adam方法的基本思路。直觀地講,Adam就是融合了Momentum和AdaGrad的方法。通過(guò)組合前面兩個(gè)方法的優(yōu)點(diǎn),有望實(shí)現(xiàn)參數(shù)空間的高效搜索。此外,進(jìn)行超參數(shù)的“偏置校正”也是Adam的特征。Adam結(jié)合了Adagrad善于處理稀疏梯度和RMSprop善于處理非平穩(wěn)目標(biāo)的優(yōu)點(diǎn)。

可以看出,直接對(duì)梯度的矩估計(jì)對(duì)內(nèi)存沒(méi)有額外的要求,而且可以根據(jù)梯度進(jìn)行動(dòng)態(tài)調(diào)整,而?m?tn?t√+δ-\frac{\hat m_t}{\sqrt {\hat n_t} + \delta }?n^t+δm^t對(duì)學(xué)習(xí)率η\etaη形成了一個(gè)動(dòng)態(tài)約束,而且有明確的范圍。

如圖,基于 Adam 的更新過(guò)程就像小球在碗中滾動(dòng)一樣。雖然 Momentun 也有類(lèi)似的移動(dòng),但是相比之下, Adam的小球左右搖晃的程度有所減輕。這得益于學(xué)習(xí)的更新程度被適當(dāng)?shù)卣{(diào)整了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【知識(shí)點(diǎn)】長(zhǎng)文超詳講解深度學(xué)習(xí)中你總是掌握不牢的若干知識(shí)點(diǎn)

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳解機(jī)器學(xué)習(xí)深度學(xué)習(xí)的區(qū)別

    深度學(xué)習(xí)這幾年特別火,就像5年前的大數(shù)據(jù)樣,不過(guò)深度學(xué)習(xí)其主要還是屬于機(jī)器學(xué)習(xí)的范疇領(lǐng)域內(nèi),所
    發(fā)表于 09-06 12:48 ?3007次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>詳解機(jī)器<b class='flag-5'>學(xué)習(xí)</b>和<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的區(qū)別

    解析深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)原理與視覺(jué)實(shí)踐

    解析深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)原理與視覺(jué)實(shí)踐
    發(fā)表于 06-14 22:21

    基于深度學(xué)習(xí)的異常檢測(cè)的研究方法

    異常檢測(cè)的深度學(xué)習(xí)研究綜述原文:arXiv:1901.03407摘要異常檢測(cè)是個(gè)重要的問(wèn)題,在不同的研究領(lǐng)域和應(yīng)用領(lǐng)域都得到了很好的研究。本文的研究目的有兩個(gè):首先,我們對(duì)基于深度
    發(fā)表于 07-12 07:10

    深度學(xué)習(xí)技術(shù)的開(kāi)發(fā)與應(yīng)用

    /A2C6.DDPG7.PPO8.SAC1.深度強(qiáng)化學(xué)習(xí)訓(xùn)練場(chǎng)-OpenAI Gym 安裝與使用2.Pytorch安裝與使用3.自動(dòng)駕駛賽車(chē)任務(wù)4.月球飛船降落任務(wù)實(shí)操解析與訓(xùn)練實(shí)驗(yàn)
    發(fā)表于 04-21 14:57

    C語(yǔ)言深度解析

    C語(yǔ)言深度解析,本資料來(lái)源于網(wǎng)絡(luò),對(duì)C語(yǔ)言的學(xué)習(xí)有很大的幫助,有著較為深刻的解析,可能會(huì)對(duì)讀者有定的幫助。
    發(fā)表于 09-28 07:00

    讀懂深度學(xué)習(xí)與機(jī)器學(xué)習(xí)的差異

    機(jī)器學(xué)習(xí)深度學(xué)習(xí)變得越來(lái)越火。突然之間,不管是了解的還是不了解的,所有人都在談?wù)摍C(jī)器學(xué)習(xí)深度學(xué)習(xí)
    發(fā)表于 11-16 01:38 ?3254次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>與機(jī)器<b class='flag-5'>學(xué)習(xí)</b>的差異

    模型驅(qū)動(dòng)深度學(xué)習(xí)的標(biāo)準(zhǔn)流程與學(xué)習(xí)方法解析

    模型驅(qū)動(dòng)的深度學(xué)習(xí)方法近年來(lái),深度學(xué)習(xí)在人工智能領(lǐng)域系列困難問(wèn)題上取得了突破性成功應(yīng)用。
    的頭像 發(fā)表于 01-24 11:30 ?5137次閱讀
    模型驅(qū)動(dòng)<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的標(biāo)準(zhǔn)流程與<b class='flag-5'>學(xué)習(xí)方法</b><b class='flag-5'>解析</b>

    解讀深度學(xué)習(xí)的發(fā)展

    在2018清潔發(fā)展國(guó)際融資論壇上,北京交通大學(xué)人工智能研究院常務(wù)副院長(zhǎng)、教授于劍先生從專(zhuān)業(yè)角度回顧了人工智能的發(fā)展歷程,并介紹了深度學(xué)習(xí)的適用范圍和所面臨的問(wèn)題。他指出,深度學(xué)習(xí)是機(jī)器
    的頭像 發(fā)表于 10-05 17:29 ?2480次閱讀

    解析人工智能中深度學(xué)習(xí)的經(jīng)典算法

    深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)個(gè)分支,其學(xué)習(xí)方法可以分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督
    發(fā)表于 01-30 09:29 ?3596次閱讀
    <b class='flag-5'>解析</b>人工智能中<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的經(jīng)典算法

    人工智能之深度強(qiáng)化學(xué)習(xí)DRL的解析

    深度學(xué)習(xí)DL是機(jī)器學(xué)習(xí)種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)方法。
    發(fā)表于 01-24 10:46 ?5370次閱讀

    讀懂何為深度學(xué)習(xí)1

    自然語(yǔ)言處理領(lǐng)域的殿堂標(biāo)志 BERT 并非橫空出世,背后有它的發(fā)展原理。今天,螞蟻金服財(cái)富對(duì)話(huà)算法團(tuán)隊(duì)整理對(duì)比了深度學(xué)習(xí)模型在自然語(yǔ)言處理領(lǐng)域的發(fā)展歷程。從簡(jiǎn)易的神經(jīng)元到當(dāng)前最復(fù)雜的BERT模型
    發(fā)表于 02-22 09:54 ?657次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂何為<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>1

    讀懂何為深度學(xué)習(xí)3

    自然語(yǔ)言處理領(lǐng)域的殿堂標(biāo)志 BERT 并非橫空出世,背后有它的發(fā)展原理。今天,螞蟻金服財(cái)富對(duì)話(huà)算法團(tuán)隊(duì)整理對(duì)比了深度學(xué)習(xí)模型在自然語(yǔ)言處理領(lǐng)域的發(fā)展歷程。從簡(jiǎn)易的神經(jīng)元到當(dāng)前最復(fù)雜的BERT模型
    發(fā)表于 02-22 09:55 ?565次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂何為<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>3

    深度學(xué)習(xí)框架和深度學(xué)習(xí)算法教程

    深度學(xué)習(xí)框架和深度學(xué)習(xí)算法教程 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)
    的頭像 發(fā)表于 08-17 16:11 ?1454次閱讀

    深度學(xué)習(xí)中的時(shí)間序列分類(lèi)方法

    時(shí)間序列分類(lèi)(Time Series Classification, TSC)是機(jī)器學(xué)習(xí)深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之,廣泛應(yīng)用于人體活動(dòng)識(shí)別、系統(tǒng)監(jiān)測(cè)、金融預(yù)測(cè)、醫(yī)療診斷等多個(gè)領(lǐng)域。隨
    的頭像 發(fā)表于 07-09 15:54 ?2095次閱讀

    Pytorch深度學(xué)習(xí)訓(xùn)練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練。
    的頭像 發(fā)表于 10-28 14:05 ?643次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>訓(xùn)練的<b class='flag-5'>方法</b>