【神经网络优化的挑战】

一、病态:

  虽然学习率很小,而且梯度大,但是由于Hessian阵的病态,二次项比一次项还要大,梯度下降事实上并不一定能下降,反而有可能上升。因此需要将学习率调低。

  表现:梯度很强,但是学习很缓慢,因为曲率太强

 

二、局部最小值:

  由于权重空间对称性,神经网络有很多局部极小值。

  是否存在大量代价高的局部极小值,优化算法是否会碰到,都尚未解决。

  梯度范数是否能收缩到一个微小的值。

三、鞍点:

  鞍点是更加现实的问题!局部最小值是全正,鞍点是有正有负。

  牛顿法会陷入鞍点,二阶算法通常难以扩大到大型神经网络。

四、悬崖和梯度爆炸:

  常见于循环神经网络,

  斜率较大区域,由于几个较大的权重相乘。使得导数巨大,梯度下降会使参数弹射的非常远,之前的优化就成为无用功。

 

五、梯度爆炸和梯度消失:

  常见于循环神经网络或者很深的神经网络。

  如果一个矩阵经过多次相乘运算,而其特征值 > 1。最终特征值会趋于无穷,表现出悬崖的特征,即梯度爆炸。如果特征值小于1,会趋于0,显示为梯度消失,不知道向哪个方向移动。

  比较好的方式是记录每个梯度值!

六、非精确梯度

  梯度估计是一个常见的问题,需要基于采样来估计,采样通常有噪声。

 

七、局部与全局弱对应

  没有全局的优化算法。

  主要是在低维度的时候会达不到局部最优。

  高维度能够达到,但是路径可能会比较长。

【基本算法】

SGD:

  lr需要逐步衰减,一般使用的是线性衰减,

动量:

  v = alpha  v  -  epsilon  梯度

  theta = theta + v

  解决问题1:Hessian矩阵的病态条件

  解决问题2:随机梯度的方差

  实践中,动量alpha的取值一般为 0.5 , 0.9 , 0.99, 应当随着时间变大。但是扩大动量alpha 没有收缩学习率 epsilon重要。

Nesterov动量

  梯度计算时使用参数为 theta + alpha v,也就是提前计算动量的梯度

  在批量梯度下降(使用所有样本更新)的表现比动量算法好,但是在随机梯度的情况下并没有改善收敛率

【参数初始化】

权重初始化

需要在不同单元之间破坏对称性、如果连接相同的输入,必须有不同的初始参数。

一般是高斯或者均匀分布,这两种似乎没有很大差别,但没有研究证实。

初始权重方差是重要的。更大的权重可以更好的破坏对称性,避免冗余单元,更好传播信息,但是容易在前向或者反向传播中产生爆炸的值。

优化希望初始权重大,更好的传播信息,正则化希望初始权重更小,

如果计算资源允许,可以将初始数据范围设置为超参数。

偏置初始化

通常可以简单设置为0,以下是例外:

1、偏置作为输出单元,

2、避免初始化引起太大饱和,例如ReLU不设置为0而是0.1

3、一个单元控制其他单元能否参与等式,

【自适应学习率算法】

Adagrad

  不同模型参数具有不同的学习率!

  缺陷:从训练开始进行累积会导致学习率过早过量减小,更多适用于凸优化!

RMSProp

  相比较Adagrad,在非凸设定下效果更好,从梯度累积转变为指数加权的移动平均。

  实现指数加权的方式是与动量相近,动量的值一般设成

  有效且使用,是经常采用的优化方法。

Adam

   一阶矩和二阶矩综合使用,对超参数的选择相当鲁棒,但是需要修改一下建议的学习率。

【二阶算法】

待续

【dlbook】优化的更多相关文章

  1. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  2. In-Memory:内存优化表的事务处理

    内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row ve ...

  3. 试试SQLSERVER2014的内存优化表

    试试SQLSERVER2014的内存优化表 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技 ...

  4. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  5. 03.SQLServer性能优化之---存储优化系列

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/60413 ...

  6. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  7. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

  8. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  9. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

随机推荐

  1. Linux学习笔记之Xshell配色方案定制

    点击 Xshell 面板顶部的如下按钮. 点击 Browse 按钮,弹出如下面板,选择 ANSI Colors on Black,然后点击右侧save as 按钮,命名为 zkl.   这里其实就是复 ...

  2. 三年半Java后端面试经历

    经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征. 鹅厂 面试职位:go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场,而以cpp为背景 ...

  3. Finder Quick Menu FAQ

    How to use Finder Quick Menur: 1. Start Finder Quick Menu.2. Open "System Preferences -> Ext ...

  4. Maven 修改默认JDK版本

    方式1.修改maven全局jdk 修改 安装目录\maven2\conf\settings.xml <profiles> <profile> <id>jdk-1.6 ...

  5. Flume在企业大数据仓库架构中位置及功能

    Flume在企业大数据仓库架构中位置及功能 hadoop 数据仓库 flume 数据仓库架构 1.如下图所示,外部数据中,关系型数据库导入到HDFS用sqoop,由Nginx产生的文件实时监控用Flu ...

  6. Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)

    需求类似这样  ↓ ↓ ↓   -->    菜单A发生变化,动态取数据填充下拉菜单B. JS代码如下: <script type="text/javascript"& ...

  7. 浅谈C#泛型的定义、继承、方法和约束

    摘要:本文介绍了如何定义一个C#泛型类,以及实现泛型类的继承.方法和约束. C#泛型参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型 ...

  8. codeforces291E Tree-String Problem

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  9. 关于ckeditor 之 上传功能

    度了很多文章,看了很多关于ckeditor配置上传功能的文章,没一个写得清楚的, 就是简单的根目录下.config.js 增加 config.filebrowserUploadUrl="/a ...

  10. vim与shell切换

    扩展一些vim的知识. vim与shell切换 :shell 可以在不关闭vi的情况下切换到shell命令行. :exit 从shell回到vim. 文件浏览 :Ex 开启目录浏览器,可以浏览当前目录 ...