写点什么

机器学习是统计学旧汤换新药?非也

  • 2018-07-31
  • 本文字数:3644 字

    阅读完需:约 12 分钟

最近,社交媒体上疯传一张表情包(如下图)。随着深度学习的炒作开始消退,看到这张图的人将会心一笑。“机器学习真的没什么好让人兴奋的”或者“它只是对古老统计学的改进”这类情绪越来越普遍。但问题是,这不是真的。



我知道,成为热情过度、沉迷于炒作的深度学习布道师可不是件时髦的事。那些 2013 年还把深度学习奉为神祗的机器学习专家,现在提到这个词时只是带着一丝懊恼,他们现在更倾向于对现代神经网络进行轻描淡写,以免人们仍然认为 import keras 可以解决一切问题,并认为他们在竞争中仍有拥有巨大的优势。

正如 Yann LeCun 所说的那样,深度学习作为一个流行词确有被夸大之嫌,但这种态度的转变导致了人们对人工智能的进步、未来和作用产生了不正常的怀疑。目前,关于人工智能寒冬即将到来的言论甚嚣尘上,人们预计,人工智能研究将停滞多年,就像在过去几十年中所发生的那样。



谈论人工智能寒冬将至的文章和传言 AGI 将迎来爆发的文章一样多。

然而,这篇文章的目的不是为了反驳 AI 寒冬将来的观点,也不是为了比较某个学术团体比另一个对深度学习具有更深刻的见解。相反,我是想要说明真实的情况,这一领域的发展已经超出了大型计算机和更好数据集的范畴,机器学习(以及最近在深度神经网络方面取得的成功及相关成果)代表了世界技术进步的最前沿。

机器学习!= 统计学

“说到融资,人工智能。说到招聘,机器学习。说到应用,逻辑回归。”

这篇文章的主要观点是,机器学习不只是批上美丽面纱的统计学——只是用上更大型的计算机和取了个更高级的名字,换汤不换药。之所以有这种想法,是因为在机器学习中普遍存在着统计学的概念和术语,例如回归、权重、偏差、模型等。此外,许多模型与统计函数很相似:分类模型的 softmax 输出由分对数组成,使图像分类器的训练过程成为一个逻辑回归。

虽然这种思路从某种意义上说是正确的,但认为机器学习是统计学的附属就有点扯远了。事实上,这种比较没有多大意义。统计学属于数学领域,涉及对数据的理解和解释,而机器学习是一类算法(因此它诞生于计算机科学)。在许多情况下,这些算法在帮助理解数据方面完全无用,并且仅在某些类型无法解释的预测建模中起作用。在某些情况下,例如在强化学习中,算法可能根本不使用预先存在的数据集。另外,处理图像时,把图像视为数据集(数据集中包含了作为特征的像素)的实例有一点牵强。

当然,关键不在于计算机科学家是不是比数据学家强,和所有其他研究领域一样,今天的成功要归功于各种学科的贡献,统计学和数学是其中贡献最大的一类。然而,为了正确评估机器学习方法的强大影响力和潜力,首先要消除错误的观念,即人工智能的发展只不过是基于老旧的统计学技术,只是用上了更大型的计算机和更好的数据集而已。

机器学习不需要高级统计学知识

当我刚接触机器学习时,我很幸运地上了一门深度学习技术专修课程,这是我本科计算机科学课程的一门课。我们指定的项目之一是在 TensorFlow 中实现和训练 Wasserstein GAN。



那时,我只参加了一门必修普通选修课程,然后很快就忘记了大部分内容。不用说,我的统计学技能不是很强。然而,我读懂了一篇有关生成机器学习模型的论文,并从头开始实现它,基于 MS Celebs 数据集进行训练,生成以假乱真的虚假图像。

在整个课程中,我和同学们成功地训练了用于癌组织图像分割、神经机器翻译、基于字符的文本生成和图像样式转换的模型,所有这些都采用了过去几年最先进的机器学习技术。

然而,如果你问我,或者问班上的大多数学生,如何计算人口的方差,或者如何定义边际概率,恐怕没人能答得上来。

这似乎与人工智能仅仅是对古老统计学技术的“品牌重塑”的观点有点出入。

确实,在深度学习课程中,ML 专家可能比 CS 本科生具有更坚实的统计学基础。一般而言,信息理论需要对数据和概率有很强的理解,我当然会建议所有有兴趣成为数据科学家或机器学习工程师的人去培养对统计学概念的深刻理解。但问题仍然存在:如果机器学习是统计学的附属,那么几乎没有统计学背景的人如何能够做到深入理解先进的机器学习概念的呢?

我们还应该承认,相比大多数神经网络技术,许多机器学习算法要求更好的统计学和概率学背景,但这些方法也通常被称为统计机器学习或统计学习,似乎是有意将它们与常规机器学习区分开来。此外,近年来大多数被大肆宣传的机器学习创新均属于神经网络领域,因此这点无关紧要。

当然,我们不能孤立地看机器学习本身。同样,现实中,所有希望从事机器学习工作的人都可能要处理各种类型的数据问题,因此也需要对统计学有很强的理解。但这并不意味着它们是一回事。

