Pytorch 深度學習 Day03 梯度下降

2021-10-03 01:46:57 字數 1067 閱讀 2999

對於目標函式 f(x) ,如果 f(x) 在 x 上的值比在 x 鄰近的其他點的值更小,那麼 f(x) 可能是乙個區域性最小值(local minimum)。如果 f(x) 在 x 上的值是目標函式在整個定義域上的最小值,那麼 f(x) 是全域性最小值(global minimum)。

深度學習模型的目標函式可能有若干區域性最優值。當乙個優化問題的數值解在區域性最優解附近時,由於目標函式有關解的梯度接近或變成零,最終迭代求得的數值解可能只令目標函式區域性最小化而非全域性最小化。

解決方法:

剛剛我們提到,梯度接近或變成零可能是由於當前解在區域性最優解附近造成的。事實上,另一種可能性是當前解在鞍點(saddle point)附近。

梯度下降演算法中的正數 η 通常叫作學習率。這是乙個超引數,需要人工設定。如果使用過小的學習率,會導致 x 更新緩慢從而需要更多的迭代才能得到較好的解。學習率選擇太大則,步子太大,容易扯著蛋, 跨越最優解。

使用適當的學習率,沿著梯度反方向更新自變數可能降低目標函式值。梯度下降重複這一更新過程直到得到滿足要求的解。

在每一次迭代中,梯度下降使用整個訓練資料集來計算梯度,因此它有時也被稱為批量梯度下降(batch gradient descent)。而隨機梯度下降在每次迭代中只隨機取樣乙個樣本來計算梯度。正如我們在前幾章中所看到的,我們還可以在每輪迭代中隨機均勻取樣多個樣本來組成乙個小批量,然後使用這個小批量來計算梯度。

Python學習筆記 day0

本部落格標題設計敏感關鍵字0day,違反相關法律法規,現已處理。1.輸入 raw input 這個可以輸入一行。和c 不同,它不能讀取單個整數 我的意思是,它是以字串儲存的。所以沒有什麼諸如 d這種東西。name raw input 這樣就可以讀入乙個字串,相當於gets name 考慮到人性化設計...

前端學習筆記 day0

utf 8 萬國碼 開發時我們使用的字符集都是utf 8 gb2312 國標 通過meta標籤設定網頁字符集,避免亂碼問題。此處為設定字符集,避免亂碼 用來設定網頁的元資料,底層資料,網頁的屬性。元資料不是給使用者看的 它是自結束標籤 常用的屬性 name指定資料的名稱 content指定資料的內容...

day0 開發流程

企業中專案型別 單機版的工具 其他部門使用的工具 gui開發 tkinter,pyqt qt平台 web專案 b2c 直銷 商家與會員直接交易 business to customer b2b 批發 商家與商家直接交易 b2b2c 購物平台 商家和會員在另乙個商家提供的平台上面進行交易 c2b 定製...