深度学习 第二章 神经网络
1.梯度下降
- 目标:找到山坡最低点
- 套路:小学习率,大迭代次数
- 代码:
- 批处理
- 数值:通常是2的整数倍(32,64,128)
- 原因:
- 如果只使用一张图像进行迭代,该图像可能是噪音或离群点,导致更新效果不好;
- 在兼顾速度和效果的条件下,采用批处理,尽可能每次迭代朝着最好的方向
- 可视化效果
2.学习率
- epoch:整个训练集循环迭代次数
- batchsize:100个(举个例子,实际还是2的倍数),5万的数据需要迭代500次
3.反向传播
- 说明:寻找梯度下降的方向,更新W
- 法则:链式法则
- 例子1:
- x增大一倍,最终结果减小4倍
- 例子2:含sigmoid函数
- 例子3:门单元
4.神经网络
- 数学表达
- 层次结构
- 说明:输入层,隐含层(多个),输出层
- 关键:每层加**函数去线性
- 作用:自动特征提取(层层提取特征)
- 特点:
- 全连接
- 非线性(**函数),可以用relu
- 例子
- 正则化
- 问题:噪声点、离群点等会造成分割平面奇怪,造成过拟合
- 实际情况:没有办法保证所有数据纯净
- 期望:模型越平稳越好,泛化能力强(权重参数值越大,上下波动越大,越不平稳)
- 作用:惩罚权重参数,lamda是惩罚力度
- lamda越大,惩罚力度越大,权重参数越小,模型越平稳,(但是过大会造成欠拟合)
- **函数
- sigmoid函数
- 问题:当x越大,对应的梯度越接近于0,反向传播,梯度消失
- 方法:使用新**函数
- sigmoid函数
-
- relu函数(通用)
- 优点:梯度不会消失,梯度给最大值;计算简单
- relu函数(通用)
- 数据预处理
- 原始数据—以0为中心—归一化(各维度数据同等重要)
-
- 权重初始化
- 不能全0,一般是全部同一常数初始化(正反传播一样,参数朝着一个方向更新)
- 随机初始化,常用高斯初始化
- 权重初始化
- dropout (防止过拟合)
- 选择一部分神经元进行更新,另一部分保持不变
- 每次选择随机,选择更新的神经元比例保持不变