转自: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 引言

本论文的贡献如下:

  1. 对复数批规范化(complex batch normalization)进行了形式化,详见 3.4 节;

  2. 复数权重初始化,详见 3.5 节;

  3. 在多乐器音乐转录数据集(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的更多相关文章

  1. 深度残差网(deep residual networks)的训练过程

    这里介绍一种深度残差网(deep residual networks)的训练过程: 1.通过下面的地址下载基于python的训练代码: https://github.com/dnlcrl/deep-r ...

  2. 论文翻译:2020_DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement

    论文地址:DCCRN:用于相位感知语音增强的深度复杂卷积循环网络 论文代码:https://paperswithcode.com/paper/dccrn-deep-complex-convolutio ...

  3. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

  4. 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)

    受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.

  5. 深度学习论文笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes

    这篇文章将深度学习算法应用于机械故障诊断,采用了“小波包分解+深度残差网络(ResNet)”的思路,将机械振动信号按照故障类型进行分类. 文章的核心创新点:复杂旋转机械系统的振动信号包含着很多不同频率 ...

  6. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)

    译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...

  7. 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...

  8. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...

  9. 深度学习方法(十三):卷积神经网络结构变化——可变形卷积网络deformable convolutional networks

    上一篇我们介绍了:深度学习方法(十二):卷积神经网络结构变化--Spatial Transformer Networks,STN创造性地在CNN结构中装入了一个可学习的仿射变换,目的是增加CNN的旋转 ...

随机推荐

  1. JPA使用中遇到Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped

    在写自定义查询时,Query注解中写的JPQL,表名和列名都应该是映射的Java类和属性,不能写表名或者字段名

  2. Python For Mac 开发环境安装 以及问题记录

    Python For Mac 开发环境安装记录 把自己安装的过程记录一下,亲测可用 1.Python3环境安装(转载http://www.cnblogs.com/meng1314-shuai/p/90 ...

  3. rosbag record and play

    话题录制: 录制所有发布出来的话题,此时默认将话题保存在一个以当时时间戳命名的文件夹中:   $ rosbag record -a1 录制指定话题:   $ rosbag record /topic1 ...

  4. 二、启动一款app演示

    一.下载aapt包 1. aapt即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看apk包名和launcherActivity 2.打 ...

  5. pwa 总结

    概述 前几天了解并按照官方文档,成功实现了一个小型的 pwa demo,现在把总结记录下来,供以后开发时参考,相信对其他人也有用. pwa pwa 包括很多内容,我这里只介绍一部分,因为比如 Push ...

  6. 自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...

  7. Java 语言特性之 Annotation 注解

    利用 Java 的反射机制,可以在运行时获取 Java 类的注解信息. 注解 注解的特性 注解是 Java 5 的一个新特性,是插入代码中的一种注释或者说是元数据.注解并不是程序代码,可以对程序作出解 ...

  8. 2019暑假第二周(hadoop在个人电脑上的搭建)

    一,Hadoop和NoSQL数据库的学习,大多需要Linux环境. 搭建Linux环境可以分为两种方式: (1)在电脑上安装双操作系统,即同时安装Linux和Windows操作系统,在电脑启动的时候, ...

  9. 机器学习【一】K最近邻算法

    K最近邻算法 KNN 基本原理 离哪个类近,就属于该类   [例如:与下方新元素距离最近的三个点中,2个深色,所以新元素分类为深色] K的含义就是最近邻的个数.在sklearn中,KNN的K值是通过n ...

  10. 【Linux U-boot】U-Boot相关命令

    <1> help --帮助命令环境变量相关: <2> printenv --查看环境变量也可以使用缩写:print 查看某一个环境变量的值,例子:printenv bootar ...