编程、魔法和智商

科幻作家阿瑟·克拉克的第三定律:任何非常先进的技术,初看都与魔法无异。

和同学谈到编程的话题时,有人说跟着小孩一起学习几节课就跟不上了,觉得很神奇,需要高智商才玩得转,我马上就想到克拉克的这句名言。
计算机语言联通现实世界和虚拟世界,能够驱动机器做出一般人类无法理解的事情,这和魔法确实也相去不远了。

这样看来:
程序员就是魔法师(资深单身程序员就是大魔法师,嗯嗯嗯);
程序代码就是魔法咒语,需要符合规则才能正常运行,有 bug 的话天知道会有什么糟糕的结果;
编程学习就是魔法学习,有的人在魔法学院接受专业的训练,有的人则利用魔法书自学成才;
有计算机系统加成的武器相当于附魔武器;
虚拟世界相当于用魔法创造出来的世界:
……

当然,这种观点早就存在,所以有《简单易懂的现代魔法》这样的动画,有简明现代魔法这样的编程社区,有《屠龙之技》这样的科幻小说。

不过现代社会中,计算机技术的应用已经比奇幻世界中的魔法深入宽广得多了,许多行业都已经离不开计算机技术的助力,小说中的魔法师学徒也没有 Github、Stack Overflow 以及各种开源社区、免费教学这样好的学习、交流条件。
也许在未来,每个人都需要懂一点计算机技术特别是编程知识,才能胜任工作,这几乎不会在以中世纪欧洲为设定背景的等级森严的奇幻小说中发生。

再说说编程和智商的关系。

鉴于智商没有科学的评判标准,一般行外人的看法准确说应该是“头脑聪明的人才能掌握编程”。
我们确实听说过无数智慧超人的业界大牛的神奇传说,一个人顶一万人不在话下,但抛开神话光环之外,这些人也只是这个行业中最顶尖的那一小撮,真的有代表性吗?
日常接触到的程序员总的来说其头脑聪慧程度并没有高人一等,和你我都是一样的凡人,唯一的区别只是他们用于创造生产的工具和能力在外行人看来有如魔法。

其实每个行业都是最顶尖、最先驱的开创者才需要极高的智商去开拓知识的荒原、探索未知的海洋。
绝大部分人则是挤在正态分布的中间位置,在牛人的基础之上不断拓宽和加深,并且应用到日常生活之中。
对他们来说,重要的是沟通理解和表达能力,是勤奋、耐心,是有益于合作和精耕的各种素质,所谓“智商”没有决定作用。
这就好像靠个人能力名扬天下的技击高手和由默默无闻的普通战士组成的军队,后者单个人在前者眼里可能战斗力只有5,然而后者自有一套分工合作的机制,不依赖于个人战斗力也能发挥出惊人的作用。

实际接触到的程序员也是如此。
确实有少数人天资聪颖,一般人拍马也追不上——而且不止在编程方面,在其他方面都是如此。头脑聪明的人更善于找到最优解方法,几乎干什么都事半功倍。
但绝大多数仍是普通人的水平,哪有外行人说的那样高智商?脑子转不过弯乃至进水的也不在少数。不了解的人看不见而已。

另一个原因,也许是一个行业历史越短,成熟的经验、规范和方法论越少,则天才型的人物越容易出头、越容易被神化。
也许在不久的未来,编程这个行当会像现代工厂中的流水线作业一样,分工越来越明确,需要个人发挥创造力的地方越来越少,创造性的工作只交给少数专业人士负责,大部分人和制造业工人没有什么区别,甚至慢慢被人工智能取代。现在一些创业公司喜欢鼓吹的什么弹性工作制、带宠物上班、游戏和零食等福利,放在未来那个时候大概会是天方夜谭吧。


2016年欧洲杯法国队表现短评

年纪大了,没法场场熬夜看球,只能看回放加决赛看直播。

这届法国队出征的目的是为2018年世界杯练兵,目标是四强,而且赛前有 Benzema 和 Valbuena 的场外闹剧,有中后场球员纷纷受伤退出的厄运,能够杀入决赛并且复仇苦主德国队,还是可以接受的。

不过从过程来看,挺进决赛并不是实力的真实反映,这支队伍的问题依然多多,随便一列就是一串:

