Dahua 的个人资料笑对人生,傲立寰宇照片日志列表 工具 帮助
1月27日

关于平均值

小时候,老师就告诉我们,读书讲究先由薄而厚,再由厚而薄。前者是吸收和积累,后者是融会和消化。

这些年,读了不少关于统计学习的东西,很多东西都记不清楚了。从我自己的角度看来(可能是很肤浅的),学概率和统计,关键是记住三个概念:测度(measure),期望(expectation),和独立性(independence)。

测度是现代概率理论的基石。在经典的概率论里面——比如我们在本科学的那些——大多是通过举例子和文字说明的方式告诉你概率是什么,这容易明白,不过缺乏严密的公理化根基。现代概率论整个建立在测度理论的基础上,概率的定义非常简单,不过也很抽象——所谓“概率”,就是归一化的测度。没有测度,就没有整个概率论的大厦,所以它很重要——不过,它在实用中直接用上的机会不大,所以不是这篇文章的主体。关于独立性,以及它的一个孪生的名词:Markov,也扮演着非常重要的角色,它是Graphical models的基础。有兴趣的可以去读M. I. Jordan的书。

而在统计学习的实际应用中,就是你平时写code,用得最多的就是期望,或者一个通俗点的版本——平均值。其实这两者不太一样,期望是从model出发演绎的,平均值通常是指从data出发归纳的。不过它们的关系确实非常密切。

统计学习在很多情况下,就是求平均值

我们平常说去Learn一个model——其实,在很多情况下,这就是干一件听上去很简单的事情,求平均值。我们知道,我们所接触的大部分重要的概率分布,都属于exponential family,比如Gauss, Binomial, Multinomial, Dirichlet, Poisson, Exponential, Gamma等等分布都属于这个家族。它的一个重要特点就是——得期望者得天下。就是说,知道了某些统计量的期望,就知道了整个model,至于model的参数,或者就是期望本身(比如Gauss),或者不难从期望中得到。可以证明,对于这些model,对它们的最大似然估计(Maximum Likelihood estimation),就是从data中算出某些统计量的平均值作为model的期望。

在Bayes学习中,我们还考虑先验分布(prior)。在这里,model的估计还是求平均值。所谓prior是怎么来的?就是以前曾经观察过的data那里总结得到的,然后以prior的形式影响当前的model估计。一般而言,使用exponential family,我们通常会使用conjugate prior,这种prior,基本就是沿着刚才说的,假想我们已经看过一些data的思路得到的,它的形式和data mean几乎如出一辙。而带了prior的估计,还是在求平均值,不过这里的平均值就是(假想)以前观察过的数据和当前的数据合在一起求平均。

对于更加复杂的Graphical model,每个节点的estimate和update,很多时候,其实是做了这样的事情——把其它节点传来的平均值和这个节点接触的数据的平均值混合进行新的平均。从最简单的Gauss, 到更加复杂的Gaussian Mixture Model, Latent Dirichlet Allocation, Markov Random Field, Generalized Kalman Filtering概莫能外——大家可以仔细看看它们的每一个update公式,看看哪个不是在求平均值。

怎样求平均值

平均值是很重要的。不过怎么求呢?这似乎是小学初中就解决了的问题。不过,求平均值的世界其实是如此博大精深。如果说它是少林武学,我现在这点水平,也就够在嵩山下扫扫地罢了。很多在世界上赫赫有名的数学家,穷毕生心血,方能一窥堂奥。

虽然,只有扫地的水平,不过起码也看过大师们练武。这门学问主要有两个方面:得到data求平均值,得到model求期望。

先说说求data的平均值。这太简单了,有什么好说的。不就是加法和乘法么,小学学过算术的人都会算,即使没学过,拿个计算器也照样算。在通常的实数空间内,确实很简单;不过对于一般的求平均值的情况,就非常非常困难了。一般来说,求平均值有两个流派,一种是基于线性代数(linear algebra),另外一种是基于度量空间(metric space)。前面一种大家很熟悉:

m = (x1 + x2 + ... + xn) * (1/n)。

这是我们读了这么多年书最常见的平均值。不过,这样定义太局限了,它要求这些东西能做加法和数乘——我不得不说,这个要求实在太高,只有线性空间(这种空间是数学里面的贵族,它们什么好处都全了)能够满足——对于数学领域更广大的人民群众(各种更一般的数学结构,比如群,拓扑流形),加法和数乘简直是一种奢侈得不切实际的活动。

