使用正确的构建块,机器学习模型可以更准确地执行欺诈检测或垃圾邮件过滤等任务。
神经网络是一种机器学习模型,被用来帮助人类完成各种各样的任务,从预测某人的信用评分是否高到有资格获得贷款,到诊断患者是否患有某种疾病。但研究人员对这些模型的工作原理仍然知之甚少。给定模型是否最适合特定任务仍然是一个悬而未决的问题。
麻省理工学院的研究人员找到了一些答案。他们对神经网络进行了分析,并证明它们可以被设计成“最优”,这意味着当网络被赋予大量标记的训练数据时,它们将借款人或患者错误分类到错误类别的可能性降到最低。为了实现最优,这些网络必须使用特定的架构构建。
研究人员发现,在某些情况下,使神经网络达到最佳状态的构建模块并不是开发人员在实践中使用的模块。研究人员说,这些通过新分析得出的最佳构建块是非常规的,之前没有考虑过。
在本周发表在美国国家科学院院刊上的一篇论文中,他们描述了这些称为激活函数的最佳构建块,并展示了如何使用它们来设计在任何数据集上实现更好性能的神经网络。即使神经网络变得非常大,结果仍然成立。这项工作可以帮助开发人员选择正确的激活函数,使他们能够构建神经网络,在广泛的应用领域更准确地对数据进行分类,资深作者、电气工程与计算机科学系 (EECS) 教授 Caroline Uhler 解释说.
“虽然这些是以前从未使用过的新激活函数,但它们是一些简单的函数,有人可以针对特定问题实际实现。这项工作确实表明了拥有理论证明的重要性。如果你追求对这些模型的原则性理解,那实际上可以引导你获得你从未想过的新激活函数,”Uhler 说,他也是 Broad Institute 埃里克和温迪施密特中心的联合主任麻省理工学院和哈佛大学的研究员,麻省理工学院信息和决策系统实验室 (LIDS) 及其数据、系统和社会研究所 (IDSS) 的研究员。
与 Uhler 一起撰写论文的还有主要作者 Adityanarayanan Radhakrishnan(EECS 研究生、Eric 和 Wendy Schmidt 中心研究员)以及加州大学圣地亚哥分校 Halicio?lu 数据科学研究所教授 Mikhail Belkin。
激活调查
神经网络是一种松散地基于人脑的机器学习模型。许多层相互连接的节点或神经元处理数据。研究人员通过向网络展示数据集中的数百万个示例来训练网络完成任务。
例如,一个经过训练可以将图像分类(比如狗和猫)的网络被赋予一个编码为数字的图像。网络逐层执行一系列复杂的乘法运算,直到结果只是一个数字。如果该数字为正,则网络将图像分类为狗,如果为负,则为猫。
激活函数帮助网络学习输入数据中的复杂模式。他们通过在将数据发送到下一层之前对一层的输出应用转换来实现这一点。当研究人员构建神经网络时,他们会选择一个激活函数来使用。他们还选择网络的宽度(每层中有多少个神经元)和深度(网络中有多少层。)
“事实证明,如果你采用人们在实践中使用的标准激活函数,并不断增加网络的深度,它会给你带来非常糟糕的性能。我们表明,如果你设计不同的激活函数,随着你获得更多数据,你的网络会变得越来越好,”Radhakrishnan 说。
他和他的合作者研究了神经网络无限深和无限宽的情况——这意味着网络是通过不断添加更多的层和更多的节点来构建的——并被训练来执行分类任务。在分类中,网络学习将数据输入放入不同的类别。
“一张干净的照片”
在进行详细分析后,研究人员确定这种网络只有三种方式可以学习对输入进行分类。一种方法根据训练数据中的大多数输入对输入进行分类;如果狗多于猫,它将确定每个新输入都是狗。另一种方法通过选择与新输入最相似的训练数据点的标签(狗或猫)进行分类。
第三种方法根据所有与其相似的训练数据点的加权平均值对新输入进行分类。他们的分析表明,这是导致最佳性能的三种方法中唯一的方法。他们确定了一组始终使用这种最优分类方法的激活函数。
“这是最令人惊讶的事情之一——无论你为激活函数选择什么,它都只会是这三个分类器之一。我们有一些公式可以明确地告诉您它将成为这三个中的哪一个。这是一幅非常干净的画面,”他说。
他们在几个分类基准测试任务上测试了这一理论,发现它在许多情况下都提高了性能。Radhakrishnan 说,神经网络构建者可以使用他们的公式来选择能够提高分类性能的激活函数。
将来,研究人员希望利用他们所学的知识来分析他们拥有有限数据量的情况以及网络不是无限宽或深的情况。他们还想将此分析应用于数据没有标签的情况。
“在深度学习中,我们希望构建有理论基础的模型,以便我们能够在某些关键任务环境中可靠地部署它们。这是实现类似目标的一种很有前途的方法——以一种基于理论的方式构建架构,并在实践中转化为更好的结果,”他说。
这项工作部分得到了美国国家科学基金会、海军研究办公室、麻省理工学院-IBM 沃森人工智能实验室、布罗德研究所埃里克和温迪施密特中心以及西蒙斯研究者奖的支持。