学习率
学习率(alpha)是一个人为设定的超参数,有时也被称为learning rate(lr)。其取值范围通常在(0, 1]之间。学习率主要用于控制神经元权重的更新,具体公式为:w = w – alpha * D。其作用是控制权重更新的步幅,一个合适的学习率可以帮助模型找到最优权重,从而实现快速收敛。
Batch Size和Epoch
Epoch和Batch Size概念辨析
Batch Size是指将训练集拆分成若干个mini batch,每个batch的大小即为Batch Size。假设训练集有m个样本,每个batch包含n个样本,则Batch个数为k = m/n。Epoch指数据集通过训练模型的次数,也称为训练次数。每当整个训练集经过一轮网络迭代并更新权重,即完成一个Epoch。一般情况下,10-100个Epoch就能使训练集收敛。
梯度消失与梯度爆炸
梯度消失与梯度爆炸问题与解决
梯度消失(又称梯度弥散)现象:离输出层越远的神经元越难以快速更新权重,这主要源自sigmoid求导函数中的a(1-a)部分。由于a的范围是0-1,求导函数值域为(0,0.25),永远小于1,导致网络层数加深后,输入层附近的神经元权重几乎无法更新,训练变得困难。
解决:BP算法出现后,由于这一问题,深度学习一度消停许多年。直到relu激活函数的出现,其求导为1或0,不会有权值缩放的问题,最终通过更换激活函数得以解决。
梯度爆炸现象:relu的引入又可能导致梯度爆炸,即若权重初始值很大时,迭代过程中D不断累积而来变成一个极大的数(梯度爆炸),导致w更新后极负。
后果:相关神经元“炸死”,w*a数值均小于0,relu输出0,无论输入什么都会置零,神经元失效。
解决:1. 使用改进后的relu;2. 采用适当的权重初始化方法,逐层初始化。
过拟合、欠拟合和泛化
过拟合:指训练集误差越来越小,但在测试集上误差越来越大的现象。表明模型对训练集数据过拟合了,无法有效预测集外数据。
泛化性:评价模型好坏的一个标准。针对新数据的预测准确率越差,泛化性越差;反之,则泛化性越好。如果模型不鲁棒或训练集准确率高、测试集准确率低,就可以称模型泛化性差。本质上,过拟合就是模型泛化性差的体现。
欠拟合:与过拟合相反,指模型在训练集上准确率一直无法提升到预期值,说明当前模型无法顺利拟合,需要修改模型或增加数据。
过拟合与泛化:拟合指的是与目标接近的程度。过拟合和泛化是相互矛盾的点:过拟合导致泛化能力差;泛化能力好则拟合精度可能没那么完美。
归一化、正则化、标准化
归一化(Normalization):为了统一尺度,将数据缩放到[0, 1]区间内,以便观察分析和网络快速收敛。方式包括Min-Max归一化和Z-Score标准化(也称为标准化)。
正则化(Regularization):在最小化误差的同时,通过惩罚高阶参数来防止过拟合。注意与正交化区分开,正交化是为了去除数据相关性,使其正交便于计算。
线性回归和逻辑回归
线性回归:输出为一条直线,连续值,适合做拟合。逻辑回归(softmax回归):输出为单独结果,离散值,适合做分类。逻辑回归是线性回归的特例,通过在线性回归的输出上添加sigmoid/softmax非线性激活函数实现。
神经网络里普通参数与超参的区别
普通参数:指模型根据数据不断学习更新而来,如神经元权重w等。超参:需人工根据经验指定的参数,如卷积核尺寸、连接神经元个数、层数、维度、批量大小(beta)、学习率(lr)等。
学习率衰减(lr-decay)
问题:训练集误差越来越小,而测试误差会先减小后增大时出现了过拟合。解决:利用学习率衰减的方法——前期大步跑、后期小步跑、再过拟合前刹住、停止迭代。