最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

cs231n第6課:梯度下降方法、lr更新方法、dropout、卷積神經(jīng)網(wǎng)絡(luò)

2023-11-10 11:33 作者:請(qǐng)?jiān)徫襬  | 我要投稿

發(fā)布了作業(yè)2:

Assignment 2:寫神經(jīng)網(wǎng)絡(luò)(層前向/后向API)、BN、Dropout、卷積神經(jīng)網(wǎng)絡(luò)!

這節(jié)課繼續(xù)講網(wǎng)絡(luò)訓(xùn)練:(梯度下降方法、lr更新方法、dropout、梯度檢查)

這節(jié)課:參數(shù)更新、學(xué)習(xí)率更新、Dropout、梯度檢查、模型整合

題外話:我要開始費(fèi)曼學(xué)習(xí)法,把概念講給8歲小孩子聽,做一個(gè)8歲都能聽懂的cs231n的講課。

費(fèi)曼學(xué)習(xí)法:概念 - 簡(jiǎn)單語(yǔ)言講 - 講不明白再去學(xué) - 找出難詞(8歲小孩不懂的詞)再簡(jiǎn)化

SGD(隨機(jī)梯度下降 Stochastic Gradient Descent)為什么這么慢(達(dá)到loss最低點(diǎn)):

SGD為什么這么慢(接近loss最低點(diǎn))

v1:雖然w1(豎直方向)可以變得很快,但它是一個(gè)和loss減小關(guān)系微弱的變量,不同圖片下它的變化引起loss變化很大,但是每張圖讓w1變化的方向都不一樣因此彼此抵消,或證明了w1的無(wú)關(guān)性。

雖然w2(水平方向)梯度很小,但每張圖使w2變化的方向都是一致的,所以w2應(yīng)該快一點(diǎn)變化(只靠微弱的梯度太慢接近loss低點(diǎn)了),所以用動(dòng)量梯度下降

v2:SGD的前進(jìn)取決于梯度大小。這個(gè)w梯度大是這張圖對(duì)這個(gè)w的喜好,不代表這個(gè)w能讓所有圖都loss減小。讓所有圖都loss減小的w梯度可能很小,所以前進(jìn)的很慢。

v3:SGD的梯度大小決定了w的改變速度,等所有w達(dá)到合適值才能達(dá)到loss最低點(diǎn)。

有些梯度大的w,不同圖片w增大減小相互抵消,w只能采納(當(dāng)前W下)所有人的利益使loss總均值不高,但沒辦法滿足所有人的目的讓loss變小。

有些梯度小的w,不同圖片w都增大/都減小,但因?yàn)樘荻刃。院苈?/span>才能達(dá)到loss最低點(diǎn)。【這就是SGD慢的原因之一,為了補(bǔ)救“這類w變得慢”的情況,我們讓w的改變速度再依賴于w的總和量,而非僅當(dāng)前值 → Momentum(動(dòng)量) update】?

15:00

Momentum update(動(dòng)量更新 (w) )

Momentum update(動(dòng)量更新 (w) )

SGD:????w?+= - learning_rate * dw

????????????? ?w不斷的積分(累加)dw

Momentum update:

????????????? ?v = mu * v? - learning_rate * dw

????????????? ?v = v0 + 1/2 a t2 ,其中v0是指數(shù)遞減地記錄了最近一批v0的趨勢(shì)

????????????? ?因?yàn)椴恢箍串?dāng)前的dw,而是看一段時(shí)間dw的總和,所以淺梯度方向下降變快了

????????????? ?dw += v

momentum為什么比SGD快:

梯度大的w(不同圖片dw相反的),總和v 因?yàn)橄嗷サ窒鴾p小,dw改變的少(mu存在阻尼,震蕩會(huì)越來(lái)越?。?/p>

梯度小的w(不同圖片dw相同的),總和v 因?yàn)槔奂佣兇?,dw改變的大,所以接近loss快。

Nesterov Momentum update(涅斯捷羅夫動(dòng)量更新)

Nesterov Momentum update

因?yàn)榭隙〞?huì)走其中的v0步(另一步是當(dāng)前dw),與其求當(dāng)前點(diǎn)的dw,不如求站在v0點(diǎn)的dw。這樣就具備了半步前瞻性。

AdaGrad update(“第二動(dòng)量更新”)

AdaGrad update

絕對(duì)值變化總量大的w,更新的每一步step size(即dw)會(huì)變?。ú还懿煌瑘D片下是相互抵消還是疊加,都會(huì)減?。?/p>

