微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多层感知器异或,绘制误差损失图,收敛太快?

如何解决多层感知器异或,绘制误差损失图,收敛太快?

我目前正在学习神经网络,并尝试训练 MLP 以在 Python 中使用反向传播来学习 XOR。该网络有两个隐藏层(使用 Sigmoid 激活)和一个输出层(也是 Sigmoid)。 网络(大约 20,000 个 epoch,学习率为 0.1)输出接近原始类标签的数字:

预测:0.11428432952745145 原始类输出为:0

预测:0.8230114358069576 原始类输出为:1

预测:0.8229532575410421 原始类输出为:1

预测:0.23349671680470516 原始类输出为:0

当我绘制错误(对于每个时期)时,我的图表显示急剧下降,然后是轻微的“颠簸”,我的印象是错误会逐渐减少:

Errors (summed) vs Epoch

这会被归类为收敛吗?我试图调整学习率,但没有运气。

谢谢!

解决方法

不一定,NN 将解决改变权重的优化问题。这不能保证只会下降,也许梯度下降的一些选择是选择“更差”的值。 我建议尝试更多的 epochs,最终它会收敛。如果你想发布你的代码以获得更具体的提示。

,

是的——绝对收敛!你得到了带有 sigmoid 激活的 MLP 的特征 XOR 学习曲线——你可以把它放在教科书中。没有什么比预期更快的时代数了。事实上,您可以将学习率设置得更高,也可以将步长设置得更高。

统计评估收敛性(不是封闭形式的限制,也不是图形)可能有点困难。但该图是收敛的很好证据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。