• TensorFlow入门(二十五、单个神经元的扩展——Maxout网络)


    Maxout网络的原理

            Maxout是Goodfellow在2013年提出的一个新的激活函数,与其它的激活函数相比,Maxout是需要参数的,且参数可以通过网络的反向传播得到学习,因此它比其它激活函数有着更好的性能,理论上可以拟合任意凸函数,进而使得网络取得更好的性能。

            Maxout网络主要是扩展单个神经元里面的激活函数,可以将Maxout网络理解为是单个神经元的扩展。

            单个神经元的网络模型如图所示:

                    

                    计算公式为:

            而Maxout网络是将激活函数变成一个网络选择器,原理是将多个神经元并列地放在一起,从它们的输出结果中找到最大的那个,代表对特征响应最敏感,然后取这个神经元的结果参与后面的运算。如图所示:

                    

            Maxout网络的激活函数有多个,每个的公式各不相同,可以理解成:

                    

            最后输出的为所有结果中值最大的那个。相当于同时把多个神经元放在一起使用,哪个神经元的效果最好,就用哪个,从而得到更好的拟合效果。

    Maxout网络的应用

            在TensorFlow中,通过reduce_max函数构建Maxout网络:

                    tf.reduce_max(input_tensor,axis = None,name = None)

                    reduce_max函数按axis方向对多个神经元的输出结果求最大值,然后将最大值当作输入按照神经元正反传播方向进行计算。

                    该函数一共有三个参数,input_tensor为输入的tensor对象;axis为计算方向,axis = 0时按列求最大值,axis = 1时按行求最大值。

                    有时,参数axis会变为reduction_indices,用途是一样的:

                    tf.reduce_max(input_tensor,reduction_indices = None)

  • 相关阅读:
    来吧!再谈多线程
    面向6G的欠采样相移键控可见光调制方案
    docker 常用命令整理
    子不语发生工商变更:注册资本增至3000万元,预计全年净利润下滑
    浅谈实时计算
    Java框架(三)--Spring IoC容器与Bean管理(7)--基于注解配置IoC容器
    PAT甲级:1063 Set Similarity|Python
    一篇文章搞懂 HBase 的 Coprocessor
    争议不断的AI绘画,靠这个成为了顶流?
    论文笔记:A CLIP-Hitchhiker’s Guide to Long Video Retrieval
  • 原文地址:https://blog.csdn.net/Victor_Li_/article/details/133789228