AI(1)-神經網絡(正向傳播與反向傳播)

🍋🍋AI學習🍋🍋

🔥系列專欄: 👑哲學語錄: 用力所能及,改變世界。
💖如果覺得博主的文章還不錯的話,請點贊👍+收藏??+留言📝支持一下博主哦🤞


在神經網絡的訓練過程中,正向傳播反向傳播是兩個關鍵步驟。在這兩個階段中,激活函數和損失函數扮演著不同的角色,并以特定的方式參與其中。下面我將詳細說明這兩個階段中激活函數和損失函數是如何工作的。

一、正向傳播(Forward Propagation)

1.?輸入層到隱藏層

  • 輸入數據:首先,輸入數據 X 被傳遞給網絡的第一層。

  • 線性變換:對于每一層 ll,輸入通過權重矩陣 W[l] 和偏置向量 b[l]進行線性變換。

  • 應用激活函數:然后對 Z[l] 應用激活函數 g[l],得到該層的激活輸出。

注意:這里激活函數輸出其實就是每個神經元傳遞給下一層的輸入。

2.?隱藏層到輸出層

  • 最后一層:在輸出層,通常會使用一個特定的激活函數來適應任務的需求。例如:

    • 二分類問題:Sigmoid 激活函數,其輸出范圍為 (0, 1),適合表示概率。
    • 多分類問題:Softmax 激活函數,用于將多個輸出值轉換為概率分布。
    • 回歸問題:可能不使用激活函數或使用線性激活函數。
  • 計算預測值:最后一層的輸出 A[L] 就是我們模型的預測值 Y^。

3.?損失函數

  • 計算損失:根據預測值?Y^?和真實標簽?Y,使用選定的損失函數?L(Y,Y^)L(Y,Y^)?來衡量模型的表現。常見的損失函數包括:
    • 均方誤差(MSE):適用于回歸任務。
    • 交叉熵損失:適用于分類任務,特別是與 Sigmoid 或 Softmax 配合使用時。

二、反向傳播(Backward Propagation)

1.?從輸出層開始

  • 起點梯度:反向傳播從計算輸出層的梯度開始。具體來說,我們首先需要計算損失函數對輸出層激活值的導數 ?L?A[L]?A[L]?L?。這個梯度被稱為“起點梯度”,因為它標志著梯度回傳過程的起始點。

    對于不同的損失函數,起點梯度的形式有所不同:

    • 均方誤差(MSE)+ 線性輸出
    • 交叉熵 + Sigmoid/Softmax

2.?計算激活函數的導數

  • 激活函數導數:接下來,我們需要計算激活函數的導數。這取決于使用的激活函數:

  • 結合起點梯度,我們可以計算出損失相對于線性組合 Z[L] 的梯度

3.?逐層向前傳播梯度

  • 正向傳播中的作用

    • 激活函數:用于引入非線性,使得網絡能夠學習復雜的模式。每層的輸出都是前一層的激活輸出經過線性變換再通過激活函數的結果。
    • 損失函數:用于評估模型預測值與真實值之間的差距,提供了一個衡量模型性能的標準。
  • 反向傳播中的作用

    • 激活函數:其導數決定了梯度如何從當前層傳遞到前一層。不同激活函數的導數特性影響了梯度的傳播效率和穩定性。
    • 損失函數:提供了起點梯度,即損失相對于最后一層激活值的導數。這個初始梯度隨后通過鏈式法則逐層向前傳播,用于更新各層的參數。

三、總結:

在正向傳播過程中:

1.首先從輸入層到隱藏層經過線性變換得到輸出值Z,再將輸出值經過應用激活函數得到該層的的激活輸出A。

2.隱藏層到輸出層,在這里通常會使用一個他特定的激活函數來適應任務需求:

  • 二分類問題:Sigmoid 激活函數,其輸出范圍為 (0, 1),適合表示概率。

  • 多分類問題:Softmax 激活函數,用于將多個輸出值轉換為概率分布。

  • 回歸問題:可能不使用激活函數或使用線性激活函數。

