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)

相关推荐
碳酸的唐2 小时前
A* 工程实践全指南:从启发式设计到可视化与性能优化
python·神经网络
缘华工业智维2 小时前
工业设备预测性维护:能源成本降低的“隐藏钥匙”?
大数据·网络·人工智能
DooTask官方号3 小时前
跨语言协作新范式:阿里云Qwen-MT与DooTask的翻译技术突破
人工智能·ai·项目管理·机器翻译·dootask
凯禾瑞华养老实训室4 小时前
聚焦生活照护能力培育:老年生活照护实训室建设清单的模块设计与资源整合
大数据·人工智能·科技·ar·vr·智慧养老·智慧健康养老服务与管理
倔强青铜三5 小时前
苦练Python第64天:从零掌握多线程,threading模块全面指南
人工智能·python·面试
格林威5 小时前
偏振相机是否属于不同光谱相机的范围内
图像处理·人工智能·数码相机·计算机视觉·视觉检测·工业相机
A-大程序员5 小时前
【pytorch】合并与分割
人工智能·pytorch·深度学习
AI新兵5 小时前
AI大事记12:Transformer 架构——重塑 NLP 的革命性技术(上)
人工智能·自然语言处理·transformer
Q26433650236 小时前
【有源码】基于Hadoop生态的大数据共享单车数据分析与可视化平台-基于Python与大数据的共享单车多维度数据分析可视化系统
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计