复数神经网络

It’s a question currently on the edge of research in neural networks: what were to happen if neural network states were complex numbers? Since weights, biases, and other network components would have both a real and an imaginary component, a once one-dimensional measure would have the freedom to move in two dimensions.

当前在神经网络研究的边缘存在一个问题:如果神经网络状态是复数,将会发生什么? 由于重量,偏差,以及其他网络组件将同时具有实部一个虚分量,一次一维措施将具有在两个维度移动的自由。

It’s a fascinating idea to ponder. Theoretically, if one were able to communicate two values in one, the neural network might be able to find some higher-dimensional, faster solution to an outcome, much like how you would be able to jump over a rock in three dimensions but an ant, seeing the wall ahead that seems to extend up forever, would need to go around it.

这是一个令人着迷的想法。 从理论上讲,如果一个人能够在一个中传达两个值,那么神经网络也许能够找到某种更高维度,更快的结果解决方案,就像您将如何在三个维度上跳过一块蚂蚁一样,要看到前方的墙似乎永远延伸,就需要绕开它。

Diagram created by Author.
由作者创建的图。

Perhaps by utilizing imaginary numbers, neural networks will be able to explore a potential farther than they ever could currently.

也许通过利用虚数,神经网络将能够探索比现在更远的潜力。

Fortunately, this problem has not been left completely untouched, and there has been a decent amount of research conducted on complex-valued neural networks (CVNNs). The first problem addressed in almost all of these papers is the activation function — in order for backpropagation to work, an activation function that facilitates in the nonlinearity of a network must be analytic, or differentiable at all points. The Liouville theorem, however, shows that every bounded (closed) function on the complete complex plane must be constant, and hence, linear.

幸运的是,这个问题还没有被完全解决,并且对复值神经网络(CVNN)进行了大量的研究。 几乎所有这些论文中都解决的第一个问题是激活函数,为了使反向传播起作用,必须分析或在所有点上求导可促进网络非线性的激活函数。 但是,Liouville定理表明,完整复平面上的每个有界(封闭)函数都必须是常数,因此必须是线性的。

Therefore, in order to fulfill the purpose of the activation function, bounded functions like sigmoid and the hyperbolic tangent have no place in CVNNs. When applied to the complex plane, these bounded functions have singularity points — points that are not differentiable — that occur periodically in the space. At these singularity points, the function explodes towards infinity, causing the neural network computations to go haywire.

因此,为了实现激活函数的目的,诸如S形和双曲线正切之类的有界函数在CVNN中没有位置。 当应用于复杂平面时,这些有界函数具有奇点(不可微分的点),这些奇点在空间中定期出现。 在这些奇点处,函数向无穷大爆炸,导致神经网络计算陷入困境。

A common work-around this problem in the research of CVNNs is to use a complex sigmoid function, which inevitably will have certain singularity points at infinity, but to limit the search space for weights and bias parameters so that they always remain within a ‘safe’ region and never come even close to a computational explosion.

在CVNN的研究中,解决此问题的常见方法是使用复杂的S型函数,该函数不可避免会在无穷大处具有某些奇点,但会限制权重和偏差参数的搜索空间,以使它们始终保持在“安全范围内”。区域,而且永远都不会接近计算爆炸式增长。

Although there is significant mathematical work involved, simply put, a backpropagation algorithm for a complex-valued neural network needs to take into account the error with respect not only to the real component of a weight but also the imaginary component. Because it deals with these components separately, it expands the search space dimensionality by a magnitude of two.

简而言之,尽管涉及大量的数学工作,但用于复值神经网络的反向传播算法不仅需要考虑权重的实部,还需要考虑虚部。 由于它分别处理这些组件,因此将搜索空间维数扩展了两个数量级。

Because of this sparsity, a Random Search Algorithm (RSA) is used in the first few hundred epochs of training to hop around the space, finding a local minima that the complex-valued backpropagation algorithm — which is purposely set to have a very slow learning rate — is set to go. In this sense, the Random Search Algorithm is a heavy-duty initialization technique. Consider the training error using this method, with a RSA performed for the first 100 epochs and complex-valued backpropagation for the remainder:

由于这种稀疏性,在训练的前几百个时期中使用了随机搜索算法(RSA)来在空间中跳跃,从而找到了复数值反向传播算法的局部最小值,该算法故意设置为学习速度很慢率-即将开始。 从这个意义上说,随机搜索算法是一种重型初始化技术。 考虑使用此方法的训练错误,前100个时期执行RSA,其余部分执行复值反向传播:

Source: “Comparison of the Complex Valued and Real Valued Neural Networks Trained with Gradient Descent and Random Search Algorithms”. Image free to share.
资料来源:“用梯度下降和随机搜索算法训练的复值和实值神经网络的比较”。 图片免费分享。

