Google的眼光

你知道吗,Google(Alphabet)要卖掉Boston Dynamics,一个它收购才没多久的机器人公司。这也意味着,Google准备完全退出机器人的领域。新闻传言说,是因为Google觉得这些机器人太吓人了,把它踢倒在地,居然能像终结者一样爬起来!还有舆论说Google研究机器人,是想抢走人类的饭碗,所以现在Google为了人类的幸福,放弃了这个计划。呵呵,这借口多么美妙呀!你们真以为Google有这么好心,会为你们的生存着想吗?

Boston Dynamics

卖掉Boston Dynamics(以下简称BD)真正的原因,其实是因为BD的机器人,只是一些研究性质的原型。它们离能够投入实用,其实差的老远。研究经费的需求,却是一个无底洞。你们只要仔细看看这些BD机器人的视频(视频1视频2),就会发现虽然貌似很先进的样子,跟科幻片里的很像,然而由于人工智能和机器视觉的局限性,它们其实仍然处于玩具阶段。

特别是从第一个视频中你可以看到,这机器人头部旋转着一个很大的光学雷达(Lidar),虽然能拿起箱子,然而它只能在很简单,理想化的环境下才能做到,而且动作相当的缓慢和笨拙。箱子必须是方形的,而且必须有特殊的记号或者二维码在上面,这样机器人才能知道从哪里下手。拿起箱子的时候,它并不像人那样,可以感受到箱子的重心在哪里,所以它只是随意的把“手”(其实是两个橡胶垫)夹上去。箱子重心不稳,所以摇摇晃晃的,很容易滑落下来。至于机器人推门出去雪地上走的镜头,其实是有人遥控的,它并不能完全独立的探索外面的世界。被人踢倒在地,它真的是像“终结者”一样爬起来的吗?不是的。它爬起来的动作,很像一只蚂蚱,而且很慢。我很难想象,这样的机器人在战场上被人踹倒之后,能够及时爬起并且活下来。

所以BD的机器人,其实是拿来做搬运工都不合格的,更不要说做士兵了。它们的“智能”,其实跟家用的机器人吸尘器,没有很大的差别。在如此理想化的条件下,普通的工业机器人其实就能搬运箱子,而且效率高很多。看看这些Amazon配送中心的机器人就知道,制造人形的机器人来做一些事情,完全是多此一举。只要你简化环境,就可以让普通没有智能的机器人,做很多有用的事情。

BD之前是由美国国防部和和海军陆战队投资,进行机器人的研究。我们都知道,军方的钱是非常容易骗,可以放心大胆的烧。到时候东西做出来能不能用,就是另外一回事。拿军方的钱多舒服,没压力,所以这样的公司不拿军方的钱,把自己卖给Google,说明军方已经不想资助这样的项目了。Google的眼光有问题,买下来才发现这些个玩具,离能够投入实际使用,恐怕还需要几十年上百年。于是暗自惊呼上当,赶快转手。

另外一种谣言是说,Google早就知道BD的机器人是不能用的。买下这公司,其实是拿来给Android的创始人Andy Rubin做玩具(圣诞礼物)的。因为Rubin很喜欢机器人,从小就梦想做自己的机器人,却壮志未酬。哪知道Rubin后来离开了Google,所以这玩具公司也就没必要留着了。Google创始人对高层领导的宠幸和溺爱,由此可见一斑。

D-Wave量子计算机

Google似乎总是喜欢做这种吸引眼球的项目,显得自己高大上,却不能真正的成功。Google投资的另外一个泡沫项目,叫做D-Wave量子计算机。D-Wave是一个加拿大公司,号称利用低温超导技术,制造出了具有上千个qubit的量子计算机,能解决NP-Complete的问题。Google图着量子计算的虚名,花了很大的价钱买了一台D-Wave的机器,于是时不时的要冒出一些新闻。比如这个新闻说,Google声称经过自己测试,D-Wave的计算速度,是普通计算机的一亿倍!

然而,真正的量子计算专家,比如Scott Aaronson,早就揭露过,由于环境对量子的干扰,要实现一千个qubit的量子计算机,难度是非常大,甚至是不可能的。D-Wave所谓的“量子计算机”,其实并不具有正确的“量子态”,不具有真正的量子计算能力,它其实最多算是一台“模拟计算机”。对于模拟计算机,其实研究已经很多了。模拟计算机确实可以在某些非常特殊的问题上,比数字计算机快几个数量级。然而,由于模拟计算机与生俱来的“误差问题”,它不能用于通用的计算,更不能用来解决NP-Complete的问题。实际上没有任何研究表明,量子计算机是可以解决NP-Complete问题的。

