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

相关推荐
..过云雨10 分钟前
17-2.【Linux系统编程】线程同步详解 - 条件变量的理解及应用
linux·c++·人工智能·后端
坚持学习前端日记13 分钟前
软件开发完整流程详解
学习·程序人生·职场和发展·创业创新
kalvin_y_liu28 分钟前
【2026年经济周期关键节点案例分析】
人工智能
Wokoo734 分钟前
开发者AI大模型学习与接入指南
java·人工智能·学习·架构
骚戴38 分钟前
2025 n1n.ai 全栈国产大模型接入列表与实测报告
人工智能·大模型·llm·api·ai gateway
南山乐只41 分钟前
【Spring AI 开发指南】ChatClient 基础、原理与实战案例
人工智能·后端·spring ai
极客小云1 小时前
【突发公共事件智能分析新范式:基于PERSIA框架与大模型的知识图谱构建实践】
大数据·人工智能·知识图谱
小猪佩奇TONY1 小时前
OpenCL 学习(3)---- OpenCL 第一个程序
学习
Fuly10241 小时前
如何评估LLM和Agent质量
人工智能
weisian1511 小时前
入门篇--知名企业-12-Stability AI:不止于“艺术”,这是一场开源AI的全面起义
人工智能·开源·stablility ai