跳躍連接(Skip Connection)與殘差連接(Residual Connection)

1. 跳躍連接(Skip Connection)的基本概念

跳躍連接是一種在深度神經網絡中廣泛應用的技術,它允許信息在網絡中跨層直接傳遞。在傳統的神經網絡里,每一層的輸出僅僅是前一層輸出經過特定變換后的結果。而在具備跳躍連接的網絡中,某一層的輸出不僅能夠包含前一層的變換結果,還可以直接包含更早層的輸出。

在殘差網絡(ResNet)里,跳躍連接的核心結構為殘差塊。假設輸入為?x,經過一系列非線性變換(像卷積、激活函數等)后得到?F(x),殘差塊的輸出?y?由以下公式給出:

?y=F(x)+x

2. 從反向傳播角度看梯度穩定

在神經網絡的訓練過程中,反向傳播算法用于計算損失函數關于網絡參數的梯度,以此來更新參數。梯度消失和梯度爆炸是深度神經網絡訓練時常見的問題。當網絡層數極深時,梯度在反向傳播過程中會不斷地進行連乘操作,要是梯度值小于 1,經過多層連乘后就會趨近于 0,這便是梯度消失;要是梯度值大于 1,經過多層連乘后就會變得非常大,這就是梯度爆炸。

現在,我們從反向傳播的角度來分析跳躍連接對梯度的影響。假設損失函數為?L??,對輸出?y?求梯度可得:

\frac{\vartheta L}{\vartheta x}=\frac{\vartheta L}{\vartheta y}\frac{\vartheta y}{\vartheta x}

由于?y=F(x)+x,所以\frac{\vartheta y}{\vartheta x}=\frac{\vartheta F(x)}{\vartheta x}+1

那么\frac{\vartheta L}{\vartheta x}=\frac{\vartheta L}{\vartheta y}(\frac{\vartheta F(x)}{\vartheta x}+1)=\frac{\vartheta L}{\vartheta y}\frac{\vartheta F(x)}{\vartheta x}+\frac{\vartheta L}{\vartheta y}

3. “梯度上加 1 的常數項” 對梯度穩定的作用

  • 避免梯度消失:在沒有跳躍連接的情況下,梯度\frac{\vartheta L}{\vartheta x}僅僅是\frac{\vartheta L}{\vartheta y}\frac{\vartheta F(x)}{\vartheta x}。要是\frac{\vartheta F(x)}{\vartheta x}的值非常小,經過多層反向傳播后,梯度就會趨近于 0。然而,在有跳躍連接時,多了一個常數項\frac{\vartheta L}{\vartheta y}。即便?\frac{\vartheta F(x)}{\vartheta x}趨近于 0,梯度\frac{\vartheta L}{\vartheta x}至少還有\frac{\vartheta L}{\vartheta y}這一部分,不會完全消失。
  • 平滑梯度更新:在反向傳播過程中,梯度的波動可能會很大,這會使訓練過程變得不穩定。跳躍連接添加的常數項能夠在一定程度上平滑梯度的更新。因為這個常數項的存在,梯度不會因為\frac{\vartheta F(x)}{\vartheta x}的微小變化而產生劇烈的波動,進而讓訓練過程更加穩定。

4. 直觀示例

我們可以把神經網絡的每一層想象成一個信息處理的階段。在傳統網絡中,信息必須一層一層地傳遞,要是某一層的處理出現問題(例如梯度消失),后續層就很難接收到有效的信息。而跳躍連接就像是一條 “捷徑”,信息能夠直接跳過某些層。從梯度的角度來看,跳躍連接提供了另一條梯度傳播的路徑,使得梯度不會因為某一層的變換而完全丟失或者變得不穩定。

綜上所述,跳躍連接通過在梯度計算中引入常數項 1,有效地避免了梯度消失問題,平滑了梯度更新,從而增強了深度神經網絡訓練過程中梯度的穩定性。

5.殘差連接(Residual Connection)

跳躍連接(Skip Connection)和殘差連接(Residual Connection)在很多情況下被視為等同概念,但嚴格來說,二者既有聯系又有區別,下面為你詳細分析:

聯系

