由算法编织的生活纹理

文/顾燕

近些年大数据和机器学习的兴起,使我这个原本的文科生也好奇跟风读了一些相关的书。当然,大部分是看不懂的。各种模型、满页的公式推导,实在并不友好。偶或读到一本竟能体会一二的,那则是分外之喜,产生一种尚未被时代大潮抛下的虚幻满足,稍可缓解罗振宇所鼓吹的“知识焦虑”。这本还算能读懂些的机器学习著作,便是华盛顿大学计算机系教授佩德罗·多明戈斯所著的《大师算法》。

大概能为门外汉写通俗科普读物的作者都有两把刷子。这本书谈的是机器学习领域的前沿,却写得妙趣横生,随处可见妙语连珠的比方。“我们生活在一个算法的时代”,多明戈斯教授开宗明义,“算法停止工作之时,便是世界末日”。算法不仅存在我们的手机里、电脑里,也存在我们的车子里、房子里、孩子的玩具里。“算法遍布人类文明的每个角落,算法被编织进日常生活的纹理之中”。

那么什么是算法?最简单来说,算法就是一系列命令,告诉电脑该做什么。但是和其他的一系列指令——比如与菜谱不同,算法必须精确无疑。每一行指令都必须毫无歧义,这样机器才可执行。同样的指令每一次执行,产生的结果都分毫不差。而在菜谱里,少许老抽、一勺白糖这样的指令,大概会让烹饪机器人崩溃。

不同于机器的0、1世界,人类的自然语言和社会行为中充满含混的暗示、隐喻和依靠背景知识的意会,甚至于用精确的算法思维应用于人类社会常常是用来调侃呆萌理工男的一个梗。不是有一个流传甚广的关于程序员的笑话吗?老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,就买一个。”当晚,程序员老公手捧一个包子进了家门。老婆怒道:“你怎么就买了一个包子?!”程序员答曰:“因为看到了卖西瓜的。”

那么什么是机器学习算法呢?“机器学习算法是制造其他算法的算法”。也就是说,给电脑输入数据,电脑自己学习写程序。这个主意听起来是不是略有一点惊吓?或许你还不明白这是怎么回事,但是会脑补的你大概已经回忆起黑客帝国等科幻电影中人类被电脑支配的恐惧了。

不过,现阶段我们还不需要忧虑。对比人类的强大,机器学习还是一个蹒跚学步的孩子。人类学习开车、识别手写,这些技巧很多在下意识中完成,而让机器实现这一点则非常困难。“如果一条路向左转,向左打轮。如果一只鹿蹦到面前,踩刹车”。这些在人类做起来非常容易,而谷歌的自动驾驶汽车目前仍然很难识别鹿和路上吹过来的一只塑料袋。

但这个蹒跚学步的孩子前途不可限量。多明戈斯教授用一个“低科技”的比方来帮助读者理解机器学习算法。算法都有输入和输出。对机器学习来说,输入数据,产出程序。人类就不用自己写程序了。跟种田一样,学习算法是种子,数据是土壤,产出的程序就是长成的庄稼。人类不能向电脑解释如何开车,但只要输入足够多的案例数据,电脑会分析人类无法告诉电脑的特征,逐渐自己学会什么是正确的操作,什么是错误的操作。所以数据至关紧要。没有数据,就没有学习。更多数据,更多学习。这也是为什么势不可挡的大数据和机器学习,总“焦不离孟,孟不离焦”。

作者这样精辟总结:“工业革命自动化了体力工作、信息革命自动化脑力工作、而机器学习自动化自动化本身。”无怪乎有句话说偷懒是人类进步的动力,不过人类若真有一劳永逸、永远自由的那一天,那漫漫时日又到底怎么打发呢?朋友答:“当然是接上VR,整天打游戏啊!”听如此说,感觉人工智能给人类脑袋插管的日子,可能也真的不远了。

顾燕 80后,华盛顿大学博士候选人。

Wilson算法

评论一下
评论 0人参与,0条评论
还没有评论,快来抢沙发吧!
最热评论
最新评论
已有0人参与,点击查看更多精彩评论