多层感知器在相同数据的不同迭代中产生不同结果的典型情况?

2024-05-15 02:28:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在第一次实现了我自己的多层感知器之后,我不确定有两件事。第一:当对测试数据进行迭代时,神经网络有不同的精度是正常的吗?例如,第一次初始化并运行网络时,精度可能为0.7,而第二次则可能下降或上升?到目前为止,我所采用的方法是继续初始化网络,并将相应的权重保存到最精确的网络中。第二个问题:Jupyter笔记本继续抛出RuntimeWarning:exp中遇到溢出。是因为一次迭代的数据太多吗?这可以通过成批处理来解决,从而使数据更易于网络管理吗?(我正在使用MNIST数据集。)如果需要发布代码,请告诉我。你知道吗


Tags: 数据方法代码网络精度笔记本jupyter神经网络
1条回答
网友
1楼 · 发布于 2024-05-15 02:28:26

一个MLP的权重应该用随机值初始化。根据初始权重,结果可能会有波动,训练后输出单位的变化是正常的。但一旦网络聚合,只要需要计算出的标签,就可以忽略这些小更改。7和6.9完全没有区别。假设你正在下降一个山谷,而你没有关于它的事先信息,你的目标是让它到达山谷的表面。一旦你确定你已经到达地面,你是站在一块小岩石上还是坐在地上就不那么重要了。
回想一下,神经网络的整个思想都是围绕点积和使用激活函数压缩结果展开的。因此,如果权重从零开始,则只会得到零。
第二个问题的答案可能是肯定的。请注意,即使是很小的神经网络也有数百万个参数,有时可能需要大量的记忆。别担心,有办法克服这些问题!我鼓励大家看看迈克尔·尼尔森的优秀著作Neural Networks and Deep Learning。你知道吗

相关问题 更多 >

    热门问题