编者按:深度学习在计算机视觉领域取得了巨大的成功,有研究者甚至一度期望这种端到端的学习策略可以完全替代传统模型驱动的算法。然而,大量工作证明:当我们面临复杂问题的时候,完全抛弃领域知识是非常不明智的策略。因此,如何将领域知识和先验融合到深度网络中,成为深度学习领域一个新的研究热点。其中,Deep Unrolling为我们提供了一种结合知识与数据的有效手段。
本文中,来自大连理工大学的刘日升副教授,将为大家介绍基于Unrolling的深度方法及应用。文末提供文中提到参考文献的下载链接。
本次报告主要向大家汇报一下基于Unrolling的深度学习方法,其在计算机视觉领域的各种应用,以及我们近期针对该类型深度网络的一些理论分析方面的工作。
近年来,深度学习相关工作大量涌现。在早期阶段,研究者们大多基于经验和对问题的一些理解,启发式地设计网络结构,并通过端到端学习的方式得到解决具体问题的深度模型。该类方法在计算机视觉领域的一些问题中已经取得了巨大成功。比如在人脸识别、目标检测等High-level问题中,各种深度网络的性能已经远远优于传统方法。但随着相关研究的逐渐深入,学者们也发现完全启发式设计的深度网络并不能在所有视觉问题中都取得令人满意的结果。特别是在一些底层视觉问题中,直接使用端到端学习策略和经验设计网络的性能并不能令人满意。比如,现有的启发式深度网络在图像盲去模糊问题中的性能仍然无法令人满意。
为了更深刻理解深度网络的本质特点,我们首先比较一下传统模型驱动的思路和端到端学习深度网络建模方法的区别与联系。具体来说:模型驱动方法通常首先利用领域知识为问题建立数学模型,进而通过特定的优化算法或求解策略得到模型的最优解。相对应地,端到端学习方法则希望直接建立输入数据与输出结果的非线性映射关系,其性能往往与训练数据的质量和规模有密切关系。总结起来,我们发现以上两种方法分别主要侧重于利用“领域知识”或者基于“数据(及经验)”来解决计算机视觉问题。很自然的,如果我们可以有效结合这两种不同的策略,将非常有希望设计出更加强大、且可解释性更强的深度网络模型。这也引出了我们后面将向大家介绍的Deep Unrolling技术。
近年来,Unrolling技术为“领域知识”与“数据(“及经验)”结合提供了一种有效手段。具体来说,所谓Unrolling是指我们将求解一个给定连续模型的迭代优化看成是一个动态系统,进而通过若干可学习模块来离散化这一系统,得到数据驱动的演化过程(Data-dependent Propagation)的方法。实际上,Unrolling过程与机器学习领域的元学习(Meta Learning)和近期LeCun等人提出的可微分编程(Differentiable Programming)概念也有着非常密切的内在联系。
在Unrolling方法中,我们首先需要设计一个迭代框架(Schematic Scheme),在此基础上进一步将可学习模块嵌入到迭代中。更为重要的是,我们还需要对于所设计的演化过程进行必要的理论分析。
接下来,我们将对计算机视觉领域中使用Unrolling思想的方法进行简要回顾。需要指出的是,在一些工作中,其原始论文虽然没有显式地使用Unrolling的概念,但我们仍然可以通过Unrolling框架对这些方法的原理和有效性进行解释和分析。
偏微分方程/扩散过程是非常经典的一类图像处理方法。该类方法实质上可以考虑为求解一个变分能量的梯度流。我们在2010年首先提出基于学习的偏微分方程(Learning-based PDE)解决各种不同的图像处理(去噪、分割、去马赛克等)问题。该方法最大的特点是通过学习旋转与平移不变的基本微分不变量来实现对扩散过程的Unrolling。并通过最优控制技术实现系统参数的端到端学习。值得指出的是,基于学习的偏微分方程实际上就是一种基于微分算子的、结构简化的深度网络模型。此外,我们所采用的最优控制框架也与现在被广泛使用的反向传播技术有着深刻的本质联系。随后,Chen 和Pork的工作则使用更高阶的算子来进行扩散学习,解决图像去噪等问题。
MRF作为一类无向图上的参数化先验ÿ