Category: 没想好放哪

6月26日看片会:人工智能如何改变世界

虽然医生嘱咐要静养,可谁让“小姬看片会”那么好玩呢?周六下午两点钟,我顶着大太阳来到微软亚洲研究院地下一层的会议厅,加入了第9期小姬看片会。

本次看片会的主题是“人工智能如何改变世界”,选的影片是BBC的VISIONS OF THE FUTURE。这样“科技含量高”(用松鼠的行话说,就是“高级”),又比较偏IT的主题,放在这里举办(尤其还有免费饮料提供),真是再合适也没有了。
参加的人很多,看来大家热情都比较高,我首先找了个僻静地方“潜伏”下来,过会儿居然有人来打招呼,一看居然是刘未鹏,不久又遇到图灵的刘江老师。寒暄一阵,眼看影片要开始了,我提议搬三把椅子坐到中间的过道里,这样比较靠前,大家一致同意,于是搬了三把椅子,在过道里前后排成一列,影片正好开始。

影片分好几个方面,介绍了广义上的“人工智能”:模拟人类行为、虚拟现实、机器与生物的结合等等。关于狭义的“人工智能”,也就是与“智慧”相关的内容,并没有占太多的比重。我觉得,作为科普影片,这样的安排,是没有错的。
影片结束之后,照例是嘉宾与观众的互动环节,这次的嘉宾都很“高级”,几乎都是IT专业人士,即便有研究科幻非IT人士,来头也相当大。难能可贵的是,他们回答起问题来,丝毫没有普通人想象中的“死板”,而是妙趣横生,许多时候台上台下笑成一片,这正好应了松鼠会的口号:让科学变得有趣。另一方面,它也说明,活动办得非常成功。

我不是研究人工智能的,只是以前稍微看过一点点资料,参加完这次活动,也有两点想法,可惜小姬没给我当场提问的机会(观众实在是太热情了),写在自己blog上吧。
关于“人工智能”,我想大概可以分为好几个方面,之一就是“仿真”(也就是模拟生物体的机能),在片中我们可以看到,现在已经有机器人可以惟妙惟肖地模仿人类的许多行为,譬如会走路的机器人Asimo;换句话说,神秘而简单的生物行为,可以通过物理模型、数学公式来分解,加以实现。人类“潜意识”里的某些“感性”动作,譬如“向前走五步”,可以转化为一系列精妙的指令,以另一种方式来“理性”实现。当然,这个方面也存在困难,譬如王启宁博士所说,用电气元件模拟生物行为,总是存在若干困难,因而有时候,“电气元件–生物”混合的方式,反而效率更高。这一点在影片中也有提及,研究人员记录了小白鼠脑内的海马区(与短期记忆相关的区域)在不同情况下的电流脉冲,再照这些规则制造出芯片,植入小白鼠体内,据称“反应速度提高了40%左右”。我对这个例子很有兴趣,可惜,它在影片中只是一带而过。
另一个方面,也是大家非常感兴趣的方面,就是“机器能否具有智慧”,或者说“机器能否像人一样思维”。这个问题,关于这个问题,前面有过著名的图灵检验,后来塞尔教授又提出过“中文屋子”问题,于是产生了“强人工智能/弱人工智能”的分野。按照程序的逻辑,我们关心的是“接口”,而不是“实现”。也就是说,不管我们面对的“其实”是机器,还是人,只要我们无法做出区分,就可以认定,对方“就是”人,虽然就其“本质”上来说仍然是机器。我之所以对那个小白鼠的例子感兴趣,原因也在这里:如果我们不去关心这些脉冲所“承载”的意义,而只是在“黑屋子”外,模拟我们观察到的一切,能产生完全相同的结果,那么或许可以说,电脑模拟的这些信号,本身也“承载”了同样的意义?
关于这个问题,现场的毛老师也提到,关于“什么是人(智慧)”,我们目前可能很难给出一个确定的定义,而只能通过多个特征加以描述和归纳,如果机器实现了这些特征,我们仍然“愿意”觉得,这还是与人有区别的,或者说,大家心中,其实多少还有一点对“人类本质”的偏执。在我看来,这有点类似波普尔所说的“本质论”和“标签论”的关系,通过“贴标签”而不是“追求本质”的方式(譬如把某种现象定义为“重力”而不是研究“重力的本质是什么”),科学已经取得了长足的进展,未来有一天,如果我们彻底无法区分面对的是人还是机器,我们是认定“这就是人”,还是心智紊乱,或者苦心积虑地找到另一种“定义”,把对方排除出“人”的范畴?这是个有意思的问题。
另说一点,在看片的时候,我忽然想到象棋与围棋,机器“深蓝”已经可以在国际象棋上打败人类世界冠军,但是对于围棋,目前人工智能却束手无策,最好的围棋程序,也敌不过一般的围棋爱好者。大家认为,主要原因是围棋的可能性太多,决策树太过复杂,超过了目前计算机的计算能力。如果人类的大脑能够处理这样两类计算量迥然不同的任务,这到底说明,我们理解棋类游戏的算法思路有问题(也就是说,大脑的运算能力是一定的,只是我们还没找到围棋的高效算法),还是人类大脑的运算(思维)能力,其实是不能以单一维度衡量的(从某个维度上来说,在解决围棋的问题上,大脑可以展现出远远高于象棋的计算能力)?