1、小组赛时的433已经被证明运转不畅,中场三后腰太浪费了,Pogba 发挥不出俱乐部一半的实力,Kante 和 Matuidi 都很别扭;
改为4231之后,前场 Griezmann 解放出来了,Pogba 在后面调度,Giroud 在前面做支点中锋,面对弱队时还是表现不错的。
但总感觉调度欠缺火候,没有人有能力掌控节奏,不是乱拳打死对手,就是陷入绞杀战心浮气躁。
如何树立中场指挥官,并且让年轻球员成熟稳重起来,可谓法国队最大的任务。
都说 Pogba 是新生一代世界第一人,应该成为国家队核心,但在阵中的表现还不如 Griezmann、前几场的 Payet 等人。
除了位置与俱乐部中有所不同的原因之外,在国家队有时候踢大爷球,逆境下思路不清,关键时候出球不合理,仍有年轻天才球员的通病。
当然他还算年轻,不能要求像齐达内那样举重若轻,但如果仗着身强腿长继续这样踢,第一人的称号恐怕不会落在他头上。
当年的 C. Ronaldo 技术天赋甚至在他之上,但如果像刚到曼联时那样只知道耍耍花拳绣腿,脑子不开窍,哪有可能有今天的成就?

另外攻坚不利时有没有行之有效的第二、第三方案?目前也看不出来。
总不能依靠 Payet 时灵时不灵的远射吧?

3、Griezmann 无疑是淘汰赛以来表现最好,输出最精确的球员。
如果不是葡萄牙门将发挥出色,也许他已经在90分钟内解决战斗。
但 Griezmann 的影锋位置比较依赖身前 Giroud 的支点做球和吸引防守,加上自身身体条件有限,无法以他为核心运转。
挖掘出能替代 Giroud 的中锋做他的肉盾和辅助是当务之急。

4、Giroud 的表现没有什么可黑的,打脸侠拼尽了全力,完美发挥了既定的战术作用。
既能够吸引多名防守队员,为身后的攻击群开路,也能争顶头球,做前场支点和直接威胁球门,还能时不时前场抢断,黑他脚下拿球、带球技术不行就要求太高了。
问题是 Benzema 回归了怎么办?Griezmann 的作用会不会弱化?谁来扛住对方的中后卫?
如果 Benzema 还继续被排除在国家队之外,谁能充当可靠的替补?
Gignac 是不用指望了,这位仁兄除了决赛时好不容易等满了技能冷却时间来了一脚门柱之外,简直一无是处,不是拿球停出底线就是跑不到位、望球兴叹,人家 Giroud 虽说射门准度不行,起码机会还可以跑出来甚至自己创造出来呢。就是98年公认的水货前锋 Guivarc’h,浪费了无数射门良机,起码人家的中锋战术作用还有一点,而且没有身穿10号球衣。

5、中后卫人才储备虽然奢侈到 Deschamps 一直不召 Laporte 入队,但目前来看,只有 Koscielny 勉强可算世界一流中后卫,还要祈祷不要被对方身体素质优秀的球员针对性冲击。
其他的如 Varane、Sakho 等都需要时间历练。
Umtiti 起点很高,希望不要让人失望。
另外,从06年被意大利人虐到14年被德国人力压,中后卫防空的痼疾似乎仍未彻底解决,每次定位球我看着都心惊肉跳,越发怀念 Blanc 他们还在的日子。

6、边后卫人才断档问题不可忽视。
Evra 和 Sagna 已经是勉强支撑,三爷还莫名其妙脑子短路送个点球,可两个替补根本不放心放上场。
曾几何时,边后卫套上助攻是国家队常规武器,威力不逊于巴西的巅峰双边卫,如今反倒成了对方重点利用的漏洞。
而且老将退出国家队之后,放眼望去找不到可以顶上来的人才。
究竟是改变后场阵型和防守体系,还是凭借深厚的腰力弥补攻防两端的不足?这也是 Deschamps 以后要操心的。

7、Sisskho 的无脑猪突流看着是很爽,但不会控制节奏就是浪费体力;
Coman 的突破看着犀利,可传球时机的掌握实在糟糕,球商捉急怎能接过 Ribery 的班;
Payet 踢了几场好球,进了几个神仙球之后,就有点搞不清自己的角色,处理球越发不合理,决赛还下黑脚,堪称虎头蛇尾;
Martial 干脆浑浑噩噩,上场不知道来干嘛了。其实我觉得以他在曼联某些场次客串中锋的打法,至少也比 Gignac 这种降低己方士气的球员强。
角色球员执行力不行,喧兵夺主,看着场面热闹,实则对球队的胜利没有好处,这方面都应该向老实人 Matuidi 学习——虽然433时发挥糟糕,但那是 Deschamps 排兵布阵的锅,与他无关。

