我是神经网络的新手。我试图了解多层感知器可以学习实现什么样的解决方案。
是否可以仅通过给出离散数量的示例来训练 MLP 进行乘法运算?
我可以教它如何对某些数字(当然来自训练数据集的数字)进行乘法运算,但它无法正确估计其他乘法运算。
我使用了 1 个隐藏层(TanH,10 个单元)和 1 个输出层(Identity),隐藏层和输出层都有偏差,并使用 Momentum 优化器进行训练。
数据集
0, 5 = 0
1, 1 = 1
2, 3 = 6
3, 7 = 21
4, 3 = 12
5, 9 = 45
7,7 = 49
13,13 = 169
它为此数据集提供了正确的结果,但例如计算5 * 5
给出了错误的数字,例如32
.
我是否对 MLP 期望过高?我应该给网络什么数据集(或层设置)以便能够乘以任何给定的数字?