是否有针对多元输出神经网络的优化方法或者更适用于多元输出的神经网络架构?

我的目标是拟合一组原始光谱数据,下图是目标拟合公式:

img


原始光谱数据由两组数据组成,分别是时间t和强度Sc,要将原始光谱数据拟合成上述公式,一共需解8个参数(初相位不管),其中两个ω可用傅里叶变换解得,剩下6个参数(分别是2个A以及4个e指数τ)我想用神经网络进行预测,所用神经网络分为两个部分,第一部分是专注于独立时间特征提取的共享分支,第二部分是6个分支,分别用于独立重建6个参数图像,预测6个参数。目前我在训练该神经网络,我先分别为6个参数设置参数范围,按上述公式造出光谱数据,作为训练集和验证集,将造出的光谱数据输入神经网络,将对应的6个参数作为标签,进行拟合,预测6个参数。
目前遇到的问题是多元输出,共需预测6个参数,结果很不准确,loss值过高,已尝试用贝叶斯优化的optuna实现方法优化超参数,但结果仍不尽人意,想请教是否有针对多元输出神经网络的优化方法,或者更适用于多元输出的神经网络架构,使得即使需输出6个参数的预测结果,仍有较高的准确性?

楼主是通过这数据生成的光谱是么?然后用光谱作为神经网络的输入,目标是得到6个参数值?虽然没明白为什么这么做,不过既然知道每个参数范围,那么最好先把参数归一化后作为标签,然后loss采用mse loss,将6个参数值的loss累加起来。

神经网络是可以拟合任意函数的,但是无法指定拟合的函数形式,也就是说你构建的全连接神经网络是无法求解出指定函数的8个参数的。除非你针对你的函数实现自定义layer(实现cos layer,指数 layer)才能约束网络求解特定函数的参数。适用于多元输出的神经网络架构本质上是没有的,其实质就是一个多输出的网络模型。在工程上多元输出需要针对性优化。也就是每一元,都需要特定的loss。针对效果差的元(loss大),可能要增强其网络复杂度,也就是把它放在网络深层做输出。在训练时可以对数据做归一化,在使用loss时可以考虑rmse、mae、mse,针对不同的元,指定不同的loss。

针对你这个问题(用神经网络模型求解特定函数的参数),博主进行了深入思考,你可以参考一下。https://hpg123.blog.csdn.net/article/details/126067354