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)

相关推荐
hongyangcao2 分钟前
12.8万科技岗位被“重组“,预算流向了算力
人工智能·经验分享·ai编程
MobotStone3 分钟前
基于“行为评估”准则评估智能体(二):别只看结果,还要看它“怎么做”
人工智能
刘同学的 AI学习手记5 分钟前
把 Prompt 当“软程序”来写
人工智能·aigc·产品经理
知几蜗牛5 分钟前
把评测员请进AI实验室,独立性反而更难证明了
人工智能
黑马程序员毕设17 分钟前
基于微信小程序的二手交易平台设计与实现报告
前端·人工智能·spring boot·后端·考研
jerryinwuhan19 分钟前
Python快速入门(纯净版)
python
liferecords19 分钟前
第 12 讲 · Python 侧接入:火焰图定位热点与间接使用硬件加速
python·性能分析·鲲鹏·火焰图·ctypes
hhzz19 分钟前
【OpenCV 入门到精通 11】机器学习应用:KNN、SVM 与 K-Means 实战
人工智能·python·深度学习·opencv
YOLO数据集集合20 分钟前
全球无人机航拍树冠覆盖数据集 | 树冠分割 语义分割 无人机航拍 全球森林监测 GeoTIFF 生态恢复9083期
深度学习·yolo·目标检测·无人机·无人机视角·全球森林
小巫山云子20 分钟前
相机到主机接口简介
人工智能·计算机视觉·视觉检测·相机