编者按:当一个人真正想在机器学习中取得一定成就时,他需要深入微积分、线性代数,掌握一定的统计学知识,研究的深度越深,数学基础的重要性就越显而易见。但是,机器学习和数学的这种紧密关系却也会带来误解,现在,一些人已经倾向于把机器学习视为美化统计的手段,更有甚者,一些业内人士也开始迷失于混淆,失去了努力的方向。以下内容来自哈佛毕业生Joe Davison。
随着围绕深度学习的炒作逐渐消退,像上图这样的恶搞漫画开始出现在公众视野里,每每看到这些图,一些人会抱着讥讽的心态会心一笑。在他们眼里,机器学习没什么值得兴奋的,它只是传统统计技术的新包装,内容上换汤不换药。这种想法正变得越来越普遍,但机器学习真的不是统计学!
虽然深度学习火了,这对机器学习来说却不是什么好事。为了避免深度学习被误认为是import keras
就能解决一切的技术,第一批推广深度学习的机器学习研究人员一直在淡化现代神经网络的作用,而这种矫枉过正已经开始对学界的发展和未来造成不良影响——人们开始把它看成空中花园,讨论起寒冬即将来临,人工智能研究将陷入停滞。
正如Yann LeCun所说的那样,深度学习如今的影响已经超过了一个普通流行词的影响上限。
本文的目的不是讨论AI是否将迎来严冬,也不是讨论机器学习、统计学哪个更值得深入研究。相反地,由于计算机算力的大幅提高的大型优质数据集的出现,再加上深度学习的突破性成果,我们要证明,机器学习也是全球技术进步的一大重要前沿。
如果你想融资,写AI;如果你想招聘,写ML;如果你想实现,线性回归。——数据科学、机器学习和人工智能到底有什么区别?
首先,机器学习不等于统计学。虽然把机器学习简单等同于统计学是个彻头彻尾的误解,但大家产生这种想法确实也情有可原。机器学习中普遍存在大量统计学意义上的概念和术语,比如回归、权重、偏差、模型等。机器学习模型也经常需要用到统计函数,比如分类模型的softmax输出是个logits,模型训练过程中需要用到logistic回归。
从技术上看,这样理解没有问题,但仅凭这几点,我们不能把机器学习当成统计学的附属物。事实上,这种比较是没有意义的。统计是数据领域的东西,它涉及对数据的理解和解释。而机器学习只不过是一类计算算法的集合(可用于分析和决策),它属于计算机科学领域。在很多情况下,某些机器学习算法既不能分析数据,也不能构建预测模型,比如强化学习算法不需要事先准备好的数据集,图像算法的数据也不是数学意义上的数据。
当然,这不是说机器学习取得的成就都是计算机科学的,和统计学一点儿关系都没有。和其他任何研究领域一样,机器学习的成功是多领域知识综合作用的结果,统计学和数学在其中尤为明显。然而,为了正确评估机器学习方法的强大影响和潜力,首先我们必须要认识到,人工智能的现代发展不等于计算机算力提高+数据集+统计学。
这里我们举个例子。当我开始学机器学习时,我选上了一门深度学习课。这是我本科必修课的一部分,当时老师要求我们在TensorFlow中实现并训练Wasserstein GAN。
需要注意的是,我只上过这么一节和深度学习有关的必修课,而且课程知识都忘的差不多了。不用说,我的统计学也不咋地。但是,通过阅读论文,我能理解GAN是什么,然后从头开始实现它。在MS Celebs数据集上完成训练后,最后我们生成了非常逼真的虚假图像。
同样是在这门课上,我和同学还训练了可以分割癌细胞组织图像的模型、机器翻译模型、文本分类模型和图像风格迁移模型,它们用的都是近几年最先进的技术。但是如果你问我们该怎么计算人口的方差、怎么计算边际概率,大多数人会一脸懵逼。
看得出来,这和那些人眼里的机器学习不太一样。
确实,在深度学习领域,专家比学生有着更深厚的统计学基础。一般而言,信息理论需要对数据和概率有很强的理解,如果要我对想成为数据科学家、机器学习工程师的新人提建议,我也会让他们好好学习统计学。但是尽管如此,几乎没有统计学背景的人确实可以深入理解尖端的ML概念,这直接证明ML不是统计学的附属物。
还应该承认的一点是,撇开神经网络,一些机器学习算法确实要求学习者、使用者有更强的统计和概率背景,但即便这些方法通常被称为统计机器学习、统计学习,它们比常规的统计学理论要浅显得多。再说近几年机器学习的进展几乎都是神经网络,它们和统计的关系就更远了。
如今所有领域都在呼吁跨学科研究,机器学习也不例外。换句话说,ML研究人员学习统计知识只不过是为了处理各种类型的数据,这里不存在上层下层关系。
扪心自问,我们确实在算法、优化算法、微积分、线性代数甚至概率论上有扎实基础,但这些数学知识是我们处理问题的工具,它们和高级统计知识不搭边。
机器学习是一类计算算法,它们通过迭代计算某个目标函数的近似形式。华盛顿大学计算机科学教授Pedro Domingos曾指出机器学习算法由三个部分组成:表征、评估、优化。
表征指的是把输入从一个空间映射进另一个空间,从而使输入更容易被理解。以卷积神经网络为例,无论输入图像是猫是狗,神经网络是无法根据这些原始像素直接分类的,因此我们要把像素转换成网络更容易解释和评估的表征。
评估基本就是损失函数。你的算法会如何有效地把数据映射进更有用的空间?你的softmax输出和one-hot编码标签(分类)有多接近?你的模型是否正确预测了展开文本序列的下一个单词?……这些内容向你展示了模型的性能情况,更重要的是,他们也定义了模型将要学习的内容。
优化是算法的最后一块内容。当你开始评估自己的模型时,你会希望模型的代表性功能能再强化一下,得分也再高一些,这时你就要用到优化。在神经网络中,这同样意味着用一些随机梯度下降的变量根据损失函数优化网络的权重和偏差。
在训练图像分类器时,除了定义适当的损失函数,我们不要求模型函数的输出有逻辑。这意味着虽然我们用了像logistic回归这样的统计函数,而且它确实为定义模型空间提供了有效信息,但它没有把优化问题转成数据理解问题。
为了把统计学更彻底地剥离出去,我们来看深度学习。深层神经网络内部的工作机制几乎是全新的一套体系,纵使完全连接节点由权重和偏差组成,那么卷积层呢?Rectifier activations呢?Batch normalization呢?Residual layers呢?Dropout呢?注意力机制呢?
这些创新对深层神经网络性能的提高至关重要,它们和传统统计技术没有可比性。如果不信,你可以指着自己VGG-16 ConvNet问统计学家:我的模型过拟合,怎么办?看看他们是否觉得你可以随意丢弃1亿个参数里的5000万个。
更不用说,深度学习根本不在意模型的可解释性。
在过去几年里,你可能已经在论文、新闻、社交网络上看过机器学习的无数炫酷应用,这里我们不再具体介绍。我要告诉你的是,无论是机器学习还是深度学习,现在它们能做的事更多。
在2012年以前,对非结构化数据和半结构化数据的解构还只是挑战。那之后,学界出现训练完备的CNN和LSTM,实现了人类历史上的巨大跨越。而现在,计算机视觉、自然语言处理、语音转录等领域已经取得了相当大的进步,人脸识别、智能助理、无人车等相关产品也已经落地应用,这是前人不敢想象的。
确实,大多数机器学习算法最终都涉及拟合数据,但它相对过去是一种进步。航天飞机也不过是一个带翅膀的飞行器,不是吗?但我们并没有看到有人用漫画嘲讽NASA进行太空探索,也没有嘲讽航天飞机是飞机的过度包装产品。
和太空探索一样,深度学习的出现并没有解决世界上所有的问题,它在很多地方还面临重大挑战,尤其是“人工智能”领域。尽管如此,它为我们解决复杂非结构化数据问题做出了重大贡献。未来,机器学习将继续代表全球技术进步和创新的前沿。
原文地址:towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3