对于您问题的第 (1) 部分,我想到了一些相对较新的技术。
第一个是一种称为“maxout”的前馈层,它计算其输入的分段线性输出函数。
考虑具有d
输入和线性传递函数的传统神经网络单元。我们可以将这个单元的输出描述为它的输入z
(一个带有d
元素的向量)的函数g(z) = w z
,其中w
是一个带d
有权重值的向量。
在一个 maxout 单元中,该单元的输出被描述为
g(z) = max_k w_k z
其中w_k
是一个具有权重值的向量,并且每单位d
有k
这样的权重向量。maxout 单元中的每个权重向量计算输入的一些线性函数,并将所有这些线性函数组合成单个凸分段线性函数。网络可以学习各个权重向量,因此实际上每个线性变换都学习对输入 ( ) 空间的特定部分进行建模。[w_1 ... w_k]
max
z
您可以在http://arxiv.org/abs/1302.4389阅读有关 maxout 网络的更多信息。
最近开发的第二种技术是“参数relu”单元。在这种类型的单元中,网络层中的所有神经元都计算输出g(z) = max(0, w z) + a min(w z, 0)
,而更传统的整流线性单元计算g(z) = max(0, w z)
。该参数a
在网络层中的所有神经元之间共享,并与权重向量一起学习w
。
http://arxiv.org/abs/1502.01852描述了 prelu 技术。
Maxout 单元已被证明适用于许多图像分类任务,特别是与 dropout 结合以防止过度训练时。目前尚不清楚参数 relu 单元在图像建模中是否非常有用,但 prelu 论文在一段时间以来被认为是图像分类中的基准任务方面取得了非常好的结果。