好了,闲话这么多,就此打住。最后给松鼠会提两点意见:
1.我看片的时候,听讲解的同时看了看字幕,发现字幕有一些翻译错误,所幸不是很严重。因为字幕是合成在影片一起的,所以,这样的问题也不能怪罪松鼠会。不过以后准备材料时,多注意一些这样的细节(如果同一部片子有多个字幕,不妨选择质量最好的那个版本),另外互动环节如果出现问题应该当时纠正(比如有人说“吃转基因食品,我们的基因就会随之变化”,应当有人马上澄清),可能更好点。
2.如果能够在影片结束后,做一些入门性的背景介绍(譬如这一次的,可以介绍图灵检验,中文屋,图灵完备性等概念),这样可以真正“以科普为中心”,而不会“以影片为中心”,对主题起到辅助和补充的作用(而不限于影片所介绍的知识),在专业的嘉宾和热情的观众之间夯实基础的沟通桥梁,效果可能更好。

老高之野望

本期beta技术沙龙的主题是“手机之家新系统介绍及架构分享 ”。手机之家是老高(高春辉)一手创办的网站,在我的印象里,上一次记得高春晖还是他的“高春辉的个人主页”,之后,好像就一直在折腾手机之家。现在的手机之家,每天PV超过700万,作为一个手机专业网站,相当了得(从我看到的数据,远远超过友人网)。

因为堵车的缘故,我赶到活动现场,演讲已经过去了大半,只抓住个尾巴。不过,手机之家有7年的发展经验,浓缩到这小小的讲座,即便只窥到一鳞半爪,也是很有启发的。

印象比较深刻的一点是Cache的结构。通常,Cache都被“扁平化”为单层的key-value对,这样的好处是,Cache的用户都可以方便地使用,没有太多的限制;而坏处在于,数据的结构被完全拆散了,同一个对象可能会按照不同的key来存储,而且各个对象之间的关联完全不存在了。
对这个问题,手机之家的解决办法是,在Cache和应用程序之间增加一个管理层,将程序员与Cache隔离开来,程序员可以不关心Cache的机制,只需要按照namespace(也就是划分层级的规范)来开发就可以。这个管理层,可以实现对Cache中对象的批量操作,也可以在某个对象发生变化之后,更新相关联的对象(直接更新父节点)。
这种办法的效果不错,而且演讲结束之后,还有朋友专门提出关于namespace的问题,看来,大家都觉得这思路很巧妙。

另一点印象就是老高他们重点介绍的DAL,也就是Data Access Layer,它把存储和缓存整个装到一起,与业务逻辑层完全隔离——业务逻辑单元完全只需要按照DAL设定的“增、删、改、查”四个接口操作数据就可以了。虽然普通的DBMS(譬如最常见的MySQL)也提供了这四种操作的接口,但相比DAL,一方面缺乏高效的缓存管理,另一方面,在大负载量、大容量下应用,还需要做许多工作;而有了DAL,前端程序不但不需要关心表的设计和结构,甚至连表的切分都不需要关心,相当省心。目前的DAL可以应付手机之家的现状,但PPT中也介绍了DAL 2.0的若干构想,包括提供类似Lucene(也就是全文检索)的查询功能,以及拆分核心功能、兼容插件的架构。
看得出来,DAL好像要从一个为手机之家打造的模块,变成“通吃(兼容)各家网站”的工具,在过去,有手机之家的经验做积累,对于未来的走向,也有明确的规划。我觉得,这是一条有风险、也有前途的路:一方面,对于通用组件的开发,我时常感到头痛,也许是经验不够的缘故,事先定义好的接口,往往(必然)被新冒出的需求所困扰,或者修改接口,或者眼睁睁把新需求踢出自己的“一亩三分地”,承认自己干不了;另一方面,之前固然有LiveJournal造出memcached的例子,但这样的几率实在是不高,况且,国内开源软件的氛围也与国外大不相同。
不过,无论如何,我都很佩服老高的这种“野心”:敢想才能敢干,而且,如果DAL真的能成功,成为“现成”的解决方案,就能省下大量的资源,投入到更有意义更有价值的地方,这绝对是一件功德无量的事情。

有兴趣的朋友,可以参考活动的PPT🙂

手机之家的架构分享
beta沙龙-手机之家架构的发展和变化
与”手机之家新系统介绍及架构分享”有关