It is clear that the RSA has found a suitable starting place from around the 75th epoch, which makes it easy for the gradient descent algorithm to follow a huge decrease in error and a following long, gradually diminishing series.

显然,RSA从第75个时代开始就找到了一个合适的起点,这使得梯度下降算法很容易跟随误差的大幅度减少以及随后的逐渐减小的序列。

Generally, papers testing out CVNN performance over real-valued neural networks (RVNN) see either similar or superior performance. By adding the additional dimensionality of imaginary numbers, an entire host of new problems arises, but the few solutions that have been constructed seem to be adequate enough to bring CVNNs on par with RVNNs. More recent research even involves the construction of complex convolutions, LSTMs, and batch normalizations to further assist in CVNNs.

通常,在实值神经网络(RVNN)上测试CVNN性能的论文会看到相似或优越的性能。 通过增加虚数的维数,出现了许多新问题,但是已经构造的少数解决方案似乎足以将CVNN与RVNN媲美。 最近的研究甚至涉及复杂卷积,LSTM和批处理规范化的构建,以进一步帮助CVNN。

Overall, complex neural networks can be summed up in one word: promising. While currently, their equivalent performance with mediocre standard neural networks but higher computational bill and decreased robustness to a diversity of problems is demoralizing, recent studies show that with enough developments, CVNNs vastly outperform their real-valued siblings on audio-related tasks (music transcription using the MusicNet dataset and on Speech Spectrum Prediction).

总体而言,复杂的神经网络可以用一个词概括:有希望。 虽然目前,它们与中等标准神经网络的等效性能,但更高的计算能力和对各种问题的鲁棒性下降令人沮丧,但最近的研究表明,随着足够的发展,CVNN在音频相关任务(音乐转录)方面大大超过其实际价值的同级产品。使用MusicNet数据集和语音频谱预测)。

While in the near future there is little hope that CVNNs will take the machine learning world by storm, continual developments in addressing the many complexities (pun intended) that arise may drastically increase its power for addressing specific tasks, for example in modelling signals (audio, electrical, etc.), much like other architectures have been designed for handling images and sequential data. The idea — of integrating imaginary numbers into neural networks — is definitely one to look out for.

虽然在不久的将来,CVNN几乎不可能席卷机器学习世界,但在解决出现的许多复杂关系 (双关语)方面的持续发展可能会大大提高其解决特定任务的能力,例如在建模信号时(音频,电气等),就像设计用于处理图像和顺序数据的其他体系结构一样。 将虚数集成到神经网络中的想法绝对是一个值得关注的想法。

进一步阅读 (Further reading)

  • An Introductory Paper introducing the problems and solutions in complex neural networks.

    介绍性论文介绍复杂神经网络中的问题和解决方案。

  • An In-Depth Paper discussing specifically singularities and the problems of activation functions in complex planes. Good visualizations but mathematically intensive.

    深入讨论特殊奇点和复杂平面中激活函数的问题。 良好的可视化效果,但数学强度很高。

  • A Recent Paper introducing many mathematically intensive developments on complex neural networks showing superior performance on audio-related tasks.

    最近的一篇论文介绍了复杂神经网络在数学上的大量开发,这些研究在音频相关任务上表现出卓越的性能。

翻译自: https://medium.com/analytics-vidhya/what-would-happen-if-neural-network-states-were-complex-numbers-dc5b47731184

复数神经网络


http://www.taodudu.cc/news/show-4610241.html

相关文章:

  • That girl
  • 四元数与复数
  • Scala中的复数
  • python3从零学习-5.3.2、复数库cmath
  • matlab具有复数,MATLAB:具有复数的printmat
  • python3里复数的算法,Python 3复数
  • 【Qt】 Fractal Designer 5.0 Bug Report
  • 【Qt】 Fractal Designer 5.1 Bug Report
  • 【Qt】 Fractal Designer 5.2 Bug Report
  • 【Qt】 Fractal Designer 5.3 Bug Report
  • 【Qt】 Fractal Designer 5.5 Bug Report
  • 【C++ 程序】 Fractal Designer 0.2
  • #分治#poj 2083 Fractal
  • 【Qt】 Fractal Designer 4.6 - Help(中文版)
  • 【Qt】 Fractal Designer 5.0 - Help(中文版)
  • 【Qt】 Fractal Designer 5.2 - Help(中文版)
  • 【Qt】 Fractal Designer 5.3 - Help(中文版)
  • 【分治】POJ2083 Fractal
  • Fractal
  • 【Qt】 Fractal Designer 5.1 - Help(中文版)
  • 【Qt】 Fractal Designer 5.4 - 安装说明 - Windows
  • Fractal解题笔记
  • ios view 切上部分圆角_iOS - 指定UIView的某几个角为圆角
  • fractal php,一文读懂Fractal共识协议:iChing之精妙
  • fractal php,为 Laravel 应用程序构建的 Fractal
  • 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验三《敏捷开发与XP实践》 实验报告...
  • 20175316盛茂淞 2018-2019-2 《Java程序设计》第6周学习总结
  • 20175316盛茂淞 2018-2019-2《Java程序设计》第4周学习总结
  • 读书怎么才能更快
  • 大型项目的管理(学习)