其实平均值是一个非常广泛的概念,不仅仅存在于线性空间中,还为广大人民群众服务。对于某个度量空间,它的一般性定义是这么给出的

使得 d(m, x1) + d(m, x2) + ... + d(m, xn) 最小的那个m

也就是说,求平均值是一个优化问题。关于这个问题,在不同的空间中有不同的答案:在最高级的希尔伯特空间中(定义了内积的完备线性空间),m就是上面给出的基于线性代数的形式。所以说,基于线性代数的定义仅仅是基于度量空间的定义的一个特例。不过由于这个特例被广泛使用,所以大家一说平均值就想起它,而不是一般形式。在推广一些的巴拿赫空间中(定义了范数的完备线性空间),上述的问题是一个凸优化问题,因为范数必然是凸函数。它具有唯一的最优解。

最困难的是在非线性空间中。一个典型的例子是黎曼流形(注意,这里我们只讨论黎曼流形,对于更为一般的拓扑流形或者微分流形,因为不具有度量结构,所以不能定义均值。)在黎曼流形上,两点间的距离是通过测地距离给出的。在黎曼流形上,通过测地距离定义的平均值,叫做黎曼中心。一部分朋友对于这几个术语可能不太熟悉,还是举个形象点的例子。比如,在地球上给出几个地点,你要在地面上找一个“平均地点”,使得它到那几个地点的“地面距离”的平方和最小。如果,用传统的算术方法拿这些地点的三维坐标来算,你估计得在那钻个油井了。对于“球面平均”问题(专门一点的说法叫做特殊正交群SO(3)的黎曼中心,恩,这个名词我也有点晕),到了在本世纪,在数学里依旧可以发paper,目前还没有一般情况下的解析解。

别的领域我不懂,不过“球面平均”在vision里面价值是很大的,它是对三维旋转变换建立统计模型的基础——我们再一次看到了求平均值对于统计的重要意义。球面平均求的是“平均”的旋转,如果对于一般的仿射变换(Affiine transform),“平均”的变换又怎么求呢?这是个open problem,留待大家思考。

怎样求期望

说完从data求平均值,再说说从model得到期望(expectation)——这们学问就更博大了。虽然,期望的定义很简单——求和或者积分就行了。不过,它的实际计算,对于很多实际模型是intractable的。

概率论最早源于掷色子,我们的前辈数学家们为了破解求复杂模型求期望的问题,提出的方法就是掷色子。在学术上,美其名曰“蒙特卡罗方法”(Monte Carlo)。原理很简单,不断地掷色子来大量采样,然后从采来的样本求平均值来逼近模型的期望。

掷色子是世界上最有学问的之一,正因为如此,我们对于“赌神”,“赌王”之类的人物崇拜犹如滔滔江水,因为它们掷色子掷得好。无数的统计学家把毕生经历奉献给掷色子(采样)事业,并且做出伟大成就。关于采样的专著和文献,汗牛充栋。

掷色子就这么难么?是的。据估算,即使对于一个复杂度不高的model,要得到一个可以接受的估计,所需的样本量往往大得惊人,而且指数增长。如果不掌握要领,你即使掷到宇宙末日,估计离一个靠谱的估计还远着呢。采样技术名目繁多,最流行的莫过于重要性采样(importance sampling)和马尔科夫链蒙特卡罗过程(MCMC)。具体就不多说了。

1月23日

漫话距离

我们的生活从来不缺乏距离的概念,无论是时间的还是空间的,可以测量的还是不可以测量的。自我们来到这个世界,就会用我们还很幼小的眼睛测量着自己和身边的人的距离,然后跟着距离自己最近的人学叫“妈妈”;长大了,我们学会了用“距离产生美”这种不知道属于公理还是定理的命题,提醒自己不要和心仪的mm走得太近;而垂垂老矣的人们则开始计算自己到生命终点的距离,盘算着什么时候该立遗嘱了。

什么叫距离呢?随便翻开一本数学教科书,你会发现,这些书会在这个或者那个角落告诉你,所谓距离,就是一个符合对称性和三角不等式的非负二元函数。为什么要符合对称性和三角不等式呢——大部分的书会告诉你,这是规定——不符合的就不是距离。少部分负责任一些的书会告诉你,不符合这些条件的“距离”会多麻烦。于是你接受了。

