机器学习中的数学——深度学习优化的挑战:病态
分类目录:《机器学习中的数学》总目录
相关文章:
· 病态
· 局部极小值
· 高原、鞍点和其他平坦区域
· 梯度消失和梯度爆炸
· 非精确梯度
· 局部和全局结构间的弱对应
优化通常是一个极其困难的任务。传统的机器学习会小心设计目标函数和约束,以确保优化问题是凸的,从而避免一般优化问题的复杂度。在训练神经网络时,我们肯定会遇到一般的非凸情况。即使是凸优化,也并非没有任何问题。在后续的文章中,我们会总结几个训练深度模型时会涉及的主要挑战。
在优化凸函数时,会遇到一些挑战。这其中最突出的是Hessian矩阵HHH的病态。这是数值优化、凸优化或其他形式的优化中普遍存在的问题。病态问题一般被认为存在于神经网络训练过程中。病态体现在随机梯度下降会“卡”在某些情况,此时即使很小的更新步长也会增加代价函数。
f(x)≈f(x(0))+(x−x(0))Tg+12(x−x(0))TH(x−x(0))f(x)\approx f(x^{(0)})+(x-x^{(0)})^Tg+\frac{1}{2}(x-x^{(0)})^TH(x-x^{(0)})f(x)≈f(x(0))+(x−x(0))Tg+21(x−x(0))TH(x−x(0))
在上式中,代价函数的二阶泰勒级数展开预测梯度下降中的−ϵg-\epsilon g−ϵg会增加12ϵ2gTHg−ϵgTg\frac{1}{2}\epsilon^2g^THg-\epsilon g^Tg21ϵ2gTHg−ϵgTg到代价中。当12ϵ2gTHg\frac{1}{2}\epsilon^2g^THg21ϵ2gTHg超过ϵgTg\epsilon g^TgϵgTg时,梯度的病态会成为问题。判断病态是否不利于神经网络训练任务,我们可以监测平方梯度范数gTgg^TggTg和gTHgg^THggTHg。在很多情况中,梯度范数不会在训练过程中显著缩小,但是gTHgg^THggTHg的增长会超过一个数量级。其结果是尽管梯度很强,学习会变得非常缓慢,因为学习率必须收缩以弥补更强的曲率。如下图所示,成功训练的神经网络中,梯度显著增加。
在上图中,在用于对象检测的卷积网络的整个训练期间,梯度范数持续增加。左图是各个梯度计算的范数如何随时间分布的散点图。为了方便作图,每轮仅绘制一个梯度范数。我们将所有梯度范数的移动平均绘制为实曲线。梯度范数明显随时间增加,而不是如我们所期望的那样随训练过程收敛到临界点而减小。而右图表明尽管梯度递增,训练过程却相当成功。验证集上的分类误差可以降低到较低水平。
尽管病态还存在于除了神经网络训练的其他情况中,有些适用于其他情况的解决病态的技术并不适用于神经网络。例如,牛顿法在解决带有病态条件的Hessian矩阵的凸优化问题时,是一个非常优秀的工具。
机器学习中的数学——深度学习优化的挑战:病态相关推荐
- 机器学习中的数学——深度学习优化的挑战:局部极小值
分类目录:<机器学习中的数学>总目录 相关文章: · 病态 · 局部极小值 · 高原.鞍点和其他平坦区域 · 梯度消失和梯度爆炸 · 非精确梯度 · 局部和全局结构间的弱对应 凸优化问题的 ...
- 机器学习中的数学——深度学习中的优化理论
分类目录:<机器学习中的数学>总目录 深度学习算法在许多情况下都涉及优化.例如,模型中的进行推断涉及求解优化问题.我们经常使用解析优化去证明或设计算法.在深度学习涉及的诸多优化问题中,最难 ...
- 机器学习中的数学(七)--凸优化的基础知识
写在前面 <机器学习中的数学>系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等.本系列重在描述基本概念,并不在应用的方面的做深入的探讨, ...
- 机器学习中的数学知识(part3)--凸优化
学习笔记,仅供参考,有错必究 文章目录 机器学习中的数学知识 凸优化 非凸优化 机器学习中的数学知识 凸优化 下面是实际问题中常见的凸集,记住它们对理解后面的算法非常有帮助. n n
- 机器学习中的数学——牛顿迭代法(Newton‘s Method)
分类目录:<机器学习中的数学>总目录 相关文章: · 梯度下降法(Gradient Descent) · 随机梯度下降(Stochastic Gradient Descent, SGD) ...
- 机器学习中的数学 人工智能深度学习技术丛书
作者:孙博 著 出版社:中国水利水电出版社 品牌:智博尚书 出版时间:2019-11-01 机器学习中的数学 人工智能深度学习技术丛书 ISBN:9787517077190
- 我们该如何学习机器学习中的数学
数学在机器学习中非常重要,不论是在算法上理解模型代码,还是在工程上构建系统,数学都必不可少.通常离开学校后很难有机会静下心学习数学知识,因此我们最好能通过阅读小组或读书会等形式营造环境,并专注学习那些 ...
- Pytorch框架的深度学习优化算法集(优化中的挑战)
个人简介:CSDN百万访问量博主,普普通通男大学生,深度学习算法.医学图像处理专攻,偶尔也搞全栈开发,没事就写文章,you feel me? 博客地址:lixiang.blog.csdn.net Py ...
- 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...
最新文章
- 1048 Find Coins(散列解法)
- easyui 常用按钮图标
- Linux-鸟菜-1-Linux简介
- Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17
- Linux下如何自己编译源代码(制作成可以安装的.deb文件)
- 极光推送 简书android,(Android)react-native集成极光推送
- sql 判断连续数字
- 这些人和事,埋葬了雅虎中国
- 蔡司数码视疲劳测试软件_数码视觉疲劳,你不知道的蓝光
- 苹果手机怎么打印wps文档_怎么用苹果手机打印文件?
- Log4j史诗级漏洞,从原理到实战,只用3个实例讲明白
- 【自勉-向后端架构师/音视频架构师出发】我的目标是星辰大海(4月)
- 图形驱动程序和显卡驱动什么区别_鸡血驱动已发布,可新买的显卡打不上驱动?这事儿别急...
- java 创建二维码 并加载显示到窗口
- 微服务项目:尚融宝(38)(核心业务流程:申请借款额度(1))
- 2.try(){}语法含义及用法
- ssh Key exchange was not finished sshd
- 基于S3c244的input输入子系统
- 计算机任务管理器不能打开,电脑任务管理器无法打开怎么办
- c语言程序2000行代码,C语言教务管理系统2000行代码