Optimization
- 高维变量非凸优化
- 鞍点
- 平坦最小值与尖锐最小值
- 局部最小解等价性
优化算法
- 小批量梯度下降(批量,学习率,梯度估计)
- 批量大小选择
- 线性放缩规则:批量大小增加 倍时,学习率也增加 倍(批量大小较小时适用)
- 批量越大,越有可能收敛到尖锐最小值;批量越小,越有可能收敛到 平坦最小值
- 学习率衰减(退火)
- 分段常数分解:每经过 次迭代,衰减为原来的 倍
- 逆时衰减:
- 指数衰减:
- 自然指数衰减:
- 余弦衰减:
- 学习率预热:最初几轮使用较小的学习率
- 逐渐预热(2017):
- 周期性学习率调整
- 循环学习率
- 带热重启的随机梯度下降
- AdaGrad(2011):自适应调整参数学习率
- 梯度平方的累计值:
- 偏导数累积比较大,其学习率相对较小; 相反,如果其偏导数累积较小,其学习率相对较大。但整体是随着迭代次数的增加,学习率逐渐缩小
- RMSProp(2012):避免学习率过早衰减
- 梯度平方的指数衰减:
- AdaDelta 算法:引入参数更新差值 的平方调整学习率
- 梯度估计修正
- 动量法:
- Nesterov 动量法:
- Adam 算法(2015)
- 梯度截断
- 按值截断:
- 按模截断:
参数初始化
- 固定方差参数初始化
- 高斯分布初始化
- 均匀分布初始化
- 方差放缩参数初始化
- Xavier 初始化:方差为
- 恒等函数
- Logistic: 16
- Tanh
- He 初始化(Kaiming):反差为
- ReLU
- Xavier 初始化:方差为
- 正交初始化:范数保持性
- 高斯分布初始化后,SVD 分解并取一个正交矩阵作为权重
数据预处理
- 尺度不变性:算法在缩放部分特征后不影响学习和预测
- 归一化
- 白化:降低冗余性
- 数据增强:Rotation, Flip, Zoom In/Out, Shift, Noise
优化地形
- ReLU 激活函数
- 残差连接
- 逐层归一化
- 批量归一化(BN):
- 层归一化(LN):
- 权重归一化:通过再参数化将权重分为长度与方向
- 局部响应归一化(LRN)
- 批量归一化(BN):
超参数优化
- 超参数:网络结构、优化参数、正则化参数
- 困难
- 组合优化问题
- 评估一组参数配置的时间代价高
- 网格搜索
- 随机搜索
- 贝叶斯优化
- 动态资源分配
- 神经架构搜索
网络正则化
- 正则化
- 正则化
- 弹性网络衰减
- 权重衰减:
- 标准随机梯度下降中与 正则化等价
- 提前停止:使用验证集错误代替期望错误
- 丢弃法
- 训练时: 以概率为 的伯努利分布随机生成
- 测试时:
- 集成学习角度:丢弃相当于采样一个子网络
- 贝叶斯学习角度
- 标签平滑:软目标标签,给其余 个类概率