当你放下书本,回到我们多姿多彩的生活中的时候,这个呆板的定义似乎不能有效地解决你生活中的问题。你去hiking的时候,入口处告诉你,从山下到山上的距离是多少多少里路,按说上山和下山的距离是一样的,可是当你攀到山顶又走回来的时候,心里可能犯嘀咕,怎么感觉距离不一样呢?伟大的数学家们是不会错的。这是相对论!——那些费了半天劲才把洛仑兹变换搞明白的人们,生怕错过了这个机会就没有机会显示自己深厚的物理底蕴了。不过,我只是相信一点,根据目前人类的进化水平,即使把世界短跑冠军的运动速度和地球公转自转速度加起来再乘以10,离光速还远着呢。

再说一个例子,不知道男同胞们是不是发现,当你想去接近你的梦中情人的时候,距离似乎遥不可及——走出太阳系似乎都没有那么远,反过来,当她想接近你的时候,这个距离比任何预先给定的正实数都小——我有点怀疑,牛顿或者莱布尼茨当年是不是有过类似体验,才总结出了微机分——这告诉我们为什么微机分不是女生提出的。

为了能让距离去解释上面说到的现象,我们有必要把它的概念推广一下,把对称性去掉——很多情况下,我们甚至把三角不等式也去掉。一个著名的例子,就是Kullback-Leibler divergence——用来描述两个分布的“距离”。大家注意了,这里定义这个的人很聪明,为了不和数学家作对,他选择叫做divergence,而不是distance。不过,很多信息论和统计学的书都犹抱琵琶半遮面地告诉我们,其实可以把它YY成为某种距离。伴随着对称性的丧失,距离的方向性出现了。就是说从a到b的距离,和从b到a的距离是不一样的——恩,这种推广看起来很适合用来计算你和你心仪的人的距离,或者山顶和山脚的距离。

小学老师告诉我们怎么去量度两个点之间的距离,就是拿一把尺子。可是,很多时候,你没有机会使用直尺的。你所能做的就是从这点走到那点,看看费了多少劲——这就是我们大多数人在生活经验中的距离。黎曼老先生,作为理论联系实际的代表,第一次从在数学上总结了这种生活上的距离——geodesic distance,中文叫做测地距离。它是怎么算距离的呢?就是从起点出发,一步步走向目标,然后把每一步费了多少劲加起来。至于,每一步费了多少劲怎么算,大家都可以有不同的算法——但是,这些都叫Riemann Metric。 为了大家计算距离时的身体健康,鼓励大家节省能源,规定,只有按照最省事的方法到达目标,这样算出来的才叫距离。 不过,在很多实际应用中,大家只能找到比较省事的方法,未必是“最省的”,也睁一只眼闭一只眼,把算出来的东西追加“距离”的光荣称号。

打破对称性的千年枷锁,扔掉直尺这种陈腐工具,人们获得了空前的思想解放。男生和女生们开始附庸风雅地用曾经只存在于象牙塔的概念——距离——去评价自己和她或者他的关系。如何评价,见仁见智——在我看来,很多人的metric里面不外乎写了多少情书,给电信公司贡献了多少短信费,qq/msn在线了多少时间,又或者吃了多少顿麦当劳。。。。。。在这个定义的基础上,“距离产生美”——这个挂在多少人口头的箴言横空出世了。根据距离就是费了多少劲的意思,这句话告诉我们,只有费了很多功夫,死了无数脑细胞,才能得到,或者还得不到的才是美的;信手而获,不需要追求的,就谈不上美了。从这个意义上说,这句话和高中的学到的“劳动产生价值”的道理是一样的,只不过,“劳动产生价值”是物质层次的——太俗了,“距离产生美”是精神层次的,档次和格调显然不一样。

1月22日

回来了

从Texas回来了,Boston依旧寒冷。

在Texas最后一站是到TAMU校园——TAMU美丽,而又宁静,就像在那里的人一样。

今天做出一个重要决定,开始写日记了——手写的。

1月19日

Shell and Some research

大概是这样的,在海面上布置信号接收器的阵列——每个接收器是有专门的技术进行精确定位的(这点,在formulation上可以认为接收器位置已知),然后通过一个信号源制造某种频率的震动,声波在海底表面,以及地壳的不同层的分界面都会发生反射,每个接收器会记录反射信号到达的时间和强度。这些信号通过信号处理技术,恢复出海底表面以及地壳个层面的传播特性和深度的三维图。

