本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
一、神经元
生物神经元的细胞状态仅有两种: 兴奋 和 抑制
1.人工神经元
:接收的信号 :权重(连接的程度) :偏置阈值 :人工神经元的状态
人工神经元可以被视为一个 线性模型
2.激活函数的性质
①连续且可导(允许少数点不可导)
②尽可能 简单 (提升计算效率)
③值域要在一个 合适的区间 内
④单调递增(整体上升,局部可能下降)
3.常用的激活函数
①S型函数
性质:① 饱和函数 ②Tanh函数是 零中心化 的,logistic函数的输出 恒大于0
!!! 非0中心化输出会使得下一层神经元出现 偏置 (使其梯度下降收敛速度减缓)
②斜坡函数
性质:① 高效 ②生物学合理性( 单侧抑制、宽兴奋边界 ) ③一定程度上 缓解梯度消失问题
死亡ReLU问题:x小于0时,输出为0
解决:①规划-避免参数过于集中
② :使其左端不为0(具有极小的梯度)
近似非零中心化的非线性函数
如果x>0
如果x<=0
ReLu函数的平滑版本
③复合激活函数
1.Swish函数:一种自门控激活函数
即为 logsitic函数 ,近似电路的 门电路(软门控,类似于模拟电路)
可以通过改变 使其在x=y的 上半部取值
2.高斯误差线性单元
和Swish函数比较类似
其中 是 高斯分布 的 累积分布函数
是 超参数 ,一般 即可
可以使用Tanh或Logistic函数来近似
4.神经元函数小结
二、神经网络
神经网络由 大量神经元 及其 有向连接 构成,需要考虑以下三个方面:
①神经元的激活规则:神经元输入和输出的关系,一般为非线性
②网络的拓扑结构
③学习算法
常见的神经网络结构如下:
①前馈网络:单向流动
②记忆网络 :有内部循环
③图网络
神经网络是一种主要的 连接主义模型 ,其具有三个特点:
①信息表示是 分布式 的
②记忆和知识是 存储在 单元之间的 连接上
③通过逐渐 改变 单元之间的 连接强度 来学习 新的知识
三、前馈神经网络
之所有叫前馈神经网络,是因为其 调优方式 是从计算 最后一层的导数反过来对激活函数进行调优 (即 与信息流动方向相反 )
特点: ①各神经元属于不同的层, 层内无连接
②相邻 两层之间 的神经元 全部 两两连接
③ 无反馈 ,信号 单向传递 ,可以形成 有向无环 图
网络的层数不计算输入层
1.前馈神经网络的描述
记号 | 含义 |
L | 层数 |
第 层的神经元个数 | |
第 层的 激活函数 | |
l -1层到 l 层的 权重矩阵 | |
l -1层到l层的 偏置 | |
l 层神经元的 净输入 (净活性值) | |
l 层神经元 输出 (活性值) |
2.信息传递过程
本神经元输入 = 上一层的输入向量 X 权重矩阵 + 偏置
输出 = 以本神经元 输入为因变量 的 激活函数
前馈计算
3.通用近似定理
对于具有 线性输出层 和使用 “挤压”性质的激活函数的隐藏层 组成的 前馈神经网络 ,只要其中隐藏神经元的数量足够,它可以以 任意的精度 来近似任何一个定义在实数空间中的 有界闭集函数 。
人话: 拥有此性质的神经网络可以近似任意函数
4.应用
神经网络可以作为一个 “万能”函数 / 进行 复杂特征转换 / 逼近 复杂条件分布
其中 为 神经网路 、 为 分类器
!!!若 为Logistic回归,则Logistic回归分类器可以视为神经网络的最后一层
越往后层,提取的特征越高级,最后一层为分类器
5.参数学习
对于多分类问题
①若使用Softmax回归分类器,相当于在网络最后一层设置C个神经元,
②若采用交叉熵损失函数
损失函数为:
③对于给定的 训练集D ,输入样本 ,其 结构化风险函数 为:
④梯度下降
计算:
链式法则:
可以使用 反向传播算法 或 自动微分
6.反向传播算法
!!!矩阵微积分:以向量来表示,使用分母布局
①矩阵偏导数:
②向量的偏导数:
可以使用 链式法则 :求复合导 ->
①梯度计算
②计算误差项
误差项:
③利用反向传播算法训练
7.计算图与自动微分(优先使用)
利用链式法则,自动计算一个复合函数的梯度, 计算图 如下:
可以将每一步对应的函数的和导数记录,需要计算时候,由链式法则连乘即可
①前向模式
计算方向与信息传播的方向一致(每走一步算一个导数)
②反向模式
计算方向与信息传播的方向相反(先计算出h6,再返过去算导数– 等同于反向传播算法 )
③静态计算图
编译时构建的,程序运行时不再改变
优点:构建时可以进行优化,并行能力强
缺点:灵活性较差
④动态计算图
程序运行时动态构建
优点:灵活性高
缺点:不易优化,难以并行计算
8.优化问题
①非凸优化
②梯度消失
③难点
非凸优化问题:存在 局部最优解 和 全局最优解 ,影响迭代
梯度消失问题: 下层参数较难调 (多段导数连乘容易趋近于0)
参数过多,影响训练。参数的解释也较为麻烦
需求:①计算资源大 ②数据多 ③算法效率高(快速收敛)
Be First to Comment