【问题标题】:Training a neural network with complex valued weights (initialized complex valued weights real valued inputs)训练具有复值权重的神经网络(初始化复值权重实值输入)
【发布时间】:2016-04-30 14:15:08
【问题描述】:

正如问题所述。我的目标是训练一个权重是复数的神经网络。使用默认的 scikit learn netwokrs 并在此基础上构建(编辑源代码),我遇到的主要问题是 scikit learn 中使用的从 scipy 获取的优化函数仅支持输入为实数的函数的数值优化。

Scikit learn 对于神经网络来说相​​当糟糕,特别是如果你想分叉和编辑结构,这似乎是相当不灵活的。

正如我在此处的一篇论文中注意到并阅读的那样,我需要更改诸如错误函数之类的内容,以确保在顶层错误仍然存​​在于实数域中,否则问题会变得不明确。

我的问题是,是否有任何标准库可以做到这一点?或任何简单的调整,我可以做千层面或张量流来挽救我的生命?

附: : 很抱歉没有发布任何工作代码。格式化为 stackoverflow 标准是一个困难的问题,我承认它可能超出主题,在这种情况下,如果出现这种情况,我深表歉意。

【问题讨论】:

  • 你在 SciPy 中使用什么 NN,顺便说一句?
  • scipy.optimize.fmin_l_bfgs_b
  • 所有受约束的优化器为优化变量转换为实数:/
  • 好的,谢谢
  • 复数与二维特征的不同之处。您认为将实部和虚部作为单独的神经元提供有何不同?

标签: machine-learning scipy neural-network mathematical-optimization


【解决方案1】:

Tensorflow 支持基本的复数。

如果非要自己搭建神经网络节点,可以看一下这个blog

对于全纯函数,复杂的BP相当简单。

对于非全纯函数,需要小心处理。

【讨论】:

    【解决方案2】:

    最简单的方法是将特征分为实部和虚部。我已经对跳跃运动的矢量输入进行了类似的工作,如果将矢量划分为它们的分量轴,它会显着简化事情。

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 2020-02-08
      • 1970-01-01
      • 2019-10-09
      • 2021-06-25
      • 2017-09-01
      • 2019-06-16
      • 2017-10-06
      • 2011-12-09
      相关资源
      最近更新 更多