在大多數深度學習的討論場景中,跳躍連接和殘差連接可以互換使用,它們核心思想一致。殘差連接是跳躍連接在殘差網絡(ResNet)里的具體應用形式。二者都旨在解決深度神經網絡訓練過程中梯度消失和梯度爆炸的問題,通過讓網絡中的信息跨層直接傳遞,來保留更多原始特征,增強網絡的學習能力。

在數學形式上,它們也具有相似性。以常見的殘差塊為例,假設輸入為x,經過一系列非線性變換(如卷積、激活函數等)后得到F(x),殘差塊的輸出y可以表示為:

y=F(x)+x

這里的x直接跨越了F(x)這部分網絡層,這既是殘差連接的體現,也符合跳躍連接的定義。

區別

  • 概念范疇:跳躍連接是一個更寬泛的概念,它描述的是信息可以跨越網絡中的某些層進行傳遞的這種連接方式。只要存在信息不按照常規的逐層傳遞,而是跳過部分層的情況,都可以稱為跳躍連接。而殘差連接是一種特定類型的跳躍連接,它在跳躍連接的基礎上,強調了殘差學習的思想,即學習輸入x與期望輸出之間的殘差?F(x)
  • 應用場景和目的側重:跳躍連接的應用場景更為廣泛,它可以應用于各種類型的神經網絡架構中,目的是為了促進信息的流動、緩解梯度問題等。例如,在 U-Net 網絡中也使用了跳躍連接,主要是為了在解碼器部分恢復圖像的細節信息,將編碼器部分的特征圖直接傳遞到解碼器對應層。而殘差連接主要應用于以 ResNet 為代表的殘差網絡中,側重于通過殘差學習讓網絡更容易學習到輸入與輸出之間的映射關系,從而可以訓練更深層次的網絡。

綜上所述,雖然跳躍連接和殘差連接在很多情況下含義相近,但殘差連接是跳躍連接的一種具體且有特定目的的應用形式。

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

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

相關文章

【硬件視界9】網絡硬件入門:從網卡到路由器

??引言: 專欄:《硬件視界》 【硬件視界8】電源供應器(PSU):計算機的“心臟“ 在數字化高速發展的今天,網絡已成為我們日常生活和工作中不可或缺的基礎設施。而支撐這一基礎設施的核心要素,便是各種各樣的網絡硬件設備。從連接計算機到網絡的網絡適配器,到負責數據轉發與…

最小生成樹理論

1. 基本定義 生成樹:在一個連通無向圖中,一個生成樹是包含所有頂點且邊數為 n?1(n為頂點數)的無環連通子圖。 最小生成樹:在所有生成樹中,邊權和最小的那一棵樹。也就是說,若每條邊有一個非負…

STM32 HAL庫 CANFD配置工具

用法說明: 該工具適用于STM32HAL庫,可一鍵生成CANFD的HAL庫配置代碼。計算依據為HAL庫,并參考ZLG標準。 軟件界面: 倉庫地址: HAL CANFD Init Gen: 適用于STM32控制器的HAL庫 版本說明: V1.2.0 &#x…

【11408學習記錄】考研英語長難句解析 | 語法拆分+寫作模板+真題精講(附高分秘籍)

2025.04.05 英語語法總結——長難句并列句并列連詞并列句的省略 寫作書信寫作第二段注意 第三段落款 每日一句詞匯第一步:辨別第二步:斷開第三步:簡化 英語 語法總結——長難句 長難句有兩個特點:長、難。 之所以又長又難就是因…

實用的alias別名命令——比2=1+1簡單的基礎命令

目錄 alias命令的用處alias命令的寫法讓alias別名永久存在的辦法下篇預告 alias命令的用處 別名,就是linux系統中的命令的別稱,而alias命令,可以顯示linux系統當前設定的全部別名,當然,也可以自己定義一個別名。 ali…

Kafka 中的批次

在 Kafka 中,批次(Batch) 是生產者發送消息的一個重要概念。它對 Kafka 的性能、吞吐量、延遲等有很大影響。批量處理可以使消息發送更高效,減少網絡往返和磁盤寫入的開銷。 下面我將詳細解釋 Kafka 中的批次機制,包括…

聯合、枚舉、類型別名

數據類型: 已學--整數、實數、字符、字符串、數組、指針、結構待學--向量(vector)類型:優于數組非主流的類型--聯合(union)、枚舉(enum) 一、聯合 聯合類似于結構,可以容…