最終計算得到最后一層的輸出,也就是我們的預測值。

3.損失函數L:我們開始計算損失根據模型的差異使用不一樣的損失函數(最后一層的輸出A就是預測值Y)

在反向傳播過程中:

1.首先計算損失函數對輸出層激活值的導數,這個梯度也就是起點梯度,標志著梯度回傳的起始點。

2.計算激活函數的導數A對Z求導,這里取決于使用的激活函數:Sigmoid、ReLU、Tanh等。

結合上起始點的梯度,我們可以計算出損失相對于線性組合 Z[L] 的梯度:

3.逐層向前傳播梯度

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

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

相關文章

嵌入式Linux學習 - 數據結構6

五、哈希表1. 哈希算法將數據通過哈希算法映射成一個鍵值,存取都在同一位置實現數據的高效存儲和查找將時間復雜度盡可能降低至O(1)2. 哈希碰撞多個數據通過哈希算法得到的鍵值相同,稱為產生哈希碰撞3. 哈希表構建哈希表存放0-100之間的數據將0 - 100之間…

GitHub 趨勢日報 (2025年08月07日)

📊 由 TrendForge 系統生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日報中的項目描述已自動翻譯為中文 📈 今日獲星趨勢圖 今日獲星趨勢圖1894nautilus_trader354stagehand315openai-cookbook263sim242ollama230prisma154v…

android 使用openimagelib OpenImage 實現點擊放大圖片,瀏覽

在 Android 中使用 OpenImageLib(假設這是一個開源圖片加載庫,類似于 Glide 或 Picasso)實現 點擊放大圖片并瀏覽 的功能,通常需要結合 圖片查看器庫(如 PhotoView)和 圖片加載庫(如 OpenImageLib)。以下是完整的實現方案: 1. 添加依賴 (1) 添加 OpenImageLib 依賴 …

計算機視覺CS231n學習(4)

深度學習軟件 (這一部分去看tensorflow和pytorch的筆記) (見專欄)tensorflow和pytorch區別 tensorflow,我們先構建顯示的圖,然后重復運行它 pytorch,我們每次做前向傳播時,都構建一個…

【具身智能】具身智能的革命——人形機器人如何重塑人類日常生活

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! 2025年被譽為具身智能的元年,人形機器人技術迅猛發展,將深刻改變人類生活方式。本文從具身智能的核心概念入手,探討人形機器人的硬件架構、感知系統、運動控制和決策算法等技術基礎。結合…

Jira Service Management企業服務管理:IT、HR、法務、財務等部門如何落地現代企業服務管理理念與實踐

Jira Service Management 服務管理方法Jira Service Management 服務管理方法將開發、IT運營和業務團隊整合至一個統一平臺,以實現更高效的協作。任何團隊都能夠快速響應業務變化,為客戶和員工提供卓越體驗。Jira Service Management 提供直觀、經濟高效…

軟件開發 - danger 與 dangerous、warn 與 warning

danger 與 dangerous 1、danger詞性:n.含義:指可能造成傷害或損失的情況或事物# 例詞in 【danger】(處于危險中) out of 【danger】(脫離危險)# 例句After the surgery, the doctor said the patient was o…

為何毫米波需要采用不同的DPD方法?如何量化其值?

摘要 在5G新無線電技術標準中,除了sub-6 GHz頻率外,還利用毫米波(mmWave)頻率來提高吞吐量。毫米波頻率的使用為大幅提高數據吞吐量帶來了獨特的機會,同時也帶來了新的實施挑戰。本文探討sub-6 GHz和毫米波基站無線電之間的架構差異&#xff…

【數據結構入門】棧和隊列的OJ題

目錄 1. 有效的括號 分析: 代碼: 2. 用隊列實現棧 分析: 代碼: 3. 用棧實現隊列 分析: 代碼: 4. 設計循環隊列 思路: 代碼: 定義循環隊列結構體: 初始化結…