机器学习 = 表示 + 评估 + 优化

为了公平起见,我和同学们在算法、计算复杂性、优化方法、微积分、线性代数甚至概率学方面都有很坚实的基础。我认为,在处理相关问题时,所有这些都比高级统计学知识更有用。

机器学习是一类算法,它不断迭代“学习”某个函数的近似。华盛顿大学计算机科学教授 Pedro Domingos 提出了构成机器学习算法的三个组成部分:表示、评估和优化。

表示是将输入从一个空间转换到另一个更容易被理解的空间,可以想想卷积神经网络。原始像素对于区分狗和猫是没有用的,因此我们将它们转换为可用于解释和评估的更有用的表示(例如,softmax 输出的对分数)。

评估基本上就是损失函数。你的算法如何有效地将数据转换为更有用的空间?你的 softmax 输出与 one-hot 编码标签(分类)有多接近?你是否正确预测了文本序列中的下一个单词(文本 RNN)?你的潜在分布与单位高斯(VAE)有何不同?这些问题会告诉你表示功能的运行情况,更重要的是,它们定义了算法将要学习的内容。

优化是这个拼图的最后一部分。有了评估组件后,你可以优化表示函数以改进评估指标。在神经网络中,这通常意味着使用一些随机梯度下降的变量,根据某些定义的损失函数更新网络的权重和偏差。就这样,你拥有了世界上最好的图像分类器。

在训练图像分类器时,除了定义合理的损失函数之外,通过学习得到的表示函数是否具有逻辑输出是无关紧要的。借用逻辑回归这样的统计术语确实让我们在讨论模型空间时有了可用的词汇,但这并没有将它们从优化问题变成数据理解问题。

旁白:人工智能这个词很愚蠢。 AI 问题只是计算机不擅长解决的问题。在 19 世纪,机械计算器被认为是智能的。现在这个术语与深度学习密切相关,我们开始使用通用人工智能(AGI)来指代比高级模式匹配机制更智能的东西。然而,我们通用智能仍然没有一个统一的定义或理解。AI 所做的唯一一件事就是激发人们对所谓的“奇点”或类似终结者的杀手机器人产生恐惧。我希望我们可以停止使用这个空洞耸人听闻的术语来指代真正的科学技术。

深度学习技术

接下来,我们来推翻所谓的深度学习统计学性质几乎就是深度神经网络的所有内在。当然,完全连接的节点由权重和偏差组成,但卷积层呢?整流器激活呢?批量标准化呢?残留层呢?丢弃呢?记忆和注意机制呢?

这些创新对于高性能深度网络的发展至关重要,但它们并没有与传统的统计技术有什么联系(可能因为它们根本不是统计技术)。如果你不相信,试着告诉统计学家你的模型过度拟合了,或问他们随机丢弃模型的 1 亿个参数中的一半是不是个好主意。

更不用说模型的可解释性了。

回归超过 1 亿个变量——没问题吧?

我还要指出深度网络与传统统计模型之间的差异。深度神经网络是巨大的,例如,VGG-16 ConvNet 架构有大约 1.38 亿个参数。你认为你的学术顾问会对一个提出想要执行超过 1 亿个变量的多重回归的学生做出什么回应?这个想法很荒谬。这是因为训练 VGG-16 不是多重回归,而是机器学习。

新的前沿

在过去的几年里,你可能阅读了无数的论文、帖子和文章,了解到机器学习现在可以做很多很酷的事情,所以我不必花太多时间在这上面。然而,我要提醒你,深度学习不仅产生了更多的技术,它还让我们能够解决一些全新的问题。



在 2012 年之前,解决涉及非结构化和半结构化数据的问题是一个挑战。可训练的 CNN 和 LSTM 就是这方面的巨大飞跃。这在计算机视觉、自然语言处理、语音转录等领域取得了相当大的进步,并且使人脸识别、自动驾驶车辆和会话 AI 等技术得到了巨大的改进。

确实,大多数机器学习算法最终都涉及模型和数据拟合——从这个角度来看,它是一个统计过程。航天飞机只不过是一个带翅膀的飞行器,这也是事实,但我们并没有看到有人发表情包嘲笑美国宇航局 20 世纪太空探索的事迹,将其视为对飞机的过度“品牌重塑”。

与太空探索一样,深度学习的出现并没有解决世界上所有的问题。在许多领域仍有很多鸿沟需要跨越,特别是在“人工智能”领域。换句话说,它帮助我们提高了解决复杂非结构化数据问题的能力。机器学习仍然代表着世界技术进步和创新的最前沿。它不只是墙上透着亮光的裂缝,终有一天,它可能会破墙而出!

原文链接: https://towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3

感谢无明对本文的审校。

2018-07-31 18:152349
用户头像

发布了 42 篇内容, 共 14.5 次阅读, 收获喜欢 53 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容
机器学习是统计学旧汤换新药?非也_语言 & 开发_Joe Davison_InfoQ精选文章