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函数,归一化,将数字移动到激活函数有明显变化的区域,这就有差异了,充分发挥了激活函数的作用

相关推荐
数字化转型20251 分钟前
10年之后的未来:AI + 机器人成为主要价值创造者
人工智能
ZhengEnCi2 分钟前
01d-前馈神经网络代码实现 💻
人工智能·深度学习·神经网络
冬奇Lab3 分钟前
一天一个开源项目(第93篇):Symphony - OpenAI 官方定义的 AI 代理编排规范
人工智能·openai·agent
雷帝木木6 分钟前
Python 中的配置文件管理:从基础到高级应用
人工智能·python·深度学习·机器学习
小龙报8 分钟前
【必装软件】python及pycharm的安装与环境配置
开发语言·人工智能·python·语言模型·自然语言处理·pycharm·语音识别
雷帝木木12 分钟前
Python元编程高级技巧:深入理解代码生成与动态行为
人工智能·python·深度学习·机器学习
草莓熊Lotso13 分钟前
Python 入门必吃透:函数、列表与元组核心用法(附实战案例)
大数据·服务器·开发语言·c++·人工智能·python·qt
李昊哲小课2 小时前
Hermes Agent 系统架构设计
人工智能·智能体·hermes agent
一切皆是因缘际会8 小时前
从概率拟合到内生心智:2026 下一代 AI 架构演进与落地实践
人工智能·深度学习·算法·架构
小e说说8 小时前
拯救孩子学习兴趣大作战!这些软件超神了
学习