最近我在研究机器学习和神经网络,目前正在努力更好地理解训练过程对网络一生表现的影响。
我目前的理解是,当给定训练集时,网络会调整其偏置和权重变量,使程序在处理数千个数据点时更接近正确答案,并在每个点上学习和调整。这篇论文讨论了MNIST数据集的例子,其中网络可以被训练到97%的准确率猜测正确的数字,而数据集本身被标记为100%准确。
但是,如果给定的数据集只有80%或50%的准确率会怎样?这个准确率是否是网络训练后能达到的准确率上限?是否有模型允许训练得比给定的数据集更好?
举个不太恰当的例子,如果一个神经网络从初学者棋手那里学习,它理论上能被训练到特级大师水平吗?
回答:
简短回答:查看这篇论文,它讨论了基于不可靠标签训练神经网络的方法,详细解释了使用噪声过滤器和其他技术在给定一些错误标记的数据时如何训练网络。他们甚至用MNIST数据集进行了示例说明。
较长的回答:
但是,如果给定的数据集只有80%或50%的准确率会怎样?
一般来说,我们可以说神经网络类似于回归,从(很棒的)书《人工智能:现代方法 第3版》中摘录,作者是Stuart J. Russell和Peter Norvig(第732页):
因为网络表示的函数可以是高度非线性的——由嵌套的非线性软阈值函数组成——我们可以将神经网络视为进行非线性回归的工具。
因此,如果你给这个网络(或回归器)一些数据,它会尽可能地拟合这些数据。也就是说,网络无法事先知道现实世界的标签会是什么;它被训练来拟合你给它的数据,试图学习隐藏的模式并适应可能的输入变体。
所以,考虑到这一点,并遵循传统方法(不像论文中的方法),如果你给你的神经网络错误标记的数据,它将学会分类那种错误标记的数据(也就是说,你的训练误差和损失函数可能很好,但当你给它真实标签时,它的表现可能会更差,因为它被训练来分类错误标记的数据)。如果你用类似错误标记的数据测试它的表现,它肯定会表现得很好。
是否有模型允许训练得比给定的数据集更好?
所引用的论文提出了一个这样的模型。不过要小心,因为在神经网络中,“训练得更好”往往可能导致过拟合,如果你不小心的话。
希望这对你有帮助。