基礎內容哦!!!吳恩達deeplearning.ai:利用計算圖求導(反向傳播)

以下內容有任何不理解可以翻看我之前的博客哦:吳恩達deeplearning.ai專欄

文章目錄

  • 一個小型神經網絡的例子
  • 利用計算圖逐步計算價值函數J
  • 利用計算圖求出價值函數的導數


計算圖是深度學習中的一個關鍵概念,它也是Tensorflow等編程框架自動計算神經網絡導數的方式。讓我們舉個例子。

一個小型神經網絡的例子

在這里插入圖片描述
這是一個很小型的神經網絡,其中,激活值a滿足:
a = w x + b a=wx+b a=wx+b
之后采用線性激活函數:
a = g ( z ) = z a=g(z)=z a=g(z)=z
其價值函數為:
J ( w , b ) = 1 2 ( a ? y ) 2 J(w,b)=\frac{1}{2}(a-y)^2 J(w,b)=21?(a?y)2
對于這種小網絡,我們只有一個訓練樣例:
x = ? 2 , y = 2 x=-2,y=2 x=?2,y=2
該網絡的參數為:
w = 2 , b = 8 w=2,b=8 w=2,b=8
我們想要展示的是如何使用計算圖來逐步計算價值函數J。

利用計算圖逐步計算價值函數J

以下是這個例子的計算圖,其實很簡單:
在這里插入圖片描述
這張圖從左到右逐步展示了價值函數的計算過程,其中矩形之中描述的是計算步驟,而線段上面所寫的是前一步計算出來的值。所以從左到右,依次計算量w*x的值,然后計算出了a的值,再計算出a-y的值,最后求得價值函數,為2。
計算圖向我們展現了神經網絡向前傳播的步驟(圖中還更進一步求了價值函數)。現在的問題是,如何利用計算圖找到J關于w和b的導數 ? J ? w \frac{\partial J}{\partial w} ?w?J? ? J ? b \frac{\partial J}{\partial b} ?b?J?

利用計算圖求出價值函數的導數

事實證明,神經網絡的前向傳播是從左到右計算,而計算導數是從右向左的計算。
在這里插入圖片描述
反向傳播的第一步是詢問d的值,它是價值函數的輸入,d改變,J就跟著改變。例如,如果d改變了一內內,比如0.001,那么j將如何變化嘞。結果是在這種情況下,如果d從2變為了2.01,j則從2變味了2.02,那么可以得出結論就是J這里的導數為2,數學公式就是: ? J ? d = 2 \frac{\partial J}{\partial d}=2 ?d?J?=2,這樣就求出最右邊的導數了。
下一步當然是繼續向左進行,求一下 ? J ? a \frac{\partial J}{\partial a} ?a?J?等于多少。利用與上面同樣的方法,可以求出 ? d ? a = 1 \frac{\partial d}{\partial a}=1 ?a?d?=1,再結合上 ? J ? d = 2 \frac{\partial J}{\partial d}=2 ?d?J?=2,那么聯立就可以得出 ? J ? a = 2 \frac{\partial J}{\partial a}=2 ?a?J?=2。用數學化的方式來說,以上步驟其實是依靠鏈式法則進行微積分,高等數學應該學過。其實就是 ? J ? a = ? d ? a × ? J ? d \frac{\partial J}{\partial a}=\frac{\partial d}{\partial a}\times \frac{\partial J}{\partial d} ?a?J?=?a?d?×?d?J?
接下來就是一步步從右到左,最終可以得出:
? J ? w = ? 4 \frac{\partial J}{\partial w}=-4 ?w?J?=?4

事實證明,反向傳播是計算導數的一個不錯的方法,避免了你直接計算導數時過于復雜的復合求導。如果一個圖具有n個節點(就是圖中的矩形)和p個參數(我們這個例子中有兩個參數),我們可以在n+p步中求出J對于所有參數的導數,而非n*p,這就表明即使在大型神經網絡中你仍然可以進行求導運算。
為了給讀者你造成不必要的麻煩,博主的所有視頻都沒開僅粉絲可見,如果想要閱讀我的其他博客,可以點個小小的關注哦。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712590.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712590.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712590.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux之sed命令詳解及實踐

