日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lecture3-线性神经元和算法

發(fā)布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lecture3-线性神经元和算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Hinton第三課

這節(jié)課主要是介紹NN的輸出端常用的神經(jīng)元,然后重點是說明怎么使用BP來計算偏導數(shù),在Hinton這一課中,他提供了他1986年參與寫的《并行分布處理》一書的第8章,49頁,這本書的編者是當你的認知神經(jīng)界的Rumelhart, D. E和McClelland, J. L,想想估計那時候Hinton應該很年輕吧,這本書網(wǎng)上很難找到,但是發(fā)現(xiàn)http://psych.stanford.edu/~jlm/papers/ ,這里居然有全本。

一、學習線性神經(jīng)元的權(quán)重

? ? 這里介紹的線性神經(jīng)元和之前介紹的感知機不同,感知機的訓練總是會使得權(quán)重接近一個好的結(jié)果,但是在線性神經(jīng)元中,這個輸出總是會更加接近一個目標輸出。感知機的收斂是通過確保當我們改變權(quán)重的時候,就是更加靠近一個理想權(quán)重的時候。這也使得感知機無法擴展成更復雜的網(wǎng)絡,因為在更復雜的網(wǎng)絡中,當你將兩個好的權(quán)重集合進行平均,會得到一個壞的集合(個人理解,它無法完成那種線性+線性還是線性這種慣性,兩個好的權(quán)重集合相加,得到的集合卻不是好的集合,因為感知機的閾值原理)。所以對于多層NN來說,通常不會使用感知機的訓練方法,所以也就 沒有多層感知機的說法。對于多層NN來說,我們需要一個不同的訓練方法,不似以往的使得權(quán)重更加的靠近理想值,而是使得真實的輸出靠近目標輸出,這對于非凸問題(對兩個好的權(quán)重集合進行平均,得到的不是一個好的權(quán)重集合)也是適用的,但是在感知學習中,即使當權(quán)重更加的合理,但是得到的目標輸出卻有可能差了千里。

? ? ?讓輸出更加符合目標輸出的學習的最簡單的例子就是用平方誤差測量的方法來學習一個線性神經(jīng)元了,線性神經(jīng)元,在電子工程中也叫做線性過濾器,有著一個實值(連續(xù)值)輸出,簡單的對所連接的輸入神經(jīng)進行權(quán)值求和。


上圖中的輸出Y,是神經(jīng)元的目標估計值,是通過用權(quán)值乘以輸入的每一項并最后求和得到的,第二個等式后面是他們的矩陣寫法。這里的學習目標就是使得在所有訓練樣本上神經(jīng)元的目標估計值和目標真實值之間的誤差和最小,通常采用的測量方法就是誤差平方和的方法,但是對于標準的工程方法來說,這可以通過基于每個樣本的值寫上一大堆的式子,然后直接求解就能計算出一個很好的權(quán)值集合,但是為什么不采用這個方法?首先,第一個回答,也是科學的回答,是我們需要一個真實的神經(jīng)元也能使用的方法,而真實的神經(jīng)元也通常不是為了求一系列的式子的解(我們大腦對數(shù)學不擅長,對視覺識別等等很擅長);其次,第二個回答,也是工程上的回答,我們需要一個方法能夠生成多層,非線性網(wǎng)絡。因為通過分析得來的結(jié)果通常都是依賴于是線性的并且有著一個平方誤差測量結(jié)果。下面介紹的迭代的方法,通常來說不高效,但是卻很容易學習并生成更復雜的網(wǎng)絡。

? ? 例子:通過一個很簡單的例子來說明如何迭代的去學習到線性神經(jīng)元的權(quán)重。假設你每天都會去一個咖啡廳吃午飯,菜單上只有三道菜fish,chips和ketchup,每天都會點上幾份并記賬,在某天有錢了去結(jié)錢的時候服務員和你說總價,你就會想知道每道菜的單價是多少。下面就是計算的方法:



就是先隨機定價格,然后在通過每餐吃了多少來不斷的計算,看看我們計算的和他叫我們付的錢的差距,然后在調(diào)整我們定的價格。


上圖是服務員和我們說的總價,而這里的每道不同的菜也都是真實的,只是我們不知道,我們現(xiàn)在想秀一下,自己來計算這個值。