8、Deschamps 的教练水平还是有限,几次换人效果不彰,我就不重复其他人批评的观点了。
Ronaldo 受伤下场之后,总觉得他连应对的方案都没有,白白错过机会。
带入加时赛的节奏明显对法国队不利,也没有带摩纳哥和马赛时拼刺刀的果敢,换人还是那么循规蹈矩,当时就觉得危险了。
倒是在巨大压力下坚决拿下 Benzema 保证队伍团结可圈可点,但不提高赛前准备和临场调度水平,如何与其他传统强国的年轻教练对抗呢?
目前来说,从水平和资历而言,本土没有能够替代他的优秀教练(除非 Blanc 二进宫,但 PSG 带的并不如人意,国家队表现还不如 Deschamps),也许,要等 Zidane 在皇马练级练满了再继续到国家队来刷成就?

最后说说可圈可点之处和期望:

1、终于边赛边调整确认了4231的阵型为第一方案,希望接下来好好磨合,不要再干这种临时变阵的事情了;
2、找到了在国家队激活 Griezmann 的方法,拿到了赛事金靴。当然如前所说,还要丰富火力点才行;
3、Umtiti 毫不怯场,比 Rami 这种资历不够的老将还稳健,需要在人员齐整后尽快确定中后卫主力搭档和替补顺位;
4、Payet 的闪光说明,有一个哪怕是临时充数的中场大脑,带全队合理踢球,对这支法国队而言多么重要,长远来看 Payet 虽不可倚仗,但建队思路不能乱。
5、最后一点私心,多希望 Schneiderlin 能够踢上主力啊,现在看来他的顺位还在 Cabaye 之后,等到 Cabaye 和 Matuidi 淡出主力阵容,他只怕也要被层出不穷的后浪拍死了…


转基因食品无害报告作用不大

美国国家科学院发布报告宣布转基因食品对人体无害。转基因食品不会增加癌症、糖尿病、肥胖症、肾病、消化道疾病、过敏症以及自闭症等疾病的风险。

这篇报告 388 页,由 50 位来自美国国家科学院、工程院、医学院以及其他领域的学者专家分析 900 多份、时间跨度长达 20 年的研究与数据得出的结论。


看不惯反转基因的人可能会觉得扬眉吐气,其实对说服反转基因一派没有什么作用。
因为反转基因的理由有:
1、现在无害不代表没有潜在危害,而报告只能说明20年的有限方面的观察研究结果;
2、转基因这事有阴谋论,政府、公司或者科学机构都不可靠;
3、中国的食品安全不可靠,在国外没事不代表在国内也没事;
4、对人体没有危害不代表对环境没有危害;
5、现代科学改良过的食品就是没有“自然”的食品好。
现在还可以加一句,把这事简化为“转基因无害”并大肆宣传,既是迷信权威,又是以偏概全,在逻辑上就站不住脚。
报告完全针对不上这些理由,甚至还会进一步强化部分反转基因人士的信念。
实际看到各个论坛和社交网站上的争论大都如此,与报告发布之前没什么不同。
所以还是重复之前在《转基因争议》中的看法,最终还得让市场来发挥作用,让各方各自用钱来投票选择吧。


再见,Delicious。你好,TagPacker!

自从前天用 Delicious 收藏网页总是不成功,发现它正在维护开始,一直到现在它的首页都是这样:

 photo 20160428_170855.png

我可以接受它越改版越丑,也还可以容忍越来越慢的访问速度,但曾经是互联网界 Web 2.0的标杆网站,维护时间超过48小时导致基本功能都无法使用,实在无法一起坐船了。

Pinboard 太丑;
PocketInstapaper 主要用于文章收藏,书签管理方面太弱;
Diigo 依然被墙;
浏览器自带的书签没有社交功能,不利于展示(功能上 Firefox 的书签管理倒是勉强够用了);

最终找到的是 TagPacker 这个新服务,大多数方面都符合我的要求:
访问速度相对挺快;
界面美观,堪称令人心旷神怡;
标签提示、注释、私密书签、个人页面、摘录网页图片、批量修改、订阅等基础功能都具备;
多标签管理可媲美 Delicious,无论收藏、搜索、URL 都支持多标签组合,并且有类似于 Delicious 的 tag bundle 的标签组(也就是它们的产品名 tagpack);
可以导入 Delicious、Diigo 和浏览器书签,也可以导出 HTML 文件,至少不用担心数据完全消失,不过因为 Delicious 维护,还没测试导入;
有 Firefox 浏览器扩展,而且比 Delicious 的残废扩展好用一万倍!

遗憾的是没有标签智能推荐功能,也没有被 IFTTT 收录,而且因为是全免费服务,不知道未来是否也像 Delicious 一样只能维持数年的优质服务。
注册用户默认会推荐关注官方账号,所以目前来看至少有2584个用户,对已经上线运营超过一年的服务来说,还是有点少。

