为什么不向神经网络教授什么是真实的,什么是不真实的?

人工智能 神经网络 深度学习 反向传播 学习算法
2021-11-02 03:02:03

我不是研究神经网络的人,也不是从事与该领域相关的任何事情的人,但我看过一些研讨会、视频(例如3Blue1Brown 的系列),我总是被告知我们正在尝试网络收集了大量关于什么是正确的数据。例如,当我们训练一个人工智能让它识别手写文字时,我们所做的就是给它一些手写字母,让它猜测字母。如果猜错了,我们通过某种方式调整神经网络,下一次它会以更大的概率给我们正确的结果(“学习”过程的基本描述可能不准确,但它是就这个问题而言并不重要。)

但这就像向学生教授一些数学科目,却不告诉他/她我们提供的定理的界限;例如,如果我们教 A 暗示 B,学生可能倾向于将 A 与 B 联系起来,当他/她有 B 时,他/她可能会说我们也有 A,所以要确保他/她不会犯这样的错误,我们要做的就是向他/她展示一个反例,我们有 B,但没有 A。

这 - 即不仅教什么是真实的,而且什么是不真实的 - 在神经网络的“学习”过程中尤其重要,因为整个过程在某种意义上是“无界的”(请原谅我在这里的含糊不清) .

所以,如果我在研究神经网络,我会怎么做;例如在上面对手写字母情况的识别中:我还会向 NN 显示一些非字母图像,并在最后一层将一个选项设置为“非字母”以及所有其他字母,这样 NN 应该并不总是仅仅为了给给定输入产生结果而返回一个字母,它还需要选择说“我不知道”,在这种情况下它会产生结果Not a Letter

问题

有没有人曾经将上述方法应用于神经网络并得到结果?如果是这样,与没有“我不知道”选项的情况相比,结果如何。

1个回答

是的,这是例行的。例如,这就是YOLO 对象检测和分类器系统的工作原理,例如给出一个真实世界。在 YOLO 中,“非对象”分类是“背景”,即任何不包含我们感兴趣的对象类型之一的图像片段。

通常,您可以将“其他”类添加到任何分类器,前提是您有适合“其他”类的数据示例进行学习,并且您可以了解“其他”在您的目标生产系统中出现的频率。您是否选择这样做取决于模型的目的。

许多玩具和测试模型不包括“其他”类别,因为它们以封闭的方式用于评估每个机器学习系统的工作方式。这包括著名的 MNIST 手写数字数据集,因此如果您阅读有关此的教程,则有一个基本假设,即训练后的网络只会呈现其他手写数字,并且它的唯一任务是对它们进行分类。但是,这并不是一般机器学习分类器的一般假设,仅与使用 MNIST 数据集的目标有关。

当该类别在目标生产系统中不重要时,添加新的“我不知道”类别不会提高系统的准确性或性能。当由于任务的性质而需要这样的类别时,性能指标会有所不同——在这种情况下,经过一些负面例子训练的系统可能会表现得更好。