假設我們開始猜每個菜的價格都是50,50,50,然后得到了500的總價,這與給我們的價格850相差了350,然后通過圖中右邊的學習規(guī)則,得到了新的單價(權(quán)值)為70,100,80.。注意到這里的權(quán)值其實離我們的真實值差的更遠了,但是這不是我們要的目的,我們的目的是計算整個模型,使得我們計算出來的總價和我們要付的錢的差距最小,(也就相當于在店家收益不變的情況下我們來給出我們的菜的價格)。

上面的思路清晰了,現(xiàn)在就是解決這個delta-rule的問題了。

? ??

如上圖所示,我們要的就是使得這個誤差函數(shù)最小,其中就是真實目標值和NN預測的值的差距,前面的1/2是為了后面的求導的時候可以抵消而引進的,雖說權(quán)值不重要,但是我們的目標預測也是通過調(diào)節(jié)權(quán)值來體現(xiàn)的,所以還是要對他進行求偏導,這里用到的鏈式法則相信任何一本高數(shù)書上都有,(這里的Dy在沒有數(shù)學上的歧義的時候可以消除,但是一般不建議,因為前面的Dy/DW是偏導,因為這個y中有很多的w(i),我們這里只對一個具體的w(i)求導,所以dy / dw(i) = x(i),這里是因為例子是線性的,所以這里在采用不同的激活函數(shù)的時候是不同的,需要注意到)在求得誤差在每個w(i)上的導數(shù)后,前面加上負號,然后在加個學習率(也就是高數(shù)書中例子下山的步長),最后就得到了關(guān)于w(i)的每次迭代的改變量。

? ? 在訓練結(jié)束后,也許不能得到完美的結(jié)果但是仍然能夠得到對完美的權(quán)值的逼近權(quán)值集合,在學習率足夠小的情況下,并且訓練的時間足夠長,得到的結(jié)果就越能靠近完美值;并且在當其中的樣本的任意兩個特征高度相關(guān)的時候,訓練就會變得很慢,而且當這里例子中的魚和chips吃的一樣多的時候,那么就沒法決定這個價格是因為魚而定的,通常會學習到一樣的結(jié)果。

一般來說會覺得這里的學習算法和之前的感知學習很像:


當選擇的學習率很大,那么整個系統(tǒng)是不穩(wěn)定的,但是選的太小,就會使得學習時間太長

二、線性神經(jīng)元的錯誤表面

? ? 在通過理解了錯誤平面的形狀之后,就能更加的好理解線性神經(jīng)元是怎么學習的。下面就是通過幾何的形式來理解但學習線性神經(jīng)元權(quán)值的時候所發(fā)生的事情。和之前的感知學習一樣,引入權(quán)重空間概念:


如上圖所示,上圖右邊第一個示意圖是水平方向表示權(quán)重(所有的權(quán)重表示成一維的),豎直方向表示損失大小。因此在水平平面中的點相對于不同的權(quán)重,豎直上意味著在所有訓練樣本上的誤差和。對于一個用平方誤差測量的線性神經(jīng)元來說,他的函數(shù)圖就是這樣的一個二次碗形(凸函數(shù)),豎直方向上看,就是個拋物線,而水平方向上看,就是個橢圓。但是對于多層,非線性網(wǎng)絡來說,他的誤差表面更加的復雜,當權(quán)重都不是很大的時候,這個誤差表面通常都是光滑的,但是卻有著許多的局部最小值,使用這樣的圖形,就能畫出delta-rule的過程了:

deleta-rule是通過計算誤差關(guān)于權(quán)重的偏導,如果說希望以最快的速度達到最小值,至少是局部最小,那么就是梯度的方向了,上圖中的方法叫做batch學習,就是批量學習,一次先計算所有的樣本,然后在更新權(quán)重,另一種叫在線學習,就是計算一個樣本,就更新一次,但是因為每個樣本所表現(xiàn)的信息不同,所以上圖中右邊的那個可以發(fā)現(xiàn)每次的迭代都是忽左忽右的,這就是被單個樣本所牽制的結(jié)果。通過使用這個錯誤表面圖形,我們就能知道他其實學習過程是很慢的。如果這個橢圓的形狀很狹長,這是當訓練樣本都幾乎平行的時候(就是差不多成線帶狀樣本分布),那么這時候求得的梯度,就很尷尬了:


上圖中紅色表示的梯度是我們不想移動太多的地方,因為移動大了就超出范圍了而與他差不多正交的方向,就是我們想移動多的方向,它卻移動的很少,所以當我們的數(shù)據(jù)分布是這個德行的,那么訓練的時間就肯定會很長了,因為這個樣本或者當前的梯度的確是這個方向,但是卻不是全局梯度(自己編的),只是局部梯度(自己編的)。

三、學習邏輯輸出神經(jīng)元的權(quán)重

? ? ?將之前的線性神經(jīng)元的學習規(guī)則擴展到非線性神經(jīng)元的多層網(wǎng)絡,我們需要兩步。首先,需要將學習規(guī)則擴展到單個非線性神經(jīng)元,然后就是擴展到多層網(wǎng)絡。在第一步中,采用的非線性神經(jīng)元是邏輯神經(jīng)元,雖然有眾多不同的非線性神經(jīng)元可以選擇,但是因為邏輯神經(jīng)元的一些很好的特性,所以才選擇它的:


首先他只有一個輸入 z,z是通過將所有的輸入線性相加得到的,輸出卻是非線性的平滑曲線,而且當z很大的時候輸出值是無限的接近1的,當z很小的時候,輸出值是無限的接近0的,而且變化平滑,重要的是它的偏導數(shù)還那么容易求:


上圖就是一個邏輯神經(jīng)元的偏導結(jié)果和他的關(guān)于一個輸入 z 的導數(shù)。將上圖中的進行整合,就能夠很好的關(guān)于權(quán)值的求導了;


上圖就是最后在基于邏輯神經(jīng)元下的誤差關(guān)于某個權(quán)重的求導結(jié)果,,中間紅色框起來的,恰好就是邏輯神經(jīng)元的導數(shù)的結(jié)果。

四、BP算法

? ? 現(xiàn)在在選擇了非線性NN的輸出之后,就是本課的中心問題,怎么去學習多層的特征。BP也就是在1980年代在NN領(lǐng)域中一個重要的進步。

? ?穿插:這是一個沒多大效用,但是差不多人人都想過的算法。如果一個NN網(wǎng)絡沒有隱藏單元,那么它就狠首先因為只有輸入-輸出模型來映射;通過人為添加一層手動編碼的特征層(之前的感知機課程)可以讓這個網(wǎng)絡更加強大,但是困難在于如何去設計這個特征,而這就沒法通過學習算法學習到了。我們想要的是找到這樣的一種特征,它不需要深入具體的任務內(nèi)部或者重復的實驗去觀察它如何很好的工作(就是找到一個能夠泛化的特征)。所以最好就是讓計算機自己深入具體的任務,然后通過多次的循環(huán)實驗找到如何正確很好的工作:


擾亂學習,就是首先先隨機初始化權(quán)重,然后針對某一個具體的權(quán)重上的權(quán)值,通過隨機擾動,如果這次的改變的確提升了最后的效果,那么就保留這次的改變,這就像是一種增強學習一樣。但是這種做法非常的低效,因為不但需要計算多層的前饋,而且還要反復的試驗就為了一個權(quán)重(而且還不是在一個樣本上測試),那么當權(quán)重的數(shù)量多起來后,那么時間復雜度完全不可想象;另一個隨機擾動權(quán)重的學習方法的問題是在學習的最后,任何的較大的擾動都會使得結(jié)果變壞,那么可想而知這個網(wǎng)絡會變得很動蕩。 ?這時候為了計算時間的減少,肯定提出了并行的想法,就是先對所有的權(quán)重進行擾動,然后在看由權(quán)重改變所帶來的結(jié)果的改變(可想而知這完全沒用,這和每次隨機初始化沒什么差別,而且比單個擾動還不靠譜);一個較好的想法是隨機擾動隱藏單元的激活值,如圖中紅點和綠點。但是如果知道了在一個樣本上如何擾動隱藏單元的激活值并使得模型效果更好,那么計算這幾個隱藏單元所涉及的權(quán)重也是很簡單的,這當神經(jīng)元的數(shù)量遠遠少于權(quán)重的數(shù)量的時候是好的方法,但是這些缺陷,都不如這個BP。

? ? BP的想法就是不知道隱藏單元應該怎么做,但是能夠計算這個誤差的改變是如何隨著一個隱藏單元的激活值改變而改變的。所以從反方向考慮,不去尋找合適的激活值去訓練隱藏單元,而是使用誤差導數(shù)去分配給每個隱藏單元激活值,告訴他們怎么逼近。而且因為一個隱藏單元的改變會改變之后所有單元的激活值,所以在誤差導數(shù)回傳的時候就需要綜合考慮 了,就是要對所有的隱藏單元都要同時考慮。