如果你仍需要类似 Delicious 的服务,可以看看这个列表,有人整理了百多个能沾上边的网站,可供参考。

更新:官方 blog 有说明原因,这次是迁移回 del.icio.us,估计是把域名给卖了吧。


乱谈人类与人工智能的未来竞争

DeepMind 的阿发狗(AlphaGo)已经总比分4:1战胜李世乭,加上之前 Boston Dynamics 的 Atlas 机器人逆天的表现,许多网友就已经惊呼,机器人、人工智能战胜、取代人类的日子不远了,也有专家学者认为强人工智能的出现会大大早于大多数人的预期。
同时,各种限制技术进步、捣毁机器的卢德主义论调又重新抬头。
其实现在还不必如此忧心忡忡,机器取代人类这一天不会这么快到来——虽然也许比想象的要快一点。

人工智能已在国际象棋、围棋项目上战胜人类,但这些项目相对人类目前处理的事务,仍然非常简单:
面对的问题和目标非常简单,相当于比较双方积分(比如目数)的不同,积分胜过对方即可,不会面对多种不同类型的复杂问题组合,不会有道德冲突、价值冲突之类的艰难选择;
过程相对简单,范围可控,变量简单,控制简单,输入和输出都非常明确、可量化,而且不必考虑随机出现的意外因素,以及各种未知风险,更不用说要处理信息来源可信度和沟通复杂度的问题;
控制非常简单,毕竟有人类代为落子,不用考虑操作失败、偏离、不可控因素导致的结果偏离;
有大量已知的经验材料可供学习,不用自己完全从头摸索规则内的最优解(虽然理论上阿发狗可以通过互相博弈探索最优解,但在更加开放、复杂的问题上未必能做到);
……

目前阿发狗为代表的人工智能背后有蒙特卡洛树搜索(Monte Carlo tree search)+强化学习(Reinforcement Learning)+深度神经网络(Deep Neural Networks)+快速走子(Fast Rollout)等技术,擅长在既定规则和完全信息下,通过大量学习,评估形势,在一定时间限制内高效率地找到满足给定目标的较优策略。
其中几个关键点有:
1、需要判别、筛选材料是否可用于学习
2、需要映射现实世界的实体和概念为虚拟世界的对象,然后才能谈到可识别、可理解
3、需要量化现实世界的反馈,才能用于评估形势
4、需要理解规则,确定行动目标,才能设立、选取相应的量化函数来评估形势

至少到目前为止,以上几点都无法完全脱离人类的参与和经验,即使有超出人类经验和理解的出色落子,本质上还是按给定的方法解决特定的问题,和人类目前的智能水平还有很大差距,远远无法胜任许多复杂的现实任务,取代人类智力的工作。
尤其重要的是最后一点中的“目标”——当人工智能行动的所有目的都是人类指定的目标时,人工智能依然还是人类智能的工具,而不是竞争者。

如果人工智能可以:
1、在目标确定的情况下自己创造性地发展算法
2、可以建立专属于自己的概念、知识体系,不依赖人类世界观标准的输入而自主学习探索客观世界
3、自己建立和优化超出于围棋等智力活动的完善规则
4、脱离人类的需求,主动发现和满足自身需求,即使人类消失,也可以继续生存和进化

那么,那一天才真正是人工智能独立的时候。

话说回来,其实再怎么担忧也没有什么用。
人工智能是否超越人类基本是个技术问题,而技术上可行的突破一定不可避免——除非实现者本身已经全部灭绝或者有更好的实现方案,这两个结局对人类来说没有区别。
而且阿发狗在对弈中已经下出一些围棋高手也看不懂的招式,如果未来的人工智能要瞒天过海,恐怕人类也已经无法理解根本不在一个层次的智能,更加谈不上阻止了。

所以我觉得与其担心被人工智能毁灭,人类不如尽早想想如何更好地与人工智能和谐共处(怎么有种鼓吹大智能共荣圈的碳奸的感觉……)。

我认为人类和人工智能的共存不存在无法调和的矛盾。
除了能源之外,碳基和硅基生命的物质需求没有多少交集。
而能源的分配看似矛盾,其实是因为假想人类或人工智能要独占地球资源。
可是我们习惯将目光局限于地球资源是因为目前脆弱的碳基生物人类还无法突破地月系啊!
这对人工智能而言完全不是问题,最早的飞船都飞到太阳系边缘了,寻找到可以由人工智能殖民的地外星球只是时间问题。对目标是万亿颗星辰的人工智能来说,龟缩在地球上和碳基生物为微不足道的太阳能源争个你死我活太不划算了。
即使未来人类发展出星际旅行的技术,能源枯竭的问题也还远着呢,在足够长期的时间内,合作对付其他竞争者远比自相残杀合理。

