zoukankan      html  css  js  c++  java
  • 《信息几何优化,随机优化, 与进化策略》

     

    信息几何优化,随机优化, 与进化策略

    本文介绍信息几何优化(Information geometric optimization, IGO), 随机优化,和进化策略(Evolution Strategies),是这个回答知乎用户:信息几何学国外有什么厉害的组在研究呢?的补充和完善,并增加了随机优化以外的一些内容。

     

    信息几何把某一类概率分布的整体看成一个流形(称为统计流形),概率分布之间的Fisher information matrix可以用作流形上黎曼度量。Fisher 信息矩阵是分布之间KL 散度的二阶近似。流形上最速下降方向是由黎曼梯度/自然梯度给出(可以简单理解成用一个正定矩阵乘以普通梯度进行旋转和放缩)。

    黎曼几何与流形学习:

    https://zhuanlan.zhihu.com/p/81945115

     

    在获取全局的几何特征时,传统的数据分析一般会导致失败。其原因在于又是空间本质上是全局线型的,而数据本身往往呈现出强非线性特征。这是可以借助流形,在欧氏空间中嵌入非欧式低维流形。从几何的角度来看,流形本质上反映了全局与局部属性的区别和联系。

    定义一个空间以及在该空间中的度量,使得在无穷小的范围内与欧式空间相同,即在每一个无限小的区域内,欧式空间的几何关系成立。这空间就可以被看作黎曼空间,空间中的几何叫做黎曼几何。因此,可以说黎曼空间是在无限小范围内的欧式空间

     
    1. 信息几何优化

    IGO 的基本思想是首先将一个优化函数转换成一个分布上的期望分布的参数构成一个流形在这个流形上对分布参数做自然梯度下降用随机采样来近似自然梯度,达到无梯度优化的目的(不使用目标函数本身的梯度)。

     

    具体来说,对于优化目标函数 [公式] ,考虑函数在概率分布 [公式] 上的期望

    [公式]

    这样原来的目标函数就转化成了流形 [公式] 上的目标函数。流形上的最速下降方向是由自然梯度给出

    [公式]

    其中 [公式] 是 Fisher 信息矩阵。使用 trace-trick,上式可以写成

    [公式]

    等式右边涉及两个因子需要确定,即信息矩阵 [公式] 和积分项 [公式] 。由于x本身是通过在 [公式] 上采样得到的,这两项都可以通过样本估计得到。这样就得到一个对 [公式] 的迭代优化算法。

       

    矩阵求导术(标量)

    前言

    刚刚接触机器学习,对于里边矩阵各种求导看得头都大了,看了网上的一些方法,感觉繁琐,不成系统,直到看了大神 

     的矩阵求导术(上)对此有了个比较系统的了解。我在这里只记录一下公式,主要是方便自己以后查阅。

    矩阵微分运算法则

    加减法: [公式]

    乘法: [公式]

    转置: [公式]

    迹: [公式]

    逆: [公式]

    行列式: [公式]

    逐元素乘法: [公式]

    逐元素函数: [公式] , [公式] 是逐元素运算的标量函数

    迹技巧(trace trick)

    标量套迹: [公式]

    转置: [公式]

    加减法: [公式]

    矩阵乘法交换: [公式] ,这里X的转置要和Y的尺寸相同

    矩阵乘法/逐元素乘法交换: [公式]

    用法

    由矩阵微分法则和迹技巧变换形式,得到形如 [公式] 的形式,一一对应,找到 [公式] 就可以了。

    编辑于 2018-04-08
     

    在一些比较特殊的分布上,这两项都能很好表示出来。比如在正态分布上,如果以均值 [公式] 和协方差矩阵 [公式] 为参数(这里有一个从函数值到权值的变化,后面单独写一下解释),有

    [公式]

    [公式]

    CMA-ES算法流程
    对多元高斯分布进行采样得到新解,使用其中较好的解更新高斯分布的参数,最大熵原理(均值和方差已知时,高斯分布具有的信息熵最大,正因为如此高斯分布在自然界中才会这么普遍)。

    这实际是CMA-ES 中的rank- [公式] 更新使用正态分布的IGO实际上就是进化策略(Evolution Strategies, ES)。 这个方法能统一很多算法,如CMA-ES [公式] , EDA [公式] ,CEM等。如果使用不同的概率分布,或者使用不同的参数表示,从上面能得到一批新的算法 —— 这些通常被归类为进化算法,不过实际上可以完全脱离进化那一套语言,仅仅使用自然梯度-随机近似就能得到

       

    CMA-ES是Covariance Matrix Adaptation Evolutionary Strategies的缩写,中文名称是协方差矩阵自适应进化策略,主要用于解决连续优化问题,尤其在病态条件下的连续优化问题。进化策略算法主要作为求解参数优化问题的方法,模仿生物进化原理,假设不论基因发生何种变化,产生的结果(性状)总遵循这零均值,某一方差的高斯分布。注意这里进化策略和遗传算法不同,但是都是进化算法(EAs)的重要变种。

    三、主要特点

    1. 使用多变量的正态分布产生新的搜索点

    -遵循最大熵原理 
    x⃗ im⃗ +σN(0,C) for i = 1, 2, …, λ

    2. 基于排序的选择过程

    -暗含了不变性, 对于g(f(x))来说具有相同的性能,g是增函数

    3. 步长控制使得快速收敛更加便捷

    -基于进化路径

    4. 协方差矩阵自适应算法增加了成功步长的似然性,可以根据问题规模的数量级改善性能。

    -CH1 
    - 
    -f(x)=g(xTHx)g(xTx)

     
    标签: CMA-ES算法
     

    CMA-ES优秀的讲解 https://zhuanlan.zhihu.com/p/31193293

    CMA-ES是分布式估算法的一种,是演化算法和概率统计的结合,建议大家看下这篇论文,介绍的很详细http://xueshu.baidu.com/usercenter/paper/show?paperid=4002fe86338cad01b59d1cf2f5040269

    另外论文也是很优秀的The CMA Evolution Strategy: A Tutorial写的很详细建议大家看下
    ————————————————

     
       
       

     

    2. 一些相关工作总结

    这方面的主要结果有:

    1. Natural Evolution Strategies
    2. Information-Geometric Optimization Algorithms: A Unifying Picture via Invariance Principles
    3. Theoretical Foundation for CMA-ES from Information Geometry Perspective
    4. Convergence Analysis of Evolutionary Algorithms That Are Based on the Paradigm of Information Geometry
    5. Information Geometry of Gaussian Distributions in View of Stochastic Optimization.

     

    第一篇的是Deep Mind 做的,使用自然梯度推导自然进化策略(natural evolution strategies, NES)。最初的工作发在2008 CEC,2009 ICML,和2010 GECCO上。第二作者Tom SchaulJ¨urgen Schmidhuber的学生。顺便说一下,他的博士论文里面有单独一章是用CMA-ES做一个小规模(7x7和9x9)的围棋应用,那是在2011年,而他的名字出现在AlphaGo那篇论文的致谢部分(2016年)。所以我怀疑AlphaGo里面可能是用了相关的方法的。

    第二和第三篇主要是法国Inria的Tao组N. Hansen, A. Auger 和日本的Akimoto做的,相比前面的NES,IGO考虑了更多的不变性。这篇论文分析了离散的迭代对连续的IGO-flow微分方程的偏离,并从不同的步长设置统一了CMA-ES,EMNA。第一作者Yann Ollivier做过不少自然梯度优化神经网络方面的工作。

    第四篇是在前面基础上分析算法的收敛速率的(实际分析的是流形上的自然梯度流的微分方程),指出这类算法能线性收敛(这篇文章里的推导有点错误,不过最后结论还是能成立)。这里最主要的结论是上面的 [公式] , 其中 H是Hessian矩阵,即协方差矩阵收敛到Hessian的逆,并且收敛速率是(指数)线性的。值得注意的是,这里的收敛速率是 [公式] ,但是一般算法中我们都只观察到 [公式] ,这里有巨大的gap需要解释。

    第五篇是Luigi Malagò关于正态分布流形上的在不同参数下一些信息几何计算(Amari那本书上只计算了单变量的情形)。他在信息几何和使用自然梯度的随机优化方面发过很多论文(很多集中在离散分布上),把这个方法称为 stochastic relaxation随机松弛...

     

    3. 矩阵流形上的优化

     

    与此关联的还有一些不能完全归结到信息几何,但是又非常相关的,就是矩阵流形上的优化矩阵可以和分布对应起来矩阵优化问题通常来自等式约束,例如将某个矩阵约束为正交矩阵,这实际上是将搜索空间限制在SO(n)上。列举两个最相关的

    1. Optimization Algorithms on Matrix Manifolds
    2. Extended Hamiltonian Learning on Riemannian Manifolds: Theoretical Aspects

    第二篇实际上是两篇文章的理论部分,后面还有一个数值部分。作者 Simone Fiori是意大利人,这个工作是把 共轭梯度--动量项--二阶微分方程做到了流形上,我非常喜欢这篇文章的做法。不多要把它做到统计流形上进而设计高效的算法似乎不容易。一个相关工作见Black-box optimization using geodesics in statistical manifolds

     

    4. 一点儿个人看法:

    1. 这些里面虽然提到信息几何,但实际上仅仅止步于自然梯度这一层,并没有更深层次的使用信息几何的概念(如alpha-联络和曲率等)。大部分打着信息几何的旗号的,都仅仅用到自然梯度这个层面,而几何里面核心的概念如联络,曲率似乎都很少能用到具体的应用问题上。把问题抽象出来后,推导到了曲率,却很难再回到原问题给这些概念一个直观解释。
    2. ES本身是比较成熟的领域了,基本上可以算是进化计算(重复强调一遍,ES可以脱离进化那一套语言)里最为数学化,算法成熟度最高,算法分析最完整,并且效果也最好的方法(之一)。用微分方程的方法来分析随机优化方法的收敛性和收敛速率是一个很好的问题。
    3. 把优化和微分方程联系起来是一种常见的做法,但推广到统计流形和矩阵流形上的时候会有不少困难尤其是流形本身可能还是非完备的时候。如果考虑Nesterov方法,是不是可能有更好的结果。

     

    5. 补充一点随机优化以外的方面,挂一漏万,仅供参考。

    1. 自然梯度可以看成是一种二阶方法的近似, Fisher matrix是Hessian矩阵的近似New insights and perspectives on the natural gradient method
    2. 使用信息几何的方法来推导拟牛顿法A Bregman extension of quasi-Newton updates I: an information geometrical framework 这个和P. Hennig 之前用Bayes方法得到拟牛顿法的工作直接相关,并且更加直接明了 Quasi-Newton Methods: A New Direction
    3. 关于信息几何在神经网络方面的应用和分析,推荐一下国内 罗四维老师的大规模人工神经网络理论基础 (豆瓣),时间比较早2004年。
    4. 关于信息几何的介绍信息几何理论与应用研究进展信息几何及其应用
    编辑于 2018-04-13
  • 相关阅读:
    学习进度条15
    学习进度条14
    第二冲刺阶段——个人工作总结10
    购买图书最低价格
    第二冲刺阶段——个人工作总结09
    第二冲刺阶段——个人工作总结08
    第二冲刺阶段——个人工作总结07
    第二冲刺阶段——个人工作总结06
    学习进度条13
    第二冲刺阶段——个人工作总结05
  • 原文地址:https://www.cnblogs.com/cx2016/p/12898631.html
Copyright © 2011-2022 走看看