欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

人工智能學習Pytorch梯度下降優(yōu)化示例詳解

 更新時間:2021年11月11日 16:02:16   作者:Swayzzu  
這篇文章主要為大家介紹了人工智能學習Pytorch梯度下降優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪

一、激活函數(shù)

1.Sigmoid函數(shù)

函數(shù)圖像以及表達式如下:

通過該函數(shù),可以將輸入的負無窮到正無窮的輸入壓縮到0-1之間。在x=0的時候,輸出0.5

通過PyTorch實現(xiàn)方式如下:

2.Tanh函數(shù)

在RNN中比較常用,由sigmoid函數(shù)變化而來。表達式以及圖像如下圖所示:

該函數(shù)的取值是-1到1,導數(shù)是:1-Tanh**2。

通過PyTorch的實現(xiàn)方式如下:

3.ReLU函數(shù)

該函數(shù)可以將輸入小于0的值截斷為0,大于0的值保持不變。因此在小于0的地方導數(shù)為0,大于0的地方導數(shù)為1,因此求導計算非常方便。

通過PyTorch的實現(xiàn)方式如下:

二、損失函數(shù)及求導

通常,我們使用mean squared error也就是均方誤差來作為損失函數(shù)。

1.autograd.grad

torch.autograd.grad(loss, [w1,w2,...])

輸入的第一個是損失函數(shù),第二個是參數(shù)的列表,即使只有一個,也需要加上中括號。

我們可以直接通過mse_loss的方法,來直接創(chuàng)建損失函數(shù)。

在torch.autograd.grad中輸入損失函數(shù)mse,以及希望求導的對象[w],可以直接求導。

注意:我們需要在創(chuàng)建w的時候,需要添加requires_grad=True,我們才能對它求導。

也可以通過w.requires_grad_()的方法,為其添加可以求導的屬性。

2.loss.backward()

該方法是直接在損失函數(shù)上面調(diào)用的

這個方法不會返回梯度信息,而是將梯度信息保存到了參數(shù)中,直接用w.grad就可以查看。

3.softmax及其求導

該函數(shù)將差距較大的輸入,轉(zhuǎn)換成處于0-1之間的概率,并且所有概率和為1。

對softmax函數(shù)的求導:

設(shè)輸入是a,通過了softmax輸出的是p

注意:當i=j時,偏導是正的,i != j時,偏導是負的。

通過PyTorch實現(xiàn)方式如下:

三、鏈式法則

1.單層感知機梯度

單層感知機其實就是只有一個節(jié)點,數(shù)據(jù)*權(quán)重,輸入這個節(jié)點,經(jīng)過sigmoid函數(shù)轉(zhuǎn)換,得到輸出值。根據(jù)鏈式法則可以求得梯度。

通過PyTorch可以輕松實現(xiàn)函數(shù)轉(zhuǎn)換以及求導。

2. 多輸出感知機梯度

輸出值變多了,因此節(jié)點變多了。但求導方式其實是一樣的。

通過PyTorch實現(xiàn)求導的方式如下:

3. 中間有隱藏層的求導

中間加了隱藏層,只是調(diào)節(jié)了輸出節(jié)點的輸入內(nèi)容。原本是數(shù)據(jù)直接輸給輸出節(jié)點,現(xiàn)在是中間層的輸出作為輸入,給了輸出節(jié)點。使用PyTorch實現(xiàn)方式如下:

4.多層感知機的反向傳播

依舊是通過鏈式法則,每一個結(jié)點的輸出sigmoid(x)都是下一個結(jié)點的輸入,因此我們通過前向傳播得到每一個結(jié)點的sigmoid函數(shù),以及最終的輸出結(jié)果,算出損失函數(shù)后,即可通過后向傳播依次推算出每一個結(jié)點每一個參數(shù)的梯度。

下面的DELTA(k)只是將一部分內(nèi)容統(tǒng)一寫作一個字母來表示,具體推導不再詳述。

四、優(yōu)化舉例

通過以下函數(shù)進行優(yōu)化。

優(yōu)化流程:初始化參數(shù)→前向傳播算出預測值→得到損失函數(shù)→​​​​​​​反向傳播得到梯度→​​​​​​​對參數(shù)更新→​​​​​​​再次前向傳播→......

在此案例中,優(yōu)化流程有一些不同:

優(yōu)化之前先選擇優(yōu)化器,并直接把參數(shù),以及梯度輸入進去。

①pred = f(x)根據(jù)函數(shù)給出預測值,用以后面計算梯度。

②optimizer.zero_grad()梯度歸零。因為反向傳播之后,梯度會自動帶到參數(shù)上去(上面有展示,可以調(diào)用查看)。

③pred.backward()用預測值計算梯度。

④pred.step()更新參數(shù)。

以上步驟循環(huán)即可。

以上就是人工智能學習Pytorch梯度下降優(yōu)化示例詳解的詳細內(nèi)容,更多關(guān)于Pytorch梯度下降優(yōu)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例,需要的朋友可以參考下
    2020-03-03
  • Python一行命令部署http?ftp服務

    Python一行命令部署http?ftp服務

    這篇文章主要介紹了Python一行命令部署http?ftp服務實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 使用Python構(gòu)建Hopfield網(wǎng)絡(luò)的教程

    使用Python構(gòu)建Hopfield網(wǎng)絡(luò)的教程

    這篇文章主要介紹了使用Python構(gòu)建Hopfield網(wǎng)絡(luò)的教程,本文來自于IBM官方網(wǎng)站的技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python中的time模塊和calendar模塊

    Python中的time模塊和calendar模塊

    這篇文章主要介紹了Python中的time模塊和calendar模塊,在Python中對時間和日期的處理方式有很多,其中轉(zhuǎn)換日期是最常見的一個功能。Python中的時間間隔是以秒為單位的浮點小數(shù)。下面來看看文章具體內(nèi)容的介紹,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • 簡單介紹Python中的filter和lambda函數(shù)的使用

    簡單介紹Python中的filter和lambda函數(shù)的使用

    這篇文章主要簡單介紹了Python中的filter和lambda函數(shù)的使用,是Python學習中的基礎(chǔ),同時lambda匿名函數(shù)的使用也是經(jīng)常被用來對比各種編程語的重要特性,言需要的朋友可以參考下
    2015-04-04
  • Python日志:自定義輸出字段 json格式輸出方式

    Python日志:自定義輸出字段 json格式輸出方式

    這篇文章主要介紹了Python日志:自定義輸出字段 json格式輸出方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python+pyplot繪制帶文本標注的柱狀圖方法

    Python+pyplot繪制帶文本標注的柱狀圖方法

    今天小編就為大家分享一篇Python+pyplot繪制帶文本標注的柱狀圖方法,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python之string編碼問題

    Python之string編碼問題

    這篇文章主要介紹了Python之string編碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python OpenCV利用筆記本攝像頭實現(xiàn)人臉檢測

    Python OpenCV利用筆記本攝像頭實現(xiàn)人臉檢測

    這篇文章主要為大家詳細介紹了Python OpenCV利用筆記本攝像頭實現(xiàn)人臉檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • OpenCV實戰(zhàn)之實現(xiàn)手勢虛擬縮放效果

    OpenCV實戰(zhàn)之實現(xiàn)手勢虛擬縮放效果

    本篇將會以HandTrackingModule為模塊,實現(xiàn)通過手勢對本人的博客海報進行縮放。文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-11-11

最新評論