神经网络优化篇:详解局部最优的问题(The problem of local optima)
局部最优的问题
在深度学习研究早期,人们总是担心优化算法会困在极差的局部最优,不过随着深度学习理论不断发展,对局部最优的理解也发生了改变。向展示一下现在怎么看待局部最优以及深度学习中的优化问题。

这是曾经人们在想到局部最优时脑海里会出现的图,也许想优化一些参数,把它们称之为\(W_{1}\)和\(W_{2}\),平面的高度就是损失函数。在图中似乎各处都分布着局部最优。梯度下降法或者某个算法可能困在一个局部最优中,而不会抵达全局最优。如果要作图计算一个数字,比如说这两个维度,就容易出现有多个不同局部最优的图,而这些低维的图曾经影响了的理解,但是这些理解并不正确。事实上,如果要创建一个神经网络,通常梯度为零的点并不是这个图中的局部最优点,实际上成本函数的零梯度点,通常是鞍点。

也就是在这个点,这里是\(W_{1}\)和\(W_{2}\),高度即成本函数\(J\)的值。

但是一个具有高维度空间的函数,如果梯度为0,那么在每个方向,它可能是凸函数,也可能是凹函数。如果在2万维空间中,那么想要得到局部最优,所有的2万个方向都需要是这样,但发生的机率也许很小,也许是\(2^{-20000}\),更有可能遇到有些方向的曲线会这样向上弯曲,另一些方向曲线向下弯,而不是所有的都向上弯曲,因此在高维度空间,更可能碰到鞍点。

就像下面的这种:

而不会碰到局部最优。至于为什么会把一个曲面叫做鞍点,想象一下,就像是放在马背上的马鞍一样,如果这是马,这是马的头,这就是马的眼睛,画得不好请多包涵,然后就是骑马的人,要坐在马鞍上,因此这里的这个点,导数为0的点,这个点叫做鞍点。想那确实是坐在马鞍上的那个点,而这里导数为0。

所以从深度学习历史中学到的一课就是,对低维度空间的大部分直觉,比如可以画出上面的图,并不能应用到高维度空间中。适用于其它算法,因为如果有2万个参数,那么\(J\)函数有2万个维度向量,更可能遇到鞍点,而不是局部最优点。
如果局部最优不是问题,那么问题是什么?结果是平稳段会减缓学习,平稳段是一块区域,其中导数长时间接近于0,如果在此处,梯度会从曲面从从上向下下降,因为梯度等于或接近0,曲面很平坦,得花上很长时间慢慢抵达平稳段的这个点,因为左边或右边的随机扰动。

可以沿着这段长坡走,直到这里,然后走出平稳段。