絕對(duì)值總量變化小的w,每一步dw會(huì)放大(不管不同圖片的dw是相互抵消,還是同方向)。

缺點(diǎn):隨著時(shí)間增長(zhǎng),cache會(huì)越來(lái)越大,w的變化dw會(huì)接近 0 。【為了解決這個(gè)缺點(diǎn)就有了RMSProp】

疑問:為什么絕對(duì)值變化總量大的w(不同圖片w改變方向相同)也需要慢慢來(lái)?不應(yīng)該快點(diǎn)更好嗎?【andrej說(shuō),通常神經(jīng)網(wǎng)絡(luò)的optimization landcape不是這樣的】

????????? ?為什么絕對(duì)值變化總量小的w(不同圖片w改變方向不同)會(huì)需要step更大?振蕩好像不存在好處,但也沒多壞。

RMSProp

RMSProp

cache原先是歷史dw2總量計(jì)數(shù)器,現(xiàn)在只記錄近期的一批?dw2(越久之前的dw2?權(quán)重按照指數(shù)遞減)。這樣就避免了AdaGrad 會(huì) zero update(dw幾乎=0)?的問題。

8:21

Adam Update(結(jié)合momentum和RMSProp)

結(jié)合Nesterov momentum和RMSProp的也有人在做但貌似還沒出論文(說(shuō)這句是在2016年)

有兩句代碼是為了在v和cache初始化為0的前幾個(gè)周期讓v和cache“熱身”(我有點(diǎn)看不懂),不是很重要

Learning rate(Update):

以上所有更新w的方法都還是有一個(gè)lr參數(shù),lr參數(shù)也可以更新:

  1. step decay:每(幾)個(gè)epoch ,learning rate * 0.9

  2. exponential decay:lr = lr *?e(每個(gè)epoch,e的指數(shù)+1)——我感覺這和1是等價(jià)的?

  3. 1/t decay:lr = lr / (1+kt)? ? t就是epoch數(shù)

實(shí)踐中用的比較少。一般有用類似第二種指數(shù)遞減的學(xué)習(xí)率什么的。


第二方法:

泰勒公式(?)、牛頓直接跳到求梯度=0的loss最低點(diǎn)(但占用太多內(nèi)存資源)、 BFGS比牛頓法少些內(nèi)存(但內(nèi)存還是放不下)、L-BFGS可以用(但用mini-batch和隨機(jī)量時(shí)效果不好)

總結(jié):1. 用Adam Update

? ? ? ? ? ?2. 如果能把所有batch放進(jìn)內(nèi)存,用L-BFGS(但目前--2016--大模型用不了,這還只是個(gè)研究方向)


model ensemble

多個(gè)同種模型一起,平均一下輸出,總能得到網(wǎng)絡(luò)輸出額外提高2%的準(zhǔn)確率(可以通過trick而在一個(gè)模型的訓(xùn)練中得到比如7個(gè)模型)


regularization:Dropout

提升2%性能,類似ensemble但不需要多次訓(xùn)練。

類似ensemble的作用,每個(gè)mini batch都要重新把網(wǎng)絡(luò)dropout掉比如每一層drop一半。最終test的時(shí)候不drop而使用完整的網(wǎng)絡(luò),會(huì)有多個(gè)模型ensemble的效果。

然后在test的時(shí)候不drop,而是使用整個(gè)網(wǎng)絡(luò),但是要讓網(wǎng)絡(luò)輸出 * drop的比例比如1/2。(但是若使用了非線性激活函數(shù),這就不準(zhǔn)了)

inverted dropout:也可以把這個(gè)“修正”放在forward而不是test函數(shù)里,那就是要讓網(wǎng)絡(luò)輸出 / drop的比例比如1/2(即擴(kuò)大2倍)。因?yàn)楣?jié)省了網(wǎng)絡(luò)預(yù)測(cè)時(shí)的時(shí)間(每一層 *1/2 的操作),所以這個(gè)是最常用的。


Gradient Checking

梯度檢查

Gradient Checking 看課程筆記,不講


卷積神經(jīng)網(wǎng)絡(luò)

貓神經(jīng)網(wǎng)絡(luò),諾貝爾獎(jiǎng)兩人發(fā)現(xiàn)層級(jí)結(jié)構(gòu),一層一層simple到complex cell,提出這種神經(jīng)元假設(shè)模型。視野中相近的神經(jīng)元在皮層里也是相鄰的

第一個(gè)復(fù)制這個(gè)模型到計(jì)算機(jī)的是日本的Fukushima,做了層級(jí)結(jié)構(gòu)(聚類方案)的Neurocognitron,那時(shí)候還沒有反向傳播(但是,反向傳播雖然有點(diǎn)眾妙之門但也不是皮層使用的正道,正道藏在赫布規(guī)則里--我說(shuō)的。)

