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)

相关推荐
2401_841495641 小时前
【数据结构】基于Prim算法的最小生成树
java·数据结构·c++·python·算法·最小生成树·prim
昵称是6硬币2 小时前
YOLO26论文精读(逐段解析)
人工智能·深度学习·yolo·目标检测·计算机视觉·yolo26
数据村的古老师3 小时前
Python数据分析实战:基于25年黄金价格数据的特征提取与算法应用【数据集可下载】
开发语言·python·数据分析
wwlsm_zql4 小时前
「赤兔」Chitu 框架深度解读(十四):核心算子优化
人工智能·1024程序员节
小王不爱笑1324 小时前
Java 核心知识点查漏补缺(一)
java·开发语言·python
小冷爱读书4 小时前
F-INR: Functional Tensor Decomposition for Implicit Neural Representations
深度学习·inr·函数张量分解
闲人编程5 小时前
自动化文件管理:分类、重命名和备份
python·microsoft·分类·自动化·备份·重命名·自动化文件分类
Jonathan Star6 小时前
用Python轻松提取视频音频并去除静音片段
开发语言·python·音视频
浣熊-论文指导6 小时前
聚类与Transformer融合的六大创新方向
论文阅读·深度学习·机器学习·transformer·聚类
AKAMAI6 小时前
Fermyon推出全球最快边缘计算平台:WebAssembly先驱携手Akamai云驱动无服务器技术新浪潮
人工智能·云计算·边缘计算