【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”
距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread-165-1-1.html)之后,这次我们荣幸地邀请到美国麻省理工学院(MIT)博士林达华老师为我们撰写“概率模型与计算机视觉”的最新综述。这次我们特别增设了一个问答环节,林老师针对论坛师生提出的许多问题(如概率图模型与目前很热的深度神经网络的联系和区别)一一做了详细解答,并附在综述的后面。
林达华老师博士毕业于MIT CSAIL(计算机科学和人工智能实验室),师从著名的John Fisher、Eric Grimson和Alan Willsky三位教授。林老师在概率模型和推理方法及其在视觉领域的应用方面做出了突出工作,在ICCV/CVPR/ECCV/NIPS等计算机视觉和机器学习顶级会议发表论文近30篇,并曾获得过NIPS 2010的最佳学生论文奖等。他目前任教于TTIC,个人主页为:http://dahua.me/。
以后我们将持续邀请国内外众多老师做最新的视觉计算专业综述报告,如特征提取和描述、概率模型与计算机视觉、稀疏表达、人体跟踪、三维衣服布料动画、轻量级Web3D等,并陆续在学术论坛上发布。各位老师会尽量使综述通俗易懂、深入浅出,这样无论是初学者还是同行专家,都会有所收获。因为发布在本论坛中的学术文章不属于正式的学术出版,因此各位老师以后还可根据论坛的反馈建议将综述整理成正式的学术论文在期刊会议上发表。
此外,如果您对国内外某位学者在您所关注的领域(与“视觉计算”相关的:“计算机视觉”、“计算机图形学”、“模式识别与机器学习”、“机器人视觉导航与定位”等)的工作很感兴趣(或希望分享一下您自己的最新研究进展),希望获得/发表最新综述性见解,可将他/她/您的联系方式发给我们,我们将考虑邀请他/她/您撰写最新的综述报告,以便大家在第一时间分享。
------------------------------------------------------------------------------------------------------------------------------------------------
林达华
美国麻省理工学院(MIT)博士
● 1995年:Corinna Cortes和Vladimir Vapnik提出带有soft margin的Support Vector Machine (SVM)以及它的Kernel版本,并用它对手写数字进行分类。从此,SVM大受欢迎,并成为各种应用中的基准分类器。
Jason Johnson等人在2005年建立的walk sum analysis为高斯马尔可夫随机场上的belief propagation提供了系统的分析方法。这种方法成功刻画了belief propagation在高斯场上的收敛条件,也是后来提出的多种改进型的belief propagation的理论依据。Thomas Minka在他PhD期间所建立的expectation propagation也是belief propagation的在一般Graphical Model上的重要推广。
---------------------------------------------------------------------
针对林达华老师的这篇综述,视觉计算研究论坛(以下简称「SIGVC BBS」:http://www.sigvc.org/bbs)提供了一个问答环节。林达华老师针对论坛师生提出的许多问题(如概率图模型与目前很热的深度神经网络的联系和区别)一一做了详细解答,如下所示。如果大家还有别的疑问,可继续提问,林老师有空会给予答复。
「SIGVC BBS」:最近深度学习受到机器学习和计算机视觉领域中研究人员的高度重视。然而,感觉有关深度学习一些理论并不是太完善。在计算机视觉领域,人们开始热衷于将其作为工具来使用。相对来讲,概率图模型已经有其完善的理论体系了。那么我们是不是也可以完全用概率图模型这套理论来解释深度信念网络和深度Boltzman机?
林达华老师:从数学形式上说,Deep Network和Boltzmann machine可以看成是Graphical Model的特例。但是,目前在Graphical Model体系中所建立的方法,主要适用于分析结构较为简单的模型。而对于有多层latent layer的模型,现有的数学工具尚不能提供非常有效的分析。在NIPS 2012会议期间,我和Ruslan进行了交流。他们目前的主要工作方向还是进一步改善算法的性能(尤其是在大规模问题上的性能),以及推广这类模型的应用,尚未涉及深入的理论分析。
「SIGVC BBS」:基于Dirichlet过程的混合模型解决了确定组件数量的问题,这里面是否引入了其它的问题呢(比方说其它参数的确定)?除了不需要确定组件数量这一点之外,非参数化的模型还有其它哪些优势?
林达华老师:非参数化模型确实引入了其它参数,比如concentration parameter。但是,这个参数和component的个数在实用中是有着不同的影响的。concentration parameter主要传达的是使用者希望形成的聚类粒度。举个简单的例子,比如一组数据存在3个大类,每个大类中有3个相对靠近的子类。这种情况下,聚成3类或者9类都是合理的解。如果concentration parameter设得比较大,最后的结果可能形成9类,如果设得比较小,则可能形成3类。但是,如果人为地固定类数,则很可能导致不合理的结果。
需要强调的是非参数化贝叶斯方法是一个非常博大的方向,目前的研究只是处于起步阶段。而Dirichlet Process mixture model只是非参数方法的一个具体应用。事实上,DP像Gauss distribution一样,都是一种有着良好数学性质的过程(分布),但是它们在实用中都过于理想化了。目前的一个新的研究方向就是建立更为贴近实际的非参数化过程。相比于传统参数化方法而言,非参数化方法的主要优势是允许模型的结构在学习的过程中动态变化(而不仅仅是组件的数量),这种灵活性对于描述处于不断变化中的数据非常重要。当然,如何在更复杂的模型中应用非参数化方法是一个比较新的课题,有很多值得进一步探索的地方。
「SIGVC BBS」:文中后面提到的结构学习是不是这两年比较火的Structured Output Prediction呢?他们的关系如何?Structured Percepton和Structured SVM应该就是属于这个大类吗?结构学习的输出是树结构和图结构吗?结构学习与图像的层次分割或者层次聚类有关系吗?
林达华老师:Structured Prediction (e.g. Structured SVM) 其实属于利用结构,而不是我在文中所指结构学习。在大部分Structured Prediction的应用中,结构是预先固定的(比如哪些变量要用potential联系在一起),学习的过程其实只是优化待定的参数。尽管如此,这些工作本身是非常有价值的,在很多问题中都取得了不错的效果。
我在文中所提到的结构学习是指连结构本身都是不固定的,需要从数据中去学习。一般情况下,学习输出的是图或者树的结构(以及相关参数)。这个topic其实历史很长了,早期的代表性工作就是chow-liu tree。这是一种利用信息量计算寻找最优树结构来描述数据的算法。Alan Willsky的小组近几年在这个方向取得了很多进展。但是,总体而言这个方向仍旧非常困难,大部分工作属于探索性的,并不特别成熟。目前在Vision中的应用不是特别广泛。但是,我相信,随着一些方法逐步成熟,进入实用阶段,它的应用前景是非常不错的。
「SIGVC BBS」:文中提到了Convolutional Deep Network、Deep Belief Network、Deep Boltzmann Machine等近年炙手可热的神经网络方法。那么,神经网络和概率图模型是不是本质上完全是一回事,只是观察角度和历史发展不同?感觉它们很多地方都很相似。深度学习里RBM学习的训练算法与概率图模型的学习推理算法有什么联系和区别吗?他们的结构模型有什么联系和区别吗?
林达华老师:这两类模型所使用的数学方法是非常不同的。Graphical model的很多推断和学习方法都有很深的数学根基。通过近十几年的努力,大家已经逐步建立起整套的方法论体系对相关算法进行分析。Deep Learning目前并没有什么有效的分析方法。Deep learning取得很好的性能,其中很多技巧性的方法(trick)起到了重要作用。至于为什么这些trick能导致更好的性能,目前还未能有一个很好的解释。
我个人看来,这些技巧其实是很有价值的:一方面,它们确实在实践中提高了性能;另外一方面,它们为理论上的探索提出了问题。但是,我觉得,有效回答这些问题需要新的数学工具(新的数学分析方法),这看来不是近期内能做到的。
「SIGVC BBS」:在一些论文中看到,采样的方法(如Gibbs采样)也有其缺点,一个是计算量比较大(computationally intensive),另一个是收敛检测比较难。不知道这些说法是否有道理,或者目前这些问题是否有得到解决?
林达华老师:这里提到的两个问题确实是Sampling的两个主要的困难。对于这些问题,过去几十年取得了很多进展,提出了很多新的采样方法,但是困难仍然很大。但是,采样能提供整个分布的信息,而且有渐近(asymptotic)的理论保证。这在很多情况下是一般的optimization方法做不到的。最近有新的研究尝试结合Sampling和Optimization,在特定问题上有一些有趣的结果——比如,George Papandreou的Perturb-and-MAP.
「SIGVC BBS」:在计算机视觉中,视觉目标跟踪问题已经用到了动态贝叶斯网络方法。一些最近发表的自然图像分割方法也用到LDA(Latent Dirichlet Allocation)。在受限的理想数据条件下,这些方法都取得了较好的结果。但是,不得不承认,我们在研究和应用的过程中,在心理上首先对应用概率图模型有所畏惧(这里除我们已经用得较多较熟悉的MRF、CRF和Dynamic Bayesian network based visual tracking—condensation之外)。主要的解释可能有:一方面,它不象很多正则化方法那样其细节能被自我掌握、观测和控制;另一方面,对于一个新的问题,我们需要不停地问自己:什么样的设计(图)是最好的。从而,在很多情况下,我们更愿意选择使用那些正则化方法。比如,对小规模人脸识别,我们会选择PCA+LAD(SVM),对大一点的规模我们会考虑“特征选择+adaboost”框架。就计算机视觉,能否从实践的角度给我们一点关于使用概率图模型的建议。另外,在计算机视觉中,什么样的问题更适合于采用概率图模型方法来解决。
林达华老师:首先,Graphical model和其它的方法一样,只是一种数学工具。对于解决问题而言,最重要的是选择合适的工具,而不一定要选看上去高深的方法。对于普通的分类问题,传统的SVM, Boost仍不失为最有效的方法。
Graphical model通常应用在问题本身带有多个相互联系的变量的时候。这个时候Graphical model提供了一种表达方式让你去表达这些联系。我觉得并不必要去寻求最优的设计图,事实上,没有人知道什么样的图才是最优的。实践中,我们通常是根据问题本身建立一个能比较自然地表达问题结构的图,然后通过实验了验证这个图是不是合适的。如果不合适,可以根据结果分析原因对图做出修正。
举个具体的例子,比如对一个比赛视频进行分析。那么可能涉及多个变量:摄像机的角度,背景,运动员的动作等等。那么这个问题可能就设计多个未知变量的推断,这些变量间可能存在各种联系。这个时候,Graphical model可能就是一种合适的选择。
值得注意的是,选择合适的图有时候也需要一些经验。比如分布的选择上要注意形成conjugate,这样往往容易得到简易的推断公式。了解各种分布的特性以及它们可能对最后结果的影响也是有帮助的。