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

CSAIL: Linux vs. Windows

以前一直知道MIT尤其是CSAIL(前身是AI Lab)是自由软件的老巢。今天有幸亲身体验了一次这里对于windows的“敌意”。

今天,这里CSAIL的一位哥们向大家群发邮件要找一张XP安装盘。邮件内容如下:

Does anyone have Windows XP Home SP 2 install media* I can borrow for a short while?  I
don't need a license, just the media.
* I am aware of and a user of GNU/Linux and all the great alternatives it provides to
society.

点评一下:

1. 为了找一张Windows XP安装盘,竟然要给这个上千人的大实验室群发,看来此物几近绝迹。

2. 而且他特意强调自己是GNU/Linux的用户——难道,用Windows会有生命危险?

不过,这位兄台很快就发现自己说错话了——他受到了公开“批判”。对于此信的一封回信发到了整个CSAIL,内容如下

Calling GNU/Linux is an "alternative" to Windows is like calling democracy an "alternative" to dictatorship.
It's not wrong, but it's a drastic understatement.
I hope you can soon arrange to defenestrate(注:意为抛出窗外) the other machine.

看来,不但不能用,哪怕把windows和Linux一并谈论都是不正确的——阶级立场不够鲜明。至于那台不幸的电脑,因为装过Windows,竟然被要求掷出窗外。

这封对windows恨之入骨的回信的作者就是大名鼎鼎的Richard Stallman (简称RMS):他是MIT AI Lab的著名黑客,也是自由软件运动的创始人和“教父”。

前两天,他们问我要装什么操作系统,我“斩钉截铁”地告诉他们说我要装Linux——小声说一句,我其实还是挺怀念用Windows Vista的那半年的。

有点讽刺意味的是,CSAIL所在的Stata Center的一大部分建设经费就是Bill Gates大叔和微软的另一个头儿巴尔默捐赠的——一大群反对微软的斗士正在微软捐助的大楼工作。

 

在美国自己做的第一顿午饭

今天没有活动,早上起得晚,上午就不想出去了。呆在宿舍里自己做午饭。
 
Menu
-- 鸡腿青菜汤面
-- 姜葱炒鸡肉
 
很简单的家常菜,没有任何技术含量,但是比Student Center的汉堡好吃很多,呵呵。
 
在此一记,让某些人知道我也能下厨房,:-P
 
 
8月29日

在MIT选课

MIT的课程以繁重著称,然而数量上是很少的。Computer Science的学生要求在两年内通过4门课来完成Technical Qualify Examinations (TQE)——没错,只是4门——可是就是这4门课就已经足够把来到这里的精英们折腾得几乎完全失去了个人生活和研究的时间。师兄说,他一个学期修两门课,几乎所有时间(包括本来应该休息的时间)投进去才应付了课程的作业要求。从下星期开始,我也要面对如此艰巨的任务了。

这里开了一门Machine Learning的课,由Tommi Jaakkola主讲——一位向NIPS(Learning界一个顶尖会议)灌水就向吃饭那么平常的大牛。 因为想选这门课,我今天浏览了OCW上关于这门课的主页:http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-867Machine-LearningFall2002/CourseHome/index.htm

十四个星期把整个Learning领域几乎全部Cover:从传统的classification/regression/density estimation,到现在很热的topic包括spectral clustering, semisupervised learning, graphical models,从应用性很强的active learning, support vector machines到深奥的Learning基础理论computational complexity, VC dimension都覆盖了。我想,一个初学者如果学好了这门课,就已经具有了充分的基础在learning和vision领域进行创造性的前沿研究。

一直以来有一些朋友问我如何学好Learning,我现在的建议很简单,follow这门课的syllabus来学就行了。MIT很多课程都通过Open Course Ware对全世界公开的,大家可以到上面网址获取有关材料。

这门课的一些规定很有意思:

--- 鼓励集体合作完成作业,但不能抄袭:

You are encouraged to collaborate with other students while solving the problems but you will have to turn in your own solution. Copying will not be tolerated. If you collaborate, you must indicate all of your collaborators.

--- 修课的学生轮流负责批改作业:

Each problem set will be graded by a group of students with the guidance of your TA. Each problem set will be graded in a single grading session, usually on the first weekday after it is due, starting at 5pm. Every student is required to participate in one grading session.

除了课程作业,还有project。这里很多课程的Project很开放,一般没有固定题目——由学生自己决定,鼓励合作完成。但是,Project的深广度,以及对问题的深刻理解或者创新见解对于获取好的成绩是很重要的。我觉得,要是做好这么一个课程project,就已经足够发一篇不错的paper了。

