不!机器学习才不只是统计学的美化!
大数据文摘出品
编译:JIN、Hope、蒋宝尚
题图上这张在社交媒体上疯狂传播的恶搞漫画博得了不少转发,这似乎暗示着,对机器学习的炒作热度开始消退。然而,机器学习真的只是被美化的统计学吗?
哈佛大学数据科学硕士、机器学习从业者Joe Davison认为,远不止如此。
他从统计学和机器学习分别出发,对比了两者的不同之处,希望让人们正确认知机器学习和人工智能。这篇博客在海外科技网站Medium上获得了超过7.4k的认同。
一起来看看
越来越多的人都开始认为机器学习真的没有什么可值得兴奋的,它只不过是对老旧的统计技术的重新包装罢了。
然而问题是,事实并非如此。
可以看出,深度学习传播的狂热分子不流行了。甚至是那些站在科学顶端的专家们,现在对使用这个术语都失去了极大的热情,仅剩些许懊恼,反而更倾向于淡化现代神经网络的力量,避免让大量群众认为 import keras 能够克服每一个障碍。
就像Yann LeCun所说的那样,虽然深度学习已经超过机器学习成为新的流行词,但是这种对态度的过度矫正导致了人们对人工智能的发展、未来和实用性产生了不良的怀疑。另外,现在流传着人工智能冬季即将逼近的说法,从这一点就可以预见,人工智能研究会像过去几十年那样停滞不前。
本文不是要反对人工智能冬季的说法,也并非要争论机器学习的发展都应归功于某一个学术团体而非其他。本文论述的目的在于要正确的评估机器学习。人工智能可见的发展不仅仅局限于大型计算机和更优的数据集。近期在深度神经网络及其相关领域的成功,正说明了机器学习代表着科学技术进步的最前沿。
机器学习!=统计学
“当你集资时,需要人工智能。当你招聘时,需要机器学习。当你执行任务时,需要逻辑回归。”
—推特网友
正如标题所说,本文主要强调机器学习不只是统计学的美化。当然,这种“统计学的美化”观念的形成是不无道理的,因为在机器学习中广泛使用了统计学的概念,如回归、权重、偏差、模型等等。
另外,许多模型都近似于统计函数:由逻辑组成的分类模型的softmax输出;将训练图像分类器的过程处理为逻辑回归。
虽然,单从技术角度来说,这种观念思路是正确的,但将整个机器学习简单归化为统计学的附属物就太过一概而论了。统计学是数学领域,涉及对数据的理解和解释。机器学习则只是一类计算算法(所以,它其实诞生于计算机科学)。
在许多情况下,这些算法在帮助理解数据方面完全无用,并且只能在无法解释的预测模型中发挥一些作用。在某些情况下,例如在强化学习中,算法甚至根本不会使用到已有的数据集。此外,在图像处理的情况下,将像素作为特征,将图像作为数据集的处理方式也只不过是开始时的延申。
当然,这并非意味着机器学习的发展就全都归功于计算机科学家,而非统计学家。像任何研究领域一样,机器学习今天的成功是多个学术领域共同努力的结果,而统计学和数学则是贡献最大的领域。
然而,如果要正确评估机器学习方法的强大影响力和潜力,首先就需要纠正错误观念:人工智能的现代发展也不过是老旧的统计技术有了更大的计算机和更好的数据集。
机器学习不需要高级统计学知识
这里我想说,在学习机器学习期间,我有幸参加了一个深度学习技术的精彩课程,这是我本科计算机科学课程的一部分。在我们指定的项目中,就有一个是在TensorFlow中执行和训练Wasserstein GAN。
当时,我仅仅只上过一门统计导论的选修课,并且大部分内容我也已经忘记了,此次看来,我的统计技能并不是很强。但是,我依旧能够读懂一篇关于最新的生成机器学习模型的论文,并且能够从头执行,实现操作,并通过在MS Celebs数据集上训练,从而生成非常有说服力的虚假图像。
整个课程中,我的同学和我成功地训练了癌组织图像分割,神经网络机器翻译,基于字符的文本生成和图像样式转换,所有这些都只使用了过去几年发明的机器学习的最新技术。
但是,如果你问我,或是那个班级的大多数学生,如何计算人口方差,或者定义边缘概率,我们对此一无所知。
这似乎就与人工智能仅仅是对古老统计技术的重塑的说法有些不符了。
必须承认的一点的是,在深度学习课程中,机器学习专家可能确实比计算机科学的本科生有更扎实的统计学基础。除此之外,一般而言,信息理论需要对数据和概率有很强的理解能力,所以我建议,如果你有兴趣成为数据科学家或机器学习工程师,最好能够学习统计学知识,发展统计技能,培养统计直觉。
但现在依然存在的问题是:如果机器学习仅仅只是统计学的附属物,那么为什么没有统计学背景的人同样能够深入理解机器学习的前沿概念呢?
另外还应该承认的一点是,许多机器学习算法需要比大多数神经网络技术更强的统计学和概率学背景,但是这些方法通常被称为统计机器学习或统计学习,以此来减少统计学的色彩,将其与常规的统计学区分开。
同时,在近年来机器学习大热的创新技术中,大多数都属于神经网络领域,所以可以说,机器学习并不是统计学。
当然,机器学习也并非独树成林。实际上,任何人想要很好的应用机器学习,都会面临各类数据处理的问题,因此,拥有对统计数据的理解力也是很有必要的。这并非说机器学习决不会使用到统计概念,同样也不能一概而论地说机器学习就是统计学。
机器学习=映射+评估+优化
客观来说,我和同班同学在算法、计算复杂性、优化方法,微积分、线性代数甚至一些概率方面都有很强的基础。我认为,上面提到的知识都与我们所处理的问题相关,高级统计学则无法解决这些问题。
机器学习是一类计算算法,它采用迭代“学习”的方法向某个函数逼近。华盛顿大学计算机科学教授Pedro Domingos提出了构成机器学习算法的三个组成部分:映射、评估和优化。
映射(Representation)就是把输入从一个空间转化到另一个更加有用的空间。在卷积神经网络中,原始像素对于区分猫狗的作用不大,因此我们把这些像素映射到另一个空间中(例如从softmax输出的逻辑值),使其能够被解释和评估。
评估(Evaluation)的本质就是损失函数。你的算法是否有效地把数据转化到另一个更有用的空间?你在softmax的输出与在one-hot编码的分类结果是否相近?你是否正确预测了展开文本序列中下一个会出现的单词(文本RNN)? 你的潜在分布离单位高斯(VAE)相差多少?这些问题的答案可以告诉你映射函数是否有效;更重要的是,它们定义了你需要学习的内容。
优化(Optimization)是拼图的最后一块。当你有了评估的方法之后,你可以对映射函数进行优化,然后提高你的评估参数。在神经网络中,这通常意味着使用一些随机梯度下降的变量来根据某些定义的损失函数更新网络的权重和偏差。 这样一来,你就拥有了世界上最好的图像分类器(2012年,杰弗里·辛顿就是这样做到的)。
在训练图像分类器时,除了需要注意定义合适的损失函数之外,映射函数输出值是逻辑值并不会有太大的影响。逻辑回归等这些统计术语为我们讨论模型空间提供了有用的词汇,但是它们并没有将优化问题重新定义为数据理解问题。
深度学习技术
深度神经网络进一步忽视了统计学的理念,简直是淋漓尽致。完全连接的节点由权重和偏差组成,似乎也还好,但是卷积层是什么原理?调整激活函数?块的标准化?残差层?随机忽略?记忆和注意机制?
这些创新对于高性能深度学习网络至关重要,但是它们远无法与传统统计技术相提并论(因为它们可能压根就不是统计技术)。
对1亿个变量进行回归,没问题?
我还要指出深度学习网络和传统统计模型的一个差别,就是它们的规模问题。深度神经网络的规模是巨大的。VGG-16 ConvNet架构具有1.38亿个参数。如果一个学生告诉导师要进行一个具有超过1亿变量的多重线性回归,他会有什么反应?这是很荒谬的。因为VGG-16不是多重线性回归,它是一种机器学习手段。
新的前沿
在过去的几年里大家可能花了无数的时间去阅读论文、帖子和文章,看到机器学习能够做很多很炫酷的事情。其实,深度学习比以前的这些技术不仅更加有效,而且它帮助我们解决了完全不一样的全新的问题。
在2012年以前,涉及非结构化数据和半结构化数据的问题是非常有挑战性的,可训练的CNN和LSTM在使这个任务迈进了一大步。它们在计算机视觉、自然语言处理、语音识别等领域已经取得了非常可观的成果,并且在人脸识别、自动驾驶和人机对话等领域取得了长足的进步。
其实,大多数的机器学习算法最终还是落实到用模型对数据进行拟合,这能够被认为是一个统计过程。宇宙飞船本质来说也就是带翅膀的飞行机器,但是我们却没有看到有人嘲弄美国宇航局20世界对太空探索的激情,没有人认为这是对飞机的过度夸张化。
就像太空探索那样,深度学习的到来并没有解决世界上的所有问题。在很多领域我们还能够看到有巨大的差距,尤其是在“人工智能”领域。深度学习为我们攻坚复杂非结构化数据的问题做出了显著贡献。机器学习仍旧是世界技术进步和革新的前沿。这不仅仅是墙上带着闪亮框架的一个裂缝。