复值神经网络的威力

计算科学 复数 神经网络
2021-11-28 16:38:22

我经常看到神经网络扩展到复数值。这些网络允许复杂的输入、复杂的参数和复杂的输出。我的理解是内积和点非线性被简单地扩展了。我可以看到它对于自然复杂的信号(例如,相位/幅度分解、振荡、频域处理......)的优势。但是,从计算上讲,它与将复杂信号转换为实数值有什么不同吗?

  1. 与实场相比,使用复场的计算优势是什么?
  2. 复数与实数向量空间的计算优势是什么?

参考:

  1. 广濑晃。复值神经网络施普林格科学与商业媒体。2006, 2012
  2. Danilo P. Mandic, Vanessa Su Lee Goh。复值非线性自适应滤波器:非圆形、宽线性和神经模型2009
  3. Tygert, M.、Bruna, J.、Chintala, S.、LeCun, Y.、Piantino, S. 和 Szlam, A. (2016)。复值卷积网络的数学动机神经计算,28(5),815–825。
3个回答

我真的不明白一个复值神经网络如何提供比一个真正值神经网络特别有用的东西。

拥有一个对复数进行操作、使用复数权重并输出复数的神经网络的整个想法似乎与拥有一个具有两倍于复数的输入、输出和权重的实值神经网络的想法没有什么不同神经网络。

例如,如果您想要一个接受某个输入复数并输出另一个复数的网络,您可以使用具有两个输入和两个输出的实值神经网络来表示。

我还在图书馆找到了广濑明写的那本书。我也有同样的问题,我找到了这篇论文:https ://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2011-42.pdf

无论如何,我们甚至不在“真实”世界中。在现代计算机上实现的任何神经网络的输入空间不仅是可数的,而且是有限的。实数的基数也与复数相同。所以我认为对于同一个结构的NN,实值NN可以解决复值NN能解决的所有问题。

从严格的编程角度来看,一个复数是由一个实部和一个虚部组成,也就是两个实数值。所以我想真正的算术在这里适用,除了某些操作sqrt,例如负数。

复数需要两倍于实数的存储,因为如前所述,它实际上是两个实数。所以我假设复值神经网络需要两倍于实值神经网络的存储空间。

同样,由于涉及两个实数,与实值神经网络相比,复值神经网络可能需要两倍的算术运算,但这可能取决于语言,编译器,StackOverflow 的一些专家可能会给出你更详细。