刘日升作者

Deep Unrolling:深度网络与传统模型之间的桥梁

编者按:深度学习计算机视觉领域取得了巨大的成功,有研究者甚至一度期望这种端到端的学习策略可以完全替代传统模型驱动的算法。然而,大量工作证明:当我们面临复杂问题的时候,完全抛弃领域知识是非常不明智的策略。因此,如何将领域知识和先验融合到深度网络中,成为深度学习领域一个新的研究热点。其中,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作为一类无向图上的参数化先验,也可以被用来刻画不同类型图像的潜在分布规律。近年来,通过使用不同的优化策略(如半二次分裂、原始对偶、交替方向等)作为基础迭代格式,并使用高阶滤波器对MRF先验进行Unrolling,学者们提出了一系列不同的图像增强算法,并在不同的应用领域取得了较好的效果。

由于CNN实质上也可以看成是一种高阶的扩散算子,因此直接使用CNN对优化迭代过程进行Unrolling成为最近一两年来非常热门的研究方向。各种不同的CNN结构和Unrolling思路大量涌现。这里需要指出的是,Unrolling方法中CNN不再是一个端到端的回归器。实质上,我们更倾向于认为其学习的是优化算法在真实数据上每步计算所产生的迭代误差(或模型误差)。因此在这类Unrolling方法中,我们往往使用不同强度的高斯噪声来训练迭代过程中的CNN模块。


接下来,我们将进一步使用Unrolling思想对几类在底层视觉领域取得成功的深度网络方法进行分析与理解。

VDSR是一种将残差结构(Residual Structure)应用到图像处理问题上的深度学习方法,其在超分辨率问题上取得了非常好的效果。我们通过分析发现,VDSR网络结构实际上可以被理解成为一个一步的梯度下降过程。而CNN则学习了我们从低分辨率输入到高分辨率输出的下降方向。 相对于较早期的超分辨率网络(如SRCNN等,直接学习低分辨率到高分辨率的映射),VDSR通过学习下降方向(即残差),显著降低了网络的学习难度,从而取得了更好的效果。

随后,DnCNN将类似的思想成功应用到了图像去噪问题中,再次验证了使用CNN学习下降方向在底层视觉问题中的有效性。

EDSR作为VDSR的改进,取得了更优于VDSR的超分辨率效果。按照Unrolling的观点,我们可以非常直观的发现,在其网络结构中,作者实际上使用了更多的残差单元来进行梯度下降,而通过级联更多的下降模块,我们实际上得到了一个基于CNN的可学习迭代过程。从优化角度来看,更多的迭代步数往往可以让我们更容易得到复杂(如非凸)问题的最优解。这也从一个侧面给出了EDSR优于VDSR的原因。

在非盲图像去模糊问题中,IRCNN取得了非常好的性能。而该方法最大的成功就是将CNN网络结构引入到了图像复原模型的优化过程中。

在盲图像复原领域,最近的一些方法将各种不同的CNN模块集成到优化模型中(如Li et al),或者通过级联的方式模型构建隐式的梯度流(如Nah et al)。以上方法所提出的网络结构也均可以被Unrolling思想解释。

Ledig et al的工作给出了基于感知损失的残差网络训练方法。这一工作实际上表明我们可以使用对抗和感知损失函数来对级联的梯度下降模块(残差单元)进行训练,从而得到更加真实的图像增强结果。

以上我们介绍的Unrolling方法均面向Low-level问题(如去噪,去模糊,超分辨等)。实际上,很多High-level问题也可以使用Unrolling方法解决。如LeCun等人提出的LISTA方法,就是将解决稀疏字典学习的一阶优化算法(ISTA)使用参数化网络进行Unrolling。而Xiong和De la Torre则通过将一个非线性回归模型的每一步梯度下降迭代使用线性回归进行Unrolling,得到了解决人脸特征点检测等问题的新方法。最近,研究者还尝试将强化学习(Li 和Malik)和递归网络结构(Andrychowicz et al)引入到回归、分类模型的Unrolling过程中。

总结起来,Unrolling主要包括三个核心步骤,即设计迭代格式、嵌入可学习模块和理论分析。已有工作将注意力主要集中在前两部分,而由于使用了可学习模块对迭代格式进行非精确展开和计算,原有数值算法的理论性质(如收敛性等)已经不再被保持。因此我们迫切需要对于Unrolling过程的理论性质给出一些分析。此外,如何从理论上挖掘Unrolling过程的内在属性和有效性保证也是非常值得研究的内容。以下将简要介绍一下我们在相关问题上的一些初步尝试。

我们首先基于一阶非光滑优化格式给出了一个通用的迭代框架。在此基础上,我们进一步使用残差结构设计了一个可学习网络结构来进行下降方向估计。我们注意到大多数已有的Unrolling算法往往直接使用网络结构代替部分迭代计算过程。而我们在使用可学习下降模块进行Unrolling的基础上,还引入了一个额外的误差矫正模块。这一模块的最主要作用就是可以及时控制迭代过程中网络所产生的过大迭代误差。

具体来说,通过分析基于网络的Unrolling过程所引入的误差,并使用临近迭代输出来控制网络的非精确计算,我们得到了一种新的网络前馈传播精度控制准则,即所谓的“松弛化最优性准侧”。

