BN 層的作用, 為什么有這個作用?

BN 層(Batch Normalization)——這是深度神經網絡中非常重要的一環,它大大改善了網絡的訓練速度、穩定性和收斂效果。


🧠 一句話理解 BN 層的作用:

Batch Normalization(批歸一化)通過標準化每一層的激活值,讓訓練過程更穩定、更快、更容易收斂。

🧩 為什么需要 BN 層?

在深度網絡中,隨著層數增加,每層的輸入分布會發生變化(稱為 internal covariate shift):

? 比如某一層開始習慣輸入是 [-1, 1] 的分布;

? 但由于前面參數更新,下一次訓練時輸入可能變成 [0, 10];

? 導致該層“適應不過來”,訓練變慢,甚至梯度消失或爆炸。


🎯 BN 是怎么解決這個問題的?

? 它做了兩步處理:

1. 標準化(Standardization)

? 對 mini-batch 的每個神經元,減去均值、除以標準差,使輸出是均值為 0、方差為 1。

? 類似 z-score:

\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}

2. 線性變換(恢復表達能力)

? 引入兩個可學習參數 γ(scale)和 β(shift):

y_i = \gamma \hat{x}_i + \beta

? 這一步確保即使你歸一化了,也不會失去模型擬合能力(BN 不是簡單的“壓縮”,而是“規范+再建”)。


🌟 BN 的作用總結:

功能

解釋

📉 減少內部協變量偏移

讓每層輸入分布更穩定,網絡更容易學習

? 加快收斂速度

訓練更快、效果更好(可以用更大學習率)

📐 緩解梯度消失/爆炸

標準化后激活不會太大太小,梯度更穩

🧲 一定程度正則化

每次用 mini-batch,會引入噪聲,有點像 Dropout

🚀 更深網絡也能穩定訓練

尤其適用于 ResNet、VGG 等大網絡結構


🎨 類比記憶:

想象你在一個樓梯上訓練爬樓,如果每一層的高度都在不斷變(有的高有的矮),你會訓練得很累;BN 就像把每一層都“規范化”為標準的高度,讓你更容易上樓。


🧪 使用場景:

? 常用于卷積層或全連接層后,激活函數前后都可以(通常是前)。

? 訓練時用 batch 均值和方差,推理時用滑動平均。

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

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

相關文章

判斷HiveQL語句為ALTER TABLE語句的識別函數

寫一個C#字符串解析程序代碼,邏輯是從前到后一個一個讀取字符,遇到匹配空格、Tab和換行符就繼續讀取下一個字符,遇到大寫或小寫的字符a,就讀取后一個字符并匹配是否為大寫或小寫的字符l,以此類推,匹配任意字…

基于編程的運輸設備管理系統設計(vue+springboot+ssm+mysql8.x)

基于編程的運輸設備管理系統設計(vuespringbootssmmysql8.x) 運輸設備信息管理系統是一個全面的設備管理平臺,旨在優化設備管理流程,提高運輸效率。系統提供登錄入口,確保只有授權用戶可以訪問。個人中心讓用戶可以查…

6.1 python加載win32或者C#的dll的方法

python很方便的可以加載win32的方法以及C#編寫的dll中的方法或者變量,大致過程如下。 一.python加載win32的方法,使用win32api 1.安裝庫win32api pip install win32api 2.加載所需的win32函數并且調用 import win32api win32api.MessageBox(0,"…

前端精度計算:Decimal.js 基本用法與詳解

一、Decimal.js 簡介 decimal.js 是一個用于任意精度算術運算的 JavaScript 庫,它可以完美解決浮點數計算中的精度丟失問題。 官方API文檔:Decimal.js 特性: 任意精度計算:支持大數、小數的高精度運算。 鏈式調用:…

SQL Server 數據庫實驗報告

??????? 1.1 實驗題目:索引和數據完整性的使用 1.2 實驗目的: (1)掌握SQL Server的資源管理器界面應用; (2)掌握索引的使用; (3)掌握數據完整性的…

AI繪畫中的LoRa是什么?

Lora是一個多義詞,根據不同的上下文可以指代多種事物。以下將詳細介紹幾種主要的含義: LoRa技術 LoRa(Long Range Radio)是一種低功耗廣域網(LPWAN)無線通信技術,以其遠距離、低功耗和低成本的特…

哈希表(Hashtable)核心知識點詳解

1. 基本概念 定義:通過鍵(Key)直接訪問值(Value)的數據結構,基于哈希函數將鍵映射到存儲位置。 核心操作: put(key, value):插入鍵值對 get(key):獲取鍵對應的值 remo…

數據流和重定向

