八年后的双年展

第一次听说双年展是刚进大学,直到第一次看双年展已经过了八年。

双年展在黄浦江畔的当代艺术博物馆,虽然是上海土著,我也是第一次来。潮湿的霾混杂着厚重的油漆味,几十米的排队进馆,黄牛都不见踪影,似乎很符合20快一张的门票。

不过展览本身是物超所值的。二楼有个形似月球表面的巨大水泥石板,从边上的通道进入地下,里面是核爆或者行星撞击后的星球残骸,气氛营造得恰到好处,不至于太假也不会逼真得吓到高血压病人。唯一的小缺点是不太适合拍照。

艺术展,不论是经典的还是前卫的,对我来说都不太看得懂的,但双年展融入了不少趣味和科技的元素,但没有平凡到科技馆的水平,还是留给人一丝看不懂,可以说是给大众看的艺术。也正是因为受众太广,在黄浦江畔这样一个貌似破落工厂的地方也是摩肩接踵,想拍两张照片发朋友圈也找不到太好的视角。

 

毕业与尴尬的硕士学位

前阵子完成了硕士论文答辩,成绩给了优,答辩主席还惊讶地说“硕士做了这么多事?”。不意外,不兴奋,也没有感到轻松。硕士答辩不会有什么悬念,毕竟是三年的工作量,和本科的半年不一样。有趣的是我的本科毕业论文的确做得很糟糕,也许是直研的同学里最差的,也致使我在读研的前半年时间里非常惶恐。

前两天递交了优秀硕士论文申请表,结果要看之前递交的论文有几篇能在未来一年内发表。这么说来优秀硕士论文是一个悖论,能拿到这个奖项的硕士都满足了博士毕业的论文要求,差的就是少在学校待了两年,少了两年的苦闷和磨难。

在工作之后,博士与硕士仍有质的区别。刚入职的硕士也许比本科生多了一些研究经验和问题解决能力,而长远看来会收敛到一样;如果硕士和自己的本科同学比较,也许会发现别人还多了三年工作经验,能力一点不差。自己的三年研究经历和一两篇论文也只能敝帚自珍而已。

晨跑尝试

回想大学前两年是要求晨跑的,不过是看作一项折磨,每天眼睛没彻底睁开就骑车到晨跑的地点昏昏沉沉跑两圈刷卡走人,痛不欲生,此时回去睡的回笼觉是最舒服 的。不过一天的精神也就毁了。大家对晨跑都颇有微词,例如晨跑是给食堂早餐创收的阴谋论,晨跑毁一天的科学证据都在那时尚不是空城的人人网疯转。也有一宿 舍每天派出一人晨跑刷六张卡的田忌赛马策略。

最近晚上没时间跑步,精神状态不佳。于是尝试了两天晨跑,的确对当天的精神状态有帮助。

前天是第一次跑,早期有些头疼,空气里有些霾,迎着头皮跑到家附近的运动场,绕着外圈跑了两圈后回家。昨天再次尝试,状态好了不少。跑完的感觉是白天干活不犯困,注意力比较容易集中,对咖啡的念想不是特别厉害,工作效率也听高的。

今天早晨看了空气质量较差,懒病发作没有跑。现在做了半个小时PPT有些犯困,开始翻手机闲逛,渴望中午的咖啡。明天打算继续跑。

研究者与开发者的代码

计算机学科研究者和软件开发人员都会编写大量的代码,但这是非常不同的。从目的来讲,前者通常是面向计算结果的,服务对象就是自己;而后者大多是面向使用者的,虽然使用者可能是外部用户,也有可能是公司内部人员(所谓in-house programmer)。

如前所述,作为研究人员,一段代码的存在意义是计算结果,并且通常情况下只需要那一批结果。所以首要目标是快速写出代码,所以各种快速编程语言在研究者中非常流行,如Matlab, python等。

另外一点不同是研究人员并没有自己的产品经理(PI也许算,但是不太会给予具体实验层面上的指示),并且每个小时都会有新的需求。造成研究人员写了大量代码,其中大部分自己也不记得是用来干什么的。删除怕以后要用,不删碍眼占地方。

这种状况的一个结果是代码质量相对较低,当然这并不是绝对的。研究人员的代码并不像他们的文章那样经过同行评审,而大多数开发人员的代码都会经过同时的code review。所以平均来讲,研究者的代码无论在正确性、可读性、执行效率方面都会逊于公司开发的代码。这也一直被人诟病的一点。

有效缓解这种问题的方法之一就是公开代码。优秀工作公开代码必然会被千百人复用。对于研究者来说,这是检验自己代码、证明自己工程能力的好机会;对于使用者来说,这可以降低增量工作难度;但是公开代码也有可能面临被人发现问题、未来工作被人抢先一步等等问题。

