OUTRAGEOUSLY LARGE NEURAL NETWORKS

原创 2017年01月03日 21:09:52

概述

现在的CNN网络普遍都是做成通用分类网络,即一个网络要做很多种事物的分类和识别,但是仔细想想这样是不是真的合理,能不能设计一种网络,对一种输入用一种子网络去做,对另外一种输入就用另外一种子网络去做,这样做的好处就很明显,首先可以在显著增大网络规模的情况下,不会明显升高计算量;其次,我感觉这参数稀疏网络的实现方式。而在今年ICLR上,就有人提出这种网络结构OUTRAGEOUSLY LARGE NEURAL NETWORKS,这是Hinton和Jeff Dean提出的一种在语音识别上的网络结构。


核心网络结构MoE layer

MoE Layer
从图中我们可以看出,网络是由很多子网络组成的,每个子网络负责不同类型的输入信号,当其中几种网络做计算的时候,其他网络是完全不参与计算的,这就实现了大规模网络,小计算量的要求。
首先,Gating Network会根据输入选择不同的Export*网络,这里不只选择一种,选择的根据是由Gating Network的输出值取概率最高的前k的值,以此来选择n个Export网络中的k的网络,然后分别为每个网络分配不同的权重值,最后的输出就是:

y=i=0nG(x)iEi(x)

上面就是网络的核心思想。


问题

如论文所述,上述网络存在一下的问题:

  • Gating Network的输出网络权重值如果在不加额外限定条件的情况下,网络效果不理想。
    我们希望的是对于不同的输入,Gating Network的输出权值在对应的Export网络上大,在另外一些网络上小,但是,训练的过程中发现,事实却不是这样,网络只在一些Export网络上权值较大,在另一些网络上权值较小。为了解决这个问题,就需要在loss函数中加入额外的regularization项:

    L(X)=wimportanceCV(Importance(X))2+wloadCV(Load(X))2

    这里定义了两个额外的函数

  • Importance: 用来衡量每个网络的重要性,在一个Batch里面,每一个输入在每个网络上都会对应一个权值G(x),取一个Batch所有输入对应的权值的和,作为这个网络的Importance的值,

    Importance(X)=xXG(x)

    要想是所有的网络都被均匀的利用,那么每个网络的Importance的值应该差不多,即Importance(x)的CV方差最小。

  • Load: 在保证Importance均匀的情况下,我们要保证每个网络的在数据集中基本都会被利用到,而且利用的次数应该也是相差不大的,这里定义网络被利用的次数函数,即G(x)i不为0的概率P(x,i)。在一个Batch中,Load函数计算如下:

    Load(x)i=xXP(x,i)

    类似,所有的网络都应该被均匀的利用,每个网络的Load值应该也是差不多的,即Load(X)i的方差最小。


思考

上述的方法其实反应了当前CNN网络存在的问题,就是想用一个通用的模型对所有的对象进行预测分类,这就带来一定的矛盾,一边想突出网络的通用性,一边又想提高准确率。所以,合适的做法应该项上述的论文说的那样,对于某一种对象设计专门的一个子网络,最终把所有网络合并成一个大网络,在部署的过程中,对应的输入用对应的子网络计算,其他网络不参与计算,这即符合了大规模网络的要求,有自带稀疏性的特点。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer

  • 2017年06月23日 20:32
  • 532KB
  • 下载

一个神经网络学习一切!谷歌又放了个大卫星(附论文)

转自  佩服 量子位 李林 问耕 编译自 Arxiv  量子位 出品 | 公众号 QbitAI 最近,Google又在论文题目上口出狂言:One Model To Learn Them All...
  • yewei11
  • yewei11
  • 2017年06月23日 20:46
  • 477

Stanford 机器学习笔记 Week4 Neural Networks: Representation

MotivationsNon-linear Hypotheses线性回归不能解决的问题:在分类问题中,分类边界实际上是一个由各个参数构成的多项式。当参数很少时(比如只有x1,x2),多项式还可以构造出...
  • Baoli1008
  • Baoli1008
  • 2016年02月21日 15:26
  • 405

【Stanford机器学习笔记】7-Neural Networks: Learning

【Stanford机器学习笔记】7-Neural Networks: Learning
  • Neil_Pan
  • Neil_Pan
  • 2016年05月01日 19:18
  • 499

个人阅读的Deep Learning方向的paper整理

http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧...
  • sunmenggmail
  • sunmenggmail
  • 2014年03月10日 10:42
  • 19713

UFLDL深度学习编程练习1: 多层神经网络

UFLDL教程多层神经网络练习的原理简单讲解以及实现
  • jalused
  • jalused
  • 2015年01月10日 21:20
  • 1255

tensorflow学习笔记十七:tensorflow官方文档学习 Convolutional Neural Networks

本教程是为TensorFlow高级用户和承担的专业知识和经验,在机器学习。 Overview cifar-10分类是机器学习中一种常见的基准问题。问题是分类RGB 32x32像素的图像的10...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017年07月10日 08:57
  • 197

Regularization正则化

这里只是简单说一下regularization的作用,内部的原理现在还没有完全弄懂,等把内部原理弄懂再回来补充。     在深度学习网络上,经常会遇到一个问题就是当我们利用样本对网络进行训练的时候,我...
  • Buyi_Shizi
  • Buyi_Shizi
  • 2016年05月13日 22:05
  • 835

从头实现一个深度学习的对话系统--1,论文简介

上篇文章我们介绍了DRL用于对话系统的应用,看完论文我们会发现,其是在一个Seq-to-Seq模型的基础上进行重新训练进而得到效果的提升,那么自然我们会想到如何使用Seq-to-Seq模型构造基础的对...
  • liuchonge
  • liuchonge
  • 2017年12月15日 09:43
  • 304

二值网络(Binarized Neural Networks)学习与理解

二值网络(Binarized Neural Networks)学习与理解
  • linmingan
  • linmingan
  • 2016年03月29日 19:56
  • 5093
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OUTRAGEOUSLY LARGE NEURAL NETWORKS
举报原因:
原因补充:

(最多只允许输入30个字)