如何调整我的神经网络来求解一组方程?

数据挖掘 机器学习 神经网络
2022-03-02 23:19:02

我正在尝试使用神经网络来解决以下一组方程:

(x1x)2+(y1y)2-(x2x)2+(y2y)2=d12

(x1x)2+(y1y)2-(x3x)2+(y3y)2=d13

其中 x 和 y 是未知变量,x1, y1, x2, y2, x3, y3, d{12} 和 d{13} 都是已知的。

由于我只对所有 x 和 y 的某个范围感兴趣,并且 x 和 y 不需要完全准确,我想我可以通过被认为是函数逼近器的神经网络来求解方程。我的想法是随机生成 50000 个数据点。每个数据点包括整个随机生成的 x1、y1、x2、y2、x3、y3、x 和 y,然后我可以使用上面的方程得到 d{12} 和 d{13}。我将 x1、y1、x2、y2、x3、y3、d{12} 和 d_{13} 作为输入输入到一个完全连接的神经网络中,并训练网络输出 x 和 y。

我当前网络的架构:

I have 4 hidden layers
The numbers of neurons in each layer are: 128, 256, 512, 1024, 2048, 4096, 4096, 2048, 1024, 512, 256, 128.
The activation functions are all Relu, the output layer doesn't have activation function since it is a regression problem.
In each layer, I did batch normalization.
The batch size is 256, and I train the network for 200 epochs.

不幸的是,这个网络表现不佳,输出的误差很大。我怀疑网络可能陷入了一些局部最小值,或者神经网络想要模仿的功能要复杂得多。我想知道是否有人知道为什么会这样以及如何调整它。

0个回答
没有发现任何回复~