一起学AI:核心基础概念
- AI基础概念
- 什么是学习率?
- batchsize和epoch分别是什么?
- 梯度消失与梯度爆炸是什么?
- 什么是过拟合、欠拟合和泛化?
- 归一化、正则化、标准化是什么?
- 线性回归和逻辑回归是什么?
- 神经网络里普通参数与超参的区别是什么?
- AI常见问题与解决
一起学AI系列博客:目录索引
本文笔记小结深度学习里的核心基础概念和高频知识点分析。
AI基础概念
什么是学习率?
- 学习率alpha是一个人为控制的超参数,有时也叫
learning rate(lr)
- 学习率的范围,通常是
(0, 1]
- 学习率通常用在神经元权重更新上,公式为:
w = w - alpha * D
- 学习率的用途是控制权重更新的步幅,一个合适lr可以帮助模型找到最优权重,从而快速收敛。
batchsize和epoch分别是什么?
epoch和batchsize概念辨析
- batchsize,是将训练集拆分成若干个mini batch,每个batch的大小称为batchsize;设训练集m个样本,每个batch样本n个,则batch个数为k=m/n个
- epoch,指整个训练集每进一轮网络迭代更新权重,算1个epoch,一般10-100个epoch就能将整个训练集收敛了
梯度消失与梯度爆炸是什么?
梯度消失与梯度爆炸问题与解决
- 梯度消失,又称梯度弥散
- 现象:离输出层越远的神经元越难以快速更新权重,主要源自
sigmoid
求导函数乘的a(1-a),a范围是0-1,则求导函数值域就是(0,0.25)永远小于1,致使网络层数加深后,输入层附近的神经元权重几乎无法更新,难以训练。 - 解决:BP出了后,因为这一问题,深度学习又消停许多年。直到relu出现,relu求导为1或0不会有权值缩放的问题,最终更换激活函数得以解决。
- 现象:离输出层越远的神经元越难以快速更新权重,主要源自
- 梯度爆炸
- 现象:
relu
引入又可能导致梯度爆炸,即若权重初始值很大时,迭代w=w-D,D不断累积而来变成一个极大的数(梯度爆炸),导致w更新后极负。 - 后果:有关神经元炸死,w*a数值均小于0,relu输出0,不管啥输入都会置零,神经元失效。
- 解决:1、用改进后的relu;2、采用适当的权重初始化方法,逐层初始化
- 现象:
什么是过拟合、欠拟合和泛化?
- 过拟合:就是指虽然训练集误差越来越小,但是在测试集上误差越来越大的现象。表示模型对训练集数据过拟合了,无法有效预测集外数据。
- 泛化性:指的是评价模型好坏的一个标准,针对新数据的预测准确率越差泛化性越差,反之,则泛化性越好。如果模型不鲁棒,或训练集准确率高、测试集准确率低,就可以称模型泛化性差。本质上,过拟合就是模型泛化性差的体现。
- 欠拟合:与过拟合相反,指的是模型在训练集上准确率一直无法提升到预期值,说明当前模型无法顺利拟合,需要修改模型或者增加数据。
过拟合与泛化
- 拟合指的是和目标的接近程度
- 过拟合和泛化是相互矛盾的点
- 过拟合,导致泛化能力差
- 泛化能力好,拟合精度可能就没那么完美
归一化、正则化、标准化是什么?
归一化(Normalization)
- 是为了统一尺度,
- 统一尺度为无量纲数,将数据都缩放到[0, 1]区间
- 方式1:不改分布
- 通过最大值、最小值和平均值来映射,公式为:
X_normal = (X - min) / (max - min)
- 通过最大值、最小值和平均值来映射,公式为:
- 方式2:改分布,则成为标准化(Standardization)
- 调整后mu和sigma分别为0,1。
- 公式为:
X_normal = (X - mu) / sigma
- 效果:便于观察分析,使网络快速收敛。
正则化(Regularization)
- 惩罚高阶参数,最小化误差的同时,防止过拟合,。
- 注意与正交化相区分,正交化是为了去除数据相关性,使其正交,便于计算
- 进阶参考:link1,link2
线性回归和逻辑回归是什么?
- 线性回归
- 输出是一条直线,连续值,适合做拟合
- 回归前是连续的,回归后分类,是离散的
- 类型已知,是个固定值
- 逻辑回归(softmax回归)
- 输出单独结果,离散值,适合做分类
- 翻译问题,这里的logistic,本质跟逻辑无关,而是取Logarithm:对数的意思
- 将R实数压缩到[0, 1]范围,转换成概率后,就能适用分类问题
- 若X输进去,分别检测是否为0、1、…、9,输出对应的概率,选择概率最大的那个,作为最终分类结果
- 联系
- 逻辑回归是线性回归的特例
- sigmoid/softmax非线性激活函数接在线性回归的输出上,成为了逻辑回归
参考资料:
- 浅析机器学习:线性回归 & 逻辑回归,https://zhuanlan.zhihu.com/p/39363869
神经网络里普通参数与超参的区别是什么?
- 普通参数,指模型根据数据不断学习更新而来,根据数据和损失函数,不断梯度下降,可以自动处理的模型参数,主要指神经元权重w
- 超参,指需人工根据经验指定的参数,如卷积核的尺寸、连接神经元个数、层数、维度,批量大小beta,学习率lr等
AI常见问题与解决
学习率衰减lr-decay
- 问题:训练集误差越来越小,而测试误差会先减小,后增大,则此时出现了过拟合
- 解决:
- 利用学习率衰减的方法,前期大步跑,后期小步跑;再过拟合前刹住,停止迭代。
人工数据增强的常见方法
- 问题:数据集样本少,质量低
- 解决:思路是数据不够,人工拼凑
- 具体方法:以图像为例
- 亮度、饱和度、对比度调节
- 随机截取、旋转、对称图像
- 图像加噪