#Datawhale AI夏令營#第三期全球AI攻防挑戰賽(AIGC技術-圖像方向)

本次題目來源于Datawhale AI夏令營第三期全球AI攻防挑戰賽圖像生成賽道。首先看一下賽題背景和要求。1.賽題相關大賽背景隨著大模型(Deepseek、GPT、LLaMA等)的爆發式應用,AI技術已深度融入金融、醫療、智能終端語音交互場等核心領域&#xf…

Compose筆記(四十二)--RangeSlider

這一節主要了解一下Compose中的RangeSlider,在Jetpack Compose中,RangeSlider是Material3庫提供的雙滑塊范圍選擇控件,用于在一個連續區間內選擇最小值和最大值。它能直觀地設置一個區間范圍,廣泛應用于篩選、過濾等場景,簡單總結…

window10本地運行datax與datax-web

搭建 dataX 前置條件 JDK(1.8以上,推薦1.8)Python(2或3都可以)Apache Maven 3.x (Compile DataX) 下載 datax 編譯好的包 https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz 進入目錄,使用 powershell 打開 執行解壓命令…

PDF注釋的加載和保存的實現

PDF注釋功能文檔 概述 本文檔詳細說明了PDF注釋功能的實現,包括注釋的加載和保存功能。該功能基于Android PDFBox庫實現,支持Ink類型注釋的讀取和寫入。 功能模塊 1. 注釋加載功能 (getAnnotation()) 功能描述 從PDF文件中加載已存在的注釋,并…

Linux環境下實現簡單TCP通信(c)

具體代碼實現 server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h>#define PORT 8080 #define BUFFER_SIZE 1024void handle_client(int client_s…

炫酷圓形按鈕調色器

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>圓形按鈕顏色控制器</title><style>bod…

Vue 3 的編譯時優化如何改寫 DOM 操作規則

在現代前端開發中&#xff0c;框架級優化正悄然改變我們處理性能瓶頸的方式。與手動優化策略不同&#xff0c;Vue 3 的編譯器在構建階段就完成了關鍵性能改造&#xff0c;為 DOM 操作效率帶來質的飛躍。一、虛擬DOM的隱藏成本虛擬DOM&#xff08;Virtual DOM&#xff09;通過內…

Angular初學者入門第二課——.ts、.d.ts、.state.ts的區別(精品)

初次接觸 Angular 實際項目時&#xff0c;發現里邊有很多不同后綴的文件&#xff0c;雖然沒深入研究過&#xff0c;但根據其他編程語言的經驗猜測這應該是通過后綴名來區分文件的作用。后來有時間研究了一下具體的細節和不同點&#xff0c;就有了今天這篇文章&#xff0c;這些知…

進程狀態+進程優先級+進程上下文切換解讀

一、進程狀態 什么是進程狀態&#xff1f;進程狀態指的是在操作系統中進程在生命周期中所處的不同階段。進程狀態有哪些呢&#xff1f;我們可以看到上述圖片 進程狀態分為&#xff1a;創建狀態、就緒狀態、運行狀態、阻塞狀態和終止狀態所有的操作系統在實現進程狀態變化的時候…

Android 原生與 Flutter 通信完整實現 (Kotlin 版)

1. 項目配置 pubspec.yaml 添加依賴 dependencies:flutter:sdk: flutterprovider: ^6.0.52. Flutter 端實現 狀態管理類 // settings_provider.dart import package:flutter/foundation.dart;class SettingsProvider with ChangeNotifier {String _themeColor blue;bool _dark…

數字圖像處理3

圖像線性濾波——目的就是濾去噪聲&#xff0c;但是邊緣會模糊&#xff0c;整體也模糊線性&#xff1a;鄰域平均法&#xff08;4鄰域平均和8鄰域平均&#xff09;用當前運算點所在鄰域的平均值來代替該點的平均值im_for_read"D:\AAAproject\PYproject\EXPERuse\zaosheng.j…