深度学习只能使用实数吗?本文简要介绍了近期一些将复数应用于深度学习的若干研究,并指出使用复数可以实现更鲁棒的层间梯度信息传播、更高的记忆容量、更准确的遗忘行为、大幅降低的网络规模,以及 GAN 训练中更好的稳定性。

深度学习只能使用实数,大家不觉得奇怪吗?或许,深度学习使用复数才是更加奇怪的事情吧(注意:复数是有虚部的)。一个有价值的论点是:大脑在计算的时候不太可能使用复数。当然你也可以提出这样的论点:大脑也不用矩阵运算或者链式法则微分啊。此外,人工神经网络(ANN)具有实际神经元的模型。长期以来,我们用实分析代替了生物合理性(biological plausibility)。

然而,为什么我们要止步于实分析呢?我们已经用了这么久线性代数和微分方程,那我们也可以将这一切都推倒,用复分析建立新的一套。或许更加奇妙的复分析会赋予我们更强大的方法。毕竟它对量子力学奏效,那么它也有可能在深度学习领域发挥作用。此外,深度学习和量子力学都与信息处理有关,二者可能是同一件事情。

由于论据的原因,我们暂且不考虑生物合理性。这是一个很古老的观点,可以追溯到 1957 年 Frank Rosenblatt 第一次提出人工神经网络的时候。那么问题来了,复数可以提供哪些实数不能提供的东西呢?

在过去几年里,曾经出现过一些探索在深度学习中使用复数的文章。奇怪的是,它们中的大部分都没有被同行评议的期刊接受。因为深度学习的正统观念在该领域已经很流行了。但是,我们还是要评述一些有趣的论文。

DeepMind 的论文《Associative Long Short-Term Memory》(Ivo Danihelka, Greg Wayne, Benigno Uria, Nal Kalchbrenner, Alex Graves)探讨了使用复数值形成联想记忆神经网络。该系统被用来增强 LSTM 的记忆。论文的结论是使用复数的网络可获取更大的记忆容量。根据数学原理,与仅仅使用实数的情况相比,使用复数需要的矩阵更小。如下图所示,使用复数的神经网络在内存开销上与传统 LSTM 有显著区别。

Yoshua Bengio 及其在蒙特利尔的团队探索了另一种使用复数的方式。研究者在《Unitary Evolution Recurrent Neural Networks》(Martin Arjovsky, Amar Shah, Yoshua Bengio)一文中探讨了酉矩阵。他们认为,如果矩阵的特征值接近 1 的话,消失的梯度或许会带来实际的好处。该研究使用复数作为 RNN 网络的权重。结论如下:

实证表明我们的 uRNN 能够更好地通过长序列传递梯度信息,并且不会遇到像 LSTM 一样多的饱和隐藏状态(saturating hidden states)。

他们做了多次实验对使用复数的网络与传统 RNN 的性能进行了量化比较:

使用复数的系统明显拥有更鲁棒、更稳定的性能。

Bengio 团队和 MIT 合作的一篇论文《Gated Orthogonal Recurrent Units: On Learning to Forget》(Li Jing, Caglar Gulcehre, John Peurifoy, Yichen Shen, Max Tegmark, Marin Soljačić, Yoshua Bengio)提出了使用门控机制的方法。这篇论文探讨了长期依赖能够更好地被捕获以及形成一个更加鲁棒的遗忘机制的可能性。下图展示了其他基于 RNN 的系统在复制任务中的失败;

FAIR 和 EPFL 的一个团队出了一篇类似的论文《Kronecker Recurrent Units》(Cijo Jose, Moustpaha Cisse, Francois Fleuret),他们在论文里也展现了在复制任务中使用酉矩阵的可行性。他们展示了一种能够大幅减少所需参数的矩阵分解方法。文中描述了他们使用复数的动机。

