有了正确的构建块,机器学习模型可以更准确地执行诸如欺诈检测或垃圾邮件过滤等任务

神经网络是一种机器学习模型,可以帮助人类完成各种任务,从预测借款人的信用评分是否足够高以符合贷款要求,到诊断患者是否有某种疾病。但研究人员对这些模型的工作原理仍然了解有限。对于特定任务,一个给定的模型是否最优仍然是一个开放的问题。
麻省理工学院的研究人员找到了一些答案。他们对神经网络进行了分析,并证明了它们可以被设计成“最优”,这意味着当网络获得大量标记的训练数据时,它们可以最大程度地减少将借款人或患者错误分类到错误类别的概率。为了实现最优性,这些网络必须采用特定的架构。
研究人员发现,在某些情况下,启用神经网络最优的构建块并不是开发人员在实践中使用的那些。这些通过新分析得出的最优构建块是非传统的,并且以前从未被考虑过,研究人员表示。
在本周发表于《美国国家科学院院刊》的一篇论文中,他们描述了这些最优构建块,称之为激活函数,并展示了如何使用它们设计神经网络,以在任何数据集上实现更好的性能。即使神经网络变得非常庞大,这些结果仍然成立。本研究可以帮助开发人员选择正确的激活函数,使他们能够构建在各种应用领域中更准确分类数据的神经网络,解释该论文的高级作者Caroline Uhler是电气工程和计算机科学系(EECS)的教授。
“虽然这些是以前从未使用过的新激活函数,但它们是某个特定问题可以实际实现的简单函数。这项工作真正展示了理论证明的重要性。如果您寻求对这些模型的原则性理解,那么实际上可以将您带到您否则永远不会想到的新激活函数,”Uhler说。他还是MIT和哈佛大学的Eric和Wendy Schmidt中心的联合主任,以及MIT信息和决策系统实验室(LIDS)和数据,系统和社会研究所(IDSS)的研究员。
论文的其他作者包括首席作者Adityanarayanan Radhakrishnan,他是EECS的研究生和Eric和Wendy Schmidt中心的研究员,以及Mikhail Belkin,他是加州大学圣迭戈分校Halicioğlu数据科学研究所的教授。
激活函数的研究
神经网络是一种基于人脑的机器学习模型。许多层相互连接的神经元处理数据。研究人员通过向网络显示来自数据集的数百万个示例来训练网络完成任务。
例如,已经接受分类图像为狗和猫的网络被给定一个已编码为数字的图像。网络按层执行一系列复杂的乘法操作,直到结果只剩下一个数字。如果该数字为正数,则网络将图像分类为狗,如果为负数,则为猫。
激活函数帮助网络学习输入数据中的复杂模式。它们通过在将数据发送到下一层之前对一层的输出应用变换来实现这一点。当研究人员构建神经网络时,他们选择一个激活函数来使用。他们还选择网络的宽度(每层有多少个神经元)和深度(网络有多少层)。
“事实证明,如果您采用人们在实践中使用的标准激活函数,并不断增加网络的深度,它会给您带来可怕的性能。我们表明,如果您使用不同的激活函数进行设计,随着您获得更多数据,您的网络将变得越来越好,”Radhakrishnan说。
他和他的合作者研究了一种情况,即神经网络是无限深和宽的,并且是通过不断添加更多层和节点来构建的,并且经过训练以执行分类任务。在分类中,网络学习将数据输入放入单独的类别中。
“一个干净的图像”
经过详细的分析后,研究人员确定了这种网络可以学习分类输入的三种方法。一种方法是根据训练数据中的大多数输入分类输入;如果有更多的狗比猫,则它会决定每个新输入都是狗。另一种方法是根据最接近新输入的训练数据点的标签(狗或猫)进行分类。
第三种方法基于所有与其相似的训练数据点的加权平均值对新输入进行分类。他们的分析表明,这是三种方法中唯一能够实现最佳性能的方法。他们确定了一组始终使用此最佳分类方法的激活函数。
“最令人惊讶的是,无论您选择什么样的激活函数,它只会成为这三个分类器之一。我们有公式可以明确告诉您其中的三个分类器是哪个。这是一幅非常清晰的图像,”他说。
他们在几个分类基准测试任务上测试了这个理论,并发现在许多情况下可以提高性能。Radhakrishnan说,神经网络构建者可以使用他们的公式选择产生改进分类性能的激活函数。
未来,研究人员希望利用他们所学的知识分析数据量有限且网络不是无限宽或深的情况。他们还想将此分析应用于没有标签的数据情况。
“在深度学习中,我们希望构建基于理论的模型,以便我们可以在某些关键任务中可靠地部署它们。这是一种有前途的方法,可以以理论上的方式构建体系结构,从而在实践中产生更好的结果,”他说。
此工作得到了美国国家科学基金会、美国海军研究办公室、MIT-IBM Watson AI实验室、Broad研究所的Eric和Wendy Schmidt中心以及Simons研究员奖的部分支持。