Google声称D-Wave的机器比普通计算机快一亿倍,用的是什么样的测试呢?他们的测试并不是一个全面的benchmark,它其实只包括一个问题:模拟退火。望文生义你就可以知道,退火这问题,本来就是非常适合用模拟计算机来解决的。D-Wave是个模拟计算机,它做退火的速度,当然比数字计算机快很多了。解决一个问题快了一亿倍,可是它却不能以同样的速度解决其它的问题,甚至无法解决普通计算机能解决的那些问题。一个机器要被叫做“计算机”,它应该具有比较全面的解题能力。如果只能解决一个问题,那它根本就不算是一个计算机,最多算是个物理实验 :P

再来看看,D-Wave解决了量子计算机本来应该可以解决的问题吗?没有。否则的话,一千个qubit的机器,应该能实现著名的“Shor算法”,从而可以很快的分解很大的整数,从而就能破解相当长度的RSA秘钥!Google为何不用D-Wave来破解RSA,引起全球轰动和震惊呢?因为它做不到。D-Wave压根就不是量子计算机,所以不能实现快速的大数分解。

其实很多人早就知道,D-Wave不是真正的量子计算机,而Google却堂而皇之的以讹传讹,打着“量子计算”的招牌,发布自己的测试结果。我不知道他们是真的不知道,还是故弄玄虚,吸引外行的眼球,长自己的威风。

Google Glass

世界忘不了你,Google Glass。当它刚出现的时候,Google可秀了不少神奇的视频。要查地图导航,滴滴滴,Glass直接把导航路线投射到地面上,指引你前进!在书店里说想找的书名,刷刷,Glass在空气中划出一条明亮的路线,在书架之间蜿蜒穿行,指引你到摆放它的位置,…… 多么神奇,多么美好!

可是到最后,Google Glass做到了这些炫酷的功能吗?门都没有摸到!一开头Google就应该意识到,这样的视网膜光学投影,把虚拟的线条和人眼看到的实际物体合并在一起,是非常难办的问题。电影特效倒好做,实现起来就发现按照Google Glass的硬件能力,完全不可能。而且Google怎么可能有时间和精力,去输入书店里摆放书的位置。这年头还有多少人逛书店,这功能不是吃饱了撑着是什么 :P

这教训就是,一开头牛皮不要吹得太大,不然会摔得很惨。最后的Google Glass,感觉就是一个戴在头上的手机屏而已,并没有发挥头戴设备的任何特点。电池寿命不到半小时,而且它的镜腿还不能折叠,取下来就不知道该放哪里了。所以买了的人都发现没什么用处,可是价格不菲啊,只想把它转手倒卖出去。

Google Glass吹够了牛皮,忽然人间蒸发了。可惜的是,粉丝们仍然没有看透Google的一贯作风,他们仍然相信Google夸出的各种海口,盼望这位“巨人”制造出伟大的新产品。

自动车

关于Google的自动车,我已经有专文介绍了。自动车是一个美好的幻想,可是物体识别等AI问题,却很难解决。

有人可能以为这种自动车“够好用”就可以,因为世界上有那么多糟糕的司机,酒后驾车的,意外情况判断失误的,…… 所以Google的自动车也不需要完美,能大幅度减少车祸概率,就是人类的福气了。然而从道德和法律意义上来讲,自动车却必须要接近完美才可以。可能有人会犯的错误,它却不可以犯。这是为什么呢?原因在于,坐这辆犯了错误的自动车,导致身体残疾的人,如果是他自己开车,他可能根本不会烦这样的错误。诚然,其它人可能在这种情况也会犯错误,但其他人会犯错误,跟这个受害的人毫无关系。他会告上法庭,说:“如果是我开车,肯定不会导致车祸,以至于我自己变成残疾。所以Google的自动车对此负有严重的责任。” 明白了吗?只是能从“宏观”意义上减少车祸是不够的。自动车的驾驶技术,必须超过世界上最安全的驾驶员,它完全不可以犯错误。

所以Google的自动车,离能够实用差的天远,却喜欢到处游说,甚至要求政府监管部门大开绿灯。Google为何如此执着?我的猜测是,Google并不是真的想让自动车能够投入实用。显然,研究这些东西,可以显得自己很高大上,技术实力强。这样一来,recruiter们就可以对刚毕业的学生们说:“看那,我们Google有各种刺激的,开创未来的项目。快加入我们吧!” 等你进去,才发现那些炫酷的项目,其实根本没机会进去。虽然拿着机器视觉的PhD,却无法进入自动车的项目。只有老老实实写些JavaScript,改进一下Adwords,给Gmail加个小不点的功能进去,…… 然后你走出Google的时候,就不小心变成了这个样子:

