强化学习输入数据归一化(标准化)

对于强化学习,其输入数据一般是指状态以及动作。关于它们的归一化(标准化)操作,可以总结如下:

1.若输入状态是图像或者包含图像,那么针对图像信息,常见的归一化方式是除以255,效果与减去均值,除以方差的效果接近

2.若输入是普通的数值(非图像),归一化的方式为:每一次训练前对经验池所有的数据算固定的均值和方差来做为本次训练的唯一归一化参数。相关链接:强化学习需要批归一化(Batch Norm) 或归一化吗? - 知乎

除此之外,还看到另一种方式:在训练开始前,用随机动作与环境交互数个回合,然后用这个过程中获得的状态信息去计算均值和方差来做为本次训练的唯一归一化参数。

3.对于动作来说:在动作空间是连续的情况下,一个设计得好的环境,其 action 的均值方差最好接近0和1。要做到这点非常容易,例如我将动作空间定为 -1到 1。  相关链接:强化学习需要批归一化(Batch Norm) 或归一化吗? - 知乎

### CNN中的标准化归一化 #### 定义区分 在卷积神经网络(CNN)中,标准化归一化都是预处理步骤的重要组成部分,旨在改善模型训练效率并提高最终预测准确性。然而二者有着本质的区别。 - **归一化**通常指的是将输入数据缩放到特定范围内的过程,最常见的是[0,1]区间。这可以通过简单的线性变换实现,即\(X_{norm}=\frac{X-X_{min}}{X_{max}-X_{min}}\)。这种做法有助于加速收敛速度,并使得不同特征具有相似尺度从而避免某些维度主导损失函数计算[^1]。 - **标准化**(Standardization),也称为Z-score normalization,则是指调整数值分布使其均值接近零而标准差等于单位长度的过程;具体公式为\(X_{std}=\frac{X-\mu}{\sigma}\),其中μ表示样本集合的平均数σ代表其标准偏差。此方法特别适用于那些假设输入服从正态分布的学习算法,在图像识别领域内可以增强对比度帮助提取更有效的视觉模式[^2]。 #### 应用场景分析 对于CNN而言: - 当面对色彩空间转换、光照变化等问题时,采用归一化技术能够有效减少这些因素带来的负面影响,使每张图片都处于相同的亮度水平下进行比较; - 如果目标是去除噪声干扰或是希望突出显示物体边缘轮廓等细节信息,则应该优先考虑实施标准化操作来强化信号强度差异[^3]。 此外值得注意的是,在实际应用过程中往往不是单独使用某一种方式而是结合两者优势共同作用于同一套数据集之上以达到最佳效果。例如先做全局直方图均衡再接续局部响应规范化层(LRN)[^4]。 ```python import numpy as np def normalize(data): """Min-Max scaling""" data_normalized = (data - np.min(data)) / (np.max(data) - np.min(data)) return data_normalized def standardize(data): """Z-Score Standardization""" mean = np.mean(data) std_deviation = np.std(data) standardized_data = (data - mean) / std_deviation return standardized_data ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值