连接

深度复数网络 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)

2.png

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

1 引言

本论文的贡献如下:

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

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

  3. 在多乐器音乐转录数据集(MusicNet)上达到了当前最佳的结果,详见 4.2 节。

3 复数构建模块

在这一节,我们给出了我们研究成果的核心,为实现复数值的深度神经网络构建模块制定了数学框架。

3.png

图 1:复数卷积和残差网络实现细节

3.1 复数的表征

3.2 复数卷积

3.3 深度复数网络的深度和宽度

3.4 复数批规范化

3.5 复数权重初始化

3.6 复数卷积残差网络

4 实验结果   

 

在这一节,我们给出了我们的模型在图像和音乐分类任务上的实验结果。首先,我们给出了我们的模型架构,然后给出了其在三个标准图像分类基准(CIFAR-10、CIFAR-100 和 SVHN)上的结果,另外还有在 MusicNet 基准上的自动音乐转录结果。

4.1 图像识别

4.png

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

5.png

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

6.png

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

7.png

图 4:作为每次输入的实数和虚数对的 Stage 2 和 3 特征图

4.2 在 MusicNet 数据集上的自动音乐转录

image.png

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

图片1.png

图 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

未完待续。。。

 

posted @ 2017-06-22 22:56  朱群喜_QQ囍_海疯习习  阅读(1556)  评论(0编辑  收藏  举报
Map