由于实空间的行列式是连续函数,所以实空间的酉集是不连贯的。因而,使用标准的连续优化程序不能在实值网络上跨越全酉集。相反,酉集在复空间中是连接在一起的,因为它的行列式是复空间中单位圆上的点,所以使用复数就不会出现这个问题。

这篇论文的精华之一就是下面这则富有建设性的思想:

状态应当保持高维度,以使用高容量的网络将输入编码成内部状态、提取预测值。但 recurrent dynamic 可使用低容量模型实现。

目前,这些方法已经探索了在 RNN 上对复数值的使用。MILA(蒙特利尔学习算法研究所)最近的一篇论文《Deep Complex Networks》(Chiheb Trabelsi 等人)进一步探索了这些方法在卷积神经网络上的使用。论文作者在计算机视觉任务上测试了他们的网络,结果很有竞争力。

最后,我们必须说一下复数在 GAN 中的使用。毕竟 GAN 可以说是最热的话题了。论文《Numerics of GANs》(Lars Mescheder, Sebastian Nowozin, Andreas Geiger)探讨了 GAN 中棘手的收敛性能。他们研究了带有复数值的雅克比矩阵的特点,并使用它创建解决 GAN 均衡问题的最先进方法。

在去年的一篇博文中,我介绍了全息原理和深度学习的关系。博文中的方法探索了张量网络和深度学习架构网络之间的相似性。量子力学可以被认为是使用了一种更加通用的概率形式。对复数的使用则提供了常规概率无法提供的额外能力。具体来说就是叠加和干扰的能力。为了实现全息术,在处理过程中使用复数会比较好。

在机器和深度学习空间中进行的大多数数学分析倾向于使用贝叶斯思想作为参数。事实上,大多数从业者都认为它是贝叶斯的,但实际上来自与统计学机制(除去名字,这里没有统计学的那些繁文缛节)。

但如果量子力学是广义的概率,那如果我们使用 QM 启发的方法作为替代会如何呢?一些论文试图研究这一方向,结果值得一看。在去年的一篇论文《Quantum Clustering and Gaussian Mixtures》中,作者探索了无监督均值聚类的使用情况。报告是这样说的:

因此,我们观察到了量子类干扰现象并不在高斯混合模型中出现。我们展示了量子方法在所有方面上都优于高斯混合方法。

两者的对比如图:

噪声发生了什么?

为什么在有了 20 实际的量子概率理论后还要拘泥于 18 世纪的贝叶斯理论呢?

本文提及的研究论文证明了:在深度学习架构中使用复数确实会带来「实实在在」的优势。研究表明:使用复数能够带来更鲁棒的层间梯度信息传播、更高的记忆容量、更准确的遗忘行为、大幅降低的网络规模,以及训练 GAN 时更好的稳定性。这些优点可不能被简单地忽略。如果我们接受了目前深度学习的主流观点--任何一层的微分都是公平的,那么或许我们应该在存储很多变体的网络中使用复分析。

或许复数没有被经常使用的原因是研究者对它不够熟悉。在优化研究社区中,数学传统并没有涉及到复数。然而物理学家却一直在使用复数。那些虚部在量子力学中始终是存在的。这并不奇怪,这就是现实。我们仍然不太理解为何这些深度学习系统会如此有用。所以探索其他的表示可能会带来出乎意料的突破。

在不久的将来,这个局面可能会变化。最先进的结构可能会普遍使用复数,那时候不使用复数反倒变得奇怪了。

