艾巴生活网

您现在的位置是:主页>科技 >内容

科技

深度学习的概念(Batch是深度学习中的一个重要概念)

2024-08-07 10:49:54科技帅气的蚂蚁
批处理是深度学习中的一个重要概念。批处理通常指两个不同的概念。——如果对应的是模型训练方法,批量是指在所有数据处理完毕后,一次性更

深度学习的概念(Batch是深度学习中的一个重要概念)

批处理是深度学习中的一个重要概念。批处理通常指两个不同的概念。——如果对应的是模型训练方法,批量是指在所有数据处理完毕后,一次性更新权重或参数估计。如果对应的是模型训练中的数据,那么batch通常指的是一次输入模型计算的数据量。

基于批量概念的模型训练通常按以下步骤进行:

初始化参数

重复以下步骤

处理所有数据更新参数。

与批处理算法相对应的是增量算法,其步骤如下:

初始化参数

重复以下步骤

A .处理一个或一组数据点 B .更新参数。

这里的主要区别是批处理算法一次处理所有数据;在增量算法中,每次处理一个或几个观测值时,参数都会更新。在反向传播算法中,对应“处理”的具体操作是计算损失函数的梯度曲线。如果是批处理算法,计算平均或总损失函数的梯度曲线;如果是增量算法,损失函数的梯度曲线只有在对应一个观测值或几个观测值时才计算。“更新”是从已有的参数值中减去梯度变化率和学习率的乘积。

在线学习和离线学习

在深度学习中,另外两个常见的概念是在线学习和离线学习。在离线学习中,所有的数据都是可以重复获取的。比如上面的批量学习就是离线学习的一种。在线学习中,每个观察值在处理后都会被丢弃,同时更新。在线学习永远是一种增量算法,但增量算法既可以用于离线学习,也可以用于在线学习。

离线学习有以下优势:

对于任意固定数目的参数,可以直接计算出目标函数,因此很容易验证模型训练是否在向所要求的方向发展。

计算精度可以达到任何合理的程度。

可以使用各种算法来避免局部最优。

模型的通用性可以通过训练、验证和测试来验证。

可以计算预测值及其置信区间。

在线学习无法实现上述功能,因为数据没有存储,无法重复获取。因此,对于任何固定的参数集,都无法计算训练集上的损失函数和验证集上的误差。这使得在线算法通常比离线算法更复杂和不稳定。而离线增量算法不存在在线算法的问题,所以需要了解在线学习和增量算法的区别。

偏移/阈值

在深度学习中,使用sigmoid激活函数的隐层或输出层中的神经元在计算网络输入时,通常会添加一个称为Bias的偏移值。对于线性输出神经元,偏移项是回归中的截距项。与截距项类似,偏置项可以看作是一个特殊神经元引起的连接权,因为偏置项通常与一个单位值固定的偏置神经元相联系。比如在一个多层感知器神经网络中,一个神经元的输入变量是n维的,那么这个神经元根据参数在这个高维空间中画一个超平面,一边是正的,一边是负的。所使用的参数决定了这个超平面在输入空间中的相对位置。如果没有偏置项,这个超平面的位置是有限的,必须经过原点;如果多个神经元需要各自的超平面,模型的灵活性就严重受限。这就好比一个没有截距项的回归模型,其斜率的估计值在大多数情况下会大大偏离最优估计值,因为生成的拟合曲线必须经过原点。因此,如果没有偏移项,多层感知器的普适拟合能力就不存在。一般来说,每个隐层和输出层的神经元都有自己的偏移项。但是,如果输入神经已经等比例地转换成有限值范围,比如[0,1]区间,那么在第一个隐层的神经元设置了偏移项之后,任何后续层中与这些神经元链接的其他神经元都不需要设置偏移项。

标准化数据在机器学习和深度学习中,经常会出现标准化数据的动作。那么什么是标准化数据呢?其实这里用的是“标准化”这个词,而不是几个相似但不同的动作。

下面详细解释三种常见的“标准化”数据处理动作。

(1)重标度:通常是指在一个矢量上加上或减去一个矢量,然后乘以或除以一个常数光。例如,将华氏温度转换为摄氏温度是一个重新调整的过程。

(2)归一化:通常是指将向量除以其范数,如采用欧氏空间距离,即以向量的方差为范数对向量进行归一化。在深度学习中,归一化通常采用值域作为范数,即向量减去最小值,除以其值域,使数值范围在0到1之间。

(3)标准化:通常指将一个矢量从其位置和尺度的度量中去除。例如,如果一个向量服从正态分布,可以减去它的平均值,再除以它的方差来标准化数据,从而得到一个服从标准正态分布的向量。