一、定义 优化:经验风险最小(期望风险难以计算)
正则化:降低模型复杂度(防止过拟合)
二、网络优化 难点:①结构差异较大(没有通用优化算法、超参数较多)
②非凸优化(参数初始化、逃离局部最优/鞍点)
③梯度消失/爆炸问题
1.高维空间中的非凸优化问题 鞍点:梯度为0的点
文章图片
平坦最小值:在一个邻域内,所有点对应的训练值都比较接近。
大部分的局部最小解都是等价的;
局部最小解的训练损失可能非常接近全局最小解对应的训练损失
文章图片
2.优化地形的可视化 优化地形:高维空间中损失函数的曲面形状。
文章图片
文章图片
3.改善方法 ①更有效的优化算法来提高优化方法和效率和稳定性
动态学习率调整、梯度估计修正
②更好的参数初始化、数据预处理方法以提高优化效率
③修改网络结构以获得更好的优化地形
使用ReLU激活函数、残差连接、逐层归一等
④使用更好的超参数优化方法
三、优化算法的改进
1.随机梯度下降
文章图片
①小批量随机梯度下降
(充分利用GPU的并行计算能力,每次更新一批参数)
step1:选取K个训练样本,计算偏导数
文章图片
step2:定义梯度
文章图片
step3:更新参数(反向更新)
文章图片
文章图片
称学习率
影响的关键因素:
1.样本数量K:不影响随机梯度的期望,但是会影响方差
K越大,方差越小
K较大时可以设置大学习率,引入噪声提升训练稳定性
K较小时可以设置小学习率,否则会出现不收敛的现象
K值与学习率的关系:线性缩放规则。
K值对收敛的影响:
文章图片
K值较大时,计算效率提升,迭代效率可能下降(单步较慢)
K值越小,模型泛化能力越强
一般来说K可以设置得更大(样本数量足够时)
2.梯度:以“加权移动平均”作为参数更新的方向(动量化)
文章图片
梯度截断
3.学习率:动态学习率
文章图片
随时间递减
②动态学习率
应用于小批量随机梯度下降
理想状态:一开始步长尽可能大,接近最优解时应当减小以免过冲
学习率衰减:阶梯衰减、线性衰减
文章图片
逆时衰减:
文章图片
指数衰减:
文章图片
自然指数衰减:
文章图片
余弦衰减:
文章图片
文章图片
周期性学习率调整:三角循环学习率、带热重启的余弦衰减(整体递减)
文章图片
周期性调整的原因:为了跳出局部最优
文章图片
③其他学习率调整方法
增大批量大小(K与
文章图片
正相关)
学习率预热(初始化时梯度不稳定)
文章图片
自适应学习率
文章图片
④梯度估计修正
1.动量法
用之前累积的动量代替真正的梯度
文章图片
负梯度的“加权移动平均”;每次迭代的梯度可以看作是加速度,可以近似看作二阶梯度。
文章图片
2.Nesterov加速梯度
文章图片
3.Adam算法
动量法+RMSprop
step1:计算两个移动平均
文章图片
文章图片
step2:偏差修正
文章图片
文章图片
step3:更新
文章图片
4.梯度截断(用于解决梯度爆炸问题)
按值截断:
文章图片
值处于[a,b]区间内
按模截断:
文章图片
模值最大为b
2.小结 大部分优化算法可以描述为:
文章图片
文章图片
文章图片
文章图片
为t步的学习率
文章图片
为t步的梯度
文章图片
四、参数初始化 参数不能初始化为0,会造成对称权重问题(回传参数时,第一层的所有神经元都保持一致,无法判别其权重,会导致神经网络丧失能力)
初始化方法:①预训练初始化②随机初始化③固定值初始化(偏置通常0初始化)
1.随机初始化 高斯分布:参数从一个固定均值和固定方差的高斯分布进行随机初始化
均匀分布:参数在区间[-r,r]内采用均匀分布进行初始化
范数保持性:为了避免梯度爆炸/梯度消失问题,误差项应尽可能=1(不放大/缩小)
文章图片
基于方差缩放的参数初始化
文章图片
正交初始化
文章图片
step1:用均值为0、方差为1的高斯分布初始化一个矩阵
step2:将这个矩阵用奇异值分解得到两个正交矩阵(使用其中之一作为权重矩阵)--通常用于RNN
五、数据预处理
1.尺度不变性 算法在缩放全部或部分特征后不影响学习和预测。
不同输入特征的尺度差异过大时会造成以下困难:
1.参数初始化较为困难
2.优化效率
2.规范化 ①最小最大值规范化
文章图片
②标准化
文章图片
其中
文章图片
文章图片
③PCA(计算较为复杂,一般不使用标准化就够了)
文章图片
3.逐层规范化 目的:更好的尺度不变性;内部协变量偏移(激活值分布随参数变化而变化);更平滑的优化地形。
①批量规范化
第 l 层神经网络为:
文章图片
给定K个样本的小批量集合,方差和均值为:
文章图片
文章图片
批量规范化:
文章图片
优点:提高优化效率;隐形的正则化优化方法(使得神经网络不会过分依赖某个样本,从而提高网络的泛化能力)
缺点:小批量样本不能太小;无法应用到循环神经网络
②层规范化
第 l 层神经元的净输入为
文章图片
文章图片
文章图片
层规范化定义
文章图片
4.超参数优化 超参数:层数、每层神经元个数、激活函数、学习率、正则化稀疏、mini-batch大小
①网格搜索
假设共K个超参数,第k个超参数可以取
文章图片
个值,并穷举每种组合。
若超参数连续,则需要将其离散化(不等距离)
②随机搜索
文章图片
③其他方法
贝叶斯优化、动态资源分配、神经架构搜索
六、正则化 所有损害优化的算法。包括:
①增加优化约束(L1/L2约束、数据增强)
②干扰优化过程(权重衰减、随机梯度下降、早停法、暂退法)
1.早停法 引入一个验证集,每迭代一次使用验证集测试一次,若验证集错误率不再下降,则停止优化。
文章图片
2.权重衰减 通过限制权重的取值范围,降低模型能力
每次更新参数时,引入一个衰减系数
文章图片
,(一般取值较小,如0.0005)
文章图片
3.暂退法 神经层:
文章图片
引入一个掩蔽函数使:
文章图片
文章图片
(m为掩码,值域区间{0,1},使用概率为p的贝努利分布随机生成)
文章图片
会造成训练和测试时网络的输出不一致的问题,可以对测试集降维
暂退法提升网络正则化的解释:
①集成学习的解释
每进行一次暂退,相当于从原始网络中采样得到一个子网络,最后使用的可以视为2^n个子网络的集成
文章图片
②贝叶斯学习的解释
文章图片
暂退法一般不能直接应用在循环神经网络(会损害其记忆能力)
变分暂退法
对参数矩阵的每个约束进行随机暂退,所有时刻使用同样的暂退掩码
4.l1和l2正则化 优化问题可以写作:
文章图片
其中
文章图片
为规范函数:l1和l2范数
文章图片
为正则化系数
目标是使
文章图片
需要使得l1,l2的绝对值小于1
标准的随机梯度下降中,l2正则化等价于权重衰减
5.数据增强 人工构建新的样本来增加训练数据的数量和多样性
①对x的增强
【机器学习|神经网络(七)优化与正则化】采用旋转、翻转、缩放、平移、加噪声等方式来增强图像数据
采用词汇替换、回译、随机编辑噪声(增删改查、句子乱序)来增强文本数据
②对y的增强
标签平滑:在输出标签中添加噪声来避免过拟合
文章图片
推荐阅读
- 机器学习|神经网络(六)循环神经网络
- 机器学习|无监督学习分类
- 机器学习|神经网络(八)注意力机制与外部记忆
- linux格式化磁盘挂载磁盘
- java|Django+haystack+whoosh+jieba全文检索实现
- Qt|QComboBox文字居中的几种实现方式
- QT笔记|Qt实现最小化窗口到托盘图标
- Spring|Spring-IOC配置-依赖注入
- Java|霸占GitHub热榜的《Spring Cloud Alibaba源码笔记》果然“威力极大”