是否有使用复数的神经网络包?

数据挖掘 Python 神经网络 喀拉斯 软件推荐
2021-10-14 11:24:52

你能在 Keras 或 Tensorflow 或类似的东西中构建复杂的(就复数而言)神经网络吗?

这意味着输入、权重、激活函数和输出都可能使用复数。我知道这在理论上是可以做到的,但是所有的软件包

我遇到过似乎假设只有实数用于权重和输入。

2个回答

在这里,他们使用 Theano 后端在 Keras 中实现复值深度神经网络架构,并将它们与实值对应物进行比较。

神经网络学习从输入空间到输出的函数映射。这可以被定义为分类或回归问题。在这两种情况下,该函数都确定了信息最丰富的输入,这将导致损失最小化。我们最小化输入空间的损失。

如果我们有一个复值输入,这没问题。让我们假设两个互补的极端情况。然而,如果我们有一个复杂的图像,复杂的部分是完全随机分布的。那么这个问题就相当于只使用图像的实部作为输入。这是因为复杂的部分没有任何相关信息会导致分类或回归。如果图像部分的真实部分是完全随机的,但复杂部分包含所有信息,这同样适用。

对于我们不知道真实空间和想象空间中的信息分布的中间情况,您可以将这些组件输入到网络中。

对于 64*64 的复杂图像。这将导致2642如果第一层是密集连接层,则每个输入节点都接受一个浮点值。这通常用于 MRI 图像。因此,节点可以识别需要哪些实数或复数来推断含义并提供输出。

我还没有看到任何直接将神经网络应用于复数值的实现。但是存在复数值的导数。您将需要具有复杂功能的节点,以便将梯度应用于实部和虚部。根据猜测,我认为这是可能的。但常见的方法只是将实部和虚部分开并将它们馈送到网络中。