深度复数网络 Deep Complex Networks
转自:https://www.jiqizhixin.com/articles/7b1646c4-f9ae-4d5f-aa38-a6e5b42ec475 (如有版权问题,请联系本人)
目前绝大多数深度学习模型中的数学都是实数值的,近日,蒙特利尔大学、加拿大国家科学院-能源/材料/通信研究中心(INRS-EMT)、微软 Maluuba、Element AI 的多名研究者(其中包括 CIFAR Senior Fellow Yoshua Bengio)在 arXiv 上发布了一篇 NIPS 2017(今年 12 月在美国 Long Beach 举办)论文,提出了一种可用于复数值深度神经网络的关键组件,该团队也已经在 GitHub 上开源了相关研究代码。机器之心对本论文进行了摘要介绍。
论文:深度复数网络(Deep Complex Networks)

目前,深度学习的绝大多数构建模块、技术和架构都基于实数值的运算和表征。但是,近来在循环神经网络和其它更古老的基础理论上的分析表明复数可以有更加丰富的表征能力,也可以促进对噪声鲁棒的记忆检索机制。尽管它们在带来全新的神经架构上有引人注目的性质和潜力,但由于缺少设计这种模型所需的构建模块,复数值的深度神经网络一直处于边缘化的状态。在这项研究中,我们提供了可用于复数值深度神经网络的关键基本组件,并将它们应用到了卷积前馈网络中。更准确地说,我们依靠复数卷积,提出了可用于复数值深度神经网络的复数批规范化、复数权重初始化策略,并且我们还在端到端的训练方案中对它们进行了实验。我们表明,这样的复数值模型可以实现与其对应的实数值模型相媲美或更好的表现。我们在一些计算机视觉任务和使用 MusicNet 数据集的音乐转录任务上对深度复数模型进行了测试,实现了当前最佳的表现。
1 引言
本论文的贡献如下:
对复数批规范化(complex batch normalization)进行了形式化,详见 3.4 节;
复数权重初始化,详见 3.5 节;
在多乐器音乐转录数据集(MusicNet)上达到了当前最佳的结果,详见 4.2 节。
3 复数构建模块
在这一节,我们给出了我们研究成果的核心,为实现复数值的深度神经网络构建模块制定了数学框架。

图 1:复数卷积和残差网络实现细节
3.1 复数的表征
3.2 复数卷积
3.3 深度复数网络的深度和宽度
3.4 复数批规范化
3.5 复数权重初始化
3.6 复数卷积残差网络
4 实验结果
在这一节,我们给出了我们的模型在图像和音乐分类任务上的实验结果。首先,我们给出了我们的模型架构,然后给出了其在三个标准图像分类基准(CIFAR-10、CIFAR-100 和 SVHN)上的结果,另外还有在 MusicNet 基准上的自动音乐转录结果。
4.1 图像识别

表 1:模型架构。S1、S2 和 S3 Filters 分别是指在 stage 1、2 和 3 每一层所使用的卷积滤波器的数量。(S) 表示小网络,(L) 表示大网络。

表 2:在 CIFAR-10、CIFAR-100 和 SVHN 上的分类误差。注意 He et al. [2016] 使用了 110 层的模型

图 3:(a) 作为每次输入的实数和虚数对的 Stage 1 特征图;(b) 作为幅度和相的特征图

图 4:作为每次输入的实数和虚数对的 Stage 2 和 3 特征图
4.2 在 MusicNet 数据集上的自动音乐转录

表 3:MusicNet 实验。FS 表示采样率。Params 是参数的总数量。我们给出了平均精度(AP)指标,是指精度召回曲线(precision-recall curve)下的面积。

图 5:精度召回曲线
By me:
3.1 Representation of Complex Numbers
N feature maps such that N is divisible by 2;
Allocate the first N/2 feature maps to represent the real components and the remaining N/2 to represent the imaginary ones.
Four dimensional weight tensor W that links Nin input feature maps to Nout output feature maps and whose kernel size is m × m.
have a weight tensor of size (Nout × Nin × m × m) /2 complex weights
3.2 Complex Convolution
complex filter matrix W = A + iB;
complex vector h = x + iy
W ∗ h = (A ∗ x − B ∗ y) + i(B ∗ x + A ∗ y).
use matrix notation to represent it:

