我在看这个系列:https ://www.youtube.com/watch?v=aircAruvnKk
该系列通过构建一个简单的数字识别网络来演示神经网络。
这让我思考:为什么神经网络会尝试识别多个标签而不是一个标签?在上面的示例中,网络尝试识别从 0 到 9 的数字。尝试同时识别这么多事物有什么好处?如果有 10 个不同的神经网络专门一次只识别一个数字,这不是更容易推理吗?
我在看这个系列:https ://www.youtube.com/watch?v=aircAruvnKk
该系列通过构建一个简单的数字识别网络来演示神经网络。
这让我思考:为什么神经网络会尝试识别多个标签而不是一个标签?在上面的示例中,网络尝试识别从 0 到 9 的数字。尝试同时识别这么多事物有什么好处?如果有 10 个不同的神经网络专门一次只识别一个数字,这不是更容易推理吗?
在实践中,您永远不想只分类单个数字而不是系列。在这种情况下,您必须将图像补丁传递给多个网络,这会带来不便。如果你建立不同的精确模型,训练参数不会显着减少。例如草率地写 6,在单个模型中,6 和 0 的概率会接近,如果您考虑可能得到最接近的答案,则不一样。虽然使用不同的模型,概率可能会在更大的范围内变化,并且您可能没有像在单个模型中那样具有良好的泛化能力。最后,一切都归结为泛化,根据我的经验,用多种事物训练的神经网络具有良好的泛化特性。
您的问题似乎在谈论两个略有不同的主题:
多类分类中的 One vs Rest
识别数字是多类分类的一个例子。您概述的方法是Wikipedia page on multi-class classification的“One vs Rest”部分中总结的那种方法。该页面指出了这种方法的以下问题:
首先,二元分类器之间的置信度值的大小可能不同。其次,即使训练集中的类分布是平衡的,二元分类学习器也会看到不平衡的分布,因为他们看到的负样本集通常比正样本集大得多。
您可能还想研究另一种称为 One vs One('One vs Rest' vs 'One vs One')的方法,它将分类问题设置为一组二元替代方案。在数字识别案例中,您最终会得到“1 还是 2?”、“1 还是 3?”、“1 还是 4?”的分类器。等等。这可能有助于解决“4 vs 9”问题,但它确实意味着大量的分类器,可能在某种网络中更好地表示。甚至可能是一个受大脑神经元启发的网络。
在单输出与多类分类中使用神经网络
神经网络没有什么神奇之处,这意味着它必须用于多类分类。它也没有什么神奇之处,使它成为多类分类的唯一选择。
例如:
结论
使用 10 类神经网络来识别数字,因为与 one vs rest 和 one vs all 方法相比,这已被证明是一种有效的方法。
也许有点跑题了,但如果你在T5的背景下考虑这一点,似乎确实有一种趋势是朝着更大更多功能的模型而不是许多小型专用模型的方向发展。
想象一个对周围世界一无所知的小孩。你教孩子如何写数字“6”,这是它唯一知道的。
现在,无论你给孩子看什么其他数字,它总是会以“6”回应,因为这是它唯一知道或学到的东西。
你教孩子如何写数字“9”,所以现在它知道如何区分“6”和“9”了“6”或“9”,因为它只知道这么多。
神经网络的目的是了解数据中的潜在分布,这可以帮助它对不同的数字进行分类。拥有一个能够理解数字的一般特征并帮助我们完成任务的分类器非常重要。如果您有 10 个神经网络在 10 个不同的数字上进行训练,并且您向这些网络中的每一个显示数字“10”,每个网络将输出它所训练的数字,因为这就是它所知道的(类似于上面的天真的孩子) .
我希望这回答了你的问题!