AI学习记录 - 怎么理解 torch 的 torch.nn.BatchNorm2d

画图不易,有用就点个赞

这里创建了一个随机张量,形状为 (4, 3, 4, 4),分别对应

形状为 (batch_size, num_channels, height, width)

batch_size:批次

num_channels: 通道(什么是通道看上一章节)

python 复制代码
input_tensor = torch.randn(4, 3, 4, 4)

创建了个下面这样子的东西

计算归一化是需要参考值的,因为需要知道最大值最小值,已经参与计算的数量,参考值来自于哪里呢,如下

合并起来,可以看到 num_channels = 3,所以分别计算3次

计算均值和方差公式如下:

看不懂是不是,我也看不懂,举个简单的例子

假设一批数字为 [3, 7, 2, 9, 4]

均值

方差

然后进行归一化

计算完之后形状不会改变,只是值变了而已,上面新的数字组合起来均值接近0,方差接近1。其实认识这个计算过程意义不是很大,你就当在实际模型运算的时候,肯定会产生一些很大的值很小的值,假如生成的数据区间在[ 50,120 ],我们需要将这些值传入到激活函数里面,把 50 到120 传sigmoid激活函数里面,基本上都是0.9999...,数据之间根本没差异。

sigmoid函数,不进行归一化

sigmoid函数,归一化,将数字移动到激活函数有明显变化的区域,这就有差异了,充分发挥了激活函数的作用

相关推荐
Coder_Boy_7 分钟前
基于SpringAI的企业级智能教学考试:基础资源构建模块
人工智能·spring boot
北邮刘老师16 分钟前
【智能体互联协议解析】AIP/ACPs如何实现“自主互联,协商互通,独立自治”
网络·人工智能·大模型·智能体·智能体互联网
Coder个人博客20 分钟前
Transformers分词器模块深度分析
人工智能·自动驾驶·transformer
简简单单OnlineZuozuo24 分钟前
视觉模型的偏见和捷径测试:来自真实世界实验的实用测试套件
人工智能·深度学习·安全·图像识别·banana
Coder_Boy_31 分钟前
基于SpringAI的企业级智能教学考试平台模块二:核心执行模块内容
人工智能·spring boot
玄同76532 分钟前
我是如何开发项目的?——从 “踩坑思维” 到 “工程化能力”:编程学习的进阶方法论(万字版)
开发语言·人工智能·经验分享·笔记·python·学习·课程设计
●VON34 分钟前
影像之眼:人工智能如何重塑医学诊断的边界
人工智能·学习·von
暗流者38 分钟前
ctf wiki中kernel pwn 学习编译内核(2026年最新版)
学习·安全·网络安全·pwn
深蓝海拓40 分钟前
PySide6之QListWidget 学习
笔记·python·qt·学习·pyqt
末日汐40 分钟前
linux--进程学习
linux·运维·服务器·学习