一个基本的 CNN(Conv2D、MaxPooling2D、UpSampling2D)能否找到其输入通道乘积的良好近似?

人工智能 卷积神经网络
2021-11-11 20:46:48

假设我想教 CNN 一些物理知识。U-Net开始,我输入图像AB作为单独的通道。我知道我的目标(由非常慢的蒙特卡洛代码产生)代表一个信号,例如, f(g(A) * h(B))where是相当“卷积”的操作——意思是,主要涉及模糊和重新缩放操作。fgh

我可以放心地说,这个问题对于这种情况来说不会太难f(g(A) + h(B))——但是呢f(g(A) * h(B))我可以期望像 U-Net 这样的基本 CNN 能够表示*(乘法)操作吗?

或者我应该期望被迫Multiply在我的网络中包含一个层,在某个地方我希望之前的部分可以学习gh部分,而之后的部分可以学习f部分?

1个回答

我认为 U-Net 已经是一个非常复杂的网络,可能(根据我的经验)应该能够近似这种乘法。然而,这仍然是一个可能不准确的近似值,并且可能只解决一个看起来像由您的数据集定义的显示输入样本范围的乘法的函数(因此可能在您的训练数据集上过度拟合)。

所以一般来说,如果你知道你的目标函数确实有这个乘法,那么你应该明确地在你的网络中强制执行它。如果您对想要的功能了解很多,那么构建一个好的拟合架构总是比使用一般的神经网络架构更好。这将简化优化并且应该更好地概括。

但是,很难或不可能确切地告诉您在您想要的精度范围内解决此任务需要多少深度或复杂性。最终你应该尝试一下。