复数神经网络_如果神经网络状态为复数会发生什么?相关推荐

  1. 卷积网络和卷积神经网络_卷积神经网络的眼病识别

    卷积网络和卷积神经网络 关于这个项目 (About this project) This project is part of the Algorithms for Massive Data cour ...

  2. 卷积云神经网络_卷积神经网络

    阅读提醒,本文以严谨为主,兼顾理解. 目标 介绍CNNs的基础结构和训练方法. 理解本文所需知识: 高中数学,高中语文 完全读懂本文所需知识: 微积分,线性代数 为了大众阅读,在英文第一次出现的时候, ...

  3. 模型 标签数据 神经网络_大型神经网络和小数据的模型选择

    模型 标签数据 神经网络 The title statement is certainly a bold claim, and I suspect many of you are shaking yo ...

  4. rnn 递归神经网络_递归神经网络rnn的简单解释

    rnn 递归神经网络 Recurrent neural network is a type of neural network used to deal specifically with seque ...

  5. 人工神经网络_人工神经网络实践

    人工神经网络(Artificial Neural Network,ANN) 使一种受人脑生物神经网络信息处理方式启发而诞生的一种计算模型,得益于语音识别.计算机视觉和文本处理方面的许多突破性成果,人工 ...

  6. python定义一个复数类complex、并实现复数相加_用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算...

    题目: 用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加.减运算 复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加 ...

  7. 卷积云神经网络_卷积神经网络简介

    广告 一.卷积 我们在 2 维上说话.有两个 的函数 f(x, y) 和 g(x, y) .所谓 f 和 g 的卷积就是一个新的 的函数 c(x, y) .通过下式得到: 这式子的含义是:遍览从负无穷 ...

  8. j90度度复数运算_看得懂的复数

    那个时候三角函数发明了,并且非常兴起,而三角函数是典型的平面坐标体系,于是大家想到了用复平面来表征三角函数,这个里面,欧拉做了最大的贡献,那就是欧拉公式:e^iπ 1=0.它把数的基本逻辑搞明白了,出 ...

  9. cnn卷积神经网络_卷积神经网络(CNN)原理及应用

    一.CNN原理 卷积神经网络(CNN)主要是用于图像识别领域,它指的是一类网络,而不是某一种,其包含很多不同种结构的网络.不同的网络结构通常表现会不一样.从CNN的一些典型结构中,可以看到这些网络创造 ...

最新文章

  1. 2022-2028年中国钢材市场投资分析及前景预测报告(全卷)
  2. 2018年强化学习领域十篇重要论文(附源码)
  3. Win7x64中使用VS调试WEB项目报“ORA-06413: 连接未打开”错误解决方法
  4. SpringBoot启动banner更改
  5. 《剑指offer》字符串的排列
  6. 手机端刷recovery工具_MIUI/REDMIN手机玩机汇集
  7. linux apr文件解压失败,Apache编译安装提示configure: error: APR not found错误解决方法...
  8. iscroll5实现一个下拉刷新上拉加载的效果
  9. word上下的横线怎么去掉_word中去掉页面上的横线 word页面横线怎么去掉
  10. mssql2000连接oracle命令方式
  11. 百度云BOS上传文件并返回文件地址
  12. allegro中怎样制作和添加logo
  13. read write file
  14. 人口只有北京的 1/3,这个国家创立了全球一半的科技公司
  15. 百度统计API的使用
  16. 预处理对象executeQuery方法,对数据库进行有条件和无条件的查询
  17. BlackHat USA 2021 洞察(一):议题技术解读
  18. HTML使用 crypto-js-AES 加密
  19. Ubuntu配置GoldenDict词典翻译-划线翻译
  20. “华为杯“ 武汉大学21级新生程序设计竞赛 J.传闻档案

热门文章

  1. Hive建表(分区表、非分区表)实例
  2. 金蝶加密服务器ip地址修改密码,金蝶加密服务器在哪里设置密码
  3. 架构师之路:粉丝关系链,10亿数据,如何设计?
  4. CSDN如何收藏文章
  5. 呃呃,阿里p6学习路线啊
  6. 快速创建树 算法 treeCreate treeview
  7. python编程设计高级_Python编程高级技巧| 选择好的名称
  8. 解决SkyP2M工程常见问题所参考的博客汇总
  9. Python: scikit-image 图像的基本操作
  10. Roguelike 游戏中的计算哲学