我们如何教神经网络进行任意数据关联?

人工智能 神经网络 机器学习 深度学习 监督学习
2021-10-22 04:30:12

假设我有一对形式的键和值(x1,y1),,(xN,yN). 然后我给神经网络一个键和一个值,(xi,yi). 例如,xi可能4yi可能3, 但不一定是这样。

有没有办法教神经网络输出yi每次收到相应的变量时xi?

顺便问一下,我们的大脑是如何执行这个功能的?

1个回答

简而言之:记忆不是学习

所以,首先让我们提醒一下神经网络在监督学习中的经典用法:

  • 你有一套(xtrain,ytrain)X×Y对,并且您想从中提取一般映射律XY
  • 您使用神经网络函数fθ:xfθ(x), 和θ网的重量(参数)。
  • 你优化fθ通过最小化由损失函数表示的预测误差。

这能解决你的问题吗?嗯,我不这么认为。使用此方案,您的神经网络将从集合中学习适当的映射X到集合Y, 但是这个映射是根据你的损失函数而不是你的(xtrain,ytrain)对。

想象一下,一小部分数据被错误地标记了。一个经过适当训练的网络会学习提取相关特征,从而正确预测标签,而不是像你做的那样。所以网络不会记住你的配对,它会从数据中推断出一般规律,而这个规律可能不会尊重每一对(xtrain,ytrain). 所以经典的监督深度学习不应该死记硬背(xtrain,ytrain) 对。

但是,您可以使用具有太多参数的网络来记住:它是过度拟合

  • 在这种情况下,您设置的网络参数太多。这给你的网络提供了太多的自由度,网络将使用这些自由度来准确地适合每个(xtrain,ytrain) 配对你在训练期间喂食。
  • 但是,对于输入x它在训练期间从未见过,fθ(x)将没有任何意义。这就是为什么我们说过度拟合的网络没有学习,并且许多深度学习从业者担心过度拟合。

但只要你只想记住而不是学习,过度拟合的网络可能是一个解决方案。另一个记忆的解决方案可能是专家系统,我对它们的了解不足以解释它们,但如果你愿意,你可以检查一下。

大脑呢?

回答这个问题的关键是我们并不真正知道大脑是如何工作的。我强烈推荐这篇讨论神经网络和大脑的文章。

一些想法开始:

  1. 大脑的参数数量惊人,而且具有很强的可塑性。从这个意义上说,我们可以与过度拟合的神经网络进行类比:因此大脑也可以过度拟合,从而通过这种方式进行记忆。
  2. 我们的大脑根本不是一个前馈网络,我们无法划分任何,只是一些我们知道处理某些特定信息的粗糙区域。这使得神经网络和大脑之间的任何平行变得困难。
  3. 目前还不清楚我们的大脑如何自我更新。例如,没有反向传播。我们的过度拟合网络也源于更新过程(例如,向损失添加正则化有助于避免欠拟合),但我们不知道这在大脑中是如何工作的,所以这是绘制平行线的另一个障碍!
  4. 一个更个人的想法:大脑能够学习和记忆(“证明规则的例外”座右铭表明我认为),而学习和记忆是神经网络的反义词......