P11机器学习--李宏毅笔记(Bactch normolization 让error surface 变好)

news/2024/10/22 18:40:33/

目录

一、怎么变成好的error face

二、Feature Normalization

三、在深度学习中再使用Feature Normalization 

四、batch normolization


一、怎么变成好的error face

 

从左上图来看,在w1方向上loss斜率很小但是在w2方向上loss斜率很大,当你在这个实验里使用固定的LR时你就不会有较好的结果。你需要用比较好的比如Adam一些opt方法才能得到较好的结果,现在我们从另一方面想,要不我们之间改变这个error surface呢?
1.首先为什么会出现左上图的情况?

从下面式子可以看出,当你输入很小时你有可能就对w影响较小,当你输入很大时有可能对w影响就会较大。所以说我们下想要的是same range的输入,这样就会有好的error surface就会比较好train


二、Feature Normalization

首先取每一个dimension的值求平均得到m,然后再算出标准差σ。这样通过下面公式就可以计算出Feature Normalization的值。这个值在0上下,方差为1.

三、在深度学习中再使用Feature Normalization 

 

后面得到的有可能还是难train所以说我们需要对处理的结果再normalization

 

 

如上图现在我们算出来的z1改变会影响后面的所有,它不像是最初始的x输入是独立的。现在network可以看作是拿x进来再用这个x算出一堆东西然后产生一堆outpt。但是现在data很多你不可能一次性把所有data丢进去,所以你要考虑用batch。对一个batch做normolization这就是batch normolization。我们希望batch size比较大,这样 一个batch就足以表示整个corpus的分布本来要对整个corpus做feature normolization这个事情改成对一个batch 做feature normolization

四、batch normolization

把最后的值再加上γ和β,这样就不是让数据不在0上下了吗?

我们通常初始把γ设为1,β设为0.在比较难train的时候我们让它尽可能保持在0上下。当走到好地方时我们可以适当改变这两个参数这样往往对你的训练是有帮助的

 在testing时我们有可能不能拿到一整个batch的数据,所以我们现在需要用train计算的参数进行normolization计算。

 

上图为各种表现,其中黑色虚线就是没有加batch normolization的,x5 x30表示不同的学习率 。


http://www.ppmy.cn/news/707507.html

相关文章

深入浅出scala之变量定义(P11-20)

文章目录 1. 变量定义2.数据类型3.数值类型4.浮点类型5.字符类型6.字符串类型7.其他数据类型8.类型转换 1. 变量定义 基本语法: 变量定义一定要初始化 var|val变量名[: 变量类型] .变量值使用var或者val定义一个变量。 使用var(variable)声明变量,可以被重新赋值…

P10-P11:transforms工具的学习(Pytorch小土堆学习笔记)

图片经过transforms工具的变换,得到我们想要的一个图像变换结果 解释:根据模具创造工具,使用具体工具根据说明进行输入和输出 解决两个问题: 1.transform应该如何使用 2.为什么需要tensor数据类型 首先第一个问题 第一ToTens…

谷粒商城基础篇---day01(P1-P11)

一、安装linux虚拟机,我这里用的是VMware,怎么安装就不介绍了 直接环境-虚拟机网络设置 打开小黑板输入ipconfig(可用于显示当前的TCP/IP配置的设置值) 找到虚拟机的网络地址 或者https://blog.csdn.net/qq_38570633/article/…

刘二大人 PyTorch深度学习实践 笔记 P11 卷积神经网络(高级篇)

刘二大人 PyTorch深度学习实践 笔记 P11 卷积神经网络(高级篇) 1、GoogleNetI 网络结构II 减少代码冗余思想(减少代码重复) 2、Inception ModuleI 基本概念III 代码实现II Stack Layer 3、residual netI 普通网络与残差网络的区别II Residual blockIII 代…

秒杀p11~p15

开始异常处理 完善登录功能 分布式session redis安装 要用到虚拟机了,但我电脑哦太拉垮了 用虚拟机就很烫 suoyiwojiuzaiwindows下面安装了 反正自hi是自己用用而已 redis的安装和运行_敲代码敲到头发茂密的博客-CSDN博客_运行redis 1.装xftp 用xftp吧redis安装…

他是阿里P11,靠写代码写成合伙人,身家几十亿,没有他,我们可能刷不了淘宝!...

点击“技术领导力”关注∆ 每天早上8:30推送 作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 他是阿里的“扫地僧”,写代码级别最高的人,一等一的技术高手,他非科班出身,用近20年的时间,修…

P11:关系运算

** P11(关系运算): ** 所有的关系运算符的优先级比算数运算的低,但是比赋值运算的高 比如7>34,会去计算了34后再去与7比,而不会先7>3为ture,再让ture去和4比。 判断是否相等的和!的优先…

Transformer简明教程 P11 定义模型

# 编码器层 # 这是一层 class EncoderLayer(torch.nn.Module):def __init__(self):super().__init__()# 多头注意力层self.mh MultiHead()self.fc FullyConnectedOutput()def forward(self, x, mask):# 计算自注意力,维度不变# [b, 50, 32] -> [b, 50, 32]score self.mh(…