把上一层的输出通过激活函数后再作为下一层的输入是为了让我们学习到的模型是非线性的。
隐藏单元的选择有很多。
整流线性单元是隐藏单元极好的默认选择,,但是整流线性单元在g(z)=0的时候,基于梯度的学习是无效的。因此对整流线性单元进行扩展,基于当<0 时,使用一个非零的斜率: 。绝对值整流固定=-1,来得到。渗漏整流线性单元讲固定成一个类似0.01的小值,参数化整流线性单元或者PReLU将作为学习的参数。
还有比如sigmoid等函数。
下面还有一个maxout单元,具体解释看https://blog.csdn.net/qq_18888869/article/details/82932006。
maxout 单元因此可以视为学习激活函数本身而不仅仅是单元之间的关系。使用足够大的 k,maxout 单 元可以以任意的精确度来近似任何凸函数。特别地,具有两块的 maxout 层可以学 习实现和传统层相同的输入 x 的函数,这些传统层可以使用整流线性激活函数、绝 对值整流、渗漏整流线性单元 或参数化整流线性单元,或者可以学习实现与这些都 不同的函数。m每个maxout单元现在由 k 个权重向量来参数化,而不仅仅是一个,所以maxout 单元通常比整流线性单元需要更多的正则化。如果训练集很大并且每个单元的块数 保持很低的话,它们可以在没有正则化的情况下工作得不错 。