深度学习数据预处理——批标准化(Batch Normalization)
数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间。
2015 年一篇论文提出了这个方法,批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,使其服从标准的正态分布,这样后一层网络的输入也是一个标准的正态分布,所以能够比较好的进行训练,加快收敛速度。
在pytorch中不用自己实现批标准化,有内置的函数实现,比如二维的BatchNorm2d()
# 使用批标准化
class conv_bn_net(nn.Module):def __init__(self):super(conv_bn_net, self).__init__()self.stage1 = nn.Sequential(nn.Conv2d(1, 6, 3, padding=1),nn.BatchNorm2d(6),nn.ReLU(True),nn.MaxPool2d(2, 2),nn.Conv2d(6, 16, 5),nn.BatchNorm2d(16),nn.ReLU(True),nn.MaxPool2d(2, 2))self.classfy = nn.Linear(400, 10)def forward(self, x):x = self.stage1(x)x = x.view(x.shape[0], -1)x = self.classfy(x)return x
深度学习数据预处理——批标准化(Batch Normalization)相关推荐
- 什么是批标准化 (Batch Normalization)
为什么要数据标准化 (1)具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律. (2)也是优化神经网络的一种方法 什么是批标准化 (Batch Normalization) Batch No ...
- 深度学习——数据预处理篇
深度学习--数据预处理篇 文章目录 深度学习--数据预处理篇 一.前言 二.常用的数据预处理方法 零均值化(中心化) 数据归一化(normalization) 主成分分析(PCA.Principal ...
- Normalization 批标准化(batch normalization)理解
数学是达成目的的工具, 理解才是达成目的桥梁, 所以这篇文章用浅显易懂的动画阐述了复杂的机器学习概念. 强烈推荐通过动画的形式了解. 所以首先放视频链接: Youtube 或者 优酷. 代码实现请来这 ...
- 比较全的深度学习数据预处理方法
当前深度学习的预处理方法 1.中心化/零均值化 程序代码 2.标准化/归一化 程序代码 (1)标准化与归一化的联系和差异 联系 差异 (2)为什么要归一化/标准化 ①某些模型求解需要 ②一些分类器需要 ...
- 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...
- 深度学习 --- 优化入门四(Batch Normalization(批量归一化)一)
前几节我们详细的探讨了,梯度下降存在的问题和优化方法,本节将介绍在数据处理方面很重要的优化手段即批量归一化(批量归一化). 批量归一化(Batch Normalization)并不能算作是一种最优化算 ...
- PyTorch 深度学习:31分钟快速入门——Batch Normalization
Batch Normalization¶ 前面在数据预处理的时候,我们尽量输入特征不相关且满足一个标准的正态分布,这样模型的表现一般也较好.但是对于很深的网路结构,网路的非线性层会使得输出的结果变得相 ...
- 深度学习 --- 优化入门五(Batch Normalization(批量归一化)二)
批归一化真的可以解决内部协方差偏移问题?如果不能解决,那它的作用是什么?你所接受的整个深度学习教育是一个谎言吗?让我们来寻找答案吧! 开始之前...... 我想提醒一下,本文是深度学习优化算法系列的第 ...
- 深度学习-----数据预处理
转自:https://blog.csdn.net/dcxhun3/article/details/47999281 通过最近一段深度学习的学习与实现,发现数据预处理在深度学习中是非常重要的. 数据归一 ...
最新文章
- ASP.net中太长的数据缩略显示
- 测试服务器最大链接数_LoaRunner性能测试系统学习教程:probe监控(3)
- Science审稿人谈中国首次实现量子优越性:「九章」到底打了谁的脸?
- vs.net设计器里加载派生窗口类时要执行父窗口的Form_Load方法
- UBUNTU 12.04 下配置 HAXM 加速 ANDROID模拟器
- (转)Mat, vectorpoint2f,Iplimage等等常见类型转换
- 创建一个存储过程,返回指定员工的姓名和薪水
- python连接redis哨兵_Python redis.sentinel方法代码示例
- 【MyBatis】MyBatis Order By 字段动态动态排序
- python打印表格_python 6.7 编写printTable()函数表格打印(完整代码)
- configure: error: invalid variable name: `'
- newifi3高恪魔改最新_12.08达达最新球球id账号呆瓜表
- java获取鼠标点击的坐标_怎么我用Java窗外获取鼠标点击的坐标
- 导数与微分及简单例题
- 计算生辰八字五行属性的算法
- Cubase10自编曲平台,享受音乐带来的快乐!
- 环路补偿-一阶、二阶、运放补偿讲解及计算
- 快速上手搜索引擎的秘密武器——Lucene
- qt 多线程、信号槽、moveToThread等机制之拨乱反正
- 大厂面试题Object object = new Object()
热门文章
- SAP License:内部顾问的培养与成长
- Elasticsearch高级查询2:ES 高级查询
- MySQL高级知识(六)——索引优化
- flume---2中channel file和memory
- 做好这5点基本要求 才能算一个合格的HTML5动画
- 1.2 xss原理分析与剖析(3)
- 如何去掉UITableViewController中的分隔线setSeparatorStyle
- 白话设计模式--结构型模式之 适配器模式(Adapter)
- codeforces 848B Rooter's Song 思维题
- 爬虫-request和BeautifulSoup模块