form+ffmpeg+opus錄音壓縮音頻

說明: formffmpegopus錄音壓縮音頻 效果圖: step1:opus格式錄音 C:\Users\wangrusheng\RiderProjects\WinFormsApp11\WinFormsApp11\Form1.cs using System; using System.Diagnostics; using System.IO; using System.Windows.Forms;namespace WinFo…

軟件工程面試題(三十)

將ISO8859-1字符串轉成GB2312編碼,語句為? String snew String(text.getBytes(“iso8859-1”),”gb2312”). 說出你用過的J2EE標準的WEB框架和他們之間的比較? 答:用過的J2EE標準主要有:JSP&Servlet、JDBC、JNDI…

每日一題(小白)分析娛樂篇10

由題知計算階乘之和,我們可以用for循環計算每一次的值把總和放在BigInteger然后進行判斷。但是這樣明顯過于麻煩,我們可以利用數學的本質去思考這個問題,以0結尾的數字乘以一個數字必定為0,階乘之中必定有2和5結尾的數字相乘得0&a…

【51單片機】2-3【I/O口】震動傳感器控制LED燈

1.硬件 51最小系統LED燈模塊震動傳感器模塊 2.軟件 #include "reg52.h"sbit led1 P3^7;//根據原理圖(電路圖),設備變量led1指向P3組IO口的第7口 sbit vibrate P3^3;//震動傳感器DO接P3.3口void Delay2000ms() //11.0592MHz {…

Linux網絡狀態監控利器:netstat與ping命令詳解

網絡狀態監控利器:netstat與ping命令詳解 在Linux系統的網絡管理中,實時監控網絡狀態是確保系統穩定運行的關鍵環節。netstat和ping作為兩個常用的網絡監控工具,分別提供了詳細的網絡狀態信息和網絡連通性檢測功能。本文將全面解析這兩個命令…

【spring cloud Netflix】Eureka注冊中心

1.概念 Eureka就好比是滴滴,負責管理、記錄服務提供者的信息。服務調用者無需自己尋找服務,而是把自己的 需求告訴Eureka,然后Eureka會把符合你需求的服務告訴你。同時,服務提供方與Eureka之間通過“心跳” 機制進行監控&#xf…

Linux中C++ gdb調試命令

編譯可執行文件需要帶上-g選項參數 輸入回車則重復執行上一次命令; 進入gdb: gdb 程序名運行gdb命令: r打斷點命令: b 行號查看斷點命令: i b打印變量命令: p 變量名持續查看變量命令: d…

【進收藏夾吃灰】機器學習學習指南

博客標題URL【機器學習】線性回歸(506字)https://blog.csdn.net/from__2025_03_16/article/details/146303423

【通信觀察家】2025年Q1通信業技術躍遷與生態重構:AI+低空經濟雙輪驅動

一、行業動態與投資熱點 1. 算力投資加速 1) 騰訊2024年財報顯示,AI相關資本開支同比增長221.27%,2025年計劃繼續加碼AI原生應用研發及算力基礎設施建設,其自研混元T1模型(Hybrid-Mamba-Transformer架構)已上線并開放云服務。 2) 中國移動和…

基于 Vue + Django + MySQL 實現個人博客/CMS系統

目錄 1. 環境搭建與項目初始化 后端 (Django) 2. 數據庫模型設計 用戶認證模型 (Django Auth) 文章模型 (models.py) 全文索引優化 3. 后端API開發 (Django REST Framework) 用戶注冊/登錄 文章發布與搜索 4. 前端實現 (Vue 3) 項目初始化 核心功能實現 5. 訪問統…

從全球首發到獨家量產,遠峰科技持續領跑數字鑰匙賽道

數字車鑰匙「新紀元」即將開啟,星閃數字鑰匙正式進入量產周期。 隨著汽車智能化快速普及,數字鑰匙的搭載量正在快速提升。根據高工智能汽車研究院的數據,2024年中國市場乘用車前裝標配搭載數字鑰匙的新車交付量超過1000萬輛,同比…

C#高級:利用LINQ進行實體列表的集合運算

問題引入: Teacher實體的唯一標識符是Name和Classes字段(或者說這兩個字段唯一確定一條數據),如何對兩個實體列表做交集、差集運算呢?(并集直接調用AddRange方法即可) 一、重寫方法實現 1.原…