这里是一个逆过程。一般来说,已知各层的深度和传播特性等参数,基于偏微分方程进行积分以及求和等计算,就可以求出各个接收点的信号的相位或者强度。而现在需要解决的问题,是已知每个接收点的信号(这是经过各个层面反射的多个信号路径叠加的混合信号),恢复出海底表面,地壳的各个层面的分界面。信号在不同材料中有不同的传播速度,而且各向异性,导致非常复杂的折射和反射,他们的叠加进一步使问题复杂化。他们目前采用两种手段:(1)采用简化模型:他们把有数十项的微分方程用只有几项的简化方程来逼近,这样会导致推断的精度降低;(2)使用Monte Carlo采样,对解空间进行扫描(按概率)。Shell有着非常庞大的计算能力——由数以万计的计算机组成的集群和许多超级计算机。但是,对高维空间(非线性过程)的蒙特卡罗仿真依旧力不从心。许多一再简化的模型仍旧需要数千cpu用一个月以上的时间才能完成。

这次他们请CSAIL和LIDS的几位老板派出一些学生,包括Learning, signal processing和computer vision的,讨论他们遇到的困难。大家提出了一些思路,不过,还有待实践检验。具体的问题不多说了,我这里想谈谈的是,和这些问题的某些部分有某种联系的learning和vision问题,以及它们带来的新的挑战。

Data fusion。利用多种信息源的联系和互补关系共同进行推断。比如要重建或者恢复一张图像,现在vision开发出来的途径五花八门:style transform,superresolution,image impainting,就是分别利用不同style,不同resolution,或者残缺照片进行重建,还有利用不同光照,不同角度拍摄的照片,等等。这些方法发了很多paper,不过其数学本质应该说大同小异,就是given prior, observation以及transform relation,去infer目标图像。这里面,一般包含两个因子,image prior还有conditional likelihood,这个通常就是目标图像transform后和observation的符合程度。这个transform在不同应用中表现出不同的形式,比如在superresolution中,就是down-sampling,在image impainting里面就是一个restricted map, etc。总体架构是类似的。这给我们得出统计的模型提供了基础。这个模型,在训练过程中主要是建立prior的model,而具体的应用过程就是吸收observation后,得出posteriori。并且由此可以评估出observation提供的信息的有效性,各种信源的互补程度,以及结果的可靠程度。

在理论上,这个事情从属于graphical model的框架,在概率结构上并不新鲜。但是有两个问题仍旧是open的,image prior如何formulate? SC-Zhu的工作在这方面进行了很有价值的探索,但是,他们建立的模型过于简化,未必适合结构复杂而且不均匀的真实图像,并且计算上采用采样为主要手段,效率上还不实用。很多其它方面的工作都在特定领域展开,只适合特定应用,而且推广到别的图像的效果有待检验。另外一个问题是computation的问题,这个问题其实是导致前面prior问题举步维艰的很重要的障碍。对于这点,我最近在研究上感触尤深,以前做dimension reduction/feature extraction,计算上基本困难不大,出paper也快。而generative model的inference则是实际应用最困难的,有些东西可以通过简化来毕竟,而有很多方面简化就不make sense了。你可以很容易地写出考虑各种要素的模型(但是不解它),或者很容易地求解一个经过过度简化地模型(五花八门的基于假设得到的求一下特征根就出结果的方法),除此以外,则剩下需要费很大功夫的骨头了。Shell的应用与此没有根本区别,只是它们的有些prior需要从地球物理学去总结,还有就是由于数据量极其庞大,模型没有解析方法求解,因此运算上的困难更为突出。

最近研读李群论。它是现代以群论为基础的代数,和以黎曼流形为基础的几何的一个令人赞叹的结合。它为解决vision中的一些问题提供了新的思路和有效的数学工具。它一个非常重要的部分就是在李群的局部和一个线性代数空间(切空间,在李群论里面,这个空间上面可以建立一种新型的代数形式,叫做李代数,它可以非常有效地描述变换群中的微分算子之间的运算)建立了拓扑同胚,甚至是代数同态的关联。这种联系,可以看成是流形的局部线性逼近,并且为这种逼近提供了很扎实的理论基础。这些理论已经在帮助我重新审视vision的各种方法背后隐藏的核心理念,以及逐步解决了一些具体的困难。不过,离目标还很遥远。