服务扁平化与主成分分析

最近试用了一下七牛的云储服务,甚至没有登陆服务器的概念,通过一些网络请求,就完成了存储和访问的功能。说是试用,其实只是了解一下,我个人并没有什么需要用到云存储的项目。

不得不承认,这对开发者来说是一个很方便的服务,它把一个典型应用中非常重要的一部分抽离出来,作为一个使用简单的黑箱工具,并提供了非常稳定的服务质量。以往开发者可能需要根据应用本身的需求,搭建磁盘阵列、寻找合适的管理软件、部署到各ISP的机房等等。而一旦服务被抽离出来,开发者只要通过API接入,不必担心具体的实现、性能,因为这些都有专门的保障。这是此类服务的第一个好处,简单。

第二个好处在于成本的降低,用多少资源支付多少钱。这在自己负责一切的场景下也是不可能的。这样的服务收费将开发入门门槛降得很低。

事实上现在有很多这样针对企业级的开发服务,包括存储、加速、图片内容鉴别等等。这些服务的共性在于抽取了市面上很多应用必须完成的功能,提供简单、可靠、廉价的替代品。以统计学习中的主成分分析来看,就是寻找应用中最大的共性(当然也是最大的开发痛点,反正都是痛点),提供简单可靠的替代品。例如大家都要部署服务器,那就干脆买下很多高性能服务器,作为VPS对外提供,用户可以选择虚拟的硬件配置,点击确定之后连系统都安装好了,只管登陆就是了;然后需要第二大的共性。例如提供简单的存储服务等等;更加精细化的服务可以是针对内容的图像识别、文本鉴别等等。

阅读与审稿

阅读与审稿在很大程度上是可以互相借鉴的,这其中包括迅速提炼文章中心,寻找论点,检查论点可靠性等等。所以读书多了看论文也很快,审文章也比较轻松。当然审文章还有些自己的套路,比如之前提过的,审不出问题就举几篇近期相同研究要求作者增加对比实验等等。但是审文章和读书有个很大的不同,那就是阅读的目的。

在科研分工越来越扁平化的时代,大多数研究工作是增量式的。这其中包括:
1)大多数文章的研究问题是已经良定义的。甚至有着标准的数据集和所谓state-of-the-art的比较方法,只要按照一样的规则进行对比,就可以写成八股文样式的作品;2)大多数文章的方法是对前人工作的改进。例如在我研究生的研究领域,大量文章不过是改进某些经典算子。其实严格的讲,都无人确认算子是否真正被改进了,或者只是工作流程中别的部分被强行优化了。
所以,审稿碰到这样的工作时——很大概率会碰到,而且我相信大多数人希望碰到,因为对自己熟悉的领域,一般10到15分钟就可以读完一篇文章——首要目的并不是汲取什么优点,而是迅速找到问题,给出修改或者拒绝意见。这就意味着,这种带着目的的阅读,是去寻找缺点的,潜意识会利用类似速读的技巧忽略别的东西。

如果把这种阅读“技巧”用在读书上,那几乎每本书都有问题。的确习惯了审稿的思维后,读书很容易找出问题,我前阵子发现自己的豆瓣书评可以罗列书中很多缺点。

最近突然意识到,我自己花钱买书并不是要帮作者找问题的。所以读书应当抱着寻宝的心态,寻找文章中有益的内容,以长期功利的目的阅读。这样,即使再烂的书也能找到写好东西,也不太会抱怨看被书商营销给骗了。

两种研究方式

读研究生可能碰到各种导师,但可以分成两类。一种会集合各方资源整出文章,也许一进实验室就会接手前人的工作,做完了有专人负责改文章,别人还在听如何做研究的讲座时他已经投了文章在修改了。另一种会让学生学基础课程看经典论文查新文献写报告复现实验设计新方法写论文投稿,可能别人开始找工作了他终于拿到返修意见开始补实验了。

这两种模式的区别在于前者的目标是研究成果,后者的目标是个人能力。一种方式只能有一个目标,说提升个人能力顺带发文章或者发文章中磨练个人能力都是骗人的,只是不小心发现还有另一个好处罢了。有两个目标的优化问题不好解;只有一个目标,还能求导,那就最方便了。

对读研究生的个人来讲,前者感觉师傅像欧阳锋,因为出成绩快,练一个礼拜就可以仗剑行江湖了;后者像所有武林正派一样慢,练了好多年终于有点小成,不过你要是在华山派就还可以练下去,在研究生院就要毕业了。至于他们会不会在十多年后重新站在同一起跑线上,不知道……

