目录

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

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
kovlistudio6 分钟前
红宝书第二十九讲:详解编辑器和IDE:VS Code与WebStorm
开发语言·前端·javascript·ide·学习·编辑器·webstorm
脑洞专家8 分钟前
基于改进的点线融合和关键帧选择的视觉SLAM 方法
人工智能·机器学习·计算机视觉
丶Darling.1 小时前
深度学习与神经网络 | 邱锡鹏 | 第三章学习笔记
深度学习·神经网络·学习
小付同学呀1 小时前
前端快速入门学习4——CSS盒子模型、浮动、定位
前端·css·学习
University of Feriburg1 小时前
4-c语言中的数据类型
linux·c语言·笔记·学习·嵌入式实时数据库·嵌入式软件
明月看潮生1 小时前
青少年编程与数学 02-015 大学数学知识点 09课题、专业相关性分析
人工智能·青少年编程·数据科学·编程与数学·大学数学
XYN611 小时前
【嵌入式学习3】基于python的tcp客户端、服务器
服务器·开发语言·网络·笔记·python·学习·tcp/ip
liang89992 小时前
Shiro学习(四):Shiro对Session的处理和缓存
java·学习·缓存
奔跑的废柴2 小时前
Jenkins学习(B站教程)
运维·学习·jenkins
奋斗者1号2 小时前
嵌入式AI开源生态指南:从框架到应用的全面解析
人工智能·开源