另外一门值得注意的数学,叫做Information geometry(信息几何),这门学科比较冷门,但是,和Learning有莫大关系。它研究的是以distribution为点,以divergence为距离所形成的流形空间。每种graphical model可以看成是distribution manifold在特定约束下的子流形。而EM algorithm和variational inference则是流形上沿着特定切空间的运动过程。在流形上由特定参数控制的分布族,或者符合某种constraint的分布族,可以看作流形上的纤维丛。(这里提一下,纤维丛是微分流形中的重要理论,简单的说,就是流形上由某种参数控制的切面。比如,线性空间中每个子空间都可以看成是一个纤维,它们的集合是纤维丛。纤维丛可以视为子空间集的推广。)以几何角度审察统计问题,可以带来新的perspective。至于Gibbs sampling和MCMC和这种几何的关系,目前还有待发掘。我曾经提到在machine learning问题中,sample和model parameter是对偶的。sampling和对偶空间的分布流形的随机运动是否有某种联系?只是一个可能非常错误的想法,不过,我现在还没有时间关注这个问题。

1月16日

The courses in Houston

It is the first day attending the workshop. I am writing this blog during the break time of courses. Looks like that it will be quite tough in the following week. We need to take courses from 8:30 am to 5:30 pm, nearly continously. It is even more intense then in college.
It is a small course, with only 8 students from EECS, MIT taking it. There's no way doing other things in lessons. The courses are about geology and geophysics, which has nothing to do with my current research interests.
During the course time, no internet and no MSN is allowed.
1月14日

旅程开始

到美国后,还没离开过Boston。
 
今天,期待已久的旅程即将展开,目标Texas!在Boston的朋友们,一周后再见了。
 
 
 
1月9日

学习数学

感觉数学似乎总是不够的。这些日子为了解决research中的一些问题,又在图书馆捧起了数学的教科书。

从大学到现在,课堂上学的和自学的数学其实不算少了,可是在研究的过程中总是发现需要补充新的数学知识。Learning和Vision都是很多种数学的交汇场。看着不同的理论体系的交汇,对于一个researcher来说,往往是非常exciting的enjoyable的事情。不过,这也代表着要充分了解这个领域并且取得有意义的进展是很艰苦的。

记得在两年前的一次blog里面,提到过和learning有关的数学。今天看来,我对于数学在这个领域的作用有了新的思考。

对于Learning的研究,

Linear Algebra (线性代数)Statistics (统计学) 是最重要和不可缺少的。这代表了Machine Learning中最主流的两大类方法的基础。一种是以研究函数和变换为重点的代数方法,比如Dimension reduction,feature extraction,Kernel等,一种是以研究统计模型和样本分布为重点的统计方法,比如Graphical model, Information theoretical models等。它们侧重虽有不同,但是常常是共同使用的,对于代数方法,往往需要统计上的解释,对于统计模型,其具体计算则需要代数的帮助。

以代数和统计为出发点,继续往深处走,我们会发现需要更多的数学。

Calculus (微积分),只是数学分析体系的基础。其基础性作用不言而喻。Learning研究的大部分问题是在连续的度量空间进行的,无论代数还是统计,在研究优化问题的时候,对一个映射的微分或者梯度的分析总是不可避免。而在统计学中,Marginalization和积分更是密不可分——不过,以解析形式把积分导出来的情况则不多见。

Partial Differential Equation (偏微分方程),这主要用于描述动态过程,或者仿动态过程。这个学科在Vision中用得比Learning多,主要用于描述连续场的运动或者扩散过程。比如Level set, Optical flow都是这方面的典型例子。

Functional Analysis (泛函分析), 通俗地,可以理解为微积分从有限维空间到无限维空间的拓展——当然了,它实际上远不止于此。在这个地方,函数以及其所作用的对象之间存在的对偶关系扮演了非常重要的角色。Learning发展至今,也在向无限维延伸——从研究有限维向量的问题到以无限维的函数为研究对象。Kernel Learning 和 Gaussian Process 是其中典型的例子——其中的核心概念都是Kernel。很多做Learning的人把Kernel简单理解为Kernel trick的运用,这就把kernel的意义严重弱化了。在泛函里面,Kernel (Inner Product) 是建立整个博大的代数体系的根本,从metric, transform到spectrum都根源于此。

