我为什么建议人人都学机器学习
The following article is from 漫士呓语 Author 宜城漫士
人工智能,无疑是现在最火的概念,从AlphaGo打败李世石后,全世界掀起了一股人工智能的浪潮。我们在生活中的各个角落,都能感受到一个崭新的奇点时代即将来临
人工智能充气鞋垫
人工智能马桶
(可以随拉屎的心情变换音乐)
OMG!只有我们想不到,没有神奇的人工智能做不到的事情!从脚下的鞋垫到马桶全都装备了人工智能,以后如果人工智能反攻人类,是不是就要光着脚、马桶都不能上了!
然而值得指出的是,现在甚嚣尘上的好几个概念,包括人工智能、机器学习、深度学习和神经网络,其实并不是完全等价的。严格说起来,它们是一个越来越小的关系,
那么问题来了,对于不是学习计算机的业外人士,当有人跟你高谈阔论人工智能时,如何判断他做的到底是机器学习(Machine Learning)还是人工智能(Artificial Intelligence)呢?
这里可以为大家介绍一种简单实用的办法,那就是让他发送一份自己平时的工作截图,如果是类似下图的话,那么就是机器学习(大概率也是深度学习)
而如果是类似下图的
那么正如图中所显示的,他从事的是人工智能。
作为一名名义上从事着属于机器学习那部分人工智能的搬砖工人,在经历了一线的机器学习实习和研究之后,LR深深的为这门学科所感染和打动。所以LR发自肺腑的在此提议:人人都应该学习机器学习,这门学科饱含着超越狭隘的计算机科学的人生哲理与智慧,是每一个当代青年人的必修课。
一
重回艺术殿堂
众所周知,科学和技术,最为人所诟病的,就是那一板一眼的死脑筋。自从科学革命以来,科学便逐渐变得无趣起来,曾经充满美感和神秘色彩的玄学、占星学、炼金术,都被伽利略开创的近代科学碾碎,成为迷信。在现代,所有的研究都需要一个非常严格的流程,在完善而铁板钉钉的理论指导下,经过一套有规律可循的操作,用冰冷的量化来比较效果。整个过程充满了死板和僵硬,缺乏人性和古典智慧的光芒。
而艺术,从上古时代的手工艺陶罐开始,就以它迷人的手艺性闻名。没有一套完整的标准指导你该如何创作《蒙娜丽莎》或是《将进酒》这样的著作,每一个艺术家都有他自己独具一格的创作技巧和风格,这些创作伟大艺术品的技术,都是难以抽象为严格流程的“心法”,以师徒的方式传授。
没错,在机器学习这个领域,你甚至可以在做科研时体会这种传统的艺术创作的感受。艺术得到了复兴,人类古典的经验智慧再次放射出耀眼的光芒。每一个神经网络都有它自己独特的样子和训练技巧,正如每一个瓷器都有自己独一无二的美。在你没有把眼睛点上的时候,你永远也不知道自己的龙画的如何,正如每一次重新调整网络架构时,你也不会知道训练的结果将会怎样、是好是坏,只待你用gpu轻轻的烘烤,去探寻那未知的可能。
图例:一件成功的工艺品
即使偶尔获得了几个很好的艺术品(神经网络),制作它们的过程也至多只能给你带来经验,面对新的数据集和任务,一切依然充满着令人着魔的变数。炼丹有法,丹无定法。那些手艺纯熟的老工艺人们,熟练的调整着特征提取器、卷积层数、训练超参、误差截断、花式扩增等高级的艺术创作技巧,在广阔无垠的可能性空间中游刃有余,就像一位瓷器大师每一下搓揉和旋转一样妙不可言,在创造出一个又一个的精品的同时,引领着一代炼丹师们争相模仿的创作潮流。
而和那些书画的艺术工作者不同,你的作品,可以获得科学的认可,甚至可以发在paper上供世界的炼丹手工艺人观摩,可谓新时代的艺术弄潮儿了。
二
摒弃现代浮躁
更让人兴奋的是,机器学习这个领域,无论是深度学习、强化学习还是别的什么,都能让从事其中的工作者获得灵魂上的沉淀。
现代社会一个最大的特点,就是快节奏的喧嚣和浮躁。不论是短视频、段子还是微博,所有人沉浸在快餐式的文化生活里,并每天都迷失在短平快的物质享受中。而一旦涉及到个人发展和目标时,便都显得急不可耐,诸如“30天改变人生”、“7秒学会读心术”之类的讲座书籍也一度被热捧。
在这个时候,我会推荐得了现代病的年轻人都试一试机器学习。这个领域将会以它最独到的方式,让他们重拾人生慢节奏的笃定和踏实。
为什么呢?
因为机器学习,又被业内人士戏称为“炼丹”,原因就在于它和古代的炼金术一样,将各种基本的材料(数据)和架构(模型)混于一炉,再用炼丹灶——GPU进行计算和训练。GPU运行时温度很高,风扇也转的很响,恰似土灶里丹炉下熊熊燃烧、木柴噼啪炸裂的烈火,给人以某种力量和启迪。
如图为三种炼金术中自然元素符号
第四个为神经网络常用非线性激活函数
最为重要的一点是,炼丹是一个漫长的过程。少则半天,多则两周。GPU极强的算力和高温,同tensorboard上艰难下降的loss函数,形成了某种鲜明的对比。曾听说广东的一些汤头需要用火慢煨慢炖整整十几个小时,食材的味道和营养才能完全浸润到汤里,而厨师在这段时间里却只能静静的等待和控制火候。
这和一位机器学习的研究人士是多么的相似啊!他们小心翼翼的控制着学习率,观察着面板上起起落落或是一行行滚过的实时loss,就像瓦罐里的汤渐渐弥漫出来的幽香,飘进了厨师的鼻子里,给他以汤熬到了什么火候的信息。
一切的急躁、喧嚣、焦灼都无济于事,模型必须缓缓收敛,不为人的意志所转移。
更妙的是,在这个模型训练的时间里,一位炼丹师仍然可以被定义为“处于工作状态”,或通俗来说“在干活”。虽然他们其实在这个过程中正在刷知乎、看抖音、聊天、打游戏或是发呆,但是已经不重要了,他们已经获得了这个浮躁的现代社会中最难得的沉静。
三
领悟人生哲理
一位不愿意透露姓名的LR哲人曾经说过,当机器努力尝试学习人的行为时,人也在学习着机器,从它们的学习中获得经验、教训和灵感。
一个机器学习的标准任务框架是这样的:我们有一个需要完成的任务(目标损失函数或loss),并且有一系列可以供我们使用、训练的数据集(训练集),我们需要设计一个自己处理这个问题的模型(神经网络),它以某种学习方式(优化)来在训练的过程中,努力针对训练数据集达到最小的偏差,而最终目标是真正解决这个任务,也即在从未见过的一般情况(测试集)中取得好的表现。
如果你退一步,从一个更高的角度去看待上面这个过程,会发现这是一个非常万能的模板,它几乎高度概括了我们解决一切问题的过程。从而,当我们看到机器学习的模型发生各种窘况时,也不禁沉思其中的寓意,并获得人生哲理的收获。
LR不才,一点浅见分享在这里:
风物长宜放眼量
打交道最多的,就是训练过程中模型的表现(损失函数loss的大小)随训练时间变化的图像了,它们看起来,通常像这个亚子:
高高低低,起起伏伏,看起来杂乱无章。这实在是因为,每一次喂给神经网络进行学习的,只是偌大数据集中很小的一批(术语为batch),这一批小小的数据里,经常因为随机性,带有着误导的性质。一个模型向着在这一小批数据上表现更好的方向努力学习、改变参数,很有可能会使得在下一批数据时表现的更糟,不同的数据难度有别、模型的参数又极其复杂,所以一个模型在训练时,常常看到它的表现在高低之间来回抖动,非常剧烈。
这实在像极了我们的人生。上帝一直在掷着骰子,我们在每天具体的事情上收益多少、成功与否,都是在测试一小批一小批的数据。我们的表现,既取决于我们真实的实力,也取决于运气的好坏。于是,我们就看到我们表现的loss起起伏伏、高高低低。又抑或,我们在几条不同的人生道路上,来回改变自己的倾向:一会儿理想主义,然后被现实击垮;极度功利务实一段时间之后,却又感受到疲于奔命和迷失,进而让自己重新务虚一些。
但是,如果你退后,把足够长时间、足够大跨度的loss曲线画出来,你最终会看到这样的景象:
浮生却似冰底水,日夜东流人不知。真正的人生走向、能力变化,并不是我们看到的那loss起起伏伏、来回震荡、变化莫测,而是要在足够长的时间跨度下,退后看。那左右的摆动并不重要,真正有意义的变化和提升,发生在这来回摆动之间不为人觉察的某种漂移(SGD里积累的那个动量),就像帆船为了逆风航行来回之字,每次调转方向,才是真正往目的地前往一点点。
所以正如毛主席说的那句一样,“牢骚太盛防肠断,风物长宜放眼量”。何时能够做到对人生宠辱不惊,闲看loss起起落落之时,怕也是一位高人了。
提防世间过拟合
可是别忘了,这只是训练集,是这个世界拿出来、允许你犯错的训练数据,在监督学习(supervise learning)里,这些数据还带着标准答案。如果一切都只是在一个集合上学习,又在同一个集合上测试,那生活就像军理考试或者学业水平测试一样寡然无味了。
练兵千日,用兵一时。真正衡量你表现好坏的,不是你在训练集——也就是平时测试时考你做过的题的分数,而是让你真刀真枪的上高考考场做从来没见过的题目——也就是测试集上的表现。如果一个模型在训练的数据集上表现都不佳(作业都做不对),这种情况就是模型本身能力不够,叫做underfitting欠拟合(智障)。而与之对应的,通俗的解释过拟合——overfitting,就是一个模型在训练集上表现近乎完美(例如主观题和标准答案一字不差标点符号都一模一样),但在从来没有见过的、一般性的测试问题上,却表现的越来越离谱的情况。
你可以想象,随着刷题的过程,下面的三条线是你平时测试的语数英失分,而上面的三条线是真正考试时将会得到的失分。你看似在自己做过的题目里越来越精熟,但是实际上你离解决真正的问题越来越远
这是为什么呢?
事实上,过拟合是机器学习里最值得玩味的概念,其哲学意味十分深远。能够过拟合,首先意味着这个模型的确有认识和表示这样复杂的规律的能力。可是,问题却恰恰出在过度的这种能力上,过拟合的本质,就是错误的把训练数据里那些极其复杂、可能来源于随机噪声和错误偏差的成分,都当做了需要学习的完整规律的一部分。而当这种随机因素在测试中变化时,模型的表现就会非常之差。我们用Pattern Recognition and Machine Learning中的一个例子做说明:
假设那条绿色的曲线所代表的函数,就是我们需要学习的“知识”、“规律”(也即pattern),而我们有的训练数据,就是从不同横坐标下采样得到的函数值(蓝色的点)。我们的任务,就是从这些散点里,推测一个连续的函数出来。其实,隐隐之中我们都能感觉到这个正弦函数的样子,但是你也会注意到,因为现实世界的本质是脏的,所以那些蓝色的点都或多或少距离真正的完美规律有一定的偏差。当我们用次数越来越高的多项式函数,去最小化和这些蓝点的距离时,我们的确可以获得越来越好的结果(红色为我们的模型)
可是,过拟合,就是当这个模型的能力太强(就像这个多项式的次数太高)时,这条曲线完美的经过了所有的点,它自以为在训练的世界里做的完美无缺,却殊不知,因为把随机的干扰和选点数量的局限当做自己全部的世界,它距离真正的规律已经太远太远
所以你会突然对很多事情感到顿悟。
为什么许多尖子生在高三的大大小小的考试里,表现的都那么突出,却在真正高考时马失前蹄?
因为他把模拟题的太多偏差因素、老师出题的倾向和不完美的细节,都当做了出题做题的规律记忆下来,因此在高考这个测试集上表现很差。
为什么有许多油腻的中老年人,倚老卖老,口中一套套他们自以为是的人生观和世界观?
因为在他们有限的人生取样里,只有那几个可怜的点,却总想用这些勾画出整个世界:因为自己的大意导致的挫折就让他们总结为社会不公,看到几个碰瓷的老人就感叹人心不古,自己的工作领域带着些圆滑世故、吃过了几次亏,就教诲年轻人说世道浇漓、明哲保身……皆是如此。
如果你看看那个完美经过九个点的函数的系数有多么离谱,你就知道那些对人生过拟合的人,他们理解的所谓规律其实多么可笑:
如果你深入体会了上面我所说的,你就会知道,过拟合,这个“因为对这个世界的无知而把一切细节和偏差当做规律”的行为,就像下图这位穿越的古代老哥一样,只能在面对测试集(取款机)时发出一句“你大爷的”咒骂。
应对过拟合的方法,叫“正则化”,也即控制你模型的复杂程度。机器学习教会我们认识到,大道至简,一个真正的知识或规律,往往并不需要那么复杂的表示形式,就像那个多项式不会需要上百万的系数去拟合区区一个正弦函数。同样的,真正的规律在现实世界中,不可能完美的解释一切事情,因为噪声和偏差随时存在,你要在训练自己的模型中拥有无视和容忍训练集偏差的意识。因为一个完美解释了一切数据的模型,一定是过拟合,正如一个完美解释了一切历史事件的理论框架,一定充满了想象的意淫。
四
坐观风云际会
如今人工智能和深度学习的火热,不能不让人联想到二十一世纪初期的互联网热潮。当计算机重新成为了高考志愿的第一宠儿,整个社会都在津津有味的谈论着人工智能将会如何改变世界,一如当年互联网黄页引发的资本涌入的浪潮。
本质基于数据插值和统计推断的机器学习,使得以往诸多困难的问题得到了一个较为通用的解法。而且,当设计得当时,这些方法相较于传统的数值解法具有更好的推广性质。硬件行业,并行运算设备的计算速度与存储量的大力提升,也使得以往无法落实的算法成为可能。这便是本质上这波人工智能浪潮火热的原因。很多鼓吹者说机器学习将会是新时代的电力,其教育要从娃娃抓起。
可是,这帮壮志踌躇的人不知道有没有忘记,当年的网景、Pets.com、Priceline和成千上万的黄页,也是这么兴致勃勃的憧憬未来的互联网世纪。每一家互联网公司都在谈论着要改变世界,用全新的互联网技术、互联网思维去实现全新的商业模式,达到更高的商业效率。
就像今天的机器学习和人工智能一样,每一家科技公司都在谈如何用深度学习实现彻底的革新。
然而,当时的各大投资机构其实早就知道,在光纤等基础设施没有完全普及、互联网速度也亟待提升的情况下,互联网行业的真正发展,远没有投资者和创业者向公众宣传的那么迫近和美好。用大量的资金换取流量,争取到投资人的融资就立刻走人,或是股票价格日益走高吸引大量散(jiu)户(cai)入场投钱之后,就偷偷撤走自己的资金,套走几十倍的收益。整个互联网行业的股市也迎来跳水断崖,资本市场一片断壁残垣、尸横遍野。
熟悉吗?马克吐温说,历史不会重演,但是总会押韵。
直到2015年,标志互联网行业发展规模的纳斯达克指数,才真正结结实实的来到了2000年的泡沫顶端。现在的网络商业和技术,才真正完成了当年许诺的规模和发展。
所以,看看如今机器学习真正的技术水平,一个图片改了一点点像素,就完全能够把鸭子当成马的神经网络,真的有那些资本公司吹嘘的如此先进吗?
但是这无妨。虽然你不会最后真正以机器学习乃至人工智能为业,但是,了解其中的知识,会让你看这一轮新的时代大戏更加内行。一场全新的风云际会正在上演,而你可以成为这其中的亲历者。
乱烘烘,你方唱罢我登场。
甚荒唐,反认他乡是故乡。
只留了白茫茫大地真干净。
作者 | AI开发者
版权声明
本文版权归《AI开发者》,转载请自行联系
长按二维码了解CCAI 2019大会信息
历史文章推荐
CCAI 2019 | 这是一封来自2019中国人工智能大会的邀约
CVPR2019 |《胶囊网络(Capsule Networks)综述》,附93页PPT下载
AiLearning:一个 GitHub万星的中文机器学习资源
Multi-task Learning(Review)多任务学习概述
医学图像处理与深度学习入门
AI综述专栏 | 多模态机器学习综述
深度学习中不得不学的Graph Embedding方法
学习率和batchsize如何影响模型的性能?
旷视研究院新出8000点人脸关键点,堪比电影级表情捕捉
你正在看吗?👇