畅游人工智能之海--Keras教程之噪声层
畅游人工智能之海--Keras教程之噪声层
各位读者大家好,今天我们要一起来学习Keras的噪声层。在神经网络的研究和应用中,经常会出现噪声层的身影,许多正则化的方法通过向训练数据添加噪声来防止过拟合,提高神经网络的鲁棒性。下面让我们来一起看看Keras噪声层的类型。
GaussianNoise层
1 | keras.layers.GaussianNoise(stddev #float,噪声分布的标准差 |
作用:
高斯分布即为正态分布,该网络层添加均值为0,标准差为stddev的高斯噪声。
这对缓解过拟合很有用 (你可以将其视为随机数据增强的一种形式)。 高斯噪声(GS)是对真实输入的腐蚀过程的自然选择。
由于它是一个正则化层,因此它只在训练时才被激活。
输入尺寸:
可以是任意的。 如果将该层作为模型的第一层,则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出尺寸:
与输入相同。
GaussianDropout层
1 | keras.layers.GaussianDropout(rate #float,丢弃概率(与 Dropout 相同)。 这个乘性噪声的标准差为 sqrt(rate/(1 - rate)) |
功能:
添加均值为1,标准差为sqrt{frac{rate}{1-rate} }的高斯噪声。
由于它是一个正则化层,因此它只在训练时才被激活。
输入尺寸:
可以是任意的。 如果将该层作为模型的第一层,则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出尺寸:
与输入相同。
AlphaDropout层
1 | keras.layers.AlphaDropout(rate, #float,丢弃概率(与 Dropout 相同)。 这个乘性噪声的标准差为 sqrt(rate/(1 - rate)) |
功能:
将 Alpha Dropout 应用到输入。
Alpha Dropout 是一种 Dropout
, 删除一定比例的输入,使得输出的均值和方差与输入的均值和方差很接近,保持数据的自规范性, 以确保即使在 dropout 后也能实现自我归一化。 通过随机将激活设置为负饱和值, Alpha Dropout 非常适合按比例缩放的指数线性单元(SELU)。噪声的标准差为sqrt{frac{rate}{1-rate} }。
输入大小:
可以是任意的。 如果将该层作为模型的第一层,则需要指定 input_shape
参数 (整数元组,不包含样本数量的维度)。
输出大小:
与输入相同。
相信大家经过今天的学习,能够对噪声层层的类型和功能有一个清晰的认知,融合层是比较重要的网络层,虽然简单但很重要,它在解决神经网络过拟合方面有较为重要的作用,所以希望各位能亲手实践以对它有更好地认识,大家一起加油!