计算机系的学生除了选本领域的课程,还必须修读跨领域的课程。他们把计算机的课分成三个领域:

  1. System(系统):3个topic:Programming Language(计算机语言理论,编译器),System Softwares(网络,数据库etc),Architecture (计算机体系结构)
  2. Theory(理论):2个topic:Complexity(复杂性理论,密码学),Algorithms(算法,分布式,随机算法,etc)
  3. Artificial Intelligence(人工智能):3个topic:应用性方向(Vision/Speech/NLP),Learning, Graphics

每个topic有若干门可选课程。4门课程必须属于4个不同topic,并且3个领域都得涵盖。

这样的安排,一方面每门课都有相当的深度,而修课的规定又保证了跨领域的广度。学生通过学习这些课程就在计算机方面建立了比别的学校的学生更为深广的基础。

8月26日

MIT杂谈

MIT是一个很奇异的地方,包括这里的建筑和人。

MIT奇怪建筑的代表当数闻名遐迩的Stata Center,大家可以参看Wiki的介绍:http://en.wikipedia.org/wiki/Stata_Center 

我想很多人都对它非常有性格的外观留下深刻印象——一位朋友说,设计师把一张纸蹂躏一下之后就让下面的人按照那个去建,呵呵。其实,除了外观奇特以外,内部也是非常诡异,今天带yaoyao去参观的时候在楼里面依旧迷路。为了让人能找到,在这个楼里面办公的教授们不得不在他们的主页上配个地图,指导来访者沿着什么路线去找他们的办公室。

MIT的建筑内一个重要的特点就是到处挂满黑板,休息室,走廊。。。。。。人们可以在任何地方附近迅速找到一个黑板来写下自己的idea,讨论问题,推导公式。甚至有人发现在MIT的某些厕所内部也挂着黑板——正好给解手的同学推算公式。这里有个照片为证:http://www.dingjia3.com/diary/showlog.asp?cat_id=30&log_id=631

MIT的学生也给我留下深刻印象。

昨天yaoyao到boston的时候,和在这里的几位朋友一起聚餐。晚饭后,我们一起到一个bar里面喝茶聊天。大家从一个回国问题引入到青蛙从热水里面跳出来的比喻,于是开始讨论水加热时的导热过程,最后竟然花了很长时间争论关于这个过程的偏微分方程的边界条件!然后从此开始,还引申出关于温度,沸腾,和局部微扰动的讨论。我正在猜想,是不是这里的人都有在酒吧里面讨论微分方程的嗜好呢,呵呵。

在MIT的同学都是非常出色的,在学术上的眼界也令人钦佩。如果你昨天中了一篇CVPR,今天兴高采烈地对着这里的一个人说的时候,你可能会听到这样的回答:噢,不错,我上个星期也中了篇文章,发在Science。。。。。这里有很多这样的口述故事,某某教授上一年对一个新topic感兴趣,于是开始看点基础知识,今年就在这个领域发了两篇Nature。。。。。

朋友说,查尔斯河是个心理的分界点,过了河,凭着MIT的崇高声望,你在世界上无论走到哪里都会受到尊重和羡慕;而在河的这边,一切的优越感都荡然无存了——街上随便抓着一个人,不是Harvard的就是MIT的——而你只是一个平凡的留学生,过着单调而又清贫的生活。

8月24日

校园琐记

在MIT的这两天,处理了一些必要的手续,然后就是在校园里外瞎逛了。

MIT校园不大,基本把几条主干道,和几个重要建筑的地理关系弄清楚了。和以前在科大有点类似,MIT的building都是用号码标记的。不过我对着地图研读了半天,也没有搞清楚号码之间有什么规律——为什么9,17,33放在一起,57后面的是32,etc。 在主校园的几十栋楼都通过室内走廊相连,连成的一个网络就是这里很著名的“无限长廊”——这样就可以在下雨天从校园一边走到另外一边不用打伞了。

计算机系所在的Stata Center,是整个校园外观最奇怪的建筑,这里面集中了成百上千的计算机天才。室内设计也是非常随意的——有点像没有规划的样子,休息厅,餐厅和实验室交错混集。很多实验室都是玻璃墙,甚至玻璃天花板——这里没有隐私可言——一切都被外面的人用好奇的眼光看着。所有实验室有人的时候都不关门,以方便不同实验室的人相互串门,交流学术。实验室内部的桌子也是东一张,西一张,斜的,正的,各种不同角度的,没有规律的随意摆放,

