文献会议笔记: Replacing/Enhancing Iterative Algorithms with Neural Networks Part 1: Background and Motivation
参考:David Wipf, Microsoft Research, Beijing
摘要:介绍了Learning to learn方法,以及算法的三个可能的改进空间;介绍了利用先验知识,即训练数据对Learning to learn模型的训练过程;介绍学习函数
g(θ,ω)
的选择问题. 这部分内容主要是介绍相关概念.
目录
- 迭代算法的改进,从学习(Learn)到学会学习(Learning to learn)
- 问题提出
- 基于学习的方法的改进空间
- 利用先验知识
- 无监督先验
- 监督先验
- 监督标注的来源
- 回顾小结
- 选择
g(θ,ω)
的结构
- 后续内容提要
1. 迭代算法的改进,From Learn to Learning To Learn
1.1 问题提出
对于优化问题
minxfθ(x),θ∈Ω
其中,
θ
是由类别标签决定的参数.
一个简单的例子为
fθ(x)=||y−Φx||22,θ={y,Φ},Ω={y,Φ|y∈Rn,Ω∈Rn×m}
有很多可能的方法,比如:梯度下降、EM算法、牛顿法等,但能否利用基于学习的方法(Learning-based approach)做得更好?
显然,我们的目标变为
因此可以发现,学习(Learning)和学会学习(Learning to learn)之间有如下关系:
LearningLearningtolearn⇔slovingminxfθ(x)⇔learningg(θ;ω)
例子:给出
θ∈Ω
,求
x∗=argminxfθ(x)
传统方法:梯度下降
x(k+1)x^=x(k)−η▽fθ(x(k))≈x∗
Learning-based algorithm:
x^=g(θ;ω^)≈x∗
1.2 基于学习的方法可能的改进空间
- 更有效率的计算
一阶方法的收敛速度可能很慢,比如,对于非光滑的凸函数
fθ(x)
,收敛速度为
1k√
,很慢.
- 低的目标函数值
现有的算法会有糟糕的局部最优解,但通过使用某些光滑近似
hθ(x)
可以解决该问题.
- 能无缝嵌入大规模系统
取
x∗=argminxfθ(x)≈g(θ;ω^)
,如果我们的问题为
minw∑il[zi,wTx∗i]
其中,
x∗i=argminxfθi(x)≈g(θi;ω^)
.
能很容易将其转变为优化问题
minw,ω∑il[zi,wTg(θi;ω)]
例子:通过人脸识别来直观阐述三种不同的改进可能性
y=Φx+ϵ=Φ′x′
x′
可能有无穷多解,我们找出其中最稀疏的那个,因此
x
的非零元素的位置需要提供辨识.
给出未知辨识的图像
y
,优化问题为
x^′=argminx′||y−Φ′x′||22+λ0||x′||0≈argminx′||y−Φ′x′||22+λ1||x′||1
其中,
x^′=[x^,ϵ^]T
,分别为用于辨识的成分和误差.
因此可以得到
g(θ;ω^)≈argminx′||θ−Φ′x′||22+λ1||x′||1,θ=y
三个改进空间为
- 更高的效率
原优化问题在
Φ′
很大时,计算速度慢.
- 更好的近似
g(θ;ω^)
和
L0
范数约束之间的误差小于
L1
范数约束和
L0
范数约束之间的误差.
- 利用分类器联合训练
给与训练数据
{yi,zi}
,其中
zi
为辨识标签,求解
[ω¯,w¯]=argminω,w∑il[zi,z^i],s.t.z^i=h(g(yi;ω^);w)
测试:给出新的未知图像
y∗
,预测为
h(g(y∗;ω¯);w¯)
2. 利用先验知识
不同问题利用不同先验知识,能够提高算法性能,相应的牺牲互补问题的性能.
有多种引入先验信息的方式:
无监督,能够获得候选问题的子集.
{fθi:θi∈Ω,i=1,2,...,N}⊂F
监督,在子集中也包括相应的优化组.
{fθi,x∗i:θi∈Ω,x∗i=argminxfθi(x),i=1,2,...,N}
2.1 无监督
现有的先验信息
{fθi:θi∈Ω,i=1,2,...,N}⊂F
优化目标为
minω∑ifθi[g(θi;ω)]
简单的例子
取
fθ(x)=||y−Φx||22
θ={y,Φ}
令
g(θ;ω)=(ωΦTy)−ωΦT(Φ(ωΦTy)−y)
得到最终的优化函数为
minω∑ifθi[g(θi;ω)]=minω∑i=1N∣∣∣∣yi−Φi{(ωΦTiyi)−ωΦTi(Φi(ωΦTiyi)−yi)}∣∣∣∣22
其中,
g(θ;ω)
的选取可以通过两步梯度下降直观理解:
▽xfθi(x)=ΦT(Φx−y)
取
x(0)=0
,
ω
为步长,由梯度下降可得
x(1)=x(0)−ωΦT(Φx(0)−y)=ωΦTy
x(2)=x(1)−ωΦT(Φx(1)−y)=(ωΦTy)−ωΦT(Φ(ωΦTy)−y)
x(2)
正是选取的
g(θ;ω)
.
2.2 监督
现有的先验信息
{fθi,x∗i:θi∈Ω,x∗i=argminxfθi(x),i=1,2,...,N}
优化目标为
minω∑id[x∗i,g(θi;ω)]
简单的例子
取
fθ(x)=||y−Φx||22
θ={y,Φ},x∗=Φ+y
令
g(θ;ω)d[u,v]=(ωΦTy)−ωΦT(Φ(ωΦTy)−y)=||u−v||22
得到最终的优化函数为
minω∑id[x∗i,g(θi;ω)]=minω∑i=1N∣∣∣∣Φ+iyi−Φi{(ωΦTiyi)−ωΦTi(Φi(ωΦTiyi)−yi)}∣∣∣∣22
监督通常能够获得更好的结果,但需要正确的标注(ground truth).
2.3 监督标注的来源
得到的训练集为
{θi,x∗i}Ni=1
直接利用现有方法求解
x∗i=argminxfθi(x),i=1,2,...,N
利用易处理的
f~θ(x)≈fθ(x)
,再利用上述方法
通过直接测量得到的数据求解标注
例如,利用压缩感知从观测数据
θ
中恢复期望数据
x∗
θ=Φx∗
求解
x∗=argminxfθ(x)
,其中
fθ(x)
为可逆操作.
开发生成模型,由于逆操作
x∗=argminxfθ(x)
较难,而正向模型
θ=h(x∗)
简单
例如,前向线性模型
θ=Φx∗
,其中
||x∗||0<<dim(x∗)
,即
x∗
很稀疏.
它的逆问题为NP-hard问题
x∗=argminx||x||0+I∞(θ≠Φx)
生成策略为:
对每一个
i
,生成稀疏的
x∗i
,计算
θi=Φx∗i
.
得到带标记的训练集
{θi,x∗i}Ni=1
注意:
前两种方法得到的标注,能够有机会改善速度,但无法改善准确性;后两种方法得到的标注,能够改善速度和准确性.
2.4 回顾小结
想要学习一个算法
g(θ;ω)
来解决问题
x∗=argminxfθ(x)
可能得到改善的空间有三点:
- 计算效率
- 最终结果的准确性
- 无缝嵌入大规模系统
有多种可以训练的损失函数,先验信息:
但接下去有一个核心问题:
g(θ,ω)
的好的结构是什么?
3. 选择
g(θ,ω)
的结构
通过DNN可以发现,多种手工设计的特征共同促进DNN结构,并且可以得到一个统一的算法形式,线性变换和非线性激活.
x(k+1)=π(Wx(k)+b)
即通过该算法的多次迭代,得到DNN的网络结构.
那么能否用类似的方式,得到一个可训练的算法,或者是学会学习的算法呢??
首先要明确,有两种主要方式可供选择:
- 利用现有的算法结构,可学习的参数较少;
- 脱离现有的算法结构,较多可学习的参数.
利用现有算法结构的优点:
- 泛化能力通常更强;
- 需要更少的数据;
- 自然的初始化,利用标准算法的设置.
缺点:
脱离现有算法结构的优点:
缺点:
- 可能泛化能力较差;
- 需要较多数据;
- 初始化困难,没有现有的算法.
简单的例子:对于
fθ(x)=||y−Φx||22
,
θ={y,Φ}
.
- 手工设计的结构:单一的参数,利用二步梯度下降,可调参数为步长
g(y,ω)=(ωΦTy)−ωΦT(Φ(ωΦTy)−y)
- 任意的线性结构:较大的参数矩阵,需要足够的数据来学习参数矩阵
g(y,A)=Ay
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.