当前位置: 首页 > news >正文

专业的河南网站建设价格低桂林市区旅游攻略必去景点

专业的河南网站建设价格低,桂林市区旅游攻略必去景点,东莞市建设局网app,自己做一个商城网站怎么做前言 当我们要训练一个已经写好的神经网络时#xff0c;我们就要直面诸多的超参数了。这些超参数一旦选不好#xff0c;那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前#xff0c;是很有必要深刻的理解一下各个超参数的意义及其对model的… 前言 当我们要训练一个已经写好的神经网络时我们就要直面诸多的超参数了。这些超参数一旦选不好那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前是很有必要深刻的理解一下各个超参数的意义及其对model的影响的。 回顾 简单回顾一下神经网络的一次迭代过程 即首先选择n个样本组成一个batch然后将batch丢进神经网络得到输出结果。再将输出结果与样本label丢给loss函数算出本轮的loss而后就可以愉快的跑BP算法了从后往前逐层计算参数之于loss的导数。最后将每个参数的导数配合步长参数来进行参数更新。这就是训练过程的一次迭代。 Batch Size 由此最直观的超参数就是batch的大小——我们可以一次性将整个数据集喂给神经网络让神经网络利用全部样本来计算迭代时的梯度即传统的梯度下降法也可以一次只喂一个样本即随机梯度下降法也称在线梯度下降法也可以取个折中的方案即每次喂一部分样本让其完成本轮迭代即batch梯度下降法。 数学基础不太好的初学者可能在这里犯迷糊——一次性喂500个样本并迭代一次跟一次喂1个样本迭代500次相比有区别吗 其实这两个做法就相当于 第一种total 旧参下计算更新值1旧参下计算更新值2...旧参下计算更新值500 ;新参数 旧参数 total 第二种新参数1 旧参数 旧参数下计算更新值1新参数2 新参数1 新参数1下计算更新值1新参数3 新参数2 新参数2下计算更新值1...新参数500 新参数500 新参数500下计算更新值1 也就是说第一种是将参数一次性更新500个样本的量第二种是迭代的更新500次参数。当然是不一样的啦。 那么问题来了哪个更好呢 Which one 我们首先分析最简单的影响哪种做法收敛更快呢 我们假设每个样本相对于大自然真实分布的标准差为σ那么根据概率统计的知识很容易推出n个样本的标准差为 有疑问的同学快翻开概率统计的课本看一下推导过程。从这里可以看出我们使用样本来估计梯度的时候1个样本带来σ的标准差但是使用n个样本区估计梯度并不能让标准差线性降低也就是并不能让误差降低为原来的1/n即无法达到σ/n而n个样本的计算量却是线性的每个样本都要平等的跑一遍前向算法。 由此看出显然在同等的计算量之下一定的时间内使用整个样本集的收敛速度要远慢于使用少量样本的情况。换句话说要想收敛到同一个最优点使用整个样本集时虽然迭代次数少但是每次迭代的时间长耗费的总时间是大于使用少量样本多次迭代的情况的。 那么是不是样本越少收敛越快呢 理论上确实是这样的使用单个单核cpu的情况下也确实是这样的。但是我们要与工程实际相结合呀~实际上工程上在使用GPU训练时跑一个样本花的时间与跑几十个样本甚至几百个样本的时间是一样的当然得益于GPU里面超多的核超强的并行计算能力啦。因此在工程实际中从收敛速度的角度来说小批量的样本集是最优的也就是我们所说的mini-batch。这时的batch size往往从几十到几百不等但一般不会超过几千你有土豪显卡的话当我没说。 那么如果我真有一个怪兽级显卡使得一次计算10000个样本跟计算1个样本的时间相同的话是不是设置10000就一定是最好的呢虽然从收敛速度上来说是的但是 我们知道神经网络是个复杂的model它的损失函数也不是省油的灯在实际问题中神经网络的loss曲面以model参数为自变量以loss值为因变量画出来的曲面往往是非凸的这意味着很可能有多个局部最优点而且很可能有鞍点 插播一下鞍点就是loss曲面中像马鞍一样形状的地方的中心点如下图 图片来自《Deep Learning》 想象一下在鞍点处横着看的话鞍点就是个极小值点但是竖着看的话鞍点就是极大值点线性代数和最优化算法过关的同学应该能反应过来鞍点处的Hessian矩阵的特征值有正有负。不理解也没关系小夕过几天就开始写最优化的文章啦~因此鞍点容易给优化算法一个“我已经收敛了”的假象殊不知其旁边有一个可以跳下去的万丈深渊。。。可怕 回到主线上来小夕在《机器学习入门指导4》中提到过传统的最优化算法是无法自动的避开局部最优点的对于鞍点也是理论上很头疼的东西。但是实际上工程中却不怎么容易陷入很差劲的局部最优点或者鞍点这是为什么呢 暂且不说一些很高深的理论如“神经网络的loss曲面中的局部最优点与全局最优点差不太多”我们就从最简单的角度想~ 想一想样本量少的时候会带来很大的方差而这个大方差恰好会导致我们在梯度下降到很差的局部最优点只是微微凸下去的最优点和鞍点的时候不稳定一不小心就因为一个大噪声的到来导致炸出了局部最优点或者炸下了马此处请保持纯洁的心态从而有机会去寻找更优的最优点。 因此与之相反的当样本量很多时方差很小咦最开始的时候好像在说标准差来着反正方差与标准差就差个根号没影响的哈~对梯度的估计要准确和稳定的多因此反而在差劲的局部最优点和鞍点时反而容易自信的呆着不走了从而导致神经网络收敛到很差的点上跟出了bug一样的差劲。 小总结一下batch的size设置的不能太大也不能太小因此实际工程中最常用的就是mini-batch一般size设置为几十或者几百。但是 好像这篇文章的转折有点多了诶。。。 细心的读者可能注意到了这之前我们的讨论是基于梯度下降的而且默认是一阶的即没有利用二阶导数信息仅仅使用一阶导数去优化。因此对于SGD随机梯度下降及其改良的一阶优化算法如Adagrad、Adam等是没问题的但是对于强大的二阶优化算法如共轭梯度法、L-BFGS来说如果估计不好一阶导数那么对二阶导数的估计会有更大的误差这对于这些算法来说是致命的。 因此对于二阶优化算法减小batch换来的收敛速度提升远不如引入大量噪声导致的性能下降因此在使用二阶优化算法时往往要采用大batch哦。此时往往batch设置成几千甚至一两万才能发挥出最佳性能。 另外听说GPU对2的幂次的batch可以发挥更佳的性能因此设置成16、32、64、128...时往往要比设置为整10、整100的倍数时表现更优不过我没有验证过有兴趣的同学可以试验一下~ 参考文献《Deep Learning》 本文转载自微信订阅号【夕小瑶的卖萌屋】听说每个想学机器学习的人到这里都停不下来了~
http://www.pierceye.com/news/584345/

