随着深度学习的热度开始消退,这个梗最近开始在社交媒体上广为流传,引起了互联网上众人的讥笑。机器学习没什么好激动的,它只是对统计技术的一种补充——这种观点越来越普遍;但问题是这个观点并不正确。
我明白,成为一个极度狂热的深度学习传播者并不时尚。哪怕是 2013 年试图让所有人都知道深度学习的机器学习专家,现在再提起这个术语也只有失望,他们现在更倾向于弱化现代神经网络的力量,唯恐人们将他们与还认为「import keras」是万金油的人混为一谈。而他们自认为与后者相比,自己还是相当有优势的。
虽然正如 Yann LeCun 所说,深度学习已经不再是一个时髦的词,但这种矫枉过正的态度已经对人工智能的进步、未来和实用性产生了不良的影响。这一点在关于人工智能寒冬的讨论中体现得尤为明显,在这个寒潮里,人工智能被预言将会像几十年前一样停滞多年。
然而这篇文章并不是对人工智能进入寒冬表示质疑,也不是想说深度学习的进步更应归功于哪个学术团队;相反,它只是想说,人工智能应该得到其应得的赞赏;它发展的水平已经超越超级计算机和更优的数据集;机器学习最近也在深度神经网络和相关工作中取得了巨大成功,代表了世界上最先进的技术水平。
机器学习≠数据统计
「融资的时候,我们讲人工智能 ;找工作的时候,我们说深度学习;但做项目的时候,我们讲 logistic 回归。」
——推特上每个人都这么说
这篇文章的主题是,机器学习不仅是对数据统计的再包装——这一领域有更大型的计算机和更好听的名字。这个概念来源于统计学的概念和术语,这些概念和术语在机器学习中非常常见,像回归、权重、偏置、模型等等。此外,很多模型近似统计函数:分类模型的 softmax 输出由 logits 组成,使得图像分类器的训练过程成为 logistic 回归。
尽管这种思路在技术层面是对的,但将机器学习作为一个整体看作只是统计学的一个分支还为时过早。这种比较没有什么意义。统计学是处理数据和解释数据的数学领域。机器学习只不过是一种计算算法(诞生于计算机科学)。很多情况下,这些算法在帮助理解数据方面毫无用处,只能帮助某些类型的不可理解的预测建模。例如在强化学习中,算法可能都不会使用已有的数据集。另外,在图像处理中,将图像视为以像素为特征的数据集,从一开始就有点牵强。
问题的关键当然不在于这个荣誉应该属于计算科学家还是属于统计学家;就像其它领域一样,能取得今天的成功是各个学术学科的功劳,其中当然包括统计学和数学。然而,为了正确评估机器学习方法的巨大影响力和潜力,有必要先打破这个错误的观念:现代人工智能的发展,无非就是古老的统计技术拥有了更强大的计算机和更好的数据集。
机器学习无需高深的统计学知识
先听我说,入门机器学习的时候,我幸运地选了一门非常棒的课程,是专门讲深度学习的。这也是我本科计算机课程的一部分。我们要完成的一个项目是在 TensorFlow 上实现和训练 Wasserstein GAN。
当时我只修了一门必修的统计学入门课,但我很快就把大部分内容都忘了。不用说,我的统计能力并不强。然而,我却能读懂一篇最先进的生成机器学习模型的论文,并且从头实现了它——通过在 MS Celebs 数据集上训练,生成了能以假乱真的虚拟图像。
在整个课程中,我和同学们成功地训练了针对癌症组织的图像分割、神经机器翻译、基于字符的文本生成以及图像转换的模型,这些模型都采用了近几年刚刚发明的尖端机器学习技术。
然而,你要是问我或者我的同学如何计算一组数据的方差,或者定义边缘概率,我们应该会交个白卷。
这似乎与人工智能只是对古老统计技术的重新包装的观点有些矛盾。
的确,在深度学习课程中,机器学习专家的统计基础可能比计算机专业的本科生更强。一般来说,信息论需要对数据和概率有很深的理解,所以我建议,所有想成为数据科学家或机器学习工程师的人最好能够对统计概念有直观的理解。但问题是:如果机器学习只是统计学的分支,那么没有统计学背景的人怎么能对最前沿的机器学习概念有深入的理解呢?
还应该承认,许多机器学习算法对统计学与概率学背景知识的要求比多数神经网络技术要高,但这些方法通常也被称为统计机器学习或者统计学习,好像是想与常规的统计类别区别开。并且,近年来大多数机器学习中的的炒作性创新都来自神经网络领域,所以这点无关紧要。
当然,机器学习并不是遗世独立的。在现实世界中,任何想要做机器学习的人都可能在研究许多类别的数据问题,因此也需要对统计学科有较深的理解。这并不是说机器学习从不使用或构建统计概念,这说的不是一回事。
机器学习=表示+评估+优化
客观来说,我和我的同学在算法、计算复杂度、优化策略、微积分、线性代数甚至概率论方面基础都很好。我想说的是,比起高级统计学知识,这些与我们正在解决的问题更加相关。
机器学习是一类反复「学习」某类函数近似值的计算算法。华盛顿大学计算科学教授 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 世纪探索太空,也没有人认为这是对飞机进行重新包装而已。
与太空探索一样,深度学习的出现并没有解决世界上所有的问题。在许多领域,特别是在「人工智能」领域,仍有很多的事情需要我们去做。也就是说,它为我们处理复杂的非结构化数据问题做出了重大贡献。机器学习会继续引领世界技术进步和创新的前沿,而不仅仅是墙上一道镶了崭新边框的裂缝。
原文链接:https://towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3
本文为机器之心编译,转载请联系本公众号获得授权。返回搜狐,查看更多
责任编辑: