【dlbook】深度网络
前向网络:无反馈 feedback 连接
【输出单元】
线性 -- 高斯分布 、
sigmoid单元 -- bernoulli输出、
softmax单元 -- multinoulli
【隐藏单元】
整流线型单元: relu,不可微,但是在梯度下降中的表现依然很好。原因是只要接近局部最小值即可,不需要达到。
优势:二阶导数几乎处处为0,也就是梯度更加有用!
缺陷:如果为0,那么就不能基于梯度的方法学习,因此需要拓展。
拓展:在小于0时使用一个非零的斜率:
绝对值整流:固定为1
渗透整流: Leaky ReLU 固定为一个类似0.01的小值
参数化整流:将其作为一个参数进行学习。2015年的paper.
sigmoid与tanh
广泛饱和性:z很大饱和到高值,z很小饱和到低值,z接近0才比较敏感。如果加入weight decay会比较好。
tanh通常比sigmoid要好:在0附近,tanh和单位函数比较像,因此只要不饱和,训练tanh更加容易。
线性隐藏单元:
单位函数作为激活函数,如果n到p的网络线性相关,秩为q,那么可以用一个q个节点的线性层来实现,可以有效的减少网络的参数。
其他隐藏单元:
径向基函数:x在某个值表现更活跃,
softplus:平滑版的ReLU,但是通常表现并没有ReLU好,比较反直觉
硬双曲正切:max(-1, min(1, a)),
【架构设计】
万能近似定理:只要一层就能以任意精度近似有限维Borel可测函数
学习失败的原因:
优化算法找不到最优,
过拟合
有一些临界值d,在大于d时能高效的近似,但是小于d时需要一个远远更大的模型。
对ReLU来说,一个深度网络可能需要指数级的浅层网络的参数
对于一个卷积的例子,增加网络参数但是不增加层数,事实证明是没有什么用的。
【历史总结】
神经网络在很小的时候 sigmoid显著比ReLU更好,
对于小的数据集,线性整流甚至比学习隐层权重更重要。