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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

發布時間:2025/4/5 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
1.7 理解 Dropout回到目錄1.9 歸一化輸入

其他正則化方法 (Other Regularization Methods)

除了 L2L2L2 正則化和隨機失活(dropout)正則化,還有幾種方法可以減少神經網絡中的過擬合:

一.數據擴增

假設你正在擬合貓咪圖片分類器,如果你想通過擴增訓練數據來解決過擬合,但擴增數據代價高,而且有時候我們無法擴增數據,但我們可以通過添加這類圖片來增加訓練集。例如,水平翻轉圖片,并把它添加到訓練集。所以現在訓練集中有原圖,還有翻轉后的這張圖片,所以通過水平翻轉圖片,訓練集則可以增大一倍,因為訓練集有冗余,這雖然不如我們額外收集一組新圖片那么好,但這樣做節省了獲取更多貓咪圖片的花費。

除了水平翻轉圖片,你也可以隨意裁剪圖片,這張圖是把原圖旋轉并隨意放大后裁剪的,仍能辨別出圖片中的貓咪。

通過隨意翻轉和裁剪圖片,我們可以增大數據集,額外生成假訓練數據。和全新的,獨立的貓咪圖片數據相比,這些額外的假的數據無法包含像全新數據那么多的信息,但我們這么做基本沒有花費,代價幾乎為零,除了一些對抗性代價。以這種方式擴增算法數據,進而正則化數據集,減少過擬合比較廉價。

像這樣人工合成數據的話,我們要通過算法驗證,圖片中的貓經過水平翻轉之后依然是貓。大家注意,我并沒有垂直翻轉,因為我們不想上下顛倒圖片,也可以隨機選取放大后的部分圖片,貓可能還在上面。

對于光學字符識別,我們還可以通過添加數字,隨意旋轉或扭曲數字來擴增數據,把這些數字添加到訓練集,它們仍然是數字。為了方便說明,我對字符做了強變形處理,所以數字4看起來是波形的,其實不用對數字4做這么夸張的扭曲,只要輕微的變形就好,我做成這樣是為了讓大家看的更清楚。實際操作的時候,我們通常對字符做更輕微的變形處理。因為這幾個4看起來有點扭曲。所以,數據擴增可作為正則化方法使用,實際功能上也與正則化相似。

二.early stopping

還有另外一種常用的方法叫作early stopping,運行梯度下降時,我們可以繪制訓練誤差,或只繪制代價函數的優化過程,在訓練集上用0-1記錄分類誤差次數。呈單調下降趨勢,如圖。

因為在訓練過程中,我們希望訓練誤差,代價函數 JJJ 都在下降,通過early stopping,我們不但可以繪制上面這些內容,還可以繪制驗證集誤差,它可以是驗證集上的分類誤差,或驗證集上的代價函數,邏輯損失和對數損失等,你會發現,驗證集誤差通常會先呈下降趨勢,然后在某個節點處開始上升,early stopping的作用是,你會說,神經網絡已經在這個迭代過程中表現得很好了,我們在此停止訓練吧,得到驗證集誤差,它是怎么發揮作用的?

當你還未在神經網絡上運行太多迭代過程的時候,參數 www 接近0,因為隨機初始化 www 值時,它的值可能都是較小的隨機值,所以在你長期訓練神經網絡之前 www 依然很小,在迭代過程和訓練過程中 www 的值會變得越來越大,比如在這兒,神經網絡中參數 www 的值已經非常大了,所以early stopping要做就是在中間點停止迭代過程,我們得到一個 www 值中等大小的弗羅貝尼烏斯范數,與 L2L2L2 正則化相似,選擇參數 www 范數較小的神經網絡,但愿你的神經網絡過度擬合不嚴重。

術語early stopping代表提早停止訓練神經網絡,訓練神經網絡時,我有時會用到early stopping,但是它也有一個缺點,我們來了解一下。

我認為機器學習過程包括幾個步驟,其中一步是選擇一個算法來優化代價函數 JJJ ,我們有很多種工具來解決這個問題,如梯度下降,后面我會介紹其它算法,例如MomentumRMSpropAdam等等,但是優化代價函數 JJJ 之后,我也不想發生過擬合,也有一些工具可以解決該問題,比如正則化,擴增數據等等。

在機器學習中,超級參數激增,選出可行的算法也變得越來越復雜。我發現,如果我們用一組工具優化代價函數 JJJ ,機器學習就會變得更簡單,在重點優化代價函數 JJJ 時,你只需要留意 wwwbbbJ(w,b)J(w,b)J(w,b) 的值越小越好,你只需要想辦法減小這個值,其它的不用關注。然后,預防過擬合還有其他任務,換句話說就是減少方差,這一步我們用另外一套工具來實現,這個原理有時被稱為“正交化”。思路就是在一個時間做一個任務,后面課上我會具體介紹正交化,如果你還不了解這個概念,不用擔心。

但對我來說early stopping的主要缺點就是你不能獨立地處理這兩個問題,因為提早停止梯度下降,也就是停止了優化代價函數 JJJ ,因為現在你不再嘗試降低代價函數 JJJ ,所以代價函數 JJJ 的值可能不夠小,同時你又希望不出現過擬合,你沒有采取不同的方式來解決這兩個問題,而是用一種方法同時解決兩個問題,這樣做的結果是我要考慮的東西變得更復雜。

如果不用early stopping,另一種方法就是 L2L2L2 正則化,訓練神經網絡的時間就可能很長。我發現,這導致超級參數搜索空間更容易分解,也更容易搜索,但是缺點在于,你必須嘗試很多正則化參數 λ\lambdaλ 的值,這也導致搜索大量 λ\lambdaλ 值的計算代價太高。

Early stopping的優點是,只運行一次梯度下降,你可以找出 www 的較小值,中間值和較大值,而無需嘗試 L2L2L2 正則化超級參數 λ\lambdaλ 的很多值。

如果你還不能完全理解這個概念,沒關系,下節課我們會詳細講解正交化,這樣會更好理解。

雖然 L2L2L2 正則化有缺點,可還是有很多人愿意用它。吳恩達老師個人更傾向于使用 L2L2L2 正則化,嘗試許多不同的 λ\lambdaλ 值,假設你可以負擔大量計算的代價。而使用early stopping也能得到相似結果,還不用嘗試這么多 λ\lambdaλ 值。

這節課我們講了如何使用數據擴增,以及如何使用early stopping降低神經網絡中的方差或預防過擬合。

課程PPT




←上一篇↓↑下一篇→
1.7 理解 Dropout回到目錄1.9 歸一化輸入

總結

以上是生活随笔為你收集整理的1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。