版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、最優(yōu)化筆記(上) 4 個月前譯者注:本文智能單元首發(fā),譯自斯坦福 CS231n 課程筆記 OptimizationNote,課程教師 Andrej Karpathy翻譯。本篇由翻譯完成,堃堃和進(jìn)行校對修改。譯文含公式和代碼,建議 PC 端閱讀。原文如下內(nèi)容列表:簡介損失函數(shù)可視化最優(yōu)化策略#1:隨機(jī)搜索o策略#2:隨機(jī)局部搜索o策略#3:跟隨梯度譯者注:上篇截止處o梯度計算使用有限差值進(jìn)行數(shù)值計算o微分計算梯度o梯度下降小結(jié)簡介在上一節(jié)中,介紹了圖像分類任務(wù)中的兩個關(guān)鍵部分:1.基于參數(shù)的評分函數(shù)。該函數(shù)將原始圖像像素線性函數(shù))。為分類評分值(例如:一個2.損失函數(shù)。該函數(shù)能夠根據(jù)分類評分和訓(xùn)
2、練集圖像數(shù)據(jù)實際分類的一致性,衡量某個具體參數(shù)集的質(zhì)量好壞。損失函數(shù)有多種版本和不同的實現(xiàn)方式(例 如:Softmax 或 SVM)。上節(jié)中,線性函數(shù)的形式是,而 SVM 實現(xiàn)的公式是:對于圖像數(shù)據(jù) ,如果基于參數(shù)集做出的分類與真實情況比較一致,那么計算出來的損失值 就很低?,F(xiàn)在介紹第三個,也是最后一個關(guān)鍵部分:最優(yōu)化 Optimization。最優(yōu)化是尋找能使得損失函數(shù)值最小化的參數(shù)的過程。鋪墊:一旦理解了這三個部分是如何相互的,會回到第一個部分(基于參數(shù)的函數(shù)),然后將其拓展為一個遠(yuǎn)比線性函數(shù)復(fù)雜的函數(shù):首先是神經(jīng)網(wǎng)絡(luò),然后是卷積神經(jīng)網(wǎng)絡(luò)。而損失函數(shù)和最優(yōu)化過程這兩個部分將會保持相對穩(wěn)定。
3、損失函數(shù)可視化本課中的損失函數(shù)一般都是定義在高維度的空間中(比如,在 CIFAR-10 中一個線性分類器的權(quán)重矩陣大小是10 x3073,就有 30730 個參數(shù)),這樣要將其可視化就很。然而辦法還是有的,在 1 個維度或者 2 個維度的方向上對高進(jìn)行切片,就能得到一些直觀感受。例如,隨機(jī)生成一個權(quán)重矩陣,該矩陣就與高中的一個點對應(yīng)。然后沿著某個維度方向前進(jìn)的同時損失函數(shù)值的變化。換句話說,就是生成一個隨機(jī)的方向并且沿著此方向計算損失值,計算方法是根據(jù)不同的 值來計算。這個過程將生成一個圖表,其 x 軸是 值,y 軸是損失函數(shù)值。同樣的方法還可以用在兩個維度上,通過改變來計算損失值,從而給出二
4、維的圖像。在圖像中,示:可以分別用 x 和 y 軸表示,而損失函數(shù)的值可以用顏色變化表一個無正則化的多類 SVM 的損失函數(shù)的圖示。左邊和中間只有一個樣本數(shù)據(jù),右邊是 CIFAR-10 中的 100 個數(shù)據(jù)。左:a 值變化在某個維度方向上對應(yīng)的的損失值變化。中和右:兩個維度方向上的損失值切片圖,藍(lán)色部分是低損失值區(qū)域,紅色部分是高損失值區(qū)域。注意損失函數(shù)的分段線性結(jié)構(gòu)。多個樣本的損失值是總體的平均值,所以右邊的碗狀結(jié)構(gòu)是很多的分段線性結(jié)構(gòu)的平均(比如中間這個就是其中之一)??梢酝ㄟ^數(shù)學(xué)公式來解釋損失函數(shù)的分段線性結(jié)構(gòu)。對于一個單獨的數(shù)據(jù),有損失函數(shù)的計算公式如下:通過公式可見,每個樣本的數(shù)據(jù)損
5、失值是以 為參數(shù)的線性函數(shù)的總和(零閾值來源于函數(shù))。的每一行(即),有時候它前面是一個正號(比如當(dāng)它對應(yīng)錯誤分類的時候),有時候它前面是一個負(fù)號(比如當(dāng)它是是正確分類的時候)。為進(jìn)一步闡明,假設(shè)有一個簡單的數(shù)據(jù)集,其中包含有 3個只有 1 個維度的點,數(shù)據(jù)集數(shù)據(jù)點有 3 個類別。那么完整的無正則化 SVM 的損失值計算如下:因為這些例子都是一維的,所以數(shù)據(jù) 和權(quán)重都是數(shù)字。觀察,可以看到上面的式子中一些項是的線性函數(shù),且每一項都會與 0 比較,取兩者的最大值??勺鲌D如下:從一個維度方向上對數(shù)據(jù)損失值的展示。x 軸方向就是一個權(quán)重,y 軸就是損失值。數(shù)據(jù)損失是多個部分組合而成。其中每個部分要么
6、是某個權(quán)重的獨立部分,要么是該權(quán)重的線性函數(shù)與 0 閾值的比較。完整的 SVM 數(shù)據(jù)損失就是這個形狀的 30730 維版本。需要多說一句的是,你可能根據(jù) SVM 的損失函數(shù)的碗狀外觀猜出它是一個凸函數(shù)。關(guān)于如何高效地最小化凸函數(shù)的有很多,你也可以學(xué)習(xí)斯坦福大學(xué)關(guān)于(凸函數(shù)最優(yōu)化)的課程。但是一旦函數(shù)擴(kuò)展到神經(jīng)網(wǎng)絡(luò),目標(biāo)函數(shù)就就不再是凸函數(shù)了,圖像也不會像上面那樣是個碗狀,而是凹凸不平的復(fù)雜地形形狀。不可導(dǎo)的損失函數(shù)。作為一個技術(shù)筆記,你要注意到:由于 max 操作,損失函數(shù)中存在一些不可導(dǎo)點(kinks),這些點使得損失函數(shù)不可微,因為在這些不可導(dǎo)點,梯度是沒有定義的。但是次梯度(subgra
7、dient)依然存在且常常被使交換使用次梯度和梯度兩個術(shù)語。用。在本課中,最優(yōu)化 Optimization重申一下:損失函數(shù)可以量化某個具體權(quán)重集 W 的質(zhì)量。而最優(yōu)化的目標(biāo)就是找到能夠最小化損失函數(shù)值的 W?,F(xiàn)在就朝著這個目標(biāo)前進(jìn),實現(xiàn)一個能夠最優(yōu)化損失函數(shù)的方法。對于有一些經(jīng)驗的同學(xué),這節(jié)課看起來有點奇 怪,因為使用的例子(SVM 損失函數(shù))是一個凸函數(shù)問題。但是要記得,最終的目標(biāo)是不僅僅對凸函數(shù)做最優(yōu)化,而是能夠最優(yōu)化一個神經(jīng)網(wǎng)絡(luò),而對于神經(jīng)網(wǎng)絡(luò)是不能簡單的使用凸函數(shù)的最優(yōu)化技巧的。策略#1:一個差勁的初始方案:隨機(jī)搜索既然確認(rèn)參數(shù)集 W 的好壞蠻簡單的,那第一個想到的(差勁)方法,就是
8、可以隨機(jī)嘗試很多不同的權(quán)重,然后看其中哪個最好。過程如下:# 假設(shè) X_train 的每一列都是一個數(shù)據(jù)樣本(比如 3073 x 50000)# 假設(shè) Y_train 是數(shù)據(jù)樣本的類別(比如一個長 50000 的一維數(shù)組)# 假設(shè)函數(shù) L 對損失函數(shù)進(jìn)行評價bestloss = float(inf) #assigns the highestsible float valuefor num in xrange(1000):W = np.random.randn(10, 3073) * 0.0001 # generate random parametersloss = L(X_train, Y_t
9、rain, W) # get the loss over the entire training setif loss bestloss: # keep track of the best solutionbestloss = loss bestW = Wprin attempt %d the loss was %f, best %f % (num, loss, bestloss)# 輸出:# in attempt 0 the loss was 9.401632, best 9.401632在上面的代碼中,嘗試了若干隨機(jī)生成的權(quán)重矩陣 W,其中某些的損失值較小,而另一些的損失值大些。W 取出,
10、然后去跑測試集:可以把這次隨機(jī)搜索中找到的最好的權(quán)重驗證集上表現(xiàn)最好的權(quán)重 W 跑測試集的準(zhǔn)確率是 15.5%,而完全隨機(jī)猜的準(zhǔn)確率是 10%,如此看來,這個準(zhǔn)確率對于這樣一個不經(jīng)過大腦的策略來說,還算不錯嘛!思路:迭代優(yōu)化。當(dāng)然,肯定能做得更好些。思路是:雖然找到最優(yōu)的權(quán)重 W 非常,甚至是不可能的(尤其當(dāng) W 中存的是整個神經(jīng)網(wǎng)絡(luò)的權(quán)重的時候),但如果問題轉(zhuǎn)化為:對一個權(quán)重矩陣集 W 取優(yōu),使其損失值稍微減少。那么問題的難度就大大降低了。換句話說,的方法從一個隨機(jī)的W 開始,然后對其迭代取優(yōu),每次都讓它的損失值變得更小一點。的策略是從隨機(jī)權(quán)重開始,然后迭代取優(yōu),從而獲得更低的損失值。蒙眼徒
11、步者的比喻:一個助于理解的比喻是自己想象成一個蒙著眼睛的徒步者,正走在山地地形上,目標(biāo)是要慢慢走到山底。在 CIFAR-10 的例子中,這山是 30730 維的(因為 W 是 3073x10)。在山上踩的每一點都對應(yīng)一個的損失值,該損失值可以看做該點的海拔高度。策略#2:隨機(jī)本地搜索第一個策略可以看做是每走一步都嘗試幾個隨機(jī)方向,如果某個方向是向山下的,就向該方向走一步。這次從一個隨機(jī) 開始,然后生成一個隨機(jī)的擾動,只有當(dāng)?shù)膿p失值變低,才會更新。這個過程的具體代碼如下:# 假設(shè) X_test 尺寸是3073 x 10000, Y_test 尺寸是10000 x 1scores = Wbest.
12、dot(Xte_cols) # 10 x 10000, the class scores for all test examples# 找到在每列中評分值最大的索引(即的分類)Yte_predict = np.argmax(scores, axis = 0)# 以及計算準(zhǔn)確率np.mean(Yte_predict = Yte)# 返回 0.1555# in attempt 1 the loss was 8.959668, best 8.959668 # in attempt 2 the loss was 9.044034, best 8.959668 # in attempt 3 the lo
13、ss was 9.278948, best 8.959668 # in attempt 4 the loss was 8.857370, best 8.857370 # in attempt 5 the loss was 8.943151, best 8.857370 # in attempt 6 the loss was 8.605604, best 8.605604 # . (trunc ed: continues for 1000 lines)使用同樣的數(shù)據(jù)(1000),這個方法可以得到 21.4%的分類準(zhǔn)確率。這個比策略一好,但是依然過于浪費計算資源。策略#3:跟隨梯度前兩個策略中,是
14、嘗試在權(quán)重空間中找到一個方向,沿著該方向能降低損失函數(shù)的損失值。其實不需要隨機(jī)尋找方向,因為可以直接計算出最好的方向,這就是從數(shù)學(xué)上計算出最陡峭的方向。這個方向就是損失函數(shù)的梯度(gradient)。在蒙眼徒步者的比喻中,這個方法就好比是感受的傾斜程度,然后向著最陡峭的下降方向下山。腳下山體在一維函數(shù)中,斜率是函數(shù)在某一點的瞬時變化率。梯度是函數(shù)的斜率的一般化表達(dá),它不是一個值,而是一個向量。在輸入空間中,梯度是各個維度的斜率組成的向量(或者稱為導(dǎo)數(shù) derivatives)。對一維函數(shù)的求導(dǎo)公式如下:當(dāng)函數(shù)有多個參數(shù)的時候,導(dǎo)數(shù)所形成的向量。稱導(dǎo)數(shù)為偏導(dǎo)數(shù)。而梯度就是在每個維度上偏最優(yōu)化筆記(上)完。W = np.random.randn(10, 3073) * 0.001 # 生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度橋梁欄桿采購合同模板6篇
- 2025年度口腔診所投資合作與風(fēng)險分擔(dān)合同3篇
- 二零二五版材料采購合同補充協(xié)議:技術(shù)創(chuàng)新共享2篇
- 二零二五版抵押借款合同與借款合同簽訂流程與風(fēng)險防范3篇
- 二零二五版國有房產(chǎn)出售合同(智慧社區(qū)共建協(xié)議)3篇
- 2025年度餐飲業(yè)中央廚房租賃合同3篇
- 二零二五年度35KV變電站電氣設(shè)備技術(shù)改造合同3篇
- 二零二五年房地產(chǎn)項目鄉(xiāng)村振興戰(zhàn)略合作開發(fā)合同3篇
- 二零二五版班組分包道路養(yǎng)護(hù)合同3篇
- 2025版金融產(chǎn)品股權(quán)及債權(quán)轉(zhuǎn)讓與風(fēng)險管理合同3篇
- 公務(wù)員考試工信部面試真題及解析
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 2023年上海英語高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡介-2 -紙品及產(chǎn)品知識
- 《連鎖經(jīng)營管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書
- 頸椎JOA評分 表格
- 員工崗位能力評價標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計形態(tài)知識點
評論
0/150
提交評論