计算机网络上要用复数吗,深度学习应该使用复数吗?相关推荐

  1. Github 上近万星的深度学习模型大全!

    点击我爱计算机视觉标星,更快获取CVML新技术 今天跟大家分享一个Github上的热门项目,深度学习模型大全: https://github.com/rasbt/deeplearning-models ...

  2. 听Alluxio小姐姐讲述:Alluxio云上K8S部署如何加速深度学习训练

    Alluxio云上K8S部署如何加速深度学习训练 在2021 Alluxio Day V中,Alluxio核心研发工程师邱璐,为我们带来[Alluxio云上K8S部署如何加速深度学习训练]的分享 邱璐 ...

  3. 史上最全的机器学习深度学习面经总结

    史上最全的机器学习深度学习面经总结 提示:19年之后的面经,扩大了范围包括了cv,推荐,语音等面经中的知识点, 同时增加了那三本面经书的内容一些github上一些比较火的项目,大部分问题是重复的,去重 ...

  4. 线上分享会预告之深度学习在3D场景中的应用

    大家好.上周我们迎来了第一期的线上分享,三维模型检索技术介绍,此次分享是一次接力形式的分享,每周都将有一位主讲人分享,希望更多的小伙伴加入我们一起分享,也是给自己一个机会锻炼.这里先预告一下,线上直播 ...

  5. 上交大张拳石:深度学习可解释性,从百家争鸣到合众归一

    导读:深度神经网络的可解释性近年来受到大家越来越多的关注,相关技术流派也呈百家争鸣的状态.但是目前大部分可解释性算法往往侧重于工程性的功能实现,侧重于迎合人类对被解释事物的主观认知,而缺少基于统一的理 ...

  6. LiveVideoStack线上交流分享 (十四) —— 深度学习在视频分析处理的实践

    分析及处理是一个视频转码系统中与压缩同等重要的环节.3月7日晚 7:30 ,LiveVideoStack线上交流分享第十四期,我们邀请到了腾讯音视频实验室专家 高孟平根据腾讯丽影的实践经验,与大家分享 ...

  7. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第2部分

    深度学习:在图像上找到手势 情感手势检测 (Emotion Gesture Detection) Hello everyone! Welcome back to the part-2 of human ...

  8. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分

    深度学习:在图像上找到手势 情感手势检测 (Emotion Gesture Detection) Has anyone ever wondered looking at someone and tri ...

  9. [资源分享] Github上八千Star的深度学习500问教程

    本文大约 600 字,阅读大约需要 2 分钟 这周要分享的一个资源是来自 Github 上的已经有八千多 Star 的一个深度学习知识总结,如下图所示: 其 Github 地址为: https://g ...

最新文章

  1. 给SQL数据库表和字段添加描述信息
  2. 嵌入式软件工程师经典笔试题
  3. datatables[columns] 中的详细参数
  4. Spring Cloud(F版)搭建高可用服务注册中心
  5. DSP编程的一些优化技巧和注意事项
  6. 第 8 章 crontab
  7. 删除误添加的本地github检查库文件
  8. RK平台LCD调试说明
  9. 中国移动推自有品牌终端利大于弊
  10. git push出现的问题与ssh相关
  11. 嵌入式软件工程师对linux要求,嵌入式软件工程师的必备知识
  12. Correct the classpath of your application so that it contains a single, compatible version oforg.spr
  13. 达芬奇密码 第三十章
  14. BUUCTF:[INSHack2018]Self Congratulation
  15. java freemarker word导出 文字加图片双重循环 (经历无数坑)
  16. 【Win 10】学生必备!删除鼠标右键多余的“新建”选项
  17. 笔记本电脑触控板失灵解决办法
  18. 百度地图总结第三篇之定位(我的位置)
  19. 透明度百分和六进制对比表
  20. [VIM]VIM/GVIM中代码的折叠和打开

热门文章

  1. html5自动吸附,基于HTML5Canvas的3D渲染引擎界面以及吸附等效果的运用-
  2. 小米多看|变身番茄todo计时,时钟
  3. Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
  4. c++ map unordered_map使用大全
  5. 音频有噪音怎么办?不如试试这款软件。
  6. Spring bean的自动装配
  7. 爬虫爬取糗事百科段子
  8. 华为nova2s用哪个型号服务器,华为nova 2s
  9. Excel教程:规范Excel表格设计,让工作效率提升百倍不止
  10. 张一鸣:如何深度思考