文献会议笔记: Replacing/Enhancing Iterative Algorithms with Neural Networks Part 1

文献会议笔记: Replacing/Enhancing Iterative Algorithms with Neural Networks Part 1: Background and Motivation


参考:David Wipf, Microsoft Research, Beijing
摘要:介绍了Learning to learn方法,以及算法的三个可能的改进空间;介绍了利用先验知识,即训练数据对Learning to learn模型的训练过程;介绍学习函数 g ( θ , ω ) 的选择问题. 这部分内容主要是介绍相关概念.

目录

  1. 迭代算法的改进,从学习(Learn)到学会学习(Learning to learn)
    1. 问题提出
    2. 基于学习的方法的改进空间
  2. 利用先验知识
    1. 无监督先验
    2. 监督先验
    3. 监督标注的来源
    4. 回顾小结
  3. 选择 g ( θ , ω ) 的结构
  4. 后续内容提要

1. 迭代算法的改进,From Learn to Learning To Learn

1.1 问题提出

对于优化问题

min x f θ ( x ) , θ Ω

其中, θ 是由类别标签决定的参数.

一个简单的例子为

f θ ( x ) = | | y Φ x | | 2 2 , θ = { y , Φ } , Ω = { y , Φ | y R n , Ω R n × m }

有很多可能的方法,比如:梯度下降、EM算法、牛顿法等,但能否利用基于学习的方法(Learning-based approach)做得更好?
显然,我们的目标变为

  • 对于所有 θ Ω ,学习一个映射或函数 g ,使得
    g ( θ ; ω ^ ) [ arg min x f θ ( x ) ] + ϵ

因此可以发现,学习(Learning)和学会学习(Learning to learn)之间有如下关系:

L e a r n i n g s l o v i n g min x f θ ( x ) L e a r n i n g t o l e a r n l e a r n i n g g ( θ ; ω )

例子:给出 θ Ω ,求 x = arg min x f θ ( x )
传统方法:梯度下降

x ( k + 1 ) = x ( k ) η f θ ( x ( k ) ) x ^ x

Learning-based algorithm:

x ^ = g ( θ ; ω ^ ) x

1.2 基于学习的方法可能的改进空间

  1. 更有效率的计算

一阶方法的收敛速度可能很慢,比如,对于非光滑的凸函数 f θ ( x ) ,收敛速度为 1 k ,很慢.

  1. 低的目标函数值

现有的算法会有糟糕的局部最优解,但通过使用某些光滑近似 h θ ( x ) 可以解决该问题.

  1. 能无缝嵌入大规模系统

x = arg min x f θ ( x ) g ( θ ; ω ^ ) ,如果我们的问题为

min w i l [ z i , w T x i ]

其中, x i = arg min x f θ i ( x ) g ( θ i ; ω ^ ) .
能很容易将其转变为优化问题

min w , ω i l [ z i , w T g ( θ i ; ω ) ]

例子:通过人脸识别来直观阐述三种不同的改进可能性

y = Φ x + ϵ = Φ x

x 可能有无穷多解,我们找出其中最稀疏的那个,因此 x 的非零元素的位置需要提供辨识.
给出未知辨识的图像 y ,优化问题为

x ^ = arg min x | | y Φ x | | 2 2 + λ 0 | | x | | 0 arg min x | | y Φ x | | 2 2 + λ 1 | | x | | 1

其中, x ^ = [ x ^ , ϵ ^ ] T ,分别为用于辨识的成分和误差.
因此可以得到

g ( θ ; ω ^ ) arg min x | | θ Φ x | | 2 2 + λ 1 | | x | | 1 , θ = y

三个改进空间为

  1. 更高的效率
    原优化问题在 Φ 很大时,计算速度慢.
  2. 更好的近似
    g ( θ ; ω ^ ) L 0 范数约束之间的误差小于 L 1 范数约束和 L 0 范数约束之间的误差.
  3. 利用分类器联合训练
    给与训练数据 { y i , z i } ,其中 z i 为辨识标签,求解
    [ ω ¯ , w ¯ ] = arg min ω , w i l [ z i , z ^ i ] , s . t . z ^ i = h ( g ( y i ; ω ^ ) ; w )
    测试:给出新的未知图像 y ,预测为 h ( g ( y ; ω ¯ ) ; w ¯ )

2. 利用先验知识

不同问题利用不同先验知识,能够提高算法性能,相应的牺牲互补问题的性能.
有多种引入先验信息的方式:

  • 无监督,能够获得候选问题的子集.

    { f θ i : θ i Ω , i = 1 , 2 , . . . , N } F

  • 监督,在子集中也包括相应的优化组.

    { f θ i , x i : θ i Ω , x i = arg min x f θ i ( x ) , i = 1 , 2 , . . . , N }

2.1 无监督

现有的先验信息

{ f θ i : θ i Ω , i = 1 , 2 , . . . , N } F

优化目标为

min ω i f θ i [ g ( θ i ; ω ) ]

简单的例子

f θ ( x ) = | | y Φ x | | 2 2

θ = { y , Φ }


g ( θ ; ω ) = ( ω Φ T y ) ω Φ T ( Φ ( ω Φ T y ) y )

得到最终的优化函数为