Stata Center的一楼有很多吃东西的地方。有一个小小的房间叫Library的,一排书架对着一张沙发。我路过的时候,看着一个人捧着书躺在那睡觉。人们可以随时随地在遍布校园的公用电脑登陆自己的系统,乃至控制server。

MIT校园旁边是查尔斯河——波士顿很著名的河流——它的著名是因为毗邻两大顶尖名校——哈佛和麻省理工。河两边绿树成荫,白天可以看到在河畔跑步的学生,还有河中的点点白帆,景致十分惬意。

8月23日

初游MIT和Harvard

在MIT的第一天,办了一些必要的手续后,和nannan一起走马观花地游了MIT和Harvard的部分校园。
 
总体来说,MIT的校园一般,但是部分建筑很具有创新特色,以Stata Center为代表。我们的照片没有拍出很好的效果,大家可以参看:
 
 
MIT还有很多奇形怪状的雕塑,我至今不明白是什么意思。Stata Center里面展出了MIT学生引以为傲的“恶作剧”的图片和实物。MIT学生的一些恶作剧的构思是很奇妙的,真的做出了我们认为简直异想天开的事情,比如把Caltech的镇校之宝——一尊加龙炮——偷走运到MIT,还有在校庆之际把一辆警车神不知鬼不觉弄到学校主楼的圆顶上——这辆警车现在在Stata Center当展览品展出。
 
Harvard的校园是那种传统的树荫草坪加历史建筑的风格,文化氛围浓厚。整体而言的景色比MIT漂亮很多,但是缺少特色。
 
部分照片已经上传到Blog的相册,欢迎大家观看。
 
8月20日

明天出发

朋友们,再见了。请大家珍重。
 
8月11日

在母校的岁月

前几天回到了母校——中国科学技术大学——我曾经生活了四年的地方。

分别一年,合肥发生了很大的变化,很多路都不太认得了;而科大的一切——芳花园,图书馆,教三楼——依旧是如此亲切,三年前的岁月犹如昨日。

科大的校园不大,在校内基本上只需步行——相比于国内很多非常庞大的学校,可以说是十分玲珑了。校园很宁静。在这读书的时候,总喜欢在湖边慢慢的散步,思考。在芳华湖畔的两个蘑菇亭,不时可以看到一些同学在那看书。

科大的学风是很自由的,甚至于有点散漫。有些课的老师可能会点名,但是大家总是有办法应付的。我在那个时候经常逃课——因为我不是很想花45分钟去做一件我本来可以用不到10分钟完成的事情。逃课的时候一般都是到图书馆去,按照自己的计划学习。在大一到大三上学期,我都是图书馆的常客。我们班上还有一位四年如一日在图书馆自习的同学——谢瑶同学,她现在已经在拿Stanford EE的SGF Fellowship了——她的勤奋和进取,一直让我非常敬佩。从大一的很少缺课,到了大三,变成很少上课了,每天都是直接去图书馆自习。很多同学说图书馆太闷热了——但是我觉得那里学习的氛围很好——至少比三教更好一些。

科大的作业不算很繁重,但是,我经常不太愿意做作业——所以,一般都赶在交作业前那个晚上完成。有好几次甚至忘了要做作业了,或者觉得那些题目不想做——那么,我就干脆不做了。不过,我从来没有抄过别人的作业——宁愿那次的分数不要了。不过,写程序的作业我一般特别感兴趣。通常都超额若干倍完成,然后把老师需要的那个子集拿出来交作业。那个时候,总是以追求完美的态度去写每一个program,写完后特别有成就感——虽然回头看来,当时写的程序不免有点稚嫩。

科大的考试不多,很多课程只有期末考试,题目也不算很难。很多人说只要考前临时抱佛脚,就能拿不错的成绩——不过,那不是我的风格。基本上,整个学期的投入还是比较平均的。其实,我有我自己的进度——不受老师和考试的影响——他们安排他们的,我安排我的——除了一条,我会准时出现在考场。大家最紧张复习的时候,我通常会跑到市中心闲逛。

