从算子角度理解优化方法
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自:深度学习这件小事
 使得非线性映射
 使得非线性映射  满足
 满足 这个怎么和优化问题联系起来呢,大概是三个角度:
 这个怎么和优化问题联系起来呢,大概是三个角度: 就是其梯度。
 就是其梯度。 ,迭代去寻找解:
 ,迭代去寻找解: 这个
 这个  要满足一些条件。
 要满足一些条件。 是算子
 是算子  的稳定点,也就是满足
 的稳定点,也就是满足 
 满足一些性质,比如nonexpansive,contractive,averaged operator等. 这些性质是分析稳定点迭代收敛性的关键。
 满足一些性质,比如nonexpansive,contractive,averaged operator等. 这些性质是分析稳定点迭代收敛性的关键。 的几种情况,然后说明其如何应用到优化问题中去。关于收敛性的东西不讲。
 的几种情况,然后说明其如何应用到优化问题中去。关于收敛性的东西不讲。

 。令
 。令  ,我们应用forward operator去求解该方程
 ,我们应用forward operator去求解该方程 这就是梯度算法。
 这就是梯度算法。 因为是约束问题,所以不能用梯度等于0去求解,一个思路就是分析其对偶问题。该问题的对偶问题为
 因为是约束问题,所以不能用梯度等于0去求解,一个思路就是分析其对偶问题。该问题的对偶问题为 令
 令  ,这等价于求解
 ,这等价于求解  。那么forward operator 就是
 。那么forward operator 就是 关键在于次梯度怎么求,在我之前文章(邓康康:原始对偶角度下的几类优化方法)中有提到过:
 关键在于次梯度怎么求,在我之前文章(邓康康:原始对偶角度下的几类优化方法)中有提到过:
 为拉格朗日函数。所以迭代(7)等价于
 为拉格朗日函数。所以迭代(7)等价于

 整合一下得到:
 整合一下得到:  ,而这就等价于找到一个
 ,而这就等价于找到一个  满足
 满足 这就是proximal point iteration。接下来我们将该算子应用到上面讲到的A的三种情况。
 这就是proximal point iteration。接下来我们将该算子应用到上面讲到的A的三种情况。 这等价于
 这等价于 整合一下我们知道
 整合一下我们知道 这就是临近点算法。
 这就是临近点算法。 
  ,令
 ,令  。那么backward operator 就是
 。那么backward operator 就是 这等价于一下迭代过程:
 这等价于一下迭代过程:
 ,这个推导过程见(邓康康:原始对偶角度下的几类优化方法),这就是增广拉格朗日方法。
 ,这个推导过程见(邓康康:原始对偶角度下的几类优化方法),这就是增广拉格朗日方法。
 ,那么backward operator的稳定点迭代为:
 ,那么backward operator的稳定点迭代为:
 使得满足
 使得满足


 代到(14)得到:
 代到(14)得到:


 。接下来考虑两个的情况,也就是:
 。接下来考虑两个的情况,也就是: 我们用到的算子叫做分裂算子。
 我们用到的算子叫做分裂算子。 考虑可分得优化问题:
 考虑可分得优化问题: 其中
 其中  是一个光滑函数。这个问题等价于找到
 是一个光滑函数。这个问题等价于找到  满足
 满足 我们令
 我们令  ,这样就可以运用Forward backward算子:
 ,这样就可以运用Forward backward算子: 有了前面两节的讨论,我们知道:
 有了前面两节的讨论,我们知道: 是一个梯度迭代,
 是一个梯度迭代, 是一个临近点迭代。
 是一个临近点迭代。 这就是临近梯度算法。
 这就是临近梯度算法。 和
 和  分别表示基于A,B的backwood operator。那么Douglas-Rachford splitting可以表示为:
 分别表示基于A,B的backwood operator。那么Douglas-Rachford splitting可以表示为:
 他的对偶问题是:
 他的对偶问题是: 其中
 其中 我们令
 我们令  ,这样就可以应用Douglas-Rachford splitting:
 ,这样就可以应用Douglas-Rachford splitting: 拆分一下:
 拆分一下:

 再引入
 再引入 
 根据前面backward operator的推导,我们知道临近点迭代等价于增广拉格朗日方法,所以第一行就等价于:
 根据前面backward operator的推导,我们知道临近点迭代等价于增广拉格朗日方法,所以第一行就等价于:
 代入第二行得到:
 代入第二行得到:  类似的第二行就等价于:
 类似的第二行就等价于: 最后再看下第三行:
 最后再看下第三行:
 更新中:
 更新中:
 的更新放在一起:
 的更新放在一起:


 ,这等价于
 ,这等价于  ,然后令右边的为
 ,然后令右边的为  ,左边为新的迭代点
 ,左边为新的迭代点  ,这样就得到了forward算子。其他的类似,都是这种思想去得到的,但也不能乱来。。你要满足一些性质,不然收敛不了的。
 ,这样就得到了forward算子。其他的类似,都是这种思想去得到的,但也不能乱来。。你要满足一些性质,不然收敛不了的。 ,进而我们又可以去设计一个算子
 ,进而我们又可以去设计一个算子  ,并且最优解满足
 ,并且最优解满足  。那么我可以直接应用牛顿法去求解这两类非线性方程组。
 。那么我可以直接应用牛顿法去求解这两类非线性方程组。交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论