基于以上的设计,我们可以在理论上证明,在求解一个非凸非光滑模型的最优解的问题中,我们所提出的Unrolling框架,可以产生一个全局收敛的序列(注意,这里的“全局收敛”指的是序列整体上收敛到给定的点,而非收敛到全局最优解)。如果所处理的问题有一个明确的先验正则化r时,我们可以证明该序列收敛到给定模型的一个Critical Point。此外,即使在不知道先验r的情况下,我们产生的序列仍然可以全局收敛到一个Fixed Point。我们首先将这里提出的Unrolling方法考虑成是一个非精确的迭代算法,并与标准优化策略进行比较。我们发现通过引入网络快速估计下降方向,我们的收敛速度(LBS)明显快于传统基于数学推导设计的迭代格式(如FBS,FISTA,ADMM等)。右上方的图示则给出了使用我们的误差矫正(LBS)和直接进行Unrolling(nLBS)的迭代曲线比较。我们可以看到不考虑误差控制而直接使用网络进行Unrolling会产生严重的震荡,甚至得到完全不收敛的迭代序列。而通过使用我们提出的自适应误差矫正策略,序列的收敛性得到显著改善。

接下来,我们以盲图像去模糊(反卷积)为例,展示如何利用我们提出的Unrolling框架解决具体的视觉问题。我们知道,由于盲图像去模糊问题需要从一个已知观测同时估计出未知的模糊核和清晰图像,该问题是一个典型的病态反问题。因此传统方法往往需要设计复杂的先验,并根据经验人为改造迭代过程,来实现对特定类型图像的去模糊。幸运的是,基于我们的Unrolling框架,我们提出了一种“生成-矫正”式的网络结构。这里Generator是一个进行图像生成的残差网络模块(反映数据和经验),Corrector则是一个基于反卷积模型设计的自适应迭代矫正模块(反映领域知识)。我们通过级联这样两类模块并进行协同学习,给出了一种可以在保证理论收敛的前提下,有效恢复各种不同类型模糊图片的新方法。 这里需要指出的是,我们所提出的这一“生成-矫正”式协同学习结构,实际上是一种比“生成-对抗”网络更加适合解决那些具有强领域知识的底层视觉问题。

我们在更多的视觉问题中尝试使用以上的Unrolling策略,并在水下增强,低光图像增强、去除反射、去除雨层等问题中取得了非常好的效果。

深度学习的发展过程中,研究者曾经希望端到端学习策略可以完全替代传统模型驱动的算法。但大量工作已经证明当我们面临复杂问题的时候,完全抛弃领域知识是非常不明智的策略。这往往意味着我们需要使用更深的网络结构和更多的训练数据来学习问题中的潜在复杂回归关系。在一些情况下我们甚至无法找到合适的网络或训练数据。因此如何将领域知识和先验融合到深度网络中成为深度学习领域一个新的研究热点。

Deep Unrolling为我们提供了一种结合知识与数据的有效手段。我们可以通过领域知识建立原始模型并给出基础迭代格式。在此基础上通过引入可学习模块,进而从给定训练数据中学习该问题的潜在规律和数据分布。最后通过Unrolling实现知识与数据的有效融合。而我们近期的工作则从理论上为Unrolling方法的收敛性和有效性给出分析,在此基础上设计了一系列基于自适应误差矫正的Unrolling方法,并成功应用到不同的底层视觉问题中。

我们最后指出,“学习如何学习”(即Learning to Learn或Meta Learning)是人工智能未来发展的重要方向。而我们相信Unrolling将会成为设计Meta Learning算法的一类重要手段。

参考文献链接:

链接: https://pan.baidu.com/s/1JtI9YV5JZyTj5SfChW1sog 密码: gsqb

深度学习大讲堂
深度学习大讲堂

高质量原创内容平台,邀请学术界、工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术、产品和活动信息。

理论深度学习Deep Unrolling
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

图像复原技术

图像复原技术主要是针对成像过程中的“退化”而提出来的,而成像过程中的“退化”现象主要指成像系统受到各种因素的影响,诸如成像系统的散焦、设备与物体间存在相对运动或者是器材的固有缺陷等,导致图像的质量不能够达到理想要求。图像的复原和图像的增强存在类似的地方,都是为了提高图像的整体质量。但是与图像复原技术相比,图像增强技术重在对比度的拉伸,其主要的目的在于根据观看者得喜好来对图像进行处理,提供给观看者乐于接受的图像,而图像复原技术则是通过去模糊函数去除图像中的模糊部分,还原图像的本真。其主要采用的方式是采用退化图像的某种所谓的先验知识来对已退化图像进行修复或者是重建,就复原过程来看可以将之视为图像退化的一个逆向过程。图像的复原,首先要对图像退化的整个过程加以适当的估计,在此基础上建立近似的退化数学模型,之后还需要对模型进行适当的修正,以对退化过程出现的失真进行补偿,以保证复原之后所得到的图像趋近于原始图像,实现图像的最优化。但是在图像退化模糊的过程中,噪声与干扰同时存在,这给图像的复原带来了诸多的不确定性。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

图像增强技术

图像增强技术用于增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。它通过有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~