机器学习和统计学习的交锋

转载自:https://zhuanlan.zhihu.com/p/43360613

机器学习≠数据统计

「融资的时候, 我们讲人工智能 ;找工作的时候,我们说深度学习;但做项目的时候,我们讲 logistic 回归。」

——推特上每个人都这么说

  这篇文章的主题是,机器学习不仅是对数据统计的再包装——这一领域有更大型的计算机和更好听的名字。这个概念来源于统计学的概念和术语,这些概念和术语在机器学习中非常常见,像回归、权重、偏置、模型等等。此外,很多模型近似统计函数:分类模型的 softmax 输出由 logits 组成,使得图像分类器的训练过程成为 logistic 回归。

尽管这种思路在技术层面是对的,但将机器学习作为一个整体看作只是统计学的一个分支还为时过早。这种比较没有什么意义。统计学是处理数据和解释数据的数学领域。机器学习只不过是一种计算算法(诞生于计算机科学)。很多情况下,这些算法在帮助理解数据方面毫无用处,只能帮助某些类型的不可理解的预测建模。例如在强化学习中,算法可能都不会使用已有的数据集。另外,在图像处理中,将图像视为以像素为特征的数据集,从一开始就有点牵强。

  问题的关键当然不在于这个荣誉应该属于计算科学家还是属于统计学家;就像其它领域一样,能取得今天的成功是各个学术学科的功劳,其中当然包括统计学和数学。然而,为了正确评估机器学习方法的巨大影响力和潜力,有必要先打破这个错误的观念:现代人工智能的发展,无非就是古老的统计技术拥有了更强大的计算机和更好的数据集。

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

  客观来说,我和我的同学在算法、计算复杂度、优化策略、微积分、线性代数甚至概率论方面基础都很好。我想说的是,比起高级统计学知识,这些与我们正在解决的问题更加相关。

机器学习是一类反复「学习」某类函数近似值的计算算法。华盛顿大学计算科学教授 Pedro Domingos 曾列出构成机器学习算法的三大组成部分:表示、评估和优化。

表示涉及从一个空间到另一个更有效空间的输入传输,解释起来更加容易。请从卷积神经网络的视角考虑这个问题。原始像素在区分猫和狗上是没有用的,所以我们将其转换为更有效的表达形式(如 softmax 输出中的 logits),这样就可以解释和评估了。

评估实际上就是损失函数。你的算法如何有效地将数据转换到另一个更有效的空间上去?softmax 输出和 one-hot 编码标签(分类)到底有多么相似?你能否正确预测展开的文本序列(文本 RNN)的下一个单词?隐藏分布与单位高斯分布的偏离有多远(VAE)?这些问题都告诉你表达函数性能如何;更重要的是,它们定义了它需要学习做什么。

优化是整个拼图的最后一块。一旦有了评估部分,你就可以优化表达函数,以改进评估标准。在神经网络中,这意味着使用随机梯度下降的一些变体来根据给定的损失函数更新网络的权重和偏置。你有世界上最好的图像分类器(起码 2012 年的 Geoffrey Hinton 有)。

  在训练图像分类器时,除了定义适当的损失函数外,学习的表达函数是否有逻辑输出无关紧要。像 logistic 回归这样的统计学术语在我们讨论模型空间时确实也有些作用,但在优化问题和数据理解问题上都没有被重新定义。

附言:人工智能这个词挺蠢的。人工智能问题只是计算机目前还不善解决的一个问题。在十九世纪,机械计算机也曾被认为是智能的。现在这个术语与深度学习联系如此紧密,我们就开始说通用人工智能(AGI)是比先进的模式匹配机制更智能的东西。然而,我们对通用智能还没有一致的定义或理解。AI 所做的唯一一件事就是激发人们对所谓的「奇点」或类似终结者的杀手机器人的恐惧。我希望我们可以停止使用这样一个空洞的、耸人听闻的术语来替代真正的技术。

深度学习的技术

几乎所有深度神经网络的内部工作都忽略了深度学习的统计特性。全连接点由权重和偏置组成,但卷积层呢?整流激活层?批标准化?残差层?Dropout?存储和注意力机制?

这些创新对于高性能深度网络的发展至关重要,但它们与传统的统计技术并不完全一致(可能因为它们根本不是统计技术)。如果你不相信我,可以试着告诉统计学家你的模型过拟合了,然后问他们把模型的 1 亿个参数砍掉一半是否行得通。

我们甚至不讨论模型的可解释性。

超过一亿个变量的回归——没问题吗?

深度网络和传统统计模型在规模上是有差异的。深度神经网络是巨大的。例如,卷积网络 VGG-16 大约有 1.38 亿个参数。你觉得你的普通学术导师会如何回应一个想要对 1 亿多个变量进行多元回归的学生?这个想法很荒谬,因为训练 VGG-16 不是多元回归,而是机器学习问题。

新前沿

在过去的几年里,你可能看了无数宣扬机器学习可以完成很酷的任务的论文、帖子、文章,所以我不再赘述了。然而,我要提醒你,深度学习不仅比以前的技术更重要,它还能帮助我们解决一系列全新的问题。

在 2012 年之前,涉及非结构化和半结构化数据的问题充其量只是一项挑战。仅可训练的 CNN 和 LSTM 就在这方面实现了巨大飞跃。在计算机视觉、自然语言处理、语音转录等领域都取得了相当大的进步,并且在人脸识别、自动驾驶和 AI 对话等技术方面有了很大的提高。

确实,大多数机器学习算法最终都要将模型拟合到数据——从这个角度看,这是个统计过程。航天飞机也不过是一个带翅膀的飞行器,但我们并没有看到有人嘲笑美国宇航局在 20 世纪探索太空,也没有人认为这是对飞机进行重新包装而已。

与太空探索一样,深度学习的出现并没有解决世界上所有的问题。在许多领域,特别是在「人工智能」领域,仍有很多的事情需要我们去做。也就是说,它为我们处理复杂的非结构化数据问题做出了重大贡献。机器学习会继续引领世界技术进步和创新的前沿,而不仅仅是墙上一道镶了崭新边框的裂缝。

 

posted @ 2018-09-04 10:14  U_C  阅读(1139)  评论(0编辑  收藏  举报