华为云在线课堂AI技术领域课程“深度学习”学习心得体会---第二周
第二周学习中主要学习了第四章和第五章的内容,以及实践案例“从感知机到卷积神经网络”的学习。
第四章 正则化
4.1 过拟合
误差:学习到的模型在样本上的预测结果与样本的真实结果之间的差。
训练误差(经验误差):训练集上的误差;泛化误差(测试误差):新样本上的误差。
欠拟合与过拟合的概念:欠拟合就是训练误差很大的现象。过拟合则是训练误差很小,而泛化误差较大的现象。
欠拟合与过拟合的区别:欠拟合在训练集和测试集上的性能都较差,而过拟合训练集较好测试集较差。欠拟合表现是输出结果高偏差,过拟合主要表现为输出结果高方差。
产生欠拟合与过拟合的原因
模型容量:指其拟合各种函数的能力。
根本原因:模型学习能力(模型容量)与数据复杂度之间失配
产生欠拟合的具体原因与解决的方法
产生欠拟合的原因:特征量过少;模型复杂度过低。
解决方法:增加新特征;添加多项式特征;减少正则化参数;使用非线性模型;调整模型容量;使用集成学习方法。
产生过拟合的具体原因
数据噪声干扰过大:
训练样本太少,无法描述问题的真实分布:
模型复杂度过高:
防止过拟合的方法
①减少特征维度;
②正则化:数据增强,参数范数惩罚,Dropout,提前终止等。
正则化就是找到图中测试误差的拐点
4.2数据增强
增加训练数据样本。
在目标识别领域是图片对旋转,平移,缩放;语音识别是随机噪声,NPL中近义词替换。
噪声注入:在网络不同位置如输入层——数据集增强、隐藏层——Drop0ut、输出层——标签平滑,加入噪声。
4.3L1与L2正则
L2正则:参数约束添加L2范数惩罚项,改技术用于防止过拟合。加入L2正则项后,每次更新梯度之前先对权重向量进行收缩,权重衰减。
L1正则:对模型参数添加L1范数约束。
L2与L1比较:
L1比L2能产生更稀疏的模型,起到特征选择的作用;概率角度,L2范数相当于参数服从高斯先验分布,L1相当于拉普拉斯分布。
4.4 Dropout
通用且计算简洁的正则化方法。随机丢弃一部分输入,将所有子网络结果合并,在输出结果。
作用:取平均;减少神经元之间复杂的共适应关系,提高鲁棒性;类似于性别在生物进化中的角色。一般在0.5-0.3之间,具体要根据网络模型超参数进行设置。
4.5 提前终止
在训练过程中,插入对验证集数据的测试,当发现验证集数据的Loss上升时,提前停止训练。
4.6 随机池化
即对数据进行降噪操作,又可以用p范数作非线性映射的“卷积”。特征不变性,特征降维,防止过拟合。最大值池化,均值池化,随机池化,中值池化,组合池化等。
随机池化:按一定概率选取其中一个元素,介于平均池化和最大池化之间。
第5章 优化器
优化器
全局梯度下降算法,采用整个训练集的数据进行计算梯度,一次时间很长
随机梯度下降算法:SDG对每个样本进行梯度更新,更新速度快,缺点:更新频繁。
小批量梯度下降:每次利用小批样本,降低参数更新的方差;
Momentum,超参数
常见优化器:Adam,Adagrad+Adadelta+RmSprop
如何选择优化器:数据稀疏——自适应(Adagrad,Adadelta,RMSprop,Adam);梯度稀疏——Adam比RMSprop效果好。
实践案例“从感知机到卷积神经网络”
为了亲手体验整个实验过程,我选择在ModelArts中创建新的Notebook,考虑到代码运行运用到GPU,所以在创建Notebook时,选用mindspore1.2.0-cada10.1-cudnn7-ubuntu18.04 GPU算法和训练基础镜像,预置AI引擎Mindspore-GPU:
创建完成后点击新建的Notebook启动,进入Jupyterlab:
根据实验指导,将代码输入Jupyterlab的新建ipy文档中,依次点击并运行:
第一次运行,未达到要求精度
更改epoch至200,达到精度要求,结束运行。
实验完成要求。
- 点赞
- 收藏
- 关注作者
评论(0)