我需要在输入数据中添加量化噪声。我经常读到这些噪音被建模为均匀分布的噪音。
我有一个用 Keras 实现的编码/解码网络(输入数据是时间序列原始数据),在 Keras 中实现了一个层,您可以使用它添加高斯噪声(GaussianNoise 层),我可以使用该层来创建均匀噪声吗?
如果没有,我可以使用其他已实现的层吗?
我需要在输入数据中添加量化噪声。我经常读到这些噪音被建模为均匀分布的噪音。
我有一个用 Keras 实现的编码/解码网络(输入数据是时间序列原始数据),在 Keras 中实现了一个层,您可以使用它添加高斯噪声(GaussianNoise 层),我可以使用该层来创建均匀噪声吗?
如果没有,我可以使用其他已实现的层吗?
您可以这样创建自己的图层,
import tensorflow as tf
class noiseLayer(tf.keras.layers.Layer):
def __init__(self,mean,std):
super(noiseLayer, self).__init__()
self.mean = mean
self.std = std
def call(self, input):
mean = self.mean
std = self.std
return input + tf.random.normal(tf.shape(input).numpy(),
mean = mean,
stddev = std)
X = tf.ones([10,10,10]) * 100
Y = noiseLayer(mean = 0, std = 0.1)(X)
此代码适用于最新的 Tensorflow 2.0。