1、定義 sed全稱是:stream editor 流編輯器 對文件的操作無非就是”增刪改查“,**sed命令就是實現對文件的”增刪改查“。** **man sed//man 的解釋** 用于過濾和轉換文本的流編輯器 2、功能 Sed 主要用來自動編輯一個或多個文件、簡化對文件的反復…

實現定時器的兩種方法:使用windows api定時器 和使用c++11/14 定時器

前言: 當我有一個開發需求,符合下面的條件 1.需要某個任務在程序中每隔一段時間就要執行一次,可能把這個任務封裝成了一個函數。 2.這種需要定時執行的任務,有2個,3個....越來越多。 這個時候我們就可以考慮使用定時…

iOS高級理論:常用的架構模式

一、常用的架構模式簡介 在 iOS 開發中,常用的架構模式有以下幾種: MVC(Model-View-Controller)模式:是 iOS 開發中最常見的架構模式。在 MVC 模式中,Model 負責數據處理和業務邏輯,View 負責界…

Tcl文件訪問

1. 基本文件輸入輸出命令 open 文件名 方式 set f [open $filename "r"] f 是文件的通道ID,可以使用open命令打開文件并獲取通道ID r 只讀方式打開,文件必須已經存在 r+ 讀寫方式打開,文件必須已經存在 w 只寫方式打開文件,如果文件存在則清空文件內容,否則創建…

第三百七十六回

文章目錄 1 .概念介紹2. 實現方法3. 示例代碼 我們在上一章回中介紹了在頁面之間共傳遞數據相關的內容,本章回中將介紹如何攔截路由.閑話休提,讓我們一起Talk Flutter吧。 1 .概念介紹 本章回中介紹的路由攔截是指在路由運行過程中,對路由做…

會了會了會了

