【模式识别与机器学习】L6 神经网络到深度学习
·
一、神经网络基础
(一) 动机:从感知器到多层结构
【单层感知器】只能处理线性可分问题,无法处理XOR等问题
- 突破途径: 1.作非线性变换 2.增加网络层数
【多层感知器】输入层(原始特征)→隐藏层(非线性变换)→输出层
(二) 神经网络模型
1.全连接前馈神经网络:没有反馈回路,相邻层神经元全连接
输出层可以省略激活,直接输入S=输出x,或者用softmax做分类
2.核心激活函数
| 函数 | 优点 | 缺点 |
|---|---|---|
| Sigmoid | 导数平滑连续,不会出现梯度爆炸 | 梯度易消失,输出非零均值(每一层输出都是正数),训练速度慢 |
| Tanh | 解决了非零均值的问题,训练更稳定,无梯度爆炸 | 仍存在梯度消失问题 |
| ReLU | 训练速度快,不存在梯度消失问题 | x≤0时永久失效,导数在x=0处不连续 |
| Leaky ReLu | 解决死亡 ReLU 问题 | 需额外调整参数 |
二、神经网络学习
通过最小化损失函数,更新所有权重w
(一) BP算法
1.步骤
1) 前向传播,计算所有层的输入S和输出x,得到输出层预测值
2) 反向传播,求梯度:从输出层反向计算各层误差项
3) 权重更新:按梯度下降法更新权重
2.计算图
三、深度神经网络与CNN
浅层网络(1 个隐藏层)需极多神经元才能拟合复杂函数,而深层网络可通过 “分层特征提取”,用更少参数实现更好性能
(一)卷积神经网路(CNN)
用“权值共享”解决参数爆炸问题,用“局部连接”保留空间特征
CNN结构
1) Conv卷积层:输出特征图
2) Pool池化层:下采样, 参数量:0【因为无权重更新】
减少特征图尺寸,增强鲁棒性(抗平移),减少计算量
常见类型:取局部最大值和取局部平均值
3) FC全连接层:分类
参数量计算:(输入神经元+1)*数输出神经元数(输入神经元数 = 前一层特征图总元素数)
更多推荐

所有评论(0)