神經(jīng)網(wǎng)絡(luò)算法梯度下降GradientDescent_第1頁(yè)
神經(jīng)網(wǎng)絡(luò)算法梯度下降GradientDescent_第2頁(yè)
神經(jīng)網(wǎng)絡(luò)算法梯度下降GradientDescent_第3頁(yè)
神經(jīng)網(wǎng)絡(luò)算法梯度下降GradientDescent_第4頁(yè)
神經(jīng)網(wǎng)絡(luò)算法梯度下降GradientDescent_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、神經(jīng)網(wǎng)絡(luò)算法-梯度下降GradientDescent神經(jīng)網(wǎng)絡(luò)文章索引上一篇神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,我們介紹了神經(jīng)元的結(jié)構(gòu),激活函數(shù)以及每個(gè)神經(jīng)元激活值的算法,涉及到權(quán)重、偏置值等。神經(jīng)網(wǎng)絡(luò)中的待定值上一篇結(jié)尾提到,對(duì)于28*28的黑白手寫(xiě)圖像識(shí)別,我們需要13002個(gè)權(quán)重和偏置數(shù)值,才能讓我們的神經(jīng)網(wǎng)絡(luò)最后輸出正確結(jié)果。曲線上任取兩個(gè)點(diǎn)a,b,它們對(duì)應(yīng)x和x+dx。(d是指德?tīng)査髮?xiě)厶,小寫(xiě)d)ab兩點(diǎn)對(duì)應(yīng)的y的差是dy?,F(xiàn)在直線ab看上去是曲線的割線(有ab兩個(gè)交點(diǎn))。假設(shè)b點(diǎn)沿著曲線,越來(lái)越靠近a點(diǎn),那么dx極限趨近于0,這時(shí)候dy也會(huì)越來(lái)越小趨近于0,但是!我們會(huì)意識(shí)到dy/dx永遠(yuǎn)不會(huì)是0,而

2、最終它仍然是角Zcab的對(duì)邊比鄰邊,也就是正切三角函數(shù)值。實(shí)際上,這也正是曲線的切線的定義。可以想象,我們?nèi)〉腶點(diǎn)越是靠右,那么這個(gè)切線越是豎直。如果我們把這個(gè)切線看做表示某個(gè)一次方程,如y=mx+n這種形式,那么a點(diǎn)越靠右,直線越豎直,m值也就越大。我們把m值叫做直線的斜率。切線導(dǎo)數(shù)derivative,元函數(shù)y=f(x)(即因變量y只受到一個(gè)自變量x影響的函數(shù))中任意取x,如果x增加極小趨近于0的4x(或者寫(xiě)為dx),那么y相應(yīng)的被增加(或者寫(xiě)作dy),那么導(dǎo)數(shù)就是dy/dx,而又有dy=f(x+dx)-f(x),所以:導(dǎo)數(shù)定義從函數(shù)的曲線圖上可以看到,某點(diǎn)的導(dǎo)數(shù)就是dx趨近于0時(shí)候Zca

3、b的正切,導(dǎo)數(shù)反映了切線的陡峭程度,也就是y隨著x變化的快慢程度。注意,導(dǎo)數(shù)函數(shù)的圖形并不是一條直線,因?yàn)閺膱D上就可以發(fā)現(xiàn)這個(gè)斜率f(x)不是固定的,隨著x的增大,f(x)也會(huì)增大(曲線越來(lái)越陡峭),所以如果把f(x)畫(huà)出來(lái),在這個(gè)示例中,它的形狀和現(xiàn)有的f(x)曲線差不多,但略低,至少要穿過(guò)0點(diǎn),因?yàn)榭瓷先(x)在乂等于0的時(shí)候切線接近水平斜率也接近0。所以,圖上直線只反映了a點(diǎn)導(dǎo)數(shù),而不是反映整個(gè)導(dǎo)數(shù)函數(shù)。微分differential,簡(jiǎn)單說(shuō)就是從和厶y,或者記作dx和dyx稱之為自變量,y稱之為因變量,那么x趨近于最小的時(shí)候的值,就是x的微分(趨近0又不是0的那個(gè)神秘值),同樣y的微分

4、也是這個(gè)意思,總之是想得到又摸不到的神奇值。斜率slope,元一次函數(shù)(直線方程)y=mx+n的系數(shù)m值。在這里就是a點(diǎn)的導(dǎo)數(shù)值f(x)。切線tangent,某個(gè)點(diǎn)a的切線,就是經(jīng)過(guò)a點(diǎn)的,以A點(diǎn)斜率為系數(shù)的方程y=f(x)x+n所表示的直線。自變量dependentvariable和因變量independentvariable,x自己的變化,引發(fā)y被動(dòng)變化。好了,我們來(lái)看多變量微分Multivariabledifferential。上面都是一個(gè)y收到一個(gè)x的影響y=f(x),多變量就是不止受到一個(gè)自變量的影響,我們以最簡(jiǎn)單的z=f(x,y)為例,z=2+y2。多變量微分綠軸X的變化和紅軸y的