public class text9 {/*在實際開發中,如果我們需要在多種情況中選擇其中一個,就可以用switch語句。當我m們撥打電話,會有一些按鍵選擇。假設我們撥打了一個機票預訂電話,電話中提示:1機票查詢2機票預訂3機票改簽4退出服務其他按鍵…

論文閱讀_代碼生成模型_CodeLlama

英文名稱: Code Llama: Open Foundation Models for Code 中文名稱: Code Llama:開放基礎代碼模型 鏈接: https://arxiv.org/abs/2308.12950 代碼: https://github.com/facebookresearch/codellama 作者: Baptiste Rozire, Jonas Gehring, Fabian Gloeckle, Sten So…

【前端素材】推薦優質在線花卉商城電商網頁Flowery平臺模板(附源碼)

一、需求分析 1、系統定義 在線花卉商城是一個通過互聯網提供花卉銷售服務的電子商務平臺,用戶可以在該平臺上瀏覽、選擇和購買各種花卉產品。 2、功能需求 在線花卉商城是一個通過互聯網提供花卉銷售服務的電子商務平臺,用戶可以在該平臺上瀏覽、選…

vscode在windows環境不能使用終端安裝依賴

會報這樣的錯誤提示 解決思路: 1、vscode用管理員打開 (非必須) 2、設置策略 打開 windows powerShell . 輸入命令 set-ExecutionPolicy RemoteSigned 然后 Y . 查看是否設置成功 get-executionpolicy 3、下載總是超時,設置鏡像源 查看鏡像源 npm …

【知識分享】vue制作一個頁面計算器

1.制作思路 制作一個簡單的頁面計算器可以分為以下幾個步驟: (1)創建 Vue 組件,包括顯示屏和按鈕組件。 (2)設置數據屬性,用于存儲計算器的當前狀態(如顯示屏上的數字&#xff09…

藍橋杯-天數

//此題屬于簡單 #include <iostream> using namespace std; int main() { int n; cin>>n; if(n2) { cout<<28; return 0; } if(n1||n3||n5||n7||n8||n10||n12)//一定要記得寫成n什么&#xff0c;每個都要寫&#xff0c;不要漏掉 { cou…

常見漏洞的流量特征

1、SQL注入漏洞 查看url / Referer字段/User-Agent字段/cookie字段 出現一些特殊字符&#xff08;eg&#xff1a;單引號【‘】、雙引號【“”】、括號【&#xff08;&#xff09;】、單引號括號【‘&#xff08;】、雙引號括號【“&#xff08;】等一些常見的特殊的字符&#…

數通HCIE和云計算HCIE哪個好一點?

數通是網絡的基礎知識&#xff0c;也是入門人員必學的方向&#xff0c;相對也會簡單些&#xff0c;學習數通&#xff0c;可以很好的學習其他的方向。數通的就業范圍也比較廣&#xff0c;運營商、企業、政府還是互聯網公司&#xff0c;都需要大量的數通工程師來搭建和維護網絡&a…

探索rsync遠程同步和SSH免密登錄的奧秘

目錄 集群分發腳本xsyncscp&#xff08;secure copy&#xff09;安全拷貝rsync 遠程同步工具集群分發腳本 SSH免密登錄免密登錄原理SSH免密登錄配置生成公鑰和私鑰授權測試 在現代科技飛速發展的時代&#xff0c;數據的備份和遷移成為了一個重要的課題。其中&#xff0c;rsync遠…

大數據畢業設計之前端04:管理系統為什么要自己實現圖標組件

關鍵字&#xff1a;BuildAdmin、Icon、圖標、Vue、ElementUI 前言 說到圖標&#xff0c;在BuildAdmin中用到的地方很多。比如上一篇中的折疊圖標&#xff0c;還有菜單欄圖標、導航菜單欄圖標等。常見的圖標有&#xff1a;ElementUI圖標、font-awesome、iconfont阿里圖標以及本…

94. 遞歸實現排列型枚舉 刷題筆記

思路 依次枚舉 每個位置用哪個數字 要求按照字典序最小來輸出 而每次搜索下一層時i都是從1開始 也就是說 如果有小的數可以填上 那么該方案會填上這個數字 例如 當n等于3 第一次搜索 1 2 3輸出后返回 返回后此時i3 第二個位置填3 1 3 2 輸出后返回 此時返回到第一層…

云計算 2月21號 (linux文件及用戶管理)

一、文件管理 1.1快捷鍵 編輯命令&#xff1a; Ctrl a &#xff1a;移到命令行首 Ctrl e &#xff1a;移到命令行尾 Ctrl u &#xff1a;從光標處刪除至命令行首 Ctrl k &#xff1a;從光標處刪除至命令行尾 Ctrl w &#xff1a;從光標處刪除至字首 Ctrl d &#x…

20240301-2-ZooKeeper面試題(二)

11. Chroot 特性 3.2.0 版本后&#xff0c;添加了 Chroot 特性&#xff0c;該特性允許每個客戶端為自己設置一個命名空間。如果一個客戶端設置了 Chroot&#xff0c;那么該客戶端對服務器的任何操作&#xff0c;都將會被限制在其自己的命名空間下。 通過設置 Chroot&#xff…

Win11遠程桌面登陸教程

必備軟件 Remote Desktop 這個軟件用于便捷操作 Tailscale 這個用于創建虛擬局域網讓兩臺設備處于同一個網段便于遠程連接 詳細步驟 0、打開電腦設置允許遠程連接模式 把這里的開關打開就行。 1、設置允許登陸的用戶以及密碼 在管理員模式下的宿主電腦上面輸入以下命令…

支付寶小程序中喚起支付(前后端)

Java后臺獲取支付寶支付唯一訂單號 /*** 支付寶小程序支付*/PostMapping(value "/xcxPayZFBTHREE")ResponseBodypublic Map<String,Object> xcxPayZFBTHREE(RequestBody byte[] req) {HashMap<String, Object> objectObjectMap new HashMap<>();…