java - 神经网络反向传播 : bias goes to infinity

标签 java artificial-intelligence

我有一个旨在进行反向传播的神经网络。

我一直在使用以下方法对隐藏层进行权重更新

Δwji = η × δj × yi

其中 δj 是 φ'(vj) * ej,其中 vj = Σi wjiyi,对于输出层和 φ'(vj) * sum(δk*wkj) 对于前几层

然而,隐藏单元的偏差之一总是趋于无穷大。它的意义是什么?

编辑:

无穷大的值原来是来自某些神经元的输入值 vj。那么,这意味着我的神经网络只是在强化一个特定神经元应该始终激活的事实吗?

这是否也意味着我在训练时缺少针对这些特定输入的各种示例?

最佳答案

反向传播学习的收敛性并不能保证在每个问题和每个条件下都能收敛。例如,如果 权重空间 中存在某个无限递减的方向,算法可能会发散。

您可以尝试降低学习率 η(如果此值过高,ANN 通常会完全发散)或更改问题编码或增加训练集的多样性。

关于java - 神经网络反向传播 : bias goes to infinity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833510/

相关文章:

python - 试图创建一个解决迷宫的程序,但它卡在了特定的路径上

java - 如何让两个 Primefaces 面板并排放置?

parsing - 将大型文档/文本/HTML 分解为片段的良好 ML 模型/技术是什么?

python - 如何构建自动更新的机器学习系统(智能系统)?

python - 为什么我的值字典需要浅拷贝才能正确更新?

java - 量子井字棋 AI

java - 用 Java 重写 Gimli_hash

java - 没有打印语句,循环看不到其他线程更改的值

java - 模拟对象返回具有相同参数的真实对象

java - 使用 Jackson 2.2 进行 JSON 处理