所以此篇博客的要点是,首先,不太可能困在极差的局部最优中,条件是在训练较大的神经网络,存在大量参数,并且成本函数\(J\)被定义在较高的维度空间。
第二点,平稳段是一个问题,这样使得学习十分缓慢,这也是像Momentum或是RMSprop,Adam这样的算法,能够加速学习算法的地方。在这些情况下,更成熟的优化算法,如Adam算法,能够加快速度,让尽早往下走出平稳段。
因为的网络要解决优化问题,说实话,要面临如此之高的维度空间,觉得没有人有那么好的直觉,知道这些空间长什么样,而且对它们的理解还在不断发展,不过希望这一点能够让更好地理解优化算法所面临的问题。
神经网络优化篇:详解局部最优的问题(The problem of local optima)的更多相关文章
- 走向DBA[MSSQL篇] 详解游标
原文:走向DBA[MSSQL篇] 详解游标 前篇回顾:上一篇虫子介绍了一些不常用的数据过滤方式,本篇详细介绍下游标. 概念 简单点说游标的作用就是存储一个结果集,并根据语法将这个结果集的数据逐条处理. ...
- JVM的垃圾回收机制详解和调优
JVM的垃圾回收机制详解和调优 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存.java语言并不要求jvm有gc,也没有规定gc如何工作.不过常用的jvm都有gc,而且大多数gc都 ...
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载 中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...
- Scala进阶之路-Scala函数篇详解
Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...
- 【Kafka】Kafka-配置参数详解-参数调优
Kafka-配置参数详解-参数调优 kafka 目录_百度搜索 为什么kafka使用磁盘而不是内存 - CSDN博客 Kafka 配置说明 - 風吹云动 - 博客园 kafka生产服务器配置 - Or ...
- CentOS 7 下编译安装lnmp之PHP篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.PHP下载 官网 http ...
- CentOS 7 下编译安装lnmp之MySQL篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.MySQL下载 MySQL ...
- CentOS 7 下编译安装lnmp之nginx篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:CentOS Linux release 7.5.1804 (Core),ip地址 192.168.1.168 ...
- Canal:同步mysql增量数据工具,一篇详解核心知识点
老刘是一名即将找工作的研二学生,写博客一方面是总结大数据开发的知识点,一方面是希望能够帮助伙伴让自学从此不求人.由于老刘是自学大数据开发,博客中肯定会存在一些不足,还希望大家能够批评指正,让我们一起进 ...
- java提高篇-----详解java的四舍五入与保留位
转载:http://blog.csdn.net/chenssy/article/details/12719811 四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么 ...
随机推荐
- emoji表情符号备忘单
记录目的:写文章的时候想用一些小表情或图片,但是上传图片太麻烦还不兼容 emoji表情符号就是很好的选择 国际通用,开箱即用(复制粘贴),兼容性强(理论上能放文本就能放emoji) 博客文档,git文 ...
- PBKDF2(Password-Based Key Derivation Function 2)算法
一.引言 在当今数字时代,保护用户数据和隐私的安全变得越来越重要.为实现这一目标,加密和密钥管理技术发挥着关键作用.PBKDF2(Password-Based Key Derivation Funct ...
- 【源码系列#05】Vue3响应式原理(Ref)
Ref & ShallowRef ref:接受一个参数值并返回一个响应式且可改变的 ref 对象.ref 对象拥有一个指向内部值的单一属性 .value 可以将 ref 看成 reactive ...
- 听说生鲜领军企业k8s集群都上云了,鱼会飞了?
在这个中秋都和国庆在一起的双节里,我们的小明还在辛辛苦苦的找工作,听说他经历了一段"难忘"的面试. 小明面对着面试官的"层层拷问",游刃有余的化解了这些难题. ...
- 如何找到 niche 出海细分市场的 IDEA
先说结论就是:看榜单 Why:为什么看榜单? 大家会问为什么?原因很简单: 熟读唐诗三百首,不会作诗也会吟 不天天看榜单上相关的优秀同行,你想干啥 心法就是下苦功夫坚持,量变引起质变,排行榜天天看 竞 ...
- P1967 [NOIP2013 提高组] 货车运输 做题记录
套路题了. 根据和角公式 \(\mathrm{\sin (\alpha + \beta) = \sin \alpha \cos \beta + \cos \alpha \cos \beta, \cos ...
- Mybatis源码5 StatementHandler ,ParameterHandler
Mybatis5 StatementHandler ,ParameterHandler 一丶概述 前面我们总结了SqlSession--->CachingExecutor--->BaseE ...
- 文心一言 VS 讯飞星火 VS chatgpt (44)-- 算法导论6.1 1题
一.在高度为h的堆中,元素个数最多和最少分别是多少? 文心一言: 在高度为 h 的二叉搜索树(BST)中,元素个数最多和最少的情况分别如下: 1.最多情况:当每个节点都包含两个子节点时,BST 中的元 ...
- NanoDet:这是个小于4M超轻量目标检测模型
摘要:NanoDet 是一个速度超快和轻量级的移动端 Anchor-free 目标检测模型. 前言 YOLO.SSD.Fast R-CNN等模型在目标检测方面速度较快和精度较高,但是这些模型比较大,不 ...
- Markdown 图片居中显示,增加图片说明
<center> <img src="https://img2023.cnblogs.com/blog/80824/202308/80824-202308081307138 ...