P.S.手机之家还在招聘 PHP/Java 人手,有意者给老高发邮件: gaochunhui (AT) gmail.com

2009年,我要做的

  1. 保证《技术领导之路》的质量。这本书,如果不出意外,应该是年中出版。每次看到《精通正则表达式》长长的勘误列表,收到热心读者的来信,都非常惭愧。《技术领导之路》会认真审校,尽最大可能减少错误。
  2. 重新开始写技术Blog。这一两年都没有认真写技术Blog,前天上网一点资料,不料中文英文大都不对,最后自己翻手册才搞定。目前网络的技术文章,翻译&转载的很多,而翻译&转载时,往往忽略了原文的图片,也弄乱了原文的数据格式,对普通文章来说,这可能不是问题,但对技术文章来说是很大的问题。我们写(或者翻译、转载)技术blog,有责任保证每一点都亲自测试过,否则容易导致“知识的退化”,给读者帮倒忙。
  3. 生活要更规律一些。随意性太强往往会浪费大量的时间、精力,这些年来我努力让自己的生活规律一点、再规律一点,虽然做的还很不够,但已经颇有收益。就像汽车匀速行驶时最省油一样,规律能够让我们的生活保持良好的节奏,提高效率。一个人的时间是有限的,效率提高了,才能做更多的事情,退一万步说,至少能获得更丰富的生活体验。
  4. 多看些书。查了去年在国图的借阅记录,只有不到30本,加上买的、从别处借的,零零总总也不超过50本,远没有达到自己每周1-2本书的预期。技术书看的更少,自己买了寥寥几本,倒是博文视点的赠书占了大头,想起来都非常惭愧。对知识的趣味和渴求,需要由不懈的阅读来支撑,否则很难维持。
  5. 准备动手写关于正则表达式的书。一方面是愧对博文视点的周老师一番好意,几次邀请;另一方面,我也希望能为《精通正则表达式》接上地气,真正让更多的朋友用好正则表达式,节省大家的时间。初步打算是,先在blog上发布一些想法、例子、文章,根据大家的反馈充实。这几年来,我欣喜地看到,许多专业书籍和文章也具有了真正的趣味,能真正做到深入浅出,让读者体会知识的妙趣,这很了不起。亚里士多德讲“人具有从知识中获得愉悦的本能”,我是深信不疑的。努力尝试写这本书,希望它能真正切合大家的需求,又有趣味,也需要各位读者理解并支持(欢迎留言,也欢迎致信yusheng.regex (AT) gmail.com)。

勘误更新

《精通正则表达式(第三版)》已经是第三次印刷了,最近又收到热心读者zhoche2008的来信,细细列出他自己整理的勘误列表。

仔细检查了一下,大部分是文字录入、拼写错误,但也有两处是程序的错误,对照英文版原书,发现原书也是错的,而且JeffreyErrata里面没有出现这两处错误。我仔细思考之后,确认是原书错误,并更正了这位读者的勘误建议,给Jeffrey留言确认,不料5分钟内就获收到回信“you are right…”

目前勘误列表已经更新,要在印刷本里修正,只能等第4次印刷了。

作为译者,我非常惭愧。

翻译中的短句

翻译英文句子时,往往会遇到一些“结构不完整”的句子,如果用平实的语言来处理,就会觉得光彩全失,此时不妨用同样“结构不完整”的中文短句来处理。只是,这要求译者有相当的功力。

举例来说,书评里有这样的句子:Good writing and good editing. 如果照原样翻译,可以作“写得好,编得也好”,但用短句毫无疑问更凝练:“编写俱佳”。

再举两个例子:

To teach is to learn.
若翻译为“教书等于学习”,意思倒是出来了,但总觉得味道差一点,因为原文是一句格言,这样翻译失却了形式美。“教就是学”,好像还是差点意思,最后翻译为“教学相长”,才感觉形神兼备。

Translations are like women–when they are faithful they are not beautiful,when they are beautiful they are not faithful.
这是 十九世纪英国的诗人兼批评家阿诺德(Matthew Arnold)的话,可以直译为“翻译就好像女人——如果她们忠诚,就不漂亮;如果她们漂亮,就不忠诚”,简略点可作“忠诚的不漂亮,漂亮的不忠诚”,其实可以再缩短点:“翻译如女子,忠则(者)不美,美则(者)不忠”。

易老师[补记]

世界真奇妙,《易老师》写完之后,有好几个地方转贴、讨论,最神奇的是,昨天我居然联系上了易老师。

在QQ上聊了几句。报上名来,易老师居然还记得,他感叹说:

看文章,想想当时才25岁,那么年轻,很美好啊
如今到了广州,看得开了,说得少了
“你年轻多打拼,老师老矣”
《易老师》那篇文章,我想转到自己的空间去,这也是难得的纪念
……

我说,“没问题,易老师喜欢就好”

末了,他说:“我接小孩去了,再见”
“易老师多保重”
“保重,88”