Measure Theory (测度理论),这是和实分析关系非常密切的学科。但是测度理论并不限于此。从某种意义上说,Real Analysis可以从Lebesgue Measure(勒贝格测度)推演,不过其实还有很多别的测度体系——概率本身就是一种测度。测度理论对于Learning的意义是根本的,现代统计学整个就是建立在测度理论的基础之上——虽然初级的概率论教科书一般不这样引入。在看一些统计方面的文章的时候,你可能会发现,它们会把统计的公式改用测度来表达,这样做有两个好处:所有的推导和结论不用分别给连续分布和离散分布各自写一遍了,这两种东西都可以用同一的测度形式表达:连续分布的积分基于Lebesgue测度,离散分布的求和基于计数测度,而且还能推广到那种既不连续又不离散的分布中去(这种东西不是数学家的游戏,而是已经在实用的东西,在Dirchlet Process或者Pitman-Yor Process里面会经常看到)。而且,即使是连续积分,如果不是在欧氏空间进行,而是在更一般的拓扑空间(比如微分流形或者变换群),那么传统的黎曼积分(就是大学一年级在微积分课学的那种)就不work了,你可能需要它们的一些推广,比如Haar Measure或者Lebesgue-Stieltjes积分。

Topology(拓扑学),这是学术中很基础的学科。它一般不直接提供方法,但是它的很多概念和定理是其它数学分支的基石。看很多别的数学的时候,你会经常接触这样一些概念:Open set / Closed set,set basis,Hausdauf,  continuous function,metric space,  Cauchy sequence, neighborhood,  compactness, connectivity。很多这些也许在大学一年级就学习过一些,当时是基于极限的概念获得的。如果,看过拓扑学之后,对这些概念的认识会有根本性的拓展。比如,连续函数,当时是由epison法定义的,就是无论取多小的正数epsilon,都存在xxx,使得xxx。这是需要一种metric去度量距离的,在general topology里面,对于连续函数的定义连坐标和距离都不需要——如果一个映射使得开集的原像是开集,它就是连续的——至于开集是基于集合论定义的,不是通常的开区间的意思。这只是最简单的例子。当然,我们研究learning也许不需要深究这些数学概念背后的公理体系,但是,打破原来定义的概念的局限在很多问题上是必须的——尤其是当你研究的东西它不是在欧氏空间里面的时候——正交矩阵,变换群,流形,概率分布的空间,都属于此。

Differential Manifold (微分流形), 通俗地说它研究的是平滑的曲面。一个直接的印象是它是不是可以用来fitting一个surface什么的——当然这算是一种应用,但是这是非常初步的。本质上说,微分流形研究的是平滑的拓扑结构。一个空间构成微分流形的基本要素是局部平滑:从拓扑学来理解,就是它的任意局部都同胚于欧氏空间,从解析的角度来看,就是相容的局部坐标系统。当然,在全局上,它不要求和欧氏空间同胚。它除了可以用于刻画集合上的平滑曲面外,更重要的意义在于,它可以用于研究很多重要的集合。一个n-维线性空间的全部k-维子空间(k < n)就构成了一个微分流形——著名的Grassman Manifold。所有的标准正交阵也构成一个流形。一个变换群作用于一个空间形成的轨迹(Orbit) 也是通常会形成流形。在流形上,各种的分析方法,比如映射,微分,积分都被移植过来了。前一两年在Learning里面火了好长时间的Manifold Learning其实只是研究了这个分支的其中一个概念的应用: embedding。其实,它还有很多可以发掘的空间。

Lie Group Theory (李群论),一般意义的群论在Learning中被运用的不是很多,群论在Learning中用得较多的是它的一个重要方向Lie group。定义在平滑流行上的群,并且其群运算是平滑的话,那么这就叫李群。因为Learning和编码不同,更多关注的是连续空间,因为Lie group在各种群中对于Learning特别重要。各种子空间,线性变换,非奇异矩阵都基于通常意义的矩阵乘法构成李群。在李群中的映射,变换,度量,划分等等都对于Learning中代数方法的研究有重要指导意义。