相关文章:

  • php 手机网站开发手机端网站开发框架
  • 苏州电信网站备案浙江搜索引擎优化
  • 黄岛网站建设哪家好市体育局网站 两学一做
  • 上海建设银行网站转账记录吗外国网站做问卷调查挣钱
  • 深圳做购物网站十堰网络销售
  • 郑州企业网站优化多少钱百度竞价排名价格
  • js特效做的好的网站什么专业是做网站
  • 淄川响应式网站建设网站在国内服务器在国外
  • 施工企业市场经营工作思路及措施个人如何优化网站有哪些方法
  • 怎么做一个盈利网站义乌创博网络科技有限公司
  • 学校网站建设代码不重名的建筑公司名字
  • 网站开发模块的需求海外销售平台有哪些
  • 前端和后端的区别工资郑州网站优化怎样做
  • 小程序模板平台有哪些网站优化包括哪些内容
  • 免费建网站的好的移动端网站模板下载
  • 青岛网站优化排名视频源网站怎么做
  • 做网站找我二级学院网站建设方案
  • 知名网站建设公司 北京近期网络营销的热点事件
  • 网站开发产品经理网站例子
  • 动态静态结合网站网站做404是什么意思
  • 注册域名的网站网站建设的具体步骤
  • 行业网站分类自建站排名
  • 网站备案 登陆安徽省住房和城乡建设厅网站领域
  • 做个网站需要多少钱.网站建设合同注意事项
  • 中国诚信建设网站在线代码生成器
  • 长沙企业网站建设团队目前网络最好的挣钱平台
  • 国家建设工程安全质量监督网站友情链接网
  • 适合html初学者做的网站中卫网站推广软件
  • 一个vps主机放两个网站 速度怎么做发卡网站
  • 海米云网站建设网站开发 去哪里找页面