保留空间信息的神经网络层

数据挖掘 深度学习 回归 插值
2022-02-12 04:51:44

我正在尝试使用神经网络作为高维函数的一种插值器。

我们这样做是为了避免对精确计算此函数的物理模型的需求,但运行起来很昂贵。我们有这个物理模型过去运行的数据集,现在可以用作插值的基础。

输入是一组 28 个参数值。

我们试图估计的输出由 432 个周期函数的形状组成(即沿圆周的 432 个不同函数的值)。我们知道输出是由 28 个输入值唯一确定的;没有噪音。

例如,这里是这些周期函数之一。对于这个例子,它只采样了 12 个点(尽管在生产中我们会更精细地采样它,可能是围绕一个圆圈 36 个点)。

在此处输入图像描述

我当前的神经网络 Keras 实现是:

  • 输入层:28 个单元(每个输入参数一个)
  • 一个隐藏层:全连接,1000 个单元
  • 输出层:全连接,432个周期函数×12个样本=5184个单元

如上所示,这可以正常工作(甚至在优化超参数之前)。

但我担心对于这些完全连接的层,我将 5184 输出视为不相关的数字,彼此完全脱节。实际上,在输出中描述 432 个基础函数中的每一个的 12 个样本之间存在某种空间关系。但我只是把这些空间信息扔掉了。

是否有另一种层可以利用这种空间关系,从而更好地进行这种回归?

如果我反过来,即从空间信息到不同的值,我会考虑卷积层(可能具有周期性边界)。但是这个相反的情况呢?

1个回答

与其尝试显式预测每个值,不如选择一个您认为可能足以表达目标函数的参数函数(例如,6 阶多项式),并让您的网络学习该多项式的参数给你最小的损失。这基本上是多项式回归。由于您的函数是周期性的,您可能会使用更基于周期的基组,例如正弦波的线性组合。

例如:

1) 向网络输入数据 2) 输出一组值,您将其视为函数的参数 3) 对于每个目标点,将其与函数的预测值进行比较 4) 基于计算损失(如均方误差)关于函数预测和目标之间的差异。

使用函数将 (1) 限制可能输出的空间,以及 (2) 使附近的输出是自相似的。