min ω i f θ i [ g ( θ i ; ω ) ] = min ω i = 1 N | | y i Φ i { ( ω Φ i T y i ) ω Φ i T ( Φ i ( ω Φ i T y i ) y i ) } | | 2 2

其中, g ( θ ; ω ) 的选取可以通过两步梯度下降直观理解:

x f θ i ( x ) = Φ T ( Φ x y )

x ( 0 ) = 0 ω 为步长,由梯度下降可得

x ( 1 ) = x ( 0 ) ω Φ T ( Φ x ( 0 ) y ) = ω Φ T y

x ( 2 ) = x ( 1 ) ω Φ T ( Φ x ( 1 ) y ) = ( ω Φ T y ) ω Φ T ( Φ ( ω Φ T y ) y )

x ( 2 ) 正是选取的 g ( θ ; ω ) .

2.2 监督

现有的先验信息

{ f θ i , x i : θ i Ω , x i = arg min x f θ i ( x ) , i = 1 , 2 , . . . , N }

优化目标为

min ω i d [ x i , g ( θ i ; ω ) ]

简单的例子

f θ ( x ) = | | y Φ x | | 2 2

θ = { y , Φ } , x = Φ + y


g ( θ ; ω ) = ( ω Φ T y ) ω Φ T ( Φ ( ω Φ T y ) y ) d [ u , v ] = | | u v | | 2 2

得到最终的优化函数为
min ω i d [ x i , g ( θ i ; ω ) ] = min ω i = 1 N | | Φ i + y i Φ i { ( ω Φ i T y i ) ω Φ i T ( Φ i ( ω Φ i T y i ) y i ) } | | 2 2

监督通常能够获得更好的结果,但需要正确的标注(ground truth).

2.3 监督标注的来源

得到的训练集为 { θ i , x i } i = 1 N

  • 直接利用现有方法求解

    x i = arg min x f θ i ( x ) , i = 1 , 2 , . . . , N

  • 利用易处理的 f ~ θ ( x ) f θ ( x ) ,再利用上述方法

  • 通过直接测量得到的数据求解标注

    例如,利用压缩感知从观测数据 θ 中恢复期望数据 x

    θ = Φ x

    求解 x = arg min x f θ ( x ) ,其中 f θ ( x ) 为可逆操作.

  • 开发生成模型,由于逆操作 x = arg min x f θ ( x ) 较难,而正向模型 θ = h ( x ) 简单

    例如,前向线性模型 θ = Φ x ,其中 | | x | | 0 << dim ( x ) ,即 x 很稀疏.
    它的逆问题为NP-hard问题 x = arg min x | | x | | 0 + I ( θ Φ x )
    生成策略为:
    对每一个 i ,生成稀疏的 x i ,计算 θ i = Φ x i .
    得到带标记的训练集 { θ i , x i } i = 1 N

注意:
前两种方法得到的标注,能够有机会改善速度,但无法改善准确性;后两种方法得到的标注,能够改善速度和准确性.

2.4 回顾小结

想要学习一个算法 g ( θ ; ω ) 来解决问题

x = arg min x f θ ( x )

可能得到改善的空间有三点:

  1. 计算效率
  2. 最终结果的准确性
  3. 无缝嵌入大规模系统

有多种可以训练的损失函数,先验信息:

  • 无监督学习
  • 监督学习,多种得到标注的方式

但接下去有一个核心问题: g ( θ , ω ) 的好的结构是什么?


3. 选择 g ( θ , ω ) 的结构

通过DNN可以发现,多种手工设计的特征共同促进DNN结构,并且可以得到一个统一的算法形式,线性变换和非线性激活.

x ( k + 1 ) = π ( W x ( k ) + b )

即通过该算法的多次迭代,得到DNN的网络结构.
那么能否用类似的方式,得到一个可训练的算法,或者是学会学习的算法呢??

首先要明确,有两种主要方式可供选择:

  1. 利用现有的算法结构,可学习的参数较少;
  2. 脱离现有的算法结构,较多可学习的参数.

利用现有算法结构的优点:

  • 泛化能力通常更强;
  • 需要更少的数据;
  • 自然的初始化,利用标准算法的设置.

缺点:

  • 较少优化性能的机会.

脱离现有算法结构的优点:

  • 较多优化性能的机会,只要数据充足.

缺点:

  • 可能泛化能力较差;
  • 需要较多数据;
  • 初始化困难,没有现有的算法.

简单的例子:对于 f θ ( x ) = | | y Φ x | | 2 2 θ = { y , Φ } .
- 手工设计的结构:单一的参数,利用二步梯度下降,可调参数为步长

g ( y , ω ) = ( ω Φ T y ) ω Φ T ( Φ ( ω Φ T y ) y )

- 任意的线性结构:较大的参数矩阵,需要足够的数据来学习参数矩阵
g ( y , A ) = A y


4. 后续内容提要

  • Part II: Basic first-order algorithms, their neural net analogs, and subsequent learning-to-learn enhancements.
  • Part III: Accelerated convergence, “optimal” first-order algorithms, and deep learning analogs
  • Part IV: Analysis of special cases, extensions to multi-loop iterative algorithms, and connections with gated recurrent neural nets.

猜你喜欢

转载自blog.csdn.net/qq_38290475/article/details/80981602