首先介紹BP在單個樣本下的情況:


如上圖所示:首先將誤差轉(zhuǎn)換成一個誤差導數(shù),上圖中右下角就是一個NN的部分示意圖,上層是輸出層 第 j 層,下層是一層隱藏層 i ,所以如上圖所示,將所有輸出層的誤差導數(shù)傳遞到下一層的和他有鏈接關(guān)系的神經(jīng)元上,這就是BP的由來,上圖中DE/ Dy_ j 是可以直接用誤差求導,然后通過所有輸出單元的誤差回向傳播(就是乘以前饋的時候用的權(quán)值在相加),就是圖中的 y_ i 的誤差,然后用這個誤差來對這個單元求導 :


上圖就是BP在前饋網(wǎng)絡下的求導,上圖左邊就是前饋的過程,右邊就是BP關(guān)于輸出層和隱藏層的求導

這部分還有具體的:?http://blog.csdn.net/shouhuxianjian/article/details/39076953 之前參考《神經(jīng)網(wǎng)絡與機器學習一書中BP部分寫得》。

?五、怎么使用由Bp計算的導數(shù)

? ? ?指出如何在一個多層網(wǎng)絡中獲得所有權(quán)重的誤差導數(shù)是學習整個網(wǎng)絡的關(guān)鍵。但是在全部明白各異學習過程之前還是有很多的問題需要去處理。例如,需要決定更新權(quán)重的頻率,還有在使用大網(wǎng)絡的情況下如何阻止網(wǎng)絡過擬合。Bp是一個高效計算對于單個訓練樣本的情況下誤差關(guān)于每個權(quán)重的求偏導的方法,但是這不是一個學習算法,所以需要指定其他的東西去得到一個合適的學習方法。為了得到一個完整的具體的學習過程,需要知道如何運用這些誤差導數(shù):優(yōu)化問題,如何在每個獨立的樣本上使用誤差導數(shù)去查找一個好的權(quán)重集合(在lecture6中具體介紹);泛化問題,如何確保學到的權(quán)重對于非訓練集的樣本一樣適用(就是可以用來做預測,在lecture7中具體介紹)。

? ? 對于使用權(quán)重導數(shù)上的優(yōu)化問題:1、更新權(quán)值的頻率:Online訓練一個樣本就進行更新,因為是采用的在線更新的形式,所以在權(quán)重空間上它的走向就是之字形的;full batch:在掃完所有的訓練數(shù)據(jù)后進行一次權(quán)值更新,這個方法的缺點就是有可能會初始化不好,而且如果遇到一個超大的訓練集合,我們不希望掃描所有的訓練樣本就為了更新某些權(quán)值,而且這些權(quán)值還是不好的。實際上,不需要這么干,可以把上述的優(yōu)點結(jié)合起來,就是第三個方法mini-batch:隨機的將樣本分成幾個mini-batch,然后訓練一個mini-batch就更新一次權(quán)值,他不會像在線學習一樣那么左右動蕩,而且也不會因為訓練樣本太大而權(quán)重更新太慢,或者訓練困難; ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2、每次更新權(quán)重的步長多大(lecture6中具體說明):a、是使用一個固定的學習率?每次的下降步長固定的;b、還是使用一個自適應全局學習率?讓機器決定,如果是穩(wěn)步向前的那么就加大這個學習率;c、還是對每個分開的連接都使用一個自適應的學習率?這樣就使得有些權(quán)重更新的快,有些權(quán)重更新的慢;d、不要使用梯度方向的下降?如上面說道的一個狹長的橢圓,那個情況的梯度的方向反而不是我們希望的方向,我們希望的是直指中心的方向。

? 如何防止模型的過擬合:訓練的數(shù)據(jù)包含的從輸入映射到輸出的規(guī)律信息,但是它通常有兩種噪音在里面:目標值有時候不可信(通常是一些小的錯誤);采樣錯誤,比如一些特別的樣本被我們選擇了,而這些樣本卻是類似異常點的存在,會讓網(wǎng)絡偏離好的方向。當我們擬合模型的時候,無法知道這個規(guī)律是真的,還是來自于采樣錯誤帶的,而模型要做的就是同時擬合不同的規(guī)律,如果模型很有可調(diào)控性,那么他就可以很好的你和采樣錯誤,這其實是個災難。


