精华内容
下载资源
问答
  • Maxout网络的剪枝,李映虹,高博扬,近年来,Maxout网络在计算机视觉和语音识别等领域均取得了很好的成果。与Dropout方法类似,Maxout网络通过对神经网络每层单元进行分组��
  • Maxout网络学习

    2018-09-04 18:08:07
    Maxout网络学习 原文地址:http://blog.csdn.net/hjimce/article/details/50414467 作者:hjimce 一、相关理论 本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout Networks》,这个算法我目前也很少用到,...

    Maxout网络学习

    原文地址http://blog.csdn.net/hjimce/article/details/50414467

    作者:hjimce

    一、相关理论

       本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout  Networks》,这个算法我目前也很少用到,个人感觉最主要的原因应该是这个算法参数个数会成k倍增加(k是maxout的一个参数),不过没关系,对于我们来说知识积累才是最重要的,指不定某一天我们就需要用到这个算法,技多不压身。个人感觉Maxout网络和Dropout有很多相似的地方。

        本篇博文将从什么是maxout网络讲起,先解答maxout的源码层实现,因为很多人最感兴趣的还是算法要怎么实现,当然我也是这样的。我看文献,一般最在意的还是源码的实现,有的文献理论公式推导了十几页,结果5行代码搞定,我看到想哭,这也许就是我讨厌做学术研究的原因吧。知道了源码怎么实现后,我们简单啰嗦一下maxout相关的理论意义。

     

    二、Maxout算法流程

    1、算法概述

    开始前我们先讲解什么叫maxout networks,等我们明白了什么叫maxout 网络后,再对maxout的相理论意义做出解释。Maxout是深度学习网络中的一层网络,就像池化层、卷积层一样等,我们可以把maxout 看成是网络的激活函数层,这个后面再讲解,本部分我们要先知道什么是maxout。我们假设网络某一层的输入特征向量为:X=(x1,x2,……xd),也就是我们输入是d个神经元。Maxout隐藏层每个神经元的计算公式如下:

     

    上面的公式就是maxout隐藏层神经元i的计算公式。其中,k就是maxout层所需要的参数了,由我们人为设定大小。就像dropout一样,也有自己的参数p(每个神经元dropout概率),maxout的参数是k。公式中Z的计算公式为:

     

    权重w是一个大小为(d,m,k)三维矩阵,b是一个大小为(m,k)的二维矩阵,这两个就是我们需要学习的参数。如果我们设定参数k=1,那么这个时候,网络就类似于以前我们所学普通的MLP网络。

    我们可以这么理解,本来传统的MLP算法在第i层到第i+1层,参数只有一组,然而现在我们不怎么干了,我们在这一层同时训练n组参数,然后选择激活值最大的作为下一层神经元的激活值。下面还是用一个例子进行讲解,比较容易搞懂。

    为了简单起见,假设我们网络第i层有2个神经元x1、x2,第i+1层的神经元个数为1个,如下图所示:

    (1)以前MLP的方法。我们要计算第i+1层,那个神经元的激活值的时候,传统的MLP计算公式就是:

    z=W*X+b

    out=f(z)

    其中f就是我们所谓的激活函数,比如Sigmod、Relu、Tanh等。

    (2)Maxout 的方法。如果我们设置maxout的参数k=5,maxout层就如下所示:

    相当于在每个输出神经元前面又多了一层。这一层有5个神经元,此时maxout网络的输出计算公式为:

    z1=w1*x+b1

    z2=w2*x+b2

    z3=w3*x+b3

    z4=w4*x+b4

    z5=w5*x+b5

    out=max(z1,z2,z3,z4,z5)

    所以这就是为什么采用maxout的时候,参数个数成k倍增加的原因。本来我们只需要一组参数就够了,采用maxout后,就需要有k组参数。

    三、源码实现

    ok,为了学习maxout源码的实现过程,我这边引用keras的源码maxout的实现,进行讲解。keras的网站为:http://keras.io/   。项目源码网站为:https://github.com/fchollet/keras。下面是keras关于maxout网络层的实现函数:

    
     

    看上面的代码的话,其实只需要看get_output()函数,就知道maxout的实现了。所以说有的时候,一篇文献的代码,其实就只有几行代码,maxout就仅仅只有一行代码而已:

     

    #maxout 网络层类的定义
    class MaxoutDense(Layer):
        # 网络输入数据矩阵大小为(nb_samples, input_dim)
        # 网络输出数据矩阵大小为(nb_samples, output_dim)
        input_ndim = 2
       #nb_feature就是我们前面说的k的个数了,这个是maxout层特有的参数
        def __init__(self, output_dim, nb_feature=4,
                     init='glorot_uniform', weights=None,
                     W_regularizer=None, b_regularizer=None, activity_regularizer=None,
                     W_constraint=None, b_constraint=None, input_dim=None, **kwargs):
            self.output_dim = output_dim
            self.nb_feature = nb_feature
            self.init = initializations.get(init)
     
            self.W_regularizer = regularizers.get(W_regularizer)
            self.b_regularizer = regularizers.get(b_regularizer)
            self.activity_regularizer = regularizers.get(activity_regularizer)
     
            self.W_constraint = constraints.get(W_constraint)
            self.b_constraint = constraints.get(b_constraint)
            self.constraints = [self.W_constraint, self.b_constraint]
     
            self.initial_weights = weights
            self.input_dim = input_dim
            if self.input_dim:
                kwargs['input_shape'] = (self.input_dim,)
            self.input = K.placeholder(ndim=2)
            super(MaxoutDense, self).__init__(**kwargs)
        #参数初始化部分
        def build(self):
            input_dim = self.input_shape[1]
     
            self.W = self.init((self.nb_feature, input_dim, self.output_dim))#nb_feature是我们上面说的k。
            self.b = K.zeros((self.nb_feature, self.output_dim))
     
            self.params = [self.W, self.b]
            self.regularizers = []
     
            if self.W_regularizer:
                self.W_regularizer.set_param(self.W)
                self.regularizers.append(self.W_regularizer)
     
            if self.b_regularizer:
                self.b_regularizer.set_param(self.b)
                self.regularizers.append(self.b_regularizer)
     
            if self.activity_regularizer:
                self.activity_regularizer.set_layer(self)
                self.regularizers.append(self.activity_regularizer)
     
            if self.initial_weights is not None:
                self.set_weights(self.initial_weights)
                del self.initial_weights
     
        def get_output(self, train=False):
            X = self.get_input(train)#需要切记这个x的大小是(nsamples,input_num) 
            # -- don't need activation since it's just linear.
            output = K.max(K.dot(X, self.W) + self.b, axis=1)#maxout激活函数
            return output
    output = K.max(K.dot(X, self.W) + self.b, axis=1)#maxout激活函数

     

    下面在简单啰嗦一下相关的理论,毕竟文献的作者写了那么多页,我们总得看一看才行。Maxout可以看成是一个激活函数 ,然而它与原来我们以前所学的激活函数又有所不同。传统的激活函数:

     

    比如阈值函数、S函数等。maxout激活函数,它具有如下性质:

    1、maxout激活函数并不是一个固定的函数,不像Sigmod、Relu、Tanh等函数,是一个固定的函数方程

    2、它是一个可学习的激活函数,因为我们W参数是学习变化的。

    3、它是一个分段线性函数:

    然而任何一个凸函数,都可以由线性分段函数进行逼近近似。其实我们可以把以前所学到的激活函数:relu、abs激活函数,看成是分成两段的线性函数,如下示意图所示:

     maxout的拟合能力是非常强的,它可以拟合任意的的凸函数。最直观的解释就是任意的凸函数都可以由分段线性函数以任意精度拟合(学过高等数学应该能明白),而maxout又是取k个隐隐含层节点的最大值,这些”隐隐含层"节点也是线性的,所以在不同的取值范围下,最大值也可以看做是分段线性的(分段的个数与k值有关)-本段摘自:http://www.cnblogs.com/tornadomeet/p/3428843.html

     

    maxout是一个函数逼近器对于一个标准的MLP网络来说,如果隐藏层的神经元足够多,那么理论上我们是可以逼近任意的函数的。类似的,对于maxout 网络也是一个函数逼近器。

    定理1:对于任意的一个连续分段线性函数g(v),我们可以找到两个凸的分段线性函数h1(v)、h2(v),使得这两个凸函数的差值为g(v):

    参考文献:

    1、《Maxout  Networks》

    2、http://www.cnblogs.com/tornadomeet/p/3428843.html

    **********************作者:hjimce   时间:2015.12.20  联系QQ:1393852684  原创文章,转载请保留原文地址、作者等信息***************

    展开全文
  • ReLU 和 MaxOut 网络

    2019-10-06 15:18:15
    MaxOut 网络4.1 与ReLU的关系4.2 可能训练处激活函数的样子4.3 MaxOut 的训练 1 sigmoid激活函数的不足之处 在网络结构非常深的情况下,由于梯度消失问题的存在,可能会导致靠近输入附近的隐藏层的权重变化较慢,...

    1 sigmoid激活函数的不足之处

    在网络结构非常深的情况下,由于梯度消失问题的存在,可能会导致靠近输入附近的隐藏层的权重变化较慢,导致结果训练效果较差。

    2. Relu

    在这里插入图片描述
    修正线性单元(Rectified linear unit,ReLU)是神经网络中最常用的激活函数。它保留了 step 函数的生物学启发(只有输入超出阈值时神经元才激活),不过当输入为正的时候,导数不为零,从而允许基于梯度的学习(尽管在 x=0 的时候,导数是未定义的)。

    使用这个函数能使计算变得很快,因为无论是函数还是其导数都不包含复杂的数学运算。然而,当输入为负值的时候,ReLU 的学习速度可能会变得很慢,甚至使神经元直接无效,因为此时输入小于零而梯度为零,从而其权重无法得到更新,在剩下的训练过程中会一直保持静默。

    所以,你看到的网络可能是这样的:
    在这里插入图片描述
    实际上它可能是这样的:
    在这里插入图片描述

    question 1:这样的网络结构,输出结果难道不是线性的吗?
    是的,还是非线性的,因为对于同一个激活函数的神经元来说,当输入数据的不同,可能使得激活函数对应的区域不同,可能处于线性状态,可能出于0状态,所以还是处于非线性状态。

    question 2:ReLU 是不可导的,怎样训练?
    只是在0点处不可导,不可能都是处于0的状态吧?

    3. Relu的变种

    3.1 LeakReLU

    在这里插入图片描述
    经典(以及广泛使用的)ReLU 激活函数的变体,带泄露修正线性单元(Leaky ReLU)的输出对负值输入有很小的坡度。由于导数总是不为零,这能减少静默神经元的出现,允许基于梯度的学习(虽然会很慢)。

    3.2 PReLU

    在这里插入图片描述
    参数化修正线性单元(Parameteric Rectified Linear Unit,PReLU)属于 ReLU 修正类激活函数的一员。它和 RReLU 以及 Leaky ReLU 有一些共同点,即为负值输入添加了一个线性项。而最关键的区别是,这个线性项的斜率实际上是在模型训练中学习到的。

    3.3 RReLU

    在这里插入图片描述
    随机带泄露的修正线性单元(Randomized Leaky Rectified Linear Unit,RReLU)也属于 ReLU 修正类激活函数的一员。和 Leaky ReLU 以及 PReLU 很相似,为负值输入添加了一个线性项。而最关键的区别是,这个线性项的斜率在每一个节点上都是随机分配的(通常服从均匀分布)。

    4. MaxOut 网络

    Learnable activation function

    首先让每一层的输出结果按照两两或者其他数量进行分组,每一组仅取最大值,于是就有:
    在这里插入图片描述

    4.1 与ReLU的关系

    在这里插入图片描述

    当MaxOut的weight不同时,可能激活函数为下面这个样子:
    在这里插入图片描述

    所以,MaxOut是可训练的激活函数。

    4.2 可能训练处激活函数的样子

    在这里插入图片描述

    4.3 MaxOut 的训练

    在这里插入图片描述

    question:如果有的神经元没有被训练到怎么办?
    在这里插入图片描述
    其实不存在的,因为随着输入数据的不同,使用的神经元也不同,所以基本上不会存在没有被训练的神经元。和卷积神经网络中的Max pooling的训练算法是一样的。

    展开全文
  • 深度学习(二十三)Maxout网络学习

    万次阅读 多人点赞 2015-12-27 22:45:16
    Maxout网络学习 Maxout是深度学习网络中的一层网络,就像什么激活函数层、池化层、卷积层一样。我们假设网络某一层的输入特征向量为:X=(x1,x2,……xd),也就是我们输入是d个神经元。Maxout隐藏层每个神经元的...

    Maxout网络学习

    原文地址http://blog.csdn.net/hjimce/article/details/50414467

    作者:hjimce

    一、相关理论

       本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout  Networks》,这个算法我目前也很少用到,个人感觉最主要的原因应该是这个算法参数个数会成k倍增加(k是maxout的一个参数),不过没关系,对于我们来说知识积累才是最重要的,指不定某一天我们就需要用到这个算法,技多不压身。个人感觉Maxout网络和Dropout有很多相似的地方。

        本篇博文将从什么是maxout网络讲起,先解答maxout的源码层实现,因为很多人最感兴趣的还是算法要怎么实现,当然我也是这样的。我看文献,一般最在意的还是源码的实现,有的文献理论公式推导了十几页,结果5行代码搞定,我看到想哭,这也许就是我讨厌做学术研究的原因吧。知道了源码怎么实现后,我们简单啰嗦一下maxout相关的理论意义。

    二、Maxout算法流程

    1、算法概述

    开始前我们先讲解什么叫maxout networks,等我们明白了什么叫maxout 网络后,再对maxout的相理论意义做出解释。Maxout是深度学习网络中的一层网络,就像池化层、卷积层一样等,我们可以把maxout 看成是网络的激活函数层,这个后面再讲解,本部分我们要先知道什么是maxout。我们假设网络某一层的输入特征向量为:X=(x1,x2,……xd),也就是我们输入是d个神经元。Maxout隐藏层每个神经元的计算公式如下:

     

    上面的公式就是maxout隐藏层神经元i的计算公式。其中,k就是maxout层所需要的参数了,由我们人为设定大小。就像dropout一样,也有自己的参数p(每个神经元dropout概率),maxout的参数是k。公式中Z的计算公式为:

     

    权重w是一个大小为(d,m,k)三维矩阵,b是一个大小为(m,k)的二维矩阵,这两个就是我们需要学习的参数。如果我们设定参数k=1,那么这个时候,网络就类似于以前我们所学普通的MLP网络。

    我们可以这么理解,本来传统的MLP算法在第i层到第i+1层,参数只有一组,然而现在我们不怎么干了,我们在这一层同时训练n组参数,然后选择激活值最大的作为下一层神经元的激活值。下面还是用一个例子进行讲解,比较容易搞懂。

    为了简单起见,假设我们网络第i层有2个神经元x1、x2,第i+1层的神经元个数为1个,如下图所示:


    (1)以前MLP的方法。我们要计算第i+1层,那个神经元的激活值的时候,传统的MLP计算公式就是:

    z=W*X+b

    out=f(z)

    其中f就是我们所谓的激活函数,比如Sigmod、Relu、Tanh等。

    (2)Maxout 的方法。如果我们设置maxout的参数k=5,maxout层就如下所示:


    相当于在每个输出神经元前面又多了一层。这一层有5个神经元,此时maxout网络的输出计算公式为:

    z1=w1*x+b1

    z2=w2*x+b2

    z3=w3*x+b3

    z4=w4*x+b4

    z5=w5*x+b5

    out=max(z1,z2,z3,z4,z5)

    所以这就是为什么采用maxout的时候,参数个数成k倍增加的原因。本来我们只需要一组参数就够了,采用maxout后,就需要有k组参数。

    三、源码实现

    ok,为了学习maxout源码的实现过程,我这边引用keras的源码maxout的实现,进行讲解。keras的网站为:http://keras.io/   。项目源码网站为:https://github.com/fchollet/keras。下面是keras关于maxout网络层的实现函数:

    #maxout 网络层类的定义
    class MaxoutDense(Layer):
        # 网络输入数据矩阵大小为(nb_samples, input_dim)
        # 网络输出数据矩阵大小为(nb_samples, output_dim)
        input_ndim = 2
       #nb_feature就是我们前面说的k的个数了,这个是maxout层特有的参数
        def __init__(self, output_dim, nb_feature=4,
                     init='glorot_uniform', weights=None,
                     W_regularizer=None, b_regularizer=None, activity_regularizer=None,
                     W_constraint=None, b_constraint=None, input_dim=None, **kwargs):
            self.output_dim = output_dim
            self.nb_feature = nb_feature
            self.init = initializations.get(init)
    
            self.W_regularizer = regularizers.get(W_regularizer)
            self.b_regularizer = regularizers.get(b_regularizer)
            self.activity_regularizer = regularizers.get(activity_regularizer)
    
            self.W_constraint = constraints.get(W_constraint)
            self.b_constraint = constraints.get(b_constraint)
            self.constraints = [self.W_constraint, self.b_constraint]
    
            self.initial_weights = weights
            self.input_dim = input_dim
            if self.input_dim:
                kwargs['input_shape'] = (self.input_dim,)
            self.input = K.placeholder(ndim=2)
            super(MaxoutDense, self).__init__(**kwargs)
        #参数初始化部分
        def build(self):
            input_dim = self.input_shape[1]
    
            self.W = self.init((self.nb_feature, input_dim, self.output_dim))#nb_feature是我们上面说的k。
            self.b = K.zeros((self.nb_feature, self.output_dim))
    
            self.params = [self.W, self.b]
            self.regularizers = []
    
            if self.W_regularizer:
                self.W_regularizer.set_param(self.W)
                self.regularizers.append(self.W_regularizer)
    
            if self.b_regularizer:
                self.b_regularizer.set_param(self.b)
                self.regularizers.append(self.b_regularizer)
    
            if self.activity_regularizer:
                self.activity_regularizer.set_layer(self)
                self.regularizers.append(self.activity_regularizer)
    
            if self.initial_weights is not None:
                self.set_weights(self.initial_weights)
                del self.initial_weights
    
        def get_output(self, train=False):
            X = self.get_input(train)#需要切记这个x的大小是(nsamples,input_num) 
            # -- don't need activation since it's just linear.
            output = K.max(K.dot(X, self.W) + self.b, axis=1)#maxout激活函数
            return output
    看上面的代码的话,其实只需要看get_output()函数,就知道maxout的实现了。所以说有的时候,一篇文献的代码,其实就只有几行代码,maxout就仅仅只有一行代码而已:

    output = K.max(K.dot(X, self.W) + self.b, axis=1)#maxout激活函数

    下面在简单啰嗦一下相关的理论,毕竟文献的作者写了那么多页,我们总得看一看才行。Maxout可以看成是一个激活函数 ,然而它与原来我们以前所学的激活函数又有所不同。传统的激活函数:

    比如阈值函数、S函数等。maxout激活函数,它具有如下性质:

    1、maxout激活函数并不是一个固定的函数,不像Sigmod、Relu、Tanh等函数,是一个固定的函数方程

    2、它是一个可学习的激活函数,因为我们W参数是学习变化的。

    3、它是一个分段线性函数:


    然而任何一个凸函数,都可以由线性分段函数进行逼近近似。其实我们可以把以前所学到的激活函数:relu、abs激活函数,看成是分成两段的线性函数,如下示意图所示:

     maxout的拟合能力是非常强的,它可以拟合任意的的凸函数。最直观的解释就是任意的凸函数都可以由分段线性函数以任意精度拟合(学过高等数学应该能明白),而maxout又是取k个隐隐含层节点的最大值,这些”隐隐含层"节点也是线性的,所以在不同的取值范围下,最大值也可以看做是分段线性的(分段的个数与k值有关)-本段摘自:http://www.cnblogs.com/tornadomeet/p/3428843.html

    maxout是一个函数逼近器对于一个标准的MLP网络来说,如果隐藏层的神经元足够多,那么理论上我们是可以逼近任意的函数的。类似的,对于maxout 网络也是一个函数逼近器。

    定理1:对于任意的一个连续分段线性函数g(v),我们可以找到两个凸的分段线性函数h1(v)、h2(v),使得这两个凸函数的差值为g(v):



    参考文献:

    1、《Maxout  Networks》

    2、http://www.cnblogs.com/tornadomeet/p/3428843.html

    **********************作者:hjimce   时间:2015.12.20  联系QQ:1393852684  原创文章,转载请保留原文地址、作者等信息***************

    展开全文
  • 用多个激活函数,取出最大的值,而不是一个激活函数(深度学习(二十三)Maxout网络学习_hjimce的专栏-CSDN博客_maxout https://blog.csdn.net/hjimce/article/details/50414467)

    用多个激活函数,取出最大的值,而不是一个激活函数(深度学习(二十三)Maxout网络学习_hjimce的专栏-CSDN博客_maxout https://blog.csdn.net/hjimce/article/details/50414467)

    展开全文
  • Maxout网络学习(转)

    2017-09-11 13:44:17
    Maxout网络学习原文地址:http://blog.csdn.net/hjimce/article/details/50414467作者:hjimce一、相关理论 本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout Networks》,这个算法我目前也很少用到,个人感觉...
  • 一 介绍Maxout网络可以理解为单个神经元的扩展,主要是扩展单个神经元里面的激活函数。Maxout是将激活函数变成一个网络选择器,原理就是将多个神经元并列地放在一起,从它们的输出结果中找到最大的那个,代表对特征...
  • 原 深度学习(二十三)Maxout网络学习 ...
  • Maxout网络学习 原文地址:http://blog.csdn.net/hjimce/article/details/50414467 作者:hjimce 一、相关理论  本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout Networks》,这个算法我目前也很少用到,...
  • Maxout网络实现MNIST分类: # 使用 Maxout 网络实现 MNIST 分类 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot = True) import ...
  • maxout = tf . reduce_max ( z , axis = 1 , keep_dims = True ) #设置学习参数 W2 = tf . Variable ( tf . truncated_normal ( [ 1 , 10 ] , stddev = 0.1 ) ) b2 = tf . Variable ( tf . zeros ( [ 10 ]...
  • maxout算法

    2019-03-06 15:10:30
    Maxout是深度学习网络中的一层网络,就像池化层、卷积层一样等,我们可以把maxout 看成是网络的激活函数层,这个后面再讲解,本部分我们要先知道什么是maxout。我们假设网络某一层的输入特征向量为:X=(x1,x2,…...
  • MAXOUT神经网络及实例应用 一、maxout 神经网络的介绍 Maxout 神经网络 可以理解为单个神经元的拓展,主要是拓展单个神经元里面的激活函数。将激活函数变成一个网络选择器,原理就是将多个神经元并排的放在一起,从...
  • Maxout详解

    万次阅读 多人点赞 2018-09-21 11:53:35
    一、相关理论  本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout Networks》,这个算法我目前也很少用到,个人感觉最主要的原因应该是这...个人感觉Maxout网络和Dropout有很多相似的地方。  本篇博文将从什...
  • 理解maxout激活函数

    千次阅读 2019-05-24 19:40:33
    深度学习(二十三)Maxout网络学习 深度学习笔记–激活函数:sigmoid,maxout A Light CNN for Deep Face Representation with Noisy Labels 以上两篇博客都是针对全连接网络来列举的例子,注意在卷积神经网络中是...
  • 本篇blog内容基于Maxout Networks(Goodfellow, ...深度学习(二十三)Maxout网络学习 作者:hjimce  一、Dropout Gooddfellow在GAN本作中提到过一句话,自深度学习复苏以来,我们享受着计算资源的大幅度提升...
  • 针对深度卷积神经网络maxout 单元非最大特征无法传递、特征图像子空间池化表达能力不足的局限性,提出混合maxout (mixout,mixed maxout)单元。首先,计算相同输入在不同卷积变换下所形成的特征图像子空间的指数...
  • 激活函数maxout

    万次阅读 2020-03-18 19:56:22
      maxout函数相对于其他的激活函数有很大的区别,可以看做是在神经网络中激活函数的地方加入一个激活函数层。maxout可以看做是一个可学习的分段线性函数,因为可学习所以是需要参数的,而且参数是可以通过反向传播...
  •   整个maxout网络也是一种非线性的变换;maxout的拟合能力是非常强的,它可以拟合任意的的凸函数。最直观的解释就是任意的凸函数都可以由分段线性函数以任意精度拟合。   缺点是这个算法参数个数会成k倍增加(k...
  • Maxout 论文笔记

    千次阅读 2018-05-09 21:49:21
    MaxoutMaxout networks ...dropout由Hinton提出的一个网络正则技术。dropout通过对共享参数的fc层的一些神经元固定概率的随机置零,来集成多个模型,并且对多个模型的预测进行了平均。dropout是一个通用技术,可...
  • maxout论文阅读

    千次阅读 2017-09-04 23:50:39
    简介Maxout来自ICML2013,作者大名鼎鼎的GAN模型发明人Ian J,Goodfellow,这篇文章作者主要提出了maxout的激活函数,结合dropout在cifar10,100等数据集上取得了state of art 的效果。Review Dropoutdropout是指在...
  • 神经网络之激活函数(Activation Function)(附maxout

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 168
精华内容 67
关键字:

maxout网络