Draxler F, Veschgini K, Salmhofer M, et al. Essentially No Barriers in Neural Network Energy Landscape[C]. international conference on machine learning, 2018: 1308-1317.

梗概

作者认为, 神经网络中,假设\(\theta_1, \theta_2\)都是使得损失达到最小的参数,那么通过一些手段,可以找到一个路径(path),沿着这条路径,其上的\(\theta\)也会使得损失很小,几乎与最小没什么区别.

并且作者给出了如何寻找,以及一种扩展方式.

可惜的是,这些都只是猜想,有许多事实支撑,但缺乏理论论证.

主要内容

path的定义

\[p(\theta_1, \theta_2)^*= \mathop{\mathrm{argmin}} \limits_{p \: from \: \theta_1 \: to \: \theta_2} \{\max_{\theta \in p} L(\theta)\}.
\]

可以说,这个定义非常之简单粗暴了.

需要一提的,作者是\(\theta \in p(\theta_1, \theta_2)^*\)中使得\(L(\theta)\)到达最大的点为鞍点,不过我不知道该怎么证明.

称此路径为MEP(minimum energy path).

path的逼近

上面的那个问题自然是很难求解的,所以不得不去寻找一个替代.

Mechanical Model

假设已经有一组点\(p_i\)(N+2)个, \(p_0=\theta_0, p_{N+1}=\theta_2\), 考虑下式:

\[E(p)=\sum_{i=1}^N L(p_i) + \sum_{i=0}^N \frac{1}{2}k\|p_{i+1}-p_i\|^2,
\]

其中,\(k\)是人为设定的值.

当\(k\)很小的时候,高能量(损失)的点之间的距离会拉大. 关于这个论点我有一点存疑,因为我觉得如果\(k\)真的很小很小,那么\(p_i\)应该会缩在一起吧,比如俩端. 当\(k\)过大的时候,路径会被缩短和拉紧(像弹簧),这点我是认同的,因为\(p_0, p_{N+1}\)之间的线段会最短,这个肯定是不会太好的,因为会错过"鞍点".

Nudged Elastic Band

一个改进的版本是:

\[F_i = -\nabla_{p_i} E(p)=F_i^L+F_i^S,
\]

即把\(E(p)\)分成了俩个部分, 进一步:

\[F_i^{NEB}=F_i^L|_{\perp}+F_i^S|_{\parallel}.
\]

也就是说,认为第一部分\(\sum L(p_i)\)只提供一个垂直的力,而剩下的一部分只提供一个平行的力,就像一根弹性绳一样,一方面有一个上下拉扯的力,另一方面有一个水平伸缩的力.

其中\(\hat{\tau}_i\)是路径的切线方向. 如何定义这个方向呢:



\(\mathcal{N}(x)\)将\(x\)归一化.

作者说,这么做,使得不会出现拉紧的情况了,值得商榷.

算法:



我奇怪的一点是,为什么更新\(p_i\)的时候,只受到\(F_i^L|_{\perp}\)的作用,切线方向的力呢?

还有一个AutoNEB, 这个算法就是上面的扩展,使得我们自动增加点\(p_i\).

局部最优

作者说,通过上面的算法,往往会找到局部最优的MEP,但是呢,通过某些方法,我们也能使得这些局部最优显得可靠.

假设\(A, B, C\)三个点,代表了三个最小的参数点, 而且我们有了局部最优的路径\(L_{AB}, L_{BC}\), 那么:



这个结论是显然的, 另外:



这个什么意思呢,就是\(A\rightarrow B \rightarrow C\)也是\(A \rightarrow C\)的一个路径,所以自然有上式成立.

这个有什么用呢?

假设我们有很多个最小值点\(t_1, \ldots, t_N\), 先利用算法找到\(t_1\)到\(t_2, \ldots, t_N\)的路径,这个就像一棵树(论文用树来表示,其实图更恰当吧). 可能绝大部分都是局部最优的,如何判断这些局部最优的优劣性. 首先,选出每一条路径中的最大能量点(“鞍点”)\(c_2, \ldots, c_N\), 不妨设\(t_1 \rightarrow t_k\)的路径拥有这些点中最大的,也就是最坏的一个路径. 我们可以试着从\(t_k\)往其它的寻找路径,如果能够找到一个路径(假设为\(t_j\)), \(t_k \rightarrow t_j\), 使得\(t_1 \rightarrow t_j \rightarrow t_k\)比直接\(t_1 \rightarrow t_k\)更优,那么我们就找到一个更好的路径,将其替换,以论下来,再对次劣的进行操作...

