2016 - 2024

感恩一路有你

神经网络有哪些初始化网络的方法 如何更好地调试神经网络?

浏览量:4754 时间:2023-06-04 08:42:37 作者:采采

如何更好地调试神经网络?

谢谢邀请我。以下是一些经验。深度学习在几个方面很棘手。数学和理论不仅能快速引出梯度公式和更新方程的毛团,而且深度学习模型非常复杂。TensorFlow开发TensorBoard后,神经网络的在线可视化和控制训练有了很大的进步,帮助开发者诊断无效的神经网络层。

从一小步开始,最先进的深度学习架构只会越做越大。作为一个试图实现这些架构的程序员,如果你确切地知道你在做什么,这不是一个问题。如果你的知识不完善,那么事情就会出错。无论是 it'他试图模仿别人。;结果或超越已经做的事情。特别是在你刚开始一个新的深度学习项目的时候,我发现了两个特别有用的措施:用虚假数据来验证你的数据模型,在构建架构的时候一步一步来做。

伪造你的数据,得到你想要的结果。我的第一个建议主要出现在 "正如我所说,从最简单的架构开始,并确定您的数据表示。对于问题的某些版本,实现一个小的全连接前馈网络(即使只是逻辑回归)。创建一个模拟数据流,其形状和尺寸与您通过网络推送的数据相同。尝试输入输出关系确定且容易学习的数据,和输入输出没有关系的数据,比较算法的性能:

这些示例如下所示。你觉得哪些关系比较容易学?

这种方法叫做单元测试。假数据可以检验你最终实现的算法的鲁棒性。

当我们构建一个九层的RNN时,引用是在Torch中实现的。我和我的同事最初开始在Th

简述神经网络权值调整的通用规则?

神经网络的权值是通过训练网络获得的。如果你使用MATLAB,唐 不要自己设置。newff稍后会自动赋值。也可以手动:net。IW { };{}。一般来说,输入是归一化的,所以W和B是0-1的随机数。确定神经网络权值的目的是使神经网络在训练过程中学习到有用的信息,也就是说参数梯度不应为0。

参数初始化必须满足两个必要条件:

1.在每个激活层中不会有饱和现象。例如,对于sigmoid激活函数,初始化值不能太大或太小,导致落入其饱和区。

2.每个激活值不为零。如果激活层的输出为零,即下一个卷积层的输入为零,那么这个卷积层将权重微分为零,从而导致梯度为零。

神经网络 深度 数据 梯度 网络

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。