gpt4 book ai didi

tensorflow - 神经网络权重太大?

转载 作者:行者123 更新时间:2023-11-30 09:16:21 26 4
gpt4 key购买 nike

我正在实现一个具有向后传播功能的神经网络。权重初始化为 (-0.5, 0.5)。然而,在第一次向前发送输入并且错误并传播回来之后,权重增加到1000左右,有时甚至2000。(在输入层和隐藏层之间)

网络拓扑由 3 层组成:1 个输入层、1 个隐藏层和 1 个输出层。输入层有95个节点,隐藏层有3个节点,输出层有2个节点。训练数据集有 40,000 个条目,它们使用 z 分数进行标准化。

在看到如此高的数字后,我怀疑我的实现,但话又说回来,在第一次传播时将学习率设置为 1,如果每个条目的大约 (output*error)=0.25(这是合理的),则权重更改为大约 1000 似乎是合理的。

无论如何,神经网络中的权重应该这么高吗?

谢谢

最佳答案

这么高的值并不一定是坏事。权重可以非常高,也可以非常低。它们甚至可以为零!

假设您有两个类(class):A 和 B

A 类的输入通常始终在 0.00001 左右。 B 类的值相同,但某些输入值约为 0.001

节点的输入是w * x

A) 0.00001 * 1000 = 0.001
B) 0.001 * 1000 = 1

当您将 A 这样的输出输入 sigmoid(您的激活函数)时,您几乎会得到零结果。信号消失。

但是对于像 B 这样的输出进入 sigmoid 函数,您会得到更大的值(不确定,但可能约为 1)。因此信号向前传播。

您的权重值取决于很多因素:

  • 数据
  • 问题正在解决
  • 您的激活函数选择
  • 每层神经元数量
  • 层数
  • 其他权重的值!

关于tensorflow - 神经网络权重太大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55072299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com