第二個(gè)是Lecun的LeNet,繼承了網(wǎng)絡(luò)模型,但是用了反向傳播,效果不錯(cuò),用來(lái)識(shí)別英文字母/數(shù)字

第三個(gè)是2012的AlexNet,原理大致沒變,數(shù)據(jù)集和網(wǎng)絡(luò)變大了,準(zhǔn)確率超出了那一年其他算法一截。


卷積神經(jīng)網(wǎng)絡(luò)能干什么:

Classification?分類:youtube視頻自動(dòng)分類(根據(jù)視頻里的圖片是什么內(nèi)容),(語(yǔ)音識(shí)別?),鯨魚分類(百來(lái)個(gè)種類),

Retrieval 識(shí)圖:百度識(shí)圖,谷歌識(shí)圖

Detection 目標(biāo)探測(cè):自動(dòng)駕駛檢測(cè)周圍的東西,(估計(jì)軀干姿態(tài)?),探測(cè)癌癥細(xì)胞,識(shí)別道路路標(biāo),(識(shí)別衛(wèi)星圖中的道路?)

Segmentation 語(yǔ)義分割: 分割不同神經(jīng)組織細(xì)胞,

其他:玩電腦游戲,輸入文本輸出文本(語(yǔ)意,NLP,ChatGPT),圖片描述,GAN 風(fēng)格圖像生成


卷積神經(jīng)網(wǎng)絡(luò) vs. 猴子的大腦皮層?

他們的特征向量(一層的w 或 IT皮層多次探針)很相似

特征空間是某個(gè)深層的W,比如2個(gè)W就有一個(gè)平面向量,‘動(dòng)物’向量和‘汽車’向量就會(huì)有一定距離,但是‘椅子’向量和‘椅子’向量距離就會(huì)很近。多個(gè)W就會(huì)有多維空間的向量,它們的2個(gè)多維向量(即“特征向量”)之間也有距離。

猴子的IT皮層(比較深的視覺皮層)用多個(gè)探針,也能模擬多個(gè)W的效果,比較兩個(gè)不同類別之間(在特征空間內(nèi))的距離。

結(jié)果是:橫軸數(shù)軸都是7種類別,然后卷積神經(jīng)網(wǎng)絡(luò)得到的“不同類別特征向量距離圖”和猴子IT皮層的“不同類別特征向量距離圖”非常相似。結(jié)論是,這可能意味著卷積網(wǎng)絡(luò)在做和大腦類似的事情。

卷積神經(jīng)網(wǎng)絡(luò)(這種用反向傳播的)具有了人腦的特征提取功能

但它訓(xùn)練時(shí),pros能接近最正確答案(借助反向傳播梯度下降算法的逆天巧妙自動(dòng)擬合想要的人為規(guī)定的結(jié)果),cons抽象概念被手動(dòng)限定在輸出層(幾種類別)的規(guī)模。

中間概念、邏輯關(guān)聯(lián)和推理、更多認(rèn)知規(guī)則的形成,未被構(gòu)建。

激活學(xué)習(xí),激活值越高,說(shuō)明圖片和數(shù)字值越符合。最終被激活的是誰(shuí)?一個(gè)細(xì)胞?還是有10個(gè)數(shù)字,就有10個(gè)細(xì)胞?還是10個(gè)圖,10個(gè)數(shù)字,100個(gè)細(xì)胞?

卷積神經(jīng)網(wǎng)絡(luò)是用這種監(jiān)督訓(xùn)練,手動(dòng)強(qiáng)迫學(xué)習(xí)固定特征。那無(wú)監(jiān)督用的是什么?還未了解。需要去了解。cs231n里會(huì)提到?14課好像有提到。



cs231n第6課:梯度下降方法、lr更新方法、dropout、卷積神經(jīng)網(wǎng)絡(luò)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
巴楚县| 池州市| 香河县| 利津县| 南雄市| 五河县| 平定县| 聂荣县| 永登县| 普兰店市| 台中市| 兴海县| 南汇区| 比如县| 高青县| 河北省| 上林县| 尚义县| 天气| 东山县| 金山区| 塔河县| 巴里| 博野县| 巍山| 湘潭市| 红安县| 合肥市| 宁都县| 安龙县| 务川| 清涧县| 盐津县| 得荣县| 昂仁县| 清涧县| 韶山市| SHOW| 饶平县| 江源县| 大新县|