其实完全无人控制的自动车,且不说能不能实现,它真的有必要吗?现在很多汽车公司(Subaru本田奔驰,……)都可以实现自动防撞刹车功能,这才是人们最需要的,而且难度不是特别高。一旦人们发现满足了基本的安全需求,就不会想要完全自动的车了。所以我预测,Google自动车很可能再过一阵子就会跟Google Glass一样,人间蒸发掉。我们走着瞧吧 :)

Chromecast

再来看看Chromecast吧。Chromecast刚出现的时候,有些人也是热情高涨,甚至有国内朋友托我帮他买一个寄回国。我说这玩意比起Apple TV有什么特色吗?回答说:这是Google造的,肯定很牛,比Apple TV牛很多,一定要帮我买!于是等我要帮他买的时候,发现已经供不应求断货了。

直到我自己用过Chromecast,才发现这东西就像一个未完工的intern项目,根本不能用!我当然不会去买个Chromecast。我用它是因为有天买了个投影机,免费附送了一个Chromecast。心想免费送的就试试呗,结果用了几次之后,发现简直bug百出。虽然我的是免费附送,但是这东西单独卖也要$35。这样质量的东西,Google你也好意思拿出来卖钱吗?!

放YouTube视频的时候,它可以把视频加入播放队列,或者可以立即播放。可是队列播放和立即播放的逻辑,却是混乱的。有时候你本来想让它立即播放,它却把你之前放进去的视频给放了出来,仿佛你是在队列播放。所以我后来发现,这东西总是不放我现在想看的视屏,烦死人了。

更搞笑的是它的Chrome插件,有时候播放列表里面,忽然出现“[object Object]”这样的东西。显然是某些初级JavaScript码工,把某个对象给直接“+”到了一个字符串上面。试试吧,在浏览器里打开开发界面,输入""+{x:1},你就得到"[object Object]"。连这么低级的bug都放进去了,我就怀疑他们到底自己有没有用过自己的产品。

我永远无法理解人们对这类Google产品的热情。最后,由于我对那个投影机也不是很满意,所以把投影机和Chromecast一起退给了Amazon。后来买了Apple TV,发现跟Chromecast比起来,简直天壤之别,好用顺畅很多,一点问题没有。

可能因为退货比例太高,Chromecast现在已经从Amazon下架了。

Go语言

Go语言,也是Google最爱炫耀的技术之一。我之前的文章已经分析的很清楚了,Go语言就是一坨屎。每个研究过PL的人,都在嘲笑Go语言的设计,笑掉了大牙。

Google对于真正的计算机科学,程序语言的研究,远远不如微软,Intel,Oracle(Sun),IBM,Cisco。基本就是业余水平。很可惜的是,Google仍然可以靠着自己在网络界的影响力,面对专家们的嘲笑,明目张胆在业界推广Go这个大垃圾,祸害其他人。你说我们这些PL人士,怎么可能不鄙视Google?

对了,Google还有另外一个垃圾语言,叫做Dart。Google内部还有一个自用的垃圾语言,叫做Sawzall。Sawzall的创造者,后来创造了Go。此人之前设计了Plan 9操作系统,自以为超越了Unix,而其实呢继承了Unix的所有糟粕,只含有一些肤浅的界面改动,而且还不怎么好用,所以后来根本没人用。不是我有偏见哈,可我发现的规律就是,制造垃圾的自大狂,永远都只会制造垃圾。

因为内行人都知道Google对于语言的造诣和态度之肤浅,所以几乎没有科班出生的程序语言专家愿意去Google工作。大部分最好的PL人员进入了微软,少数去了其它地方。

Google的水平

另外,Google的无线路由器OnHub,出来的时候大家也是热情高涨。最后一看Amazon的review,恶评如潮。自称“speak human”,可怎么就那么不人性化,那么难用呢!

别忘了Blogger,别忘了Orkut,Chrome OS, Chrome book,…… 哎,Google还有其它一系列失败的的产品和项目,公司里很多人做着一些穷途末路的项目,我就不多说了……

所以总的来说,Google有它的特长。它是一个不错的互联网公司,Google的搜索引擎做得很好,Gmail,收购来的YouTube,地图,Android什么的,也比较好用。但是Google的特长,也就停留在那里了。做其他事情,几乎全都是业余水准,却自以为了不起,喜欢宣传自己,制造高大形象。最近AlphaGo搞得沸沸扬扬,也是一样的用意,煽风造势,以此吸引懵懂没经验的年轻人,进去为它做一些琐碎的杂活,帮助它赚更多的广告钱。

这就是我眼里的Google。