我们如何获得一个可微分的神经网络来计算事物?

人工智能 神经网络 建筑学 概括
2021-11-06 04:08:55

想象一下,我的图像中有苹果。我想训练一个可以计算每个图像中苹果数量的神经网络。

但是,我不想使用检测器,然后计算边界框的数量。我很想知道是否有办法将这种逻辑烘焙到可微分的神经网络中。

这个问题最简单的变化可能是:我有一个输入向量x{0,1}N我想计算其中 1 的数量。我可以制作一个单层神经网络,将所有权重设置为 1,将偏差设置为 0,并进行线性激活。我的答案就出来了。但是我将如何训练网络从头开始执行此操作?当然,我可以回归到输出[0,1]并将结果乘以N,则网络是可微的。但是模型真的学会了如何计数吗?如果是这样,这种行为是否可以推广到一次计算多种类型的对象?它会推广到可以有任意数量的所述对象的输入(就像图像中可以有很多苹果,尽管图像的大小)?

我想知道是否有可以学习如何计数的模型。

这是我正在考虑的另一种方式:我可以查看松树的鸟瞰图并说“是的,也许有 30 棵树”,但随后我可以完成单独查看和识别每棵树的任务,增加一个计数器,并确保不要重新访问那棵树。后者是我认为真正的“计数”。

1个回答

从观察中估计是一个函数,但“真正计数”是一个过程。前馈神经网络可以从训练样本中学习任意函数,但它们不能表示(因此不能学习)过程。他们可以尝试将完成一个过程的结果作为一个函数来估计,但这与实际执行该过程不同。

要从示例中学习任意过程,除了所需的任何功能之外,还需要一个具有一些状态和演化概念的模型。循环神经网络 (RNN) 是解决这类学习问题的合适模型,但其他 AI 学习结构也是如此。

这个兔子洞很深,对于您可以构建的任何模型,都可以问:

  • 系统是否真的在执行类似于人类尝试相同任务的计数任务?

  • 系统是否真的学会了计数,或者它是由开发人员构建的,因此过程的某些部分是不可避免的?

  • 系统是否学会了在任何子组件中进行一般计数,或者它可以计算的事物是否在组件之间紧密耦合?

您还可以提出其他问题,具体取决于您制作此类模型的目标。

值得注意的是,对于少量和某些模式,人类“计数”确实更接近于估计过程,或者可能更类似于 NLP 问题。例如,考虑如何“计算”骰子上的点数 - 尽管您可以使用计算过程来确认您看到的内容,但通常您不会这样做。相反,你大脑的某些部分正在快速而无意识地提供一个非常准确的答案:

骰子图像来自 Diacritica,CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0,来自 Wikimedia Commons

更一般地说,人类的计数可能包含多种相关策略,用于将观察结果转换为数量的符号和/或感官表示。有些可能是本能,有些是习得的有意识行为,有些似乎介于两者之间,也许最初是学来的,但通过重复变成了潜意识的技能。

暂时忽略您是否正在实施您的 AI 项目以完全在神经网络中计算图像中的项目,我认为您需要以下组件:

  • 表示和跟踪相对于正在处理的输入的计数过程的开始、进度和结束的状态。

  • 表示到目前为止计数的数量的累加器。

  • 当它观察到需要计数的东西时可以触发计数事件的检测器。

  • 用于处理输入的策略或计划器,以便将检测事件分开,并且每个有效事件仅触发一次。

最后一个组件可能会有很大差异,人类将根据任务的难度使用一系列不同的计数策略。例如,您可以使用工作记忆(人类的有限资源)来跟踪图像中的几个关键点,以帮助您在处理图像时将图像分割成更小的部分。或者,您可以在图像上制作视觉标记以跟踪已计数的每个对象。对于人类来说,计数策略可以混合和匹配,有时甚至在相同的计数任务中也可以切换。

所有这些组件都可以在AI 过程的可学习部分中表示,但并非必须如此。当你在你的问题中建议

我不想使用检测器,然后计算边界框的数量。

那么您很可能会说您不想使用固定的硬编码策略。你想以某种方式创建一个神经网络,它可以发现至少一种处理输入的策略。

您将面临的麻烦是,为大型 RNN 模型(例如 LSTM)提供一个包含输入图像和输出正确计数的示例数据集可能是一个太大的挑战。从头开始发现一个健壮的对象计数系统太难了。

有几件事可以帮助你构建“真正”学会计数的东西。这里有几个想法:

  • 课程学习,您从一些手持示例开始训练神经网络,然后慢慢提高复杂性。这类似于我们教孩子数数的方式。

  • 为处理策略设计的建模。例如,您可以添加一个虚拟中央凹和人工视觉扫视,并要求神经网络输出图像中的一系列位置,并从中挑选出来运行检测器。这将是一个约束,允许某些类型的类人计数策略起作用,并且可以将问题简化到网络有机会学习它的程度。

一篇使用“fovea”模型进行对象检测的论文:Object detection through search with a foveated visual system