神经网络可以学会忽略输入数据吗?

人工智能 神经网络 分类
2021-10-28 03:51:05

免责声明:我不是计算机科学专业的学生,​​我对 ML/NN 的大部分知识都来自 YouTube,所以请多多包涵!


假设我们有一个分类神经网络,它需要一些输入数据w,x,y,z,并且有一定数量的输出神经元。我喜欢考虑一个分类器来决定房子的价格,所以它的输出神经元是房子的大致价格。

确定房价是人类已经做了一段时间的事情,所以假设我们先验地知道数据x,y,z对房子的价格很重要(例如,平方英尺、卧室数量、浴室数量)和基准w对房子的价格没有很大的影响(例如前门的颜色)。作为一名实验者,我可能会通过寻找具有相同特征的房屋组来确定这一点x,y,z和变化w,并表明房价没有显着差异。

现在,假设我们的神经网络已经在一些随机房屋上训练了一段时间。稍后在数据集中。它会遇到一组房子x,y,z和价格都一样,但谁的w是不同的。我天真地期望在训练课程结束时,w到第一层神经元将归零,有效地解耦输入数据w从输出神经元。我有两个问题:

  1. 是否确定,甚至可能,w会与输出神经元层解耦吗?
  2. 从数学上讲,这会发生在哪里?在反向传播步骤中,什么会控制这种效应的发生,它会以多快的速度发生?

对于经典神经网络,网络没有“记忆”,因此网络可能很难意识到w是一个毫无价值的输入参数。

非常感谢任何信息,如果有任何论文可以让我深入了解这个主题,我很乐意阅读它们。

2个回答

给定足够的数据,这是一种可学习的行为。我们预计错误会反向传播到w每当它的使用损害分类准确性时。在这种情况下,那将是任何时候|w|>0. 一般来说,我不确定这需要多长时间。

然而,速度w收敛到零将受益于正则化,这通常基本上是对添加到您正在优化的损失函数的网络权重大小的惩罚。如果w确实对分类无关紧要,那么正则化肯定会把它推到零。

我将预期输出称为“房屋价格”或简称为“价格”,以使答案更容易理解,但这也适用于任何其他情况。

要回答问题的第 1 部分,如果w并且房子的价格是 0 或可以忽略不计,那么很可能w同时保持x,y, 和z常数将导致在经过训练的网络中预测的价格几乎相同。这似乎是一个可学习的统计特征。不过有一些警告。首先,这取决于您的网络有多复杂。之间的相关性如何可学习x,y,z和价格?假设大多数其他类似的因素都到位,我会说可能w将从输出中解耦。

您问题的第 2 部分解释起来有点棘手。让我们考虑一个使用逻辑回归的更简单的场景。逻辑回归本质上是一个具有 sigmoid 输出且没有隐藏层的网络。输出是所有输入的线性组合的 sigmoid。

让我们考虑如下示例 -
两个数据点具有相同或相似的值x,yz和预期的输出,但是w有很大的差别。系数w在线性组合中有一个有限的非零值。因此,即使两种情况下的结果价格应该相同或相似,sigmoid 的输入也会有所不同。
由于上述示例中预期值和预测值之间的差异,损失函数的值会增加。
一般来说,系数值的变化w是学习率和损失函数相对于它的微分的乘积。现在其值的变化将使得w减少以强制执行上述示例中提到的条件。

很难预测更复杂的网络会在什么时候学会忽略w. 输入层本身的权重可能会收敛到零。或者连续层中的权重可以收敛,使得它们的线性组合对输入 w 不重要。

我想谈谈另一点。你提到过——

对于经典神经网络,网络没有“记忆”,因此网络可能很难意识到 w 是一个毫无价值的输入参数。

关于没有记忆的第一部分是真实的。但是,网络不需要记住所有过去的值。网络的可训练参数基本上是学习输入数据的统计分布并将其映射到预期输出。他们正在尝试对一个数学函数进行建模,以尽可能多地满足此类训练样本。网络通过这些参数存储了训练数据行为的抽象。因此,即使它不记得每个训练样本,它确实记得输入和预期输出之间的一般相关性。

一个过于简单的类比是,作为人类,你不记得每个数字乘以 2。但是,如果我问你 123 和 2 的乘积是什么,你可以找到乘积,因为你只知道“乘以by 2" 功能通常有效。类似地,网络通过将预期输出映射到参数可以修改的函数来构建对预期输出的一般直觉。