3.3 Depth and Width in Deep Complex Networks
For a given layer, the number of parameters for each of the real and imaginary weights would be equal to N/2 × N/2 which means N2/2 when we sum both.
For a real-valued layer, it is N2.
假设一共有L层,那么实数值的参数是复数值的 (√ 2 )2L倍。
3.4 Complex Batch Normalization
未完待续。。。
深度复数网络 Deep Complex Networks的更多相关文章
- 深度残差网(deep residual networks)的训练过程
这里介绍一种深度残差网(deep residual networks)的训练过程: 1.通过下面的地址下载基于python的训练代码: https://github.com/dnlcrl/deep-r ...
- 论文翻译:2020_DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement
论文地址:DCCRN:用于相位感知语音增强的深度复杂卷积循环网络 论文代码:https://paperswithcode.com/paper/dccrn-deep-complex-convolutio ...
- 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)
基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙 摘要: 针对传统安卓恶意程序检测 ...
- 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)
受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.
- 深度学习论文笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes
这篇文章将深度学习算法应用于机械故障诊断,采用了“小波包分解+深度残差网络(ResNet)”的思路,将机械振动信号按照故障类型进行分类. 文章的核心创新点:复杂旋转机械系统的振动信号包含着很多不同频率 ...
- [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)
译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...
- 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...
- 深度学习方法(十三):卷积神经网络结构变化——可变形卷积网络deformable convolutional networks
上一篇我们介绍了:深度学习方法(十二):卷积神经网络结构变化--Spatial Transformer Networks,STN创造性地在CNN结构中装入了一个可学习的仿射变换,目的是增加CNN的旋转 ...
随机推荐
- SecureCRT通过密钥登录
转载 https://blog.csdn.net/langkeziju/article/details/53024031 说明:一般的密码方式登录容易被密码暴力破解.所以一般我们会将 SSH 的端口 ...
- Apache监控调优
apache是一款对静态资源处理得比较好的中间件,但是对动态请求处理得不是很好,tomcat则正好相反. apache运用得比较多得工作模式主要是Prefork和Worker两种模式 1.Prefor ...
- 中国MOOC_零基础学Java语言_第5周 数组_1多项式加法
第5周编程题 查看帮助 返回 第5周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 正则表达式——推荐使用 Unicode 编码
常见的正则表达式的文档都是关于英文(ASCII字符)的,英文开发者通常也只需要处理ASCII字符,不需要处理中文这类多字符的字符.不过,依照李处ASCII字符的方式处理中文字符,就有可能出错. ...
- ES6标准入门 第五章:函数的扩展
1.函数参数的默认值 (1)基本用法 ES5 中, 不能直接为函数的参数指定默认值.只能采用变通的方法. function log(x, y) { y = y || 'World'; console. ...
- 2d平台怪物逻辑
2d来回巡逻 遇到坑会自动转向 可配置单次方向行走的时间,转向等待时间等 using System; using System.Collections; using System.Collection ...
- 6.文件所有权和权限----免费设置匿名----Windows键盘记录器----简介和python模块
文件所有权和权限 touch --help cd Desktop mkdir Folder cd Folder clear touch Test1 Test2 Test3 Test4 ls ls -l ...
- 【Linux开发】将cmd中命令输出保存为TXT文本文件
将cmd中命令输出保存为TXT文本文件 在网上看到一篇名为:"[转载]如何将cmd中命令输出保存为TXT文本文件" 例如:将Ping命令的加长包输出到D盘的ping.txt文本文件 ...
- Git 创建分支并合并主分支
首先,我们创建dev分支,然后切换到dev分支: $ git checkout -b dev(等价于 $ git branch dev $ git checkout dev ) Switched to ...
- Canvas入门08-绘制仪表盘
需求 实现下图所示的仪表盘的绘制. 分析 我们先来将仪表盘进行图形拆分,并定义尺寸. 我们绘制的逻辑: 绘制中心圆 绘制环外圈圆 绘制环内圈圆 绘制刻度内圈圆 绘制刻度线 绘制刻度文字 绘制指针 定义 ...