Graph Theory(图论),图,由于它在表述各种关系的强大能力以及优雅的理论,高效的算法,越来越受到Learning领域的欢迎。经典图论,在Learning中的一个最重要应用就是graphical models了,它被成功运用于分析统计网络的结构和规划统计推断的流程。Graphical model所取得的成功,图论可谓功不可没。在Vision里面,maxflow (graphcut)算法在图像分割,Stereo还有各种能量优化中也广受应用。另外一个重要的图论分支就是Algebraic graph theory (代数图论),主要运用于图的谱分析,著名的应用包括Normalized Cut和Spectral Clustering。近年来在semi-supervised learning中受到特别关注。

1月4日

这个学期的research

基本功

过去的一个学期,主要精力都投放在课程学习上,而剩余的时间也主要用于关于Learning的一些主要方面的系统的学习和巩固,基本没有在提出新算法上走太远,CVPR 2008也没有投了。

但是,总体而言,这个学期过得非常充实,在Learning方面的基础在经过几个月的巩固,感觉有了明显的加强。在来这里之前,对于Graphical Model以及代表性的算法虽然已经了解,但是,具体使用和推导还不是特别熟练,Variational inference和Monte Carlo sampling的过程其实是一知半解。现在回顾那些曾经费了不少力气推导的模型和公式,已经驾轻就熟了,对于有相当复杂度的Probabilistic Network,基本能仅凭观察就得到整个Variational inference过程的update公式,或者相应的Sampling的scheme,不再需要在草稿纸上演算半天。

这方面的基本功的提升,已经开始对所进行的课题研究带来了好处,这帮助我更快地把握一个涉及多个方面的统计模型体系的工作原理,从指导model的设计和改进。不过,在一定程度上也约束了自己的思考。很多idea,在脑海中就被自己扼杀了,可能是因为我发现它在某个环节的计算上intractable,或者不符合统计学惯例。对一种知识体系的了解加深后,可能会形成一种思维惯性,束缚了开拓创新。

学术价值

回首在香港时期的工作,包括一些在几个Vision的重要会议上录取为Oral的paper,学术价值确实乏善可陈。平心而论,当时提出这些东西的时候,还是觉得很有价值,很exciting的——随着阅历的积累,逐步发现很多的东西,其实是在重复前人在另外一些领域中已经做过的一些工作的某种细化或者延伸。曾经有一些同学在网上对于我的工作的学术价值提出批评,他们的批评是中肯的。也触使我一再反思一个问题,什么样的工作才是有意义的。

关于学术价值的评价,不同的人,不同的时期会有不同的理解。我想,做过paper的朋友可能都有这样的经历:reviewer完全不屑于自己的工作。很多人都对于这种“低水平”的reviewer义愤填膺。这更多是源于背景差异导致的价值取向的不同。一项工作的意义,主要是下面一些方面

  • 新的理论,新的模型
  • 新的系统设计,或者新的应用形式
  • 实验性能的提高,更快,更准,或者更可靠。

理论背景的人,通常喜欢第一种类型,而认为第二种是A+B,第三种就更加没有理论价值了。而应用背景的人,喜欢第三种,而认为第一种是不切实际,没有实用价值。这两种价值观的鸿沟三,似乎不但没有弥合的趋势,反而越拉越大,导致的后果,则是新的理论成果投入实际应用非常艰难。大家都希望理论漂亮,实际又work的东西,不过,世界并不是那么完美的。

  • 理论优美,但是实际效果不好,更多的是表明,它需要实际工程上的锤炼和提高,这种工作需要的是工程学者的包容和帮助,而不是拒绝。
  • 没有理论基础,但是实际效果很好,这里面可能隐含了新的理论发现的机会,从而对这种方法为什么work给予有力解释,理论学者应该努力从中发现契机,帮助建立理论模型,而不是不屑于人家的所谓“没有理论价值。

就我本人而言,对于漂亮的理论一直抱有极大的热情,但是,我的导师们,包括徐老师,汤老师和Eric教授,都是特别注重应用效果的。在和他们的交流中,对于理论的热情可能会被冷却,但是,可能换来更加全面和冷静的考虑。也认识到,理论和实践彼此包容的可贵。

导师

在香港的时候,汤老师给了我充分的自由,所以我也发了好些现在看起来乱七八糟的paper,并且凭此获得进入MIT的通行证。那段时间,从idea到paper的全过程基本依靠自己。当然在开始和最后定稿的时候,也会和汤老师进行讨论——他更关心实验和应用设计,以及presentation的把握。

