版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
可視化拓展使用中心 該在檢查梯度的每個維度的時候,會要求計算兩次損失函數(所以計算資源的耗費也是兩倍),但是梯度的近似值會準確很多。要理解這一點,對和使用 階近似)。(譯者注:展開相關內容可閱讀《高等數學》第十二章第四節(jié):函數展開上式考慮了差值占兩個梯度絕對值的比例。注意通常相對誤差只包含兩個式子中的一為了防止在其中一個式子為0時,分母為0(這種情況,在ReLU中是經常發(fā)生1e-4>OK的。但如果目標函數kink(tanhsoftmax),那么相對誤差值還是太高。10層網絡的輸入1e-2OK了,因為誤差一直在累積。相反,如1e-2,那么通常說明梯度實現不正確。1e-21e-8的情況。保持在浮點數的有效范圍。建議通讀《WhatEveryComputerScientistShouldKonwAboutFloating-PointArtthmetic》一文,該文將闡明你可能犯的錯誤,促使你寫下更加細據打印出來,確保用來比較的數字的值不是過?。?e-10就絕對讓人擔1.0的數量級上,即當浮點數指0目標函數的不可導點(kn)在進行度檢查,一個導確原因是可導點問題。不導點是目標函不可導部分,由eU)等函數,或M損失,Maxout神經元等引入。考慮當的時,對ReLU函數進行梯度檢查。因為 的結果。你可能會認為這是一個的案例,但實際上這種情況很常見。例如,一個用子,所以包含有450,000個式子。而一個用SVM進行分類的神經網絡因為采用了ReLU,還會有的不可導點。的函數中持續(xù)所有“贏家”的,就可以實現這一點。其實就是看向時,到底x和y誰更大。如果在計算和的時候,至少有一個“贏家”的 了,那就說明不可導點被越過了,數值梯度會確。可導點的損失函數(ReLU或者邊緣損失等函數)的數據點越少,不可導2-3個數據點都有效,那么基本上對整個批量數據進行梯度檢查也是沒問題的。所h。在實踐中h并不是越小越好,因為當特別小的時候,就可能就會遇到1e-41e-6,然后突然梯度檢查可能就恢復正常。這篇百科文章中有一個圖表,其x軸為值,y軸為數值在操作的特性模式中梯度檢查。)能導致入某種的情,即梯看來是正確現了,際上并有。例如,M0(“”)的之后進行梯檢查。第一次代進行梯度查的就在于此時可不要讓正則化吞沒數據。通常損失函數是數據損失和正則化損失的和(L2對權重的(例如隨機失活的反向實現可能有錯誤)。因此,一個更好的解決方案就是在計算和前強制增加一個特定的隨機,在計算解析梯度時也同樣如此。尋找特定情況的正確損失值。(0。例如,對于一個跑CF-0的omx2001(10個類別,然后oax-ln01232。對于WesnaknsM),91)很小的數據集上進行訓練(20個數據)0的損失值。進行這個實驗的時候,最好讓正則化強度為0,不然它會得到0的損失。除非能通過這一個正常在下面的圖表中,x軸通常都是表示周期(epochs)單位,該單位衡量了在訓練中每個樣于迭代次數(itions),一般更傾向周期,這是因為迭代次數與數據的批尺寸—優(yōu)化到一個很好的點上。右圖CIFAR-10— —遇到這種情況,就應該增大正則化強度(更強的L2權重懲罰,的隨機失活等)或收集的數據。另一種可能就是驗證集曲線和訓練集曲線如影隨形,這種情況說明你的模—最后一個應該的量是權重中更新值的數量和全部值的數量之間的比例。注意:是更新的,而不是原始梯度(sgd中就是梯度乘以學習率)。需要對每個參數集的更新比例進行單獨的計算和。一個經驗性的結論是這個比例應該在1e-3左右。如果更設參數向量為W,其梯度向量為dWparam_scale=np.linalg.norm(W.ravel())update=-learning_rate*dWSGD新update_scalenp.linalg.norm(update.ravel())Wupdate際更printupdate_scaleparam_scale得到1e-3tanh的神經0,或者全都飽和了往-11上跑,那肯定就是有問題了?!獏蹈峦卣沟俏覀兺ǔOM钚』瘬p失函數)xdx,那么最簡單的##普通更x+=-learning_rate*learning_rate是一個超參數,它是一個固定的常量。當在整個數據集上進行計算時, 在某個位置給質點設定初始速度為0。這樣最優(yōu)化過程可以看做是模擬參數向量(即質##vmu*vlearning_rate*dxxv致。這個變量有效地抑制了速度,降低了系統(tǒng)的動能,不然質點在山底不會停下來。Nesterov動量與普通動量有些許不同,最近變得比較流行。在理論上對于凸函數它能得到Nesterov動量的思路是,當參數向量位于某個位置x時,觀察上面的動量更新可以發(fā)現,動量部分(忽視帶梯度的第二個部分)mu*v稍微改變參數向量。因此,x+mu*v看做是“向前看”,這個點在我們x+mu*v的梯度而不是“舊”x的梯度就有意—(紅色點)Nesterov動量,我們就在這個“向前看”的地方計算梯—x_aheadx_ahead=x+mu*#計算dx_ahead(在x_ahead處的梯度,而不是在x處的梯度v=mu*v-learning_rate*dx_aheadx+=vSGD或上面的動量方法一樣簡單的表達式。通過對x_ahead=x+mu*vx_aheadx來表示上面的更新。也就是說,實際的參數向量總是向前一步的那個版本。x_ahead的(將其重新命名為x)就變成了:v_prevv_prev=vvmu*vlearning_rate*dx度更新保持不xmu*v_prev(1mu*v置更新變了形對于NAG(Nesterov'sAcceleratedMomentum)的來源和數學推導,我們推薦以下YoshuaBengioAdvancesinoptimizingRecurrentNetworks,Section3.5IlyaSutskever'sthesis(pdf)在section7.2對于這個有更詳盡的闡述。隨步數衰減5個周期就將200.1。這些數值的設定是嚴重依賴具體問 是超參數,是迭代次數(也可以使用周期1/t衰減的數學是,其 (衰減系數和以周期為時間單位的步數)比更有解釋性。最后,如果你有足夠的計算資和梯度下降中一樣。直觀理解上,Hessian矩陣描述了損失函數的局部曲率,從而使得可以進行更高效的參數更新。具體來說,就是乘以Hessian轉置矩陣可以讓最優(yōu)化過程在曲率小的時候大步前進,在曲率大的時候小步前進。需要重點注意的是,在這個中是沒Hessian矩陣操作非常耗費時間和空間。舉例來說,假設一個有一百萬個參數的神經網Hessian矩陣大小就是[1,000,000x1,000,000]3,725GB的內存。這樣,各種各樣的擬-法就被發(fā)明出來用于近似轉置Hessian矩陣。在這些方法中最流行L-BFGS,該方法使用隨時間的梯度中的信息來隱式地近似(也就是說整個矩陣是從然而,即使解決了空間的問題,L-BFGS應用的一個巨大劣勢是需要對整個訓練集進SGD)L-BFGS在小批量上運行起來是很需要技巧,同時也是研究熱點。實踐L-BFGS之類的二階方法并不常見。相反,基于(Nesterov的)動量更新的各種隨機梯度下降方法更加常用,因為它們更加簡單且容易LargeScaleDistributedDeepNetworks一文來自谷歌大腦團隊,比較了在大規(guī)模數據情L-BFGSSGD算法的表現。SFOSGD和L-BFGS的優(yōu)勢結合起來。Adagrad是一個由Duchi等適應性學習率算##假設有梯度和參數向量cache+=x+=-learning_rate*dx/(np.sqrt(cache)+注意,變量cache的尺寸和梯度矩陣的尺寸是一樣的,還了每個參數的梯度的平方eps(一1e-41e-8之間)0的情況。Adagrad的一個缺點是,在深度學RMSprop。是一個非常高效,但沒有公開的適應性學習率方法。有趣的是,每個使用這個方法的人在他們的中都自GeoffHinton的Coursera課程的第六課的第29頁PPTAdagrad方法,讓它不那么激進,單調地降低cachecache=decay_rate*cache+(1-decay_rate)*x+=-learning_rate*dx/(np.sqrt(cache)+在上面的代碼中,decay_rate是一個超參數,常用的值是[0.9,0.99,0.999]x+=和Adagradcache變量是不同的。因此,RMSProp仍然是基于梯度的大Adagrad不同,其更新不會Adam。Adam是最近才一種更新方法,它看起來像是RMSProp的動量版。簡化的mm=beta1*m+(1-v=beta2*v+(1-x+=-learning_rate*m/(np.sqrt(v)+注意這個更新方法看起來真的和RMSProp很像,除了使用的是平滑版的梯度m,而不是用的原始梯度向量dx。 中推薦的參數值eps=1e-8,beta1=0.9,beta2=0.999。在實際操作中,我們推薦Adam作為默認的算法,一般而言跑起來比RMSProp要好一點。但是也可以試試SGD+Nesterov動量。完整的Adam更新算法也包含了一個偏置(bias)矯正機制,因為m,v兩個矩陣初始為0,在沒有完全熱身之前存在偏差,需要采取一些補償措 查看細節(jié),或者課程的PPT。UnitTestsforStochasticOptimization——曲率不同(一個維度下降另一個維度上升)SGD很難突破對稱性,一直卡在頂RMSProp之類的方法能夠看到馬鞍方向有很低的梯度。因為在RMSProp更新方:AlecRadford——樣:learning_rate10**uniform(-61)。也就是說,我們從標準分布中隨機生成了一個10的階數。對于正則化強度,可以采用同樣的策略。直觀地說,這0.0010.01,那么對于學習進程會有很大影響。然而當學習率是10的時候,影響就微乎其微了。這就是因為學習率乘以了計算出的梯度。因此,比起加上隨機搜索優(yōu)于網格搜索。BergstraBengio在文章RandomSearchforHyper-ParameterOptimization中說“隨機選擇比網格化的選擇更加有效”,而且在實踐中也更容易實現?!赗andomSearchforHyper-ParameterOptimization中的說明圖。通常,有些超參——對于邊界上的最優(yōu)值要。這種情況一般發(fā)生在你在一個不好的范圍內搜索超參數(比如學習率)learning_rate=10**uniform(-6,1)來進行搜從粗到細地分階段搜索。在實踐中,先進行初略范圍(10**61])搜索,然后根據5個周期,而最后一個階段就其的思路是在不同超參數設置下查看算法性能時,要在探索和使用中進行合理的權SpearmintSMAC,和Hyperopt。個(10個)模型來進行集成。這樣就提高了集成的多樣性,但風險在于可能會包含
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年冀教新版選修化學上冊階段測試試卷含答案
- 2025年上教版七年級語文上冊階段測試試卷
- 2024服裝加工生產合同
- 2025年湘教版八年級地理上冊階段測試試卷含答案
- 2025年人教B版七年級地理上冊階段測試試卷含答案
- 2024規(guī)定個人租車協(xié)議樣式版B版
- 2025年度食堂廢棄物處理與資源化利用合同6篇
- 2025年度太空水實驗研究用純凈水源采購合同3篇
- 二零二五年度秀嶼區(qū)文印中心承包協(xié)議6篇
- 2025年教科新版八年級科學下冊階段測試試卷
- AHP層次分析法-EXCEL表格自動計算
- 團代會工作流程圖
- 身心康中醫(yī)經絡檢測儀—報告解讀
- 電力工程承裝(修、試)資質管理辦法
- 簡譜樂理知識(課堂PPT)
- 急診科烏頭堿中毒課件
- 混凝土攪拌站污水處理方案精編版
- 2013天津中考滿分作文
- 醫(yī)院安保人員錄用上崗管理辦法
- 公共政策分析簡答題
- 加熱爐溫度控制系統(tǒng)_畢業(yè)論文
評論
0/150
提交評論