Box-constrained L-BFGS 相关知识拓展

Box-constrained L-BFGS 相关知识拓展

  • box-constrained optimization problem
  • hard problem
  • L-BFGS
    • 矩阵相关
  • autoencoder
    • 变分自动编码器(Variational Autoencoder)
  • lipschitz常数,lipschitz条件
    • Jacobian矩阵,Hessian矩阵
    • Parseval’s formula

box-constrained optimization problem

Box-constrained L-BFGS 相关知识拓展_第1张图片

hard problem

参考:https://hujichn.github.io/2016/07/14/什么是P、NP、NPC、NP-Hard问题/
https://www.jianshu.com/p/a350e563d9a9

P Problem: 对于任意的输入规模n,问题都可以在n的多项式时间内得到解决;
NP(Non-deterministic Polynomial) Problem: 可以在多项式的时间里验证一个解的问题;
NPC(Non-deterministic Polynomial Complete) Problem: 满足两个条件 (1)是一个NP问题 (2)所有的NP问题都可以约化到它
NP-Hard Problem: 满足NPC问题的第二条,但不一定要满足第一条
Box-constrained L-BFGS 相关知识拓展_第2张图片

  • 判断一个NP问题是不是NP-Complete的两个方法:
    1、先证明至少是NP问题,然后找到一个NPC问题,经过证明可以约化到你的问题,这意味着你的方法可以解决这个NPC问题,那很显然,这个解决方法也是NPC的。
    2、所有的NP问题都可以reduced到你的问题
  • NPC问题目前没有多项式的有效算法,只能用指数级甚至阶乘级复杂度的搜索,而NP是可以在多项式的时间里验证一个解的问题,是有可能有多项式的有效算法。
  • 原文中的框约束优化问题,因为直接通过公式f(x+r)=l去约束优化的话,有些困难,是个NP hard,所以采用了box-constrained L-BFGS来近似。

L-BFGS

在无约束优化问题中,牛顿法及拟牛顿法是常用的方法,L-BFGS属于拟牛顿法。
参考博客:https://blog.csdn.net/dadouyawp/article/details/44179599#commentBox

  1. 牛顿法:f(x)二阶泰勒展开,并找极值点(有可能为极小值),通过迭代极小值得到最小值
    在这里插入图片描述
    优点:二次收敛性,收敛速度快
    缺点:当初始点远离极小值时,可能不收敛,因为牛顿方向不一定是下降方向
    步长固定,即使是下降方向,得到的点也未必是最小值,而是附近值
  2. 阻尼牛顿法
    Box-constrained L-BFGS 相关知识拓展_第3张图片
    在牛顿方向上寻求最优步长,并调整
  3. 拟牛顿法
    原因:二阶Hession矩阵未必可逆,所以需要找能满足相同条件的Hk+1来替代,也成为拟牛顿条件。
    Box-constrained L-BFGS 相关知识拓展_第4张图片
    常用的获取Hk+1(一般都为正定矩阵)的方法:
    在这里插入图片描述
  4. DFP算法
    找寻校正矩阵的构造方法,寻求特殊解
    在这里插入图片描述
  5. BFGS算法
    拟牛顿条件更改为:
    在这里插入图片描述
    该条件的特殊解方法同上,然后再求逆,得到Hk+1
    在这里插入图片描述
  6. L-BFGS算法
    原因:每次迭代都要存储Hk+1,n×n的空间,对大规模优化问题不够友好,所以改为存储近m次的q和p,这样空间就缩小为m×n大小。求下降方向时可采用two-loop recursion方法来计算
    Box-constrained L-BFGS 相关知识拓展_第5张图片Box-constrained L-BFGS 相关知识拓展_第6张图片

矩阵相关

  1. 正定矩阵
    在这里插入图片描述
  2. 对称正定矩阵
    在这里插入图片描述
  3. 可逆矩阵
    在这里插入图片描述
  4. 奇异矩阵
    奇异矩阵是线性代数的概念,就是该矩阵的秩不是满秩。但首先要看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。

autoencoder

自动编码器由编码器和解码器组成,两者均可以为认为模型,先通过编码器降维到code中(类似于PCA的降维作用),然后通过另外一个神经网络去解码得到一个与输入原数据一模一样的生成数据,然后通过去比较这两个数据,最小化他们之间的差异来训练这个网络中编码器和解码器的参数。
优点:当原始数据包含大量信息时,先把信息量压缩,得到最具有代表性的数据,然后再进行学习。目前主要应用有两个方面,第一是数据去噪,第二是进行可视化降维。还可以用来生成数据。
Box-constrained L-BFGS 相关知识拓展_第7张图片

变分自动编码器(Variational Autoencoder)

参考:https://www.jianshu.com/p/78f91e8aafed

  • 与自动编码器的区别:给隐含向量code增加约束,使其粗略的遵循一个标准正态分布,这样,当我们需要生成图片时,只需要把标准正态分布作为输入送到解码器中即可。
  • 此时训练的loss包含两部分:生成图片与原图片的均方误差;KL divergence来衡量隐含向量分布与标准正态分布之间的相似程度。
    Box-constrained L-BFGS 相关知识拓展_第8张图片

lipschitz常数,lipschitz条件

对于函数 y=f(x)在定义域为D上,如果存在 L ∈R ,且L>0,对任意 x1,x2 ∈D,有:|f(x1)-f(x2)|≤ L|x1-x2|
则称 L 为 f(x) 在D上的Lipschitz常数
Lipschitz条件,即利普希茨连续条件(Lipschitz continuity)。其定义为:对于函数f(x),若其任意定义域中的x1,x2,都存在L>0,使得|f(x1)-f(x2)|≤L|x1-x2|。
也即存在一个实数L,使得对于函数f(x)上的每对点,连接它们的线的斜率的绝对值不大于这个实数L,从而限制了函数改变的速度,保证函数分布的光滑性。最小的L称为该函数的Lipschitz常数。

Jacobian矩阵,Hessian矩阵

  • 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式
    Box-constrained L-BFGS 相关知识拓展_第9张图片
  • 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵
    Box-constrained L-BFGS 相关知识拓展_第10张图片

Parseval’s formula

揭示了信号在时域和频域上的功率相等
在这里插入图片描述

你可能感兴趣的:(深度学习论文)