我正在用 NN 进行一些实验(实际上我正在运行 LSTM 分类器),但我偶然发现了一个到目前为止我还没有找到答案的问题。
NN 首先学习什么?例如,当我们训练一个用于对对象进行分类的网络时,准确度通常在训练集上开始很低,并在整个 epoch 中增加。我的问题是,在这些早期时期,网络正确分类了我的训练集的哪些示例?它们是“最简单”的例子还是仅仅是最先出现的例子?在我看来,它们是最简单的例子,即那些很容易相互区分的例子。
如果对此有数学解释,我会很高兴。任何帮助表示赞赏!
我正在用 NN 进行一些实验(实际上我正在运行 LSTM 分类器),但我偶然发现了一个到目前为止我还没有找到答案的问题。
NN 首先学习什么?例如,当我们训练一个用于对对象进行分类的网络时,准确度通常在训练集上开始很低,并在整个 epoch 中增加。我的问题是,在这些早期时期,网络正确分类了我的训练集的哪些示例?它们是“最简单”的例子还是仅仅是最先出现的例子?在我看来,它们是最简单的例子,即那些很容易相互区分的例子。
如果对此有数学解释,我会很高兴。任何帮助表示赞赏!
您可能正在寻找对神经网络中“梯度消失或爆炸问题”的描述。
这篇文章深入探讨了这个问题。作者将问题简述为:
一个重要的观察:至少在一些深度神经网络中,当我们向后穿过隐藏层时,梯度趋于变小。这意味着早期层中的神经元比后面层中的神经元学习得慢得多。”
在高层次上,我们可以将神经网络的输出视为函数的组合.
获得损失后, ,我们使用梯度下降开始更新权重。最深层的权重仅取决于早期组合中最深层函数的导数,而浅层的权重取决于组合中的外部函数。
作者解释说,这导致浅层的导数包括较深权重的乘积,通常小于 1(在梯度消失问题中)。将许多数字相乘 < 1 会导致数字非常小,并且网络浅层中权重的更新消失。
很可能它正在学习种子连接权重是否良好。如果您使用不同的起始参数播种,则前几次迭代将进行不同的分类。