1、數據流 不管正確或錯誤的數據都是默認輸出到屏幕上,所以屏幕是混亂的。所以就需要用數據流重定向將這兩 條數據分開。數據流重定向可以將標準輸出和標準錯誤輸出分別傳送到其他的文件或設備去 標準輸入(standard input,簡稱stdin&#xff…

詳解 MySQL 索引的最左前綴匹配原則

MySQL 的最左前綴匹配原則主要是針對復合索引(也稱為聯合索引)而言的。其核心思想是:只有查詢條件中包含索引最左側(第一列)開始的連續一段列,才能讓 MySQL 有效地利用該索引。 一、 復合索引的結構 復合…

MyBatis注解開發增刪改查基礎篇

本文是MyBatis注解開發的基礎篇,將通過實際場景,詳細介紹MyBatis注解式開發的使用,這是MyBatis很強大的一個特性,可以直接在接口方法上定義 SQL 語句,從而實現數據庫的增刪改查操作。 本文目錄 一、環境依賴二、創建對…

周末總結(2024/04/05)

工作 人際關系核心實踐: 要學會隨時回應別人的善意,執行時間控制在5分鐘以內 堅持每天早會打招呼 遇到接不住的話題時拉低自己,抬高別人(無陰陽氣息) 朋友圈點贊控制在5min以內,職場社交不要放在5min以外 職場的人際關系在面對利…

【HTML】純前端網頁小游戲-戳破彩泡

分享一個簡單有趣的網頁小游戲 - 彩色泡泡爆破。玩家需要點擊屏幕上隨機出現的彩色泡泡來得分。 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

如何實現單例模式?

一、模式定義與核心價值 單例模式&#xff08;Singleton Pattern&#xff09;是一種創建型設計模式&#xff0c;保證一個類僅有一個實例&#xff0c;并提供全局訪問點。其核心價值在于&#xff1a; ??資源控制??&#xff1a;避免重復創建消耗性資源&#xff08;如數據庫連…

Three.js 系列專題 1:入門與基礎

什么是 Three.js? Three.js 是一個基于 WebGL 的 JavaScript 庫,它簡化了 3D 圖形編程,讓開發者無需深入了解底層 WebGL API 就能創建復雜的 3D 場景。它廣泛應用于網頁游戲、可視化、虛擬現實等領域。 學習目標 理解 Three.js 的核心組件:場景(Scene)、相機(Camera)…

藍橋云客---藍橋速算

3.藍橋速算【算法賽】 - 藍橋云課 問題描述 藍橋杯大賽最近新增了一項娛樂比賽——口算大賽&#xff0c;目的是測試選手的口算能力。 比賽規則如下&#xff1a; 初始給定一個長度為 N 的數組 A&#xff0c;其中第 i 個數字為 Ai?。隨后數組會被隱藏&#xff0c;并進行 Q 次…

Oracle遷移達夢遇中斷?試試SQLark的斷點續遷功能!

在企業級數據遷移項目中&#xff0c;如果遷移單表數據量超過億行、占用空間超過100GB時&#xff0c;一旦遇到網絡中斷或遷移報錯&#xff0c;往往需要整表重新遷移&#xff0c;導致效率低下&#xff0c;嚴重影響項目進度。針對這一痛點&#xff0c;SQLark 支持對 Oracle→DM 的…

【C/C++算法】藍橋杯之遞歸算法(如何編寫想出遞歸寫法)

緒論&#xff1a;沖擊藍橋杯一起加油&#xff01;&#xff01; 每日激勵&#xff1a;“不設限和自我肯定的心態&#xff1a;I can do all things。 — Stephen Curry” 緒論?&#xff1a; ———————— 早關注不迷路&#xff0c;話不多說安全帶系好&#xff0c;發車啦&am…

[ctfshow web入門] web5

前置知識 引用博客&#xff1a;phps的利用 當服務器配置了 .phps 文件類型時&#xff0c;訪問 .phps 文件會以語法高亮的形式直接顯示 PHP 源代碼&#xff0c;而不是執行它。.phps被作為輔助開發者的一種功能&#xff0c;開發者可以通過網站上訪問xxx.phps直接獲取高亮源代碼 …

day 8 TIM定時器

一、STM32 定時器概述 1. 定時器的概述定時器的基本功能&#xff0c;但是 STM32 的定時器除了具有定時功能之外&#xff0c;也具有定時器中斷功能&#xff0c;還具有輸入捕獲&#xff08;檢測外部信號&#xff09;以及輸出比較功能&#xff08;輸出不同的脈沖&#xff09;&…

Spring Boot 中使用 Redis:從入門到實戰

&#x1f31f; 前言 歡迎來到我的技術小宇宙&#xff01;&#x1f30c; 這里不僅是我記錄技術點滴的后花園&#xff0c;也是我分享學習心得和項目經驗的樂園。&#x1f4da; 無論你是技術小白還是資深大牛&#xff0c;這里總有一些內容能觸動你的好奇心。&#x1f50d; &#x…