训练具有复值权重的神经网络(初始化复值权重实值输入)
Training a neural network with complex valued weights (initialized complex valued weights real valued inputs)
如问题所述。我的目标是训练一个权重为复数的神经网络。使用默认的 scikit learn netwokrs 并以此为基础(编辑源代码)我遇到的主要问题是 scikit learn 中使用的优化函数取自 scipy 仅支持输入为实数的函数的数值优化。
Scikit 学习对于神经网络来说相当差,如果你想分叉和编辑结构,它似乎特别不灵活。
正如我在此处的一篇论文中注意到和阅读的那样,我需要更改诸如错误函数之类的内容,以确保在顶层错误仍然存在于实数域中,否则问题将变得不明确。
我的问题是是否有任何标准库可以执行此操作?或者我可以做烤宽面条或张量流来挽救我生命的任何简单调整?
P.S。 :
抱歉没有发布任何工作代码。按照 Whosebug 标准格式化是一个困难的问题,我承认它可能不在主题中,在这种情况下,我深表歉意。
最简单的方法是将特征分成实部和虚部。我对来自跳跃运动的矢量输入做过类似的工作,如果将矢量分成它们的分量轴,它会大大简化事情。
Tensorflow 支持初等复数。
如果非要自己搭建神经网络节点,可以看看这个blog。
对于全纯函数,复杂的BP相当简单。
对于非全纯函数,需要慎重对待。
如问题所述。我的目标是训练一个权重为复数的神经网络。使用默认的 scikit learn netwokrs 并以此为基础(编辑源代码)我遇到的主要问题是 scikit learn 中使用的优化函数取自 scipy 仅支持输入为实数的函数的数值优化。
Scikit 学习对于神经网络来说相当差,如果你想分叉和编辑结构,它似乎特别不灵活。
正如我在此处的一篇论文中注意到和阅读的那样,我需要更改诸如错误函数之类的内容,以确保在顶层错误仍然存在于实数域中,否则问题将变得不明确。
我的问题是是否有任何标准库可以执行此操作?或者我可以做烤宽面条或张量流来挽救我生命的任何简单调整?
P.S。 : 抱歉没有发布任何工作代码。按照 Whosebug 标准格式化是一个困难的问题,我承认它可能不在主题中,在这种情况下,我深表歉意。
最简单的方法是将特征分成实部和虚部。我对来自跳跃运动的矢量输入做过类似的工作,如果将矢量分成它们的分量轴,它会大大简化事情。
Tensorflow 支持初等复数。
如果非要自己搭建神经网络节点,可以看看这个blog。
对于全纯函数,复杂的BP相当简单。
对于非全纯函数,需要慎重对待。