写写关于论文的焦虑

邻近毕业,有人在毕业游,有人结束了毕业游开始去公司实习,而我在修论文,一篇与毕业无关的论文。说实话,这是篇很糟糕的文章。刚开始做的时候太急,时间长了就看出来其实没啥理论贡献,有效性也值得商榷。

按审稿人意见补实验,证明某些条件下效果真的是没法看的。但是到这个份上已经没得商量了,老板改过,合作者改过,我更是投了大把时间进去。如果现在要退出,即使大家同意脸色也不会好看,而我要带着遗憾和浪费掉的时间滚蛋;如果硬撑下去,可能被二审毙掉,也有可能再改一轮,无论哪种,现在都没人能帮忙,只有删掉一部分代码,忽略之前浪费的时间,把论文和代码重新写下去。

写文章是一件很孤独的事,只有自己知道在做什么。审稿人可以轻轻松松让你补实验,这是最不用脑子的一件,每个方向都有大把文章,“你应该和这个比比”,所以最简单的审稿只要5分钟,而且内容还很充实,够作者玩几个月。至于改进工作的意见,审稿人八成是给不了的,即使有也会私藏。

某些时候,比如现在,写文章不是学术能力的问题,是能不能顶着压力在审稿意见里闪躲腾挪让文章看起来修改好了的能力。让审稿人看到诚意和工作量,一般人也就不敢说话了,文章新意也不太重要了。文章也许还是没修好,但是再扯下去面子上是不是过不去呢。刊发的文章经常会看到突兀的章节甚至自问自答,八成都是审稿人作祟。

再写下去有意义么?似乎没什么正面意义,多一篇文章对一个不走学术道路的人没意义,写一条转发量大的微博都有人感兴趣但这个没有;学一个10多年没人用的算法也没意义,茶余饭后也没人听这个;考验个人能力么,大概可以磨练磨练情绪控制能力,毕竟砸了不少东西了。唯一的意义是防御性的,不让在学校的最后几个月留下一个大大的失败,扯淡也要把文章再扔回审稿人手上。

写综述中

写了一个多月的综述终于有些成型了,这种应该能给老板一个初稿,心情放松了不少。再次发现了这条真理:写论文先把要写的东西都涂上去就好了,写再烂都没关系。从无到有是最难的一步;相比之下,把一篇烂文章改通顺则简单多了。

写论文会碰上各种障碍,比如写着写着意识到要画示意图,要插参考文献,这些并不是能够信手拈来的。插图要截图或者自己画,导出正确的格式,插一堆Latex代码,而参考文献需要找bib文件、改引用格式等等。所以第一稿论文完全可以不顾写得多烂、语言不通顺或者幼稚,能把需要的信息都放在文件里,让修改时能专注改语言改逻辑就很不错了。毕竟,就算写成小学生作文的风格,也是自己看。

尽管每次初稿快完成时都有这种隐约的顿悟感,但是下次从头写文章还是会被空白的文档束缚住,纠结篇幅不够、文字不通等等问题,仔细想想其实不必。

关于减肥

去年下半年胖了10斤,严重偏离正常水平。当时同时处理两篇文章的投稿和修改,另外还有撰写专利和找实习找工作等等事务。压力之下也就顾不得健康饮食,经常睡前吃牛油蛋糕、巧克力蛋糕等等高热量食物,的确能换得一时的爽快。不过久而久之体重也就上去了。

后来有段比较清闲的时光,打算减减肥。跑步、节食体重很轻松的剪掉了15斤,智能体重秤上显示脂肪率等等指标都达标了。

跑步之前讲过了,最难的部分是穿上运动鞋跑出去;

节食稍微有点难,每天回到家还是习惯性地渴望高糖高油的蛋糕。但是坚持几天基本就可以走上正轨。如果忍不住某天晚上吃了些零食,可能会再次进入一到晚上就熬不住想吃东西的困境。所以我的办法是回家水果管饱,虽然糖分也不少,总比蛋糕健康些。

另一个意外收获就是学会了吃蔬菜。以前当然也吃蔬菜,但总觉得食堂的蔬菜难吃至极,在学校总是基本是荤菜加点心的饮食配置。决心减肥后逼着自己吃了几天蔬菜,发现食堂的蔬菜还都挺不错的,除了青菜连着根偶尔带着消毒水味之外都可以接受,平均水平还比荤菜烧得好些。现在吃食堂也是蔬菜为主了。

所以减肥本身似乎没有给我带来直观的身体改善,倒是给我引荐了一堆好吃的蔬菜吧……