添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在深度学习中,一般我们会把喂给网络模型的训练图片进行预处理,使用最多的方法就是零均值化(zero-mean) / 中心化,即让所有训练图片中每个位置的像素均值为0,使得像素值范围变为[-128,127],以0为中心。

举个例子,假设训练图片有5000张,图片大小为32*32,通道数为3,则用python表示如下:

x_train = load_data(img_dir)  # 读取图片数据 x_train的shape为(5000,32,32,3)
x_train = np.reshape(x_train, (x_train.shape[0], -1))  # 将图片从二维展开为一维,x_train 变为(5000,3072)
mean_image = np.mean(x_train, axis=0)  # 求出所有图片每个像素位置上的平均值 mean_image为(1, 3072)
x_train -= mean_image  # 减去均值图像,实现零均值化

这样做的优点是为了在反向传播中加快网络中每一层权重参数的收敛。为什么能加快呢?李飞飞的cs231n课程中给出了很好的解释。
这里写图片描述
我们来看一下神经网络中的计算过程,如上图所示通常每一层的计算公式都可以表示成上面这个式子。假设上游返回的梯度为L,运用链式法则,反向传播时权重的梯度可以表示如下:

wiLi=fLiwif=fLixi
这里写图片描述

假设图中蓝色箭头方向理想最优w向量,根据上述公式,我们可以想一想:

当x全为正或者全为负时,每次返回的梯度都只会沿着一个方向发生变化,即梯度变化的方向就会向图中红色箭头所示,一会向上太多,一会向下太多。这样就会使得权重收敛效率很低。

但当x正负数量“差不多”时,就能对梯度变化方向进行“修正”,使其接近上图中蓝色箭头的方向,加速了权重的收敛。

参考自:李飞飞深度学习课程cs231n

解释得可能没有老师清楚 w(゚Д゚)w,跑-_-||

在深度学习中,一般我们会把喂给网络模型的训练图片进行预处理,使用最多的方法就是零均值化(zero-mean) / 中心化,即让所有训练图片中每个位置的像素均值为0,使得像素值范围变为[-128,127],以0为中心。举个例子,假设训练图片有5000张,图片大小为32*32,通道数为3,则用python表示如下:x_train = load_data(img_dir) # 读取图片数据 x...
深度学习为什么要使用均值zero-mean处理原因参考链接     在深度学习,一般我们会把喂给网络模型的训练图片进行预处理使用最多的方法就是均值(zero-mean) / ,即让所有训练图片每个位置的像素均值为0,使得像素值范围变为[-128,127],以0为心。 这样做的优点是为了在反向传播加快网络每一层权重参数的收敛。     常用的激活函数(例如ReLu或者Sigmoid)输出和导数都是大于等于0的。如果神经网络输入样本被预处理在0-1之间,如果没有batchn
神经网络图像输入均值作用 最近有和同学探讨到为什么CNN在做图像识别相关任务时,对图像需要进行均值,CS231N里面有进行讲述,但讲得其实不是很清楚,比较难理解,所以在这里做一下较为详细的说明。 1 归一、标准均值基本概念 首先介绍一下归一(Normalization)、标准(Standardization)以及均值(zero-mean)分别的公式和概念。归一的公式为...
在机器学习回归问题,以及训练神经网络过程,通常需要对原始数据进行均值)与标准(归一)预处理。 目的:通过和标准处理,最终得到均值为0,标准差为1的服从标准正态分布的数据。 (又叫均值):是指变量减去它的均值。其实就是一个平移的过程,平移后所有数据的心是(0,0)。 标准(又叫归一):是指数值减去均值,再除以标准差。...
什么是均值? 在深度学习,一般我们会把喂给网络模型的训练图片进行预处理使用最多的方法就是均值(zero-mean) ,即使像素值范围变为[-128,127],以0为心。 这样做的优点是为了 在反向传播加快网络每一层权重参数的收敛。 可以避免Z型更新的情况,这样可以加快神经网络的收敛速度。下面将分别以Sigmoid这个最经典的激活函数来说明: Sigmoid [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EC5NKDdb-1627351552
(又叫均值):是指变量减去它的均值。其实就是一个平移的过程,平移后所有数据的心是(0,0)。 标准(又叫归一): 是指数值减去均值,再除以标准差。  下图以二维数据为...
sklearn.preprocessing数据预处理 归一/标准/正则一、标准(Z-Score),或者去除均值和方差缩放二、将属性缩放到一个指定范围三、正则(Normalization) 一、标准(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std 计算时对每个属性/每列分别进行。 将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。 实现时,有两种不同的方式: 使用sklearn.preproce
一.去均值 1.各维度都减对应维度的均值,使得输入数据各个维度都为0,进行去均值的原因是因为如果不去均值的话会容易拟合。 这是因为如果在神经网络,特征值x比较大的时候,会导致W*x+b的结果也会很大,这样进行激活函数(如relu)输出时,会导致对应位置数值变量太小,进行反向传播时因为要使用这里的梯度进行计算,所以会导致梯度消散问题,导致参数改变量很小,也就会易于拟合,效果不好。
深度学习需要图像预处理的原因如下: 1. 数据清洗和标准:在深度学习,数据的质量非常重要。预处理可以帮助清洗数据并将其标准,以确保机器学习算法能够正确地理解和处理数据。 2. 图像增强:预处理可以对图像进行增强,例如增强对比度、降噪或者裁剪,以提高模型的鲁棒性和准确性。 3. 数据增强:数据增强是指在训练集通过随机变换来增加数据的数量和多样性,以提高模型的泛能力。例如旋转、平移、缩放、翻转等变换操作。 4. 特征提取:深度学习模型需要从原始图像提取有用的特征。预处理可以帮助提取出图像的关键特征,以提高模型的性能。 5. 数据降维:对于高维图像数据,预处理可以通过降维技术(如PCA)来减少特征维度和计算复杂度,以提高模型训练的效率。