转自: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. spring session 加载的时候一些配置问题

    启动springboot时候的错误信息: An attempt was made to call the method org.springframework.boot.autoconfigure.s ...

  2. POST上传多张图片配合Django接受多张图片

    POST上传多张图片配合Django接受多张图片 本地:POST发送文件,使用的是files参数,将本地的图片以二进制的方式发送给服务器. 在这里 files=[("img",op ...

  3. container_of宏解析 && 为什么需要使用中间变量__mptr?

    #define container_of(ptr, type, member) ({ \ )->member ) *__mptr = (ptr); \ (type *)( (char *)__m ...

  4. Python Module_openpyxl_处理Excel表格

    目录 目录 前言 软件系统 Install openpyxl module Sample code load_workbook加载Excel文件 wbObjectget_sheet_names 获取E ...

  5. 2018.03.27 pandas duplicated 和 replace 使用

    #.duplicated / .replace import numpy as np import pandas as pd s = pd.Series([1,1,1,1,1,2,3,3,3,4,4, ...

  6. go bigfile (文件传输管理系统)前端分片上传demo

    BIGFILE Github地址: https://github.com/bigfile/bigfile 欢迎大家前来issue & star BIGFILE 中文文档地址:https://l ...

  7. cocos2dx基础篇(12) 编辑框之一CCTextFieldTTF

    前面我们讲了精灵贴图.标签.菜单.按钮.感觉似乎少了点什么?UI控件里是不是应该还有一个很重要的控件--编辑框.在手机网游中,启动游戏,过了开场动画后,基本上显示的第一个界面应该就是游戏的登录界面了吧 ...

  8. return语句

    定义一个函数:可以定义一个由自己想要功能的函数,以下是简单的规则: (1).函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). (2).任何传入参数和自变量必须放在圆括号中间.圆括号之 ...

  9. Java IO NIO详细讲解

    1.IO Java IO概述 2.NIO Java NIO浅析

  10. Java - PhantomJS + EChartsConvert实现ECharts图片保存到服务端

    1.所需工具 1>phantomjs:官网下载http://phantomjs.org/download.html 国内镜像http://npm.taobao.org/dist/phantomj ...