科大的食堂一直是大家不满意的对象。记得,我当时刚入学就发生过罢吃的事件。尽管如此,这里还是给我留下了很深的回忆。当时,科大的食堂中午一般11点开始供应午饭,上午的课一般到11点40分才下课——那个时候人会特别多,以至于找一个吃饭的位置都是很艰难的任务。因此,我一般一到11点就提前逃离课堂,然后到食堂边上的报摊买一份报纸或者杂志。因为,去得早,人少,我一般都能安安静静地一边吃饭一边看报,吃完的时候,也看完了——这个时候高峰期刚刚开始。

说起在科大的生活,不能不提到一个人——戚伯云教授。他是把我的招生老师。他是一位非常负责任的老师,不仅仅把招生做好,对于每一个他招进来的学生都特别照顾。记得,我刚入学不久,就因为某些原因生病了。在我特别无助的时候,他和他的夫人——周老师,把我接到他们家里照顾。戚老师亲自把我送到医院,陪我看病,周老师为我煮粥。有一年夏天特别炎热,我晚上一直没睡好,他们又让我在他们家里住了半个月,直到考完试。平时,他们也经常找大家到他家里吃饭。对于戚老师一家四年来的照顾,我心里一直特别感激。

离开母校三年,至今仍然怀着很深的情感。我迈向梦想的每一步都离不开科大对我的影响——不仅仅是课堂,科大一直以她的历史,她的文化,和她的氛围影响着她的每一个学子——包括我还有我的导师汤老师。在以后的道路上,我还将继续用自己的努力和成绩说明:科大,以及从那里走出来的同学,是值得骄傲的。

关于大学生活的一些细节,大家还可以看看[1]。

[1] 男男.送达哥。2007年8月10日.

(作为对男男的礼物的答谢,在此先reference一把)

 

8月7日

Learning 2.0

这是一个满城尽是Web 2.0的时代。Web 2.0是什么?我不是互联网专家,没有资格给它下个定义。就我的感觉,它的一个重要的方面就是让广大的网民参与到了互联网内容的创作中去——互联网由此所焕发的新的生机远远超越了由专门网站提供信息的时代。

人的参与,使这个时代的主题。这样的趋势似乎还渗透到了象牙塔的深处——Machine Learning也开始引入了人的要素。

Machine Learning最根本的宗旨就是把人从脑力劳动中解放出来——因此,几十年来,全自动方法一直统治着这个领域——Active Learning虽然有很长的历史了,但是似乎一直不是最主流的。最近,越来越多的topic开始引入learning和user interaction的结合,无论学术界还是工业界都开始关注这样的课题了。微软研究院在这个方面做了很多重要的工作——从image/video的编辑和组织到网络搜索——"上手"为破解传统的Learning难题开辟了新的途径。

如果说传统的封闭式的Learning方法和模型代表了Learning 1.0的时代,也许Interaction的引入将开创了一个新的时代Learning 2.0。对于Learning,我属于刚进门的小辈,不敢为这个博大精深的领域断代——这里的“版本号”仅仅是借用当代的热门语汇,方便表达。

是否存在user interaction这不仅仅是一个应用策略的问题,在我看来它给Learning的研究带来了新的课题和新的思考方式。

传统的learning topic,无论是classification, clustering, metric learning还是regression,都有着固定的input和output,从input到output是一blackbox,用户是不能参与的。算法优劣的评定也有着相对固定的准则,比如错误率,重建误差等等。很多情况下,learning的问题最终归结为求解某些参数的优化问题。

这种在数学上的抽象,在历史上对于Learning的进步发挥了巨大作用,直到今天,很多研究还是沿着这样的思路进行,把一个现实问题抽象为数学问题,然后导出求解方法,讨论其性质等等。

可是走到今天,这样的做法在很多现实课题上出现困难——由于问题的封闭,性能的提升遇到了瓶颈,研究上的创新受到了障碍。

researcher们开始发现在learning进行的过程开放给人的参与,在很多情况下取得了满意的效果。比如在segmentation的过程中加入人工的导向,在clustering的过程中引入user的指导和纠正,在ranking的过程中融入主观的preference。许多的工作已经在利用这样的手段取得可喜的进展。

对于应用来说,interaction的引入为弥合数学过程和现实应用的差距指出了一条feasible的道路,另外,对于研究来说,它开拓了许多新的课题。问题的formulation不再局限于input/output的单一结构,同一个事情,不同的用户介入方式都可能产生不同的数学抽象。而用户如何介入,何时介入,介入程度多深,如何对方案的优劣进行合理评价,都是值得研究的题目,在很多area甚至是处女地。很多人以为,这些属于工程开发的问题,而事实上,很多这样的东西只要深入思考,可以发掘在理论上很有价值的题目。