我正在尝试设计一个简单的神经网络,但我遇到了一些问题。 当我使用ReLU时,我的输出保持收敛到0.5,当我使用sigmoid函数时,我的输出保持收敛到0.7。 请建议我:
还有其他方法可以初始化权重和偏差吗?我正在随机初始化它。
我是否需要在每次正向传递后执行反向传递,或者我应该采取平均操作错误并在纪元结束时更新它?
我是否需要在输入图层中使用偏见?
我是神经网络的新手。请帮忙。
答案 0 :(得分:3)
有没有其他方法来初始化权重和偏差?我正在随机初始化它。
是的,通常随机初始化权重。然而,存在用于选择方差的不同技术,例如, Xavier初始化,He初始化等(参见this discussion)。
偏见有点不同。与权重不同,用零来初始化它们是完全可以的。在基于ReLu的网络中,使用略微正数来确保大多数激活是积极的,至少在初始时并且反向传播错误是常见的。但随机init通常也能正常工作。
我是否需要在每次前进后执行backprop,或者我应该采取平均操作错误并在纪元结束时更新它?
在经典算法中,是的。我们的想法是迭代地评估和更新网络。但是,您可以为小批量而不是单个实例执行这两种操作,如果这是您所描述的内容,则它可以更有效地工作。但是在一次向后传球之前做几次前锋传球并不常见,只会减慢训练速度。
我是否需要在输入图层中使用偏差?
偏差与重量一起出现在线性层中。数据本身无偏见地传递到第一层。