上圖中的六個黑點,就是樣本,這里有兩種擬合的模型,線性(2元)和多項式(6元),但是相比較來說訓練集是紅色的擬合的最好,但是在預測的時候,它產(chǎn)生的誤差一般是很大的,(之前的ng的機器學習中有介紹過欠擬合和過擬合的概念),但是對于NN來說,一般是過擬合的情況大于欠擬合的情況,而對應過擬合的情況一般有下面幾種方法:


權(quán)重衰減:就是在目標函數(shù)上加上所有權(quán)重的平方和

權(quán)重共享:參考CNN,他的一個特點就是權(quán)重共享

早點停止:通過使用learing curve(之前的博文中有的),當發(fā)現(xiàn)模型訓練開始下降的時候停止訓練

模型平均:對于差不多的訓練模型來說,在期望的部分將這幾個模型進行一起求平均,這可以減少錯誤

NN的貝葉斯擬合:這是一個模型平均的理想模型

dropout:在訓練的時候隨機讓某些隱藏單元失效

通常的預訓練:更加的復雜,而且超出了本課的要求,會在后面的課中講解。


轉(zhuǎn)載于:https://www.cnblogs.com/shouhuxianjian/p/4529206.html

總結(jié)

以上是生活随笔為你收集整理的lecture3-线性神经元和算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人天堂网站 | 日本成人小视频 | 国产成人无码精品久久久久 | 欧美毛片免费看 | 国产在线青青草 | 国产成人免费av | 69人妻一区二区三区 | 亚洲久久久久久 | 日本三级午夜理伦三级三 | 免费aa视频 | www..com黄色| 午夜视频在线免费 | 五月综合久久 | 色四虎 | 在线观看h视频 | 色人阁av| 欧美成人a交片免费看 | 少妇精品视频一区二区 | 国产精品自偷自拍 | 一区二区啪啪 | 日本老妇高潮乱hd | 91蜜臀精品国产自偷在线 | 亚洲无限看 | 黄色一级淫片 | 成人影片在线 | 稀缺呦国内精品呦 | 日韩爱爱网站 | 成人亚洲玉足脚交系列 | 亚洲国产精品av | 88国产精品视频一区二区三区 | 国产成人精品片 | 国产精品午夜影院 | 国产主播一区二区三区 | 国产在线无码精品 | 射婷婷| 国产一二三四五区 | 久久久久99 | 91亚色视频在线观看 | 北条麻纪在线观看aⅴ | 草草影院国产第一页 | 女生毛片 | 黄色片网站免费观看 | 亚洲精品av在线 | 性开放的欧美大片 | 在线 日本 制服 中文 欧美 | 男人的天堂日韩 | 人人干人人草 | 亚洲三区在线 | 成人免费看片在线观看 | 99久久精品无免国产免费 | 欧美日韩国产电影 | 男女草逼| 黄色裸体网站 | 天天艹夜夜艹 | 综合色婷婷一区二区亚洲欧美国产 | 美女扒开屁股让男人桶 | 亚洲自拍偷拍一区二区三区 | 国产伦精品一区二区三区网站 | 精品无码久久久久久久久成人 | 久久精品国产一区二区三区 | 国产成人一区二区三区免费看 | 三年中文免费观看大全动漫 | 国产一区福利 | 九色91popny蝌蚪新疆 | 欧美精品一二三区 | 欧美性生活网址 | 国内成人免费视频 | 亚洲精品97久久中文字幕 | 欧美日韩专区 | 国产91在线 | 亚洲 | 一区在线观看 | 日韩av一区二区三区在线 | 久久久18禁一区二区三区精品 | 日韩一区二区在线观看 | 国产男女猛烈无遮挡免费视频动漫 | 男人综合网 | 在线看一级片 | 欧美性一区二区 | 在线观看av国产一区二区 | 午夜视频大全 | 深爱婷婷 | 日本国产一区 | 波多野结衣一区二区在线 | 欧美在线91 | 精品美女久久久久 | 亚洲色图吧 | 干干干日日日 | 丰满岳跪趴高撅肥臀尤物在线观看 | 亚洲国产精华液网站w | 日本在线播放一区 | 色女孩综合| 色版视频 | 国产第一毛片 | 欧美一区二区三区久久综合 | 久久成人午夜 | 国产亚洲天堂网 | 久久久久区| 玖草在线| 精品国产乱码久久久久久婷婷 |