5、變化,都會(huì)對(duì)應(yīng)藍(lán)軸z的變化。x從負(fù)無(wú)窮到正無(wú)窮無(wú)限種可能,y也是無(wú)限種可能,x和y復(fù)合到一起就在水平方向覆蓋了全部地面,z值有高有低,就像現(xiàn)實(shí)世界中的海拔一樣,把xy平面凸起或凹陷。(圖中粉色沒(méi)有畫(huà)出全部曲面)我們可以想象,這時(shí)候不能討論A點(diǎn)的切線了,而應(yīng)該考慮它的切平面tangentplane(下圖綠色平面)。方向?qū)?shù)directionalderivative,就是曲面上過(guò)A點(diǎn)的任意曲線的切線(下圖紫色線)組成的平面,就是切平面。圓點(diǎn)A上的切平面這么多紫色的方向中,哪一個(gè)方向最陡峭?對(duì)于這個(gè)z=2+y2函數(shù)來(lái)說(shuō),明顯是最接近豎直朝上的那個(gè)箭頭和最接近豎直朝下的那個(gè)箭頭。和曲線一樣道理,越陡峭

6、意味著z對(duì)x、y的變化越敏感,或者說(shuō)dx、dy的變化會(huì)引發(fā)更多的dz。梯度gradient,我們規(guī)定,能夠引發(fā)因變量最快變化的那個(gè)切線正方向,就叫做曲面方程上這個(gè)點(diǎn)的梯度。注意梯度是個(gè)xyz表示的三維方向,例如0,0,1表示z軸豎直向上,0.1,0.1,1就往xy的正方向偏一點(diǎn)點(diǎn)。還有一個(gè)偏導(dǎo)數(shù)partialderivative是指函數(shù)結(jié)果相對(duì)于其中一個(gè)變量的導(dǎo)數(shù),就是多變量中鎖定其他變量,只留住一個(gè)變量,比如把x鎖定為5即x=5時(shí)候只留下y和z的變化,這時(shí)候變成了z=f(5,y),其實(shí)x這個(gè)自變量已經(jīng)沒(méi)啥意思了,我們又回到了上面的一元曲線情況,其實(shí)這只是三維空間在x=5這個(gè)豎直平面上形成的一

7、條二維拋物曲線。同樣如果我們鎖定不同的z,那么就得到曲面上一圈一圈的地形等高線。把三維轉(zhuǎn)為二維,這就是科幻小說(shuō)中所說(shuō)的降維攻擊。用微分思考梯度下降對(duì)于只有xy兩個(gè)變量的三維曲面來(lái)說(shuō),我們還可以只是考慮x+0.1,x-0.1,y+0.1,y-0.1這樣的試探方法找到最低點(diǎn),只要2*2=4次就可以了,周全一點(diǎn)也就8次。但是對(duì)于我們手寫(xiě)數(shù)字識(shí)別中13002個(gè)自變量來(lái)說(shuō),那就要2130次2這是不可行的。借用多元微分,我們可以找到13002個(gè)自變量某一隨機(jī)點(diǎn)對(duì)應(yīng)的切平面(實(shí)際早已不是什么平面了,我們姑且這么說(shuō)),也可以計(jì)算出其中變化最快的方向,就是梯度,數(shù)學(xué)家已經(jīng)證明,不管多少個(gè)維度,沿著梯度往前走一步

8、,都能獲得最快變化后新的一個(gè)點(diǎn),這個(gè)點(diǎn)是一個(gè)n維向量,對(duì)于我們的案例來(lái)說(shuō)就是13003個(gè)新數(shù)字組成的數(shù)組0.322,0.123,0.55,0.222,.0.233共13003個(gè)數(shù)字。Howtonudgeall13,002weightsandbiases;weightsandbiases2.2501S018-1.570.451980.51w=-VC(W)-lie負(fù)梯度0403.82-0.32191丄.1丄0.82L表示梯度的倒三角符號(hào)讀音n壬ble唯一要說(shuō)明的一點(diǎn)不同就是,為了找最低點(diǎn),我們不是往上走,而是往相反的負(fù)方向,朝下走。步長(zhǎng)stepsize,就是我們每次沿著負(fù)梯度往下走多遠(yuǎn),在機(jī)器學(xué)習(xí)

9、算法里面它叫做學(xué)習(xí)率learningrate,同樣道理,步子邁小了走得太慢,找到最低點(diǎn)耗時(shí)間太久,步子太大了容易跳過(guò)最低點(diǎn)(注意,1萬(wàn)多維的復(fù)雜情況不是我們上面三維漏斗曲面那么簡(jiǎn)單可以描述的)。所以我們經(jīng)常設(shè)置0.00001這樣小的數(shù)字,好在很多機(jī)器學(xué)習(xí)程序都會(huì)適當(dāng)?shù)淖詣?dòng)調(diào)整它(比如Tensorflow中的梯度下降優(yōu)化GradientDescentOptimizer),實(shí)際上不會(huì)讓它太慢。同時(shí),我們從上圖中看到,計(jì)算出的負(fù)梯度是由很多數(shù)字組成的數(shù)組,每個(gè)數(shù)字代表一個(gè)維度(就像xy那樣),所以我們只要在原來(lái)的位置點(diǎn)坐標(biāo)(比如x,y)上分別把這個(gè)梯度(比如0.1,-0.3)加上去就能得到新的點(diǎn)(x+0.1,y-0.3)。當(dāng)然這里步長(zhǎng)已經(jīng)考慮在梯度內(nèi)了,如果沒(méi)有包含在梯度內(nèi),那么應(yīng)該再乘以步長(zhǎng),假設(shè)步長(zhǎng)0.01,那么就是(x+0.1)0.01,(y-0.30.01。內(nèi)容小結(jié)神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)就是尋找數(shù)以萬(wàn)億計(jì)的待定值的最佳匹配方案就是尋找多

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論