在这里,情况有了很大的改变。Eric是系主任,日常行政事务繁忙,很长才会见一面——我来到MIT后到现在和他总共meeting过3次,都没有涉及具体的学术讨论。但是,他给我安排了一个mentor,CSAIL的一位research scientist——我的无拘束的自由也结束了。说说我的这位mentor吧。

John, 是一个很smart的人,人也很nice。不怎么批评学生,我上学期因为上课的原因,没有做太多的进展,他也没说什么,呵呵。他是我的指导者中对数学细节了解最深入的人。我可以和他讨论每一个inference step,每一个optimization problem,每一个公式和实验结果。

他每个星期都会组织一次paper reading。不过这个reading不像我在香港时候那么轻松了。他找的不是learning的文章,很多时候找的都是information Theory或者Statistics领域的经典paper,那些paper往往是一些重要定理的提出文献。他带着我们把这些定理的证明逐条公式的go through。看着几十页全是公式的数学证明,走下这个过程实在是非常痛苦。

我每个星期参加一次他的paper reading,还要和他就research project meeting一次。众多的meeting,让我这个自由惯的人实在有点不太适应。

能和不同风格的mentor共事是一种重要的经历——我们经常有分歧,我也坦率告诉他,我不同意他的观点——但是我们的目标基本是一致的,经过讨论后会重新达成一致,或者我接受他的观点,或者反过来。只有自己一个人觉得好的东西,未必真的是好的;但是如果两个有背景差别的人都一致肯定的东西,它是好的的chance就大很多了。

1月3日

零下14度

刚从实验室走回来。经历了我所经历过的最低的温度——摄氏零下14度——迎风走来,整个脸都感到刺骨的冰冷。
 
 
1月2日

写在2008年的开端

已经很长时间没有在这里写东西了。虽然一直都想写点什么,不过,一到电脑面前总是要干一些更感兴趣的事情,也就拖到了现在。

今天是2008年的第一天(美国东部时间),新的一年开始,总是伴随着新的希冀。先祝愿亲人和朋友们健康快乐,于我自己而言,对于新的一年的期待则是比较单纯了——做一点有价值的research。

从圣诞前到现在,已经在寝室里呆了有些日子了,每天基本都是自己在家做饭,圣诞前储备的粮食也消耗得差不多了,也许从明天开始,就要恢复到正常的以实验室为主的生活。

这个假期,我过得非常的安静,基本上是以program和paper为伍,很多时候连msn都懒得上了。Variational inference / Mean field theory的世界确实很令人沉醉——这是statistical learning和convex optimization的交汇点。model和observation的对偶关系在exponential family的解构中变得豁然开朗,把一个统一的statistical learning的图景展现了出来。教科书上,learning都在致力于从observation去学习的过程,我一直在思考,人类的知识获取和传承的方式远比这个丰富,除了亲身观察,还可以从书本,老师,媒体那里学到很多东西,这些东西如何反映到machine learning中呢——就是model之间如何进行知识传承和交流呢。在Belief propagation和Junction tree的身上,也许我们已经看到了这样的影子,但是,从exponential family所直接体现的model parameter和mean statistics的对偶,以及由此所衍生的基于expectation的传播过程,让整个数学结构变得特别清晰,以前表面上很不一样的学习过程,在此得到了高度的统一——不仅仅是理解上的类似,而是真正的数学上的unification。

这段时间里,还把Ruby/Python/Lisp重新pick up了一下,有些时间没有太用上,对他们的把握有点衰减了——需要一个中继过程增强一下。最后还是觉得在脚本语言中,Ruby比Python更加符合自己的思维方式——Ruby对于很多问题的solution,简洁得amazing了——就像matlab对于各种代数运算的简洁表述一样。能用两行写出别的语言用20行搞不定的东西,并且还很好的保持语言的优雅直观——这种能力在我对于一门语言的审美中是有重要地位的。相比而言,Python的语言有点局限(主要源于它one way to do one thing的哲学,这对于大项目中保持编码的一致性很有帮助,不过,对于让program author充分发挥创造力则不如Ruby),Lisp虽然灵活,但是它的写法(前缀表达,比如1+2在它那要写成(+ 1 2))像是写给机器看的,不是写给人看的,而且太多的括号了。

新年的第一篇就写和学术有关的东西,也许太boring了。不过,对我来说,这些确实是这段时间真正能让我振奋的东西——希望这种兴奋能一直延续。