目的
模拟生物神经元对刺激的响应
在神经网络中加入非线性的魔法
拟合不同函数的实用道具
历史
1943 Mc Culloch-Pitts 模型
第一个神经元的数学模型
使用二值阶跃函数
1958 Bosen blatt 感知机
M-P模型,考虑神经元间信息传递与计算
多层感知机+可微激活函数=可学习模型
采用阈值函数或S型函数
计算生物学
得到的激活函数基于实验
描述输入电信号强弱与神经细胞发射信号多少之间的关系
机器学习
适合理论的拟合/预设函数
描述单个神经元模型多个输入值与单个输出值之间的关系
EX: 机器学习领域的Sigmoid 函数与生物学模型的区别
Sigmoid函数没有生物学上的单侧抑制(考虑到学习时优化的必要)
相比于Sigmoid函数而言,生物学模型的兴奋边界更宽阔(实际需要)
生物学模型具有较大的稀疏激活性(即更少的神经元真正在工作)
NOTE:从Sigmoid函数与tanh函数看如何分析激活函数性能
Sigmoid
软包和指当x较大时y梯度趋于零,变化不明显
非零均值使得优化时效率受损
tanh
通过小变化将Sigmoid变为零均值,优化了表现
非线性
必要性上需要在线性的矩阵网络中引入非线性的因素
充分性上仅需要单隐层神经网络与非线性激活函数便能拟合任意函数
可微性
学习的方法(基于梯度优化)需要非线性激活函数可微
同时应注意对此可微函数计算可行性进行考虑
单调性
生物学上符合科学观测,更有可能实现感知功能
机器学习上单层网络误差曲面为凸,易于优化
原点局部常数性
学习开始时随机初始化性能难以预测,此性质保证初始优化定向
初始导数易于计算,缩短模型“渐入佳境”的时间
生物学观察中的稀疏性
总体输入信息巨大,实际激活神经元仅占1%-4%
总体耗能较小,分布式计算
稀疏性在机器学习中的优势
信息解离
深度学习目标之一——复杂数据分析的重要部分
通过解离factors,使得多维向量的每一维都可被理解
增加表达的鲁棒性(稍微变动向量,不太影响每维信息理解),抵御噪声
可变长表达
判定不同维重要性后可选取维数,按精度选择个数
选取后可进行降维处理,节省计算量
线性可分性
原本未必可分,映射到高维后可能可分
分类与运算便利
高效计算
有很大部分神经元不响应
产生不用计算的零输出
在前传与反传时都不需计算
稀疏性可能遇到的问题与解决
Q:是否会因零输出导致反传更新困难,阻碍优化?
A:事实上可以通过其它路径回传,且效果并不差,甚至更优
ex:上图中稀疏程度在75%-85%时实验错误率最低
ReLU函数
优势
ReLU函数有零值,可以模拟生物学模型的稀疏激活性
形式简单,便于计算
缺点
远点附近并非光滑可微
零值对优化带来挑战,可能带来“死亡神经元”
非零均值,效率不是最高
无上界,不具有BN网络收敛性
Leaky ReLU
使用人工设置的小参数应对负数时的零值
计算量增大,远慢于ReLU
参数人为调控,可以精细,但工作量大
P ReLU
可看作Leaky ReLU的泛化形式
拥有可学习的参数α,不需要手动调节
函数负值响应可更新,且与Leaky ReLU相比计算量提升并不大
ELU
负值软包和,且倒数连续,易于优化
计算量较大,耗时较长
ReLU变种总结
Maxout(推广)
通过对多个输入神经元的数据进行计算,得到一些线性函数,并取各段最大值拼接
ReLU可视为特殊的情况
取足够多段拼接时,可逼近任意下凸函数
当段数过多时,计算量也增大,故应用需谨慎
另有一附加问题在于连接处不可导,优化不便
原因:
网络太深
激活函数选择不当
理论依据:
梯度减小/增加的逐层累计效应
S型函数梯度小于1,累积起来得到零结果
如何解决
Hinton 2006 仍使用S型函数,两步分步式训练,预训练加微调
使用其它非S型函数,如Softplus,ReLU,减少梯度的衰减(梯度与1相差不大)
其它方法
何为DPP
2018年paper
idea是不再抹平差异,而是保留差异
认为差异中信息量更大(自然的想法),并通过算法实现
仍是距离加权映射,只是更注重差异
更多calculation见paper
Attention Pooling
运用二阶池化,通过低置化完成简化,可用作行为识别
SGD通过人工手调何时减小learning rate,更多工作,但可以更精细
Adam不用人工调参数,但相对的,不会那么精细
作者:光头小海怪
联系客服