超参数调试和Batch正则化

1. 调试处理

在这里插入图片描述
学习速率是最重要的超参数。
在这里插入图片描述
网格法,参数少的时候可以使用。
在这里插入图片描述
参数多的时候就不好使了。
在这里插入图片描述
先随机取值,然后使用这种粗糙到精细的策略。

2. 为超参数选择合适的范围

在这里插入图片描述
在这里插入图片描述
有些情况不能用均匀取值,比如学习率从0.0001到1之间,均匀取值的结果就是0.1到1之间,包含90%的可能性。使用对数标尺来搜索超参数更为合理。
一般实在10a和10b之间均匀取值。
在这里插入图片描述
β取值不好搞,换个思路,1-β。
原理:β接近1的时候,结果的灵敏度会变化。

3. 超参数调试实践

在这里插入图片描述
在这里插入图片描述
两种调试模型参数的方法供君选用。

4.Batch归一化

参考阅读:
归一化详解

4.1 归一化网络的激活函数

在这里插入图片描述
上图是对一个有三维度的数据输入,一个logistic模型的标准化。
在这里插入图片描述
对于深层神经网络来说,我们真正归一化的是每一层的z而不是a,可以帮助我们更有效的训练下一层的w和b。
在这里插入图片描述
上图为计算方法,先将每层z值减去均值再除以标准差,为了数值稳定(防止σ=0),加一个ε。
这样我们得到是一个均值为0方差为1的正态分布。
为了让不同的隐藏单元有不同的分布,我们计算一个新值:
在这里插入图片描述
其中有两个超参数,需要用Adam来更新。
可以通过这两个参数合理构建其他平均值和方差的隐藏单元值。
直观上的理解:我们输入层的数据可能是正态分布,但是我们神经网络的隐藏层输出数据分布可能是其他非标准正态分布。
例子:sigmoid激活函数,如果均值为零,相当于频繁是用其函数的线性部分。

4.2 将Batch Norm拟合进神经网络

4.3 Batch Norm为什么奏效

直观上的理解:
归一化输入特征和隐藏单元的值,使其范围类似,加速学习。

在这里插入图片描述
Covariate shift问题:数据分布变了,需要重新学习x到y的映射。
直觉上的理解1:
减弱了前层参数的作用和后层参数的作用之间的联系,使得网络每层都可以自己学习。
直觉上的理解2:
可以有轻微的正则化效果。(给每一层的输出值增加了一些噪音)
在这里插入图片描述

4.4 测试时的Batch Norm

在测试的时候一般会一个个处理样本,所以需要指数加权平均来估算均值和方差。
在这里插入图片描述

8. Softmax回归

对于多分类问题,有一种logistic回归的一般形式,叫做softmax回归。
在这里插入图片描述
三分类问题有四个类别。
在这里插入图片描述
这里注意一下,softmax层有两个操作比较重要,一个是去e的幂数,然后归一化。
在这里插入图片描述
在这里插入图片描述
输入的着色是基于每个类别输出概率最高的那个。

9. 训练一个Softmax分类器

输出层的激活函数是softmax函数:
在这里插入图片描述
在这里插入图片描述
C=2,softmax变回了logistic回归。
下面看下如何训练:
在这里插入图片描述
首先定义一个损失函数。这个损失函数使得真实分类那一项最大化,此乃最大似然估计的一种形式。
在这里插入图片描述
然后进行梯度下降算法。

10. 深度学习框架

11. TensorFlow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个windows脚本调试器程序。 绿色:只需复制文件到同一目录下就可以了。 纯净:基本不使用注册表,只是在注册文件类型图标和文件关联时才使用了注册表。 无毒:绝对没有任何恶意代码,但是由于程序会自动产生临时的批处理文件,可能会被杀毒软件误报。 注意:如果不能启动,下载vcredist_x86.exe安装VC运行库,然后再试。 已经实现的功能: 设置断点; 在断点命中时在代码编辑器指示哪个断点被命中。 在断点命中时可以观察现场状态【变量、ErrorLevel、当前目录】; 如果批处理没有调用Exit退出,那么可以观察到批处理执行完的现场状态; 调试暂停时会自动打开/切换文件并滚动代码窗口,使当前断点可见; 可以预设批处理执行前的环境变量和当前目录。 工程管理,也就是管理批处理文件、断点、观察变量、初始环境变量、初始当前目录、批处理入口文件、批处理文件命令行参数的信息。 支持用户自定义界面,使用标签多文档界面和停靠栏。 双击.bdc文件,会启动windows脚本调试器。 附带使用手册和批处理指南。 准备实现的功能: 在断点命中时修改环境变量或者当前目录; 语法分析【代码着色、语法检查的基础】; 语法检查; 代码着色; 内置命令帮助; 不打算实现的功能: 我感觉批处理编程并不能提供多少智能提示,所以就不做了。 局限性: 代码编辑器暂时不支持中文,这个是最大的限制了,我会在下个版本解决这个问题; 只可以在批处理语句之前加断点,不可以在空行、标签行和右括号)开头的行加断点,不可以在非批处理代码处加断点; 不支持单步调试; 必须在调试之前加断点,在调试之后加的断点,只能在以后的调试会话中起作用。 启动批处理脚本只能接受10个参数,这个限制好像问题不大。 目前可能还有bug。 注意: 不要调试本程序所在目录下的那三个批处理程序,否则会出现无法预料的行为。为了保险,请把他们设为只读隐藏文件。 可以把halt.exe也设为只读隐藏文件。 我会持续改进本程序。 email: cdp97531@sina.com blog: http://hi.baidu.com/chendeping/home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值