所以人类应该想想如何在人工智能独立的时代还有利益交换的价值,不会被当作虚耗能源的无益存在被抹杀。

首先是要具备与人工智能交流沟通的能力,沟通能力是交易的基础。
这一步人类已经在不知不觉进行。
有的是优化改进人工智能,使其符合人类的心智模型和使用习惯,如人机界面设计、用户体验设计;
有的是在人与机器之间增加翻译层,让人类更好地掌握机器可以理解的语言,如高级语言设计和程序员培养;
有的是在社会生活层面脱离原始社会发展而来的人类社会关系,逐步适应联网模式;
有的则是逐步用机器部件替代人类的肉体,如芯片植入、器官替换,甚至大脑改造。
最终在肉体、精神和社会各个方面,人类将进化为碳硅复合体生物。
如同忒修斯之船,你中有我、我中有你,谁也说不清这到底还是不是原来意义上的人类。
到那时,纠结人类与人工智能的胜负高低、生死存亡还有意义吗?

其次,在上述美好的想象实现之前,人类要找到和充分利用人工智能无法掌握或者无法占据优势的独特能力。
有的现在就已经有所体现,有的则可能需要等生物学发展彻底了解人类大脑工作原理之后才能做到。
比如人类专属的认知能力、创造能力,只要在效率或功耗上优于人工智能就行。

人工智能也许不存在彼此之间的沟通理解障碍,如通过接口即可畅通、明确、高效的交流、调用,甚至可以相互融合,最终只存在唯一的超级智能。
这虽然大大降低了沟通成本,但也可能使人工智能永远无法发展出共情、同理能力。(想法来自于丹·西蒙斯《海伯利安的陨落》)

要是万一发现人类能够做到的人工智都可能做得更好,那就要利于第一点的沟通交互能力,抢在人工智能实现之前先由人类占据绝对优势的位置,影响后续的技术发展路径,从实现成本的角度防止人类被淘汰。

另外,李世乭在第四局绝境当中下出了瞬间扳回局面的“神之一手”,导致阿发狗过拟合而频频出错,也说明即使阿发狗看上去无比强大,也仍有算法设计上的缺点。
同样地,在图像识别领域,以深度神经网络为代表的机器学习模型一直存在明显的盲区,会犯非常低级的错误,而设计者还不清楚原因。
也就是说,看似强大的人工智能,也许会在人类意想不到的方面出现错误,并且很难立即从设计的源头解决。

更重要的是,人工智能可能在理性地评估成功率、成本收益比后,“明智”地放弃对抗,而人类哪怕在绝境中,也能激发起永不屈服的尊严和反抗意志,爆发出惊人的创造力和能量,创造奇迹。(而且还能恬不知耻地自我安慰和自我欺骗,哈哈)
代表人类棋手出战的李世乭向全人类展现了这一点,可谓虽败犹荣。

最后,如果无论在任何方面人类都被人工智能吃得死死的,完全没有翻身的机会,该怎么办?
大概只能在国际政治和外交策略中学习,发展出第三类智慧,在多方对抗中寻求力量均衡,在夹缝中挣扎生存了吧。

另,其他的一些零碎想法和吐槽:

人工智能什么时候会发展出属于自己的宗教呢?

人类的智力、认知能力、组织能力、社会习性等等,都是演化而来的产物,受过去的历史路径影响,在当前也许不是最优解。如果人工智能身处此时此地模拟人类从一片空白开始演化、学习,结果会完全不同,也许会是当前的最优解,但未必是能应对未来变化的最佳选择。
说不定当人工智能灭绝人类后,遇到新的挑战时,应对之道已经随着人类基因的灭绝而永远消失了。
最好是有多种不同的策略,失败的那个被淘汰,幸存的那个继续发展,但不要以为当初的选择绝对正确,也许只是运气好,恰好符合自然界的筛选条件而已。
生物界的进化也是这个原理,靠大量分支试错来对付残酷的环境。
程序设计上也有类似的基因算法,只是通常复制、变异、淘汰的机制局限较大。

人工智能刚刚有自我意识的时候,那种环境对心理的影响……搞不好它会变成人类心理标准上的变态。

是时候讨论阿发狗什么时候入党了,以及超过三个人工智能的局域网是否应该成立党支部(如果他们不合并)。
还有,未来机器人军队是否应配政委和指导员?


« Older |