这样子,我们就能够有足够的理由相信,这些局部最优的路径是可靠的.

经过实验,作者发现,越深,越宽(每层的神经元个数)的网络,最优点之间的MEP越会展现出无障碍平坦的性质,即普遍的小损失.

如果确实如此,那么我们就容易构造一族解,这样网络就更灵活了不是?

Essentially No Barriers in Neural Network Energy Landscape的更多相关文章

  1. (转)The Neural Network Zoo

    转自:http://www.asimovinstitute.org/neural-network-zoo/ THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, ...

  2. (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION

    LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION Wed 21st Dec 2016   Neural Networks these days are th ...

  3. What is “Neural Network”

    Modern neuroscientists often discuss the brain as a type of computer. Neural networks aim to do the ...

  4. Recurrent Neural Network[survey]

    0.引言 我们发现传统的(如前向网络等)非循环的NN都是假设样本之间无依赖关系(至少时间和顺序上是无依赖关系),而许多学习任务却都涉及到处理序列数据,如image captioning,speech ...

  5. (zhuan) LSTM Neural Network for Time Series Prediction

    LSTM Neural Network for Time Series Prediction Wed 21st Dec 2016 Neural Networks these days are the ...

  6. 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)

    ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...

  7. A Deep Neural Network’s Loss Surface Contains Every Low-dimensional Pattern

    目录 概 相关工作 主要内容 引理1 定理1 定理2 A Deep Neural Network's Loss Surface Contains Every Low-dimensional Patte ...

  8. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  9. Neural Network Toolbox使用笔记1:数据拟合

    http://blog.csdn.net/ljp1919/article/details/42556261 Neural Network Toolbox为各种复杂的非线性系统的建模提供多种函数和应用程 ...

随机推荐

  1. A Child's History of England.50

    'Knave [man without honor]!' said King Richard. 'What have I done to thee [you] that thou [you] shou ...

  2. 大数据学习day11------hbase_day01----1. zk的监控机制,2动态感知服务上下线案例 3.HDFS-HA的高可用基本的工作原理 4. HDFS-HA的配置详解 5. HBASE(简介,安装,shell客户端,java客户端)

    1. ZK的监控机制 1.1 监听数据的变化  (1)监听一次 public class ChangeDataWacher { public static void main(String[] arg ...

  3. Java Swing布局管理器GridBagLayout的使用示例 [转]

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...

  4. 转 proguard 混淆工具的用法 (适用于初学者参考)

    转自:https://www.cnblogs.com/lmq3321/p/10320671.html 一. ProGuard简介 附:proGuard官网 因为Java代码是非常容易反编码的,况且An ...

  5. Nginx流量拷贝

    1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能: 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问: 这跟灰度发布还 ...

  6. vue SCSS

        C:\eclipse\wks\vue\esql-ui>node -v v12.18.1 C:\eclipse\wks\vue\esql-ui>npm -v 6.14.5 直接修改p ...

  7. Android 实现微信QQ分享以及第三方登录

    集成准备 在微信开放平台创建移动应用,输入应用的信息,包括移动应用名称,移动应用简介,移动应用图片信息,点击下一步,选择Android 应用,填写信息提交审核. 获取Appkey 集成[友盟+]SDK ...

  8. Linux基础命令----smbclient

    smbclient smbclient是一个smb服务器的客户端的管理程序,可以交互式的访问samba服务器. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.SU ...

  9. shell脚本 比较mysql配置文件

    一.简介 源码地址 日期:2019/12/19 介绍:较两个mysql实例的配置是否一致,支持比较配置文件,也支持比较系统变量的值 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无 下 ...

  10. TSN(Time-Sensitive Networking)协议导读

    前言 上一个主题我们介绍了TSN的发展历史和协议族现状,它为建立统一的确定性网络传输基础设施提供了有力保障. TSN是一套协议标准,以保证确定性信息在标准以太网的不同场景下的顺利传输.TSN协议族本身 ...