我们如何过度安装CNN自动编码器以进行异常检测?

时间:2019-07-17 14:54:44

标签: tensorflow keras conv-neural-network autoencoder anomaly-detection

我一直在研究异常检测问题,在该问题中,我需要将“街道”的图像视为异常。 “冰川”的图像将被视为非异常。重建图像的自动编码器如下:

self.__model_layers = [
            keras.layers.Conv2D(16, kernel_size=(3, 3), strides=1, activation="relu", input_shape=input_shape),
            keras.layers.Conv2D(32, kernel_size=(3, 3), strides=1, activation="relu"),
            keras.layers.Conv2D(64, kernel_size=(3, 3), strides=1, activation="relu"),
            keras.layers.Conv2DTranspose(32, kernel_size=(3, 3), strides=1, activation="relu"),
            keras.layers.Conv2DTranspose(16, kernel_size=(3, 3), strides=1, activation="relu"),
            keras.layers.Conv2DTranspose(1, kernel_size=(3, 3), strides=1),
        ]
self.__model = keras.Sequential(self.__model_layers)
self.__model.compile(
            optimizer=keras.optimizers.Adam( lr=0.0001 ),
            loss=keras.losses.mean_squared_error,
        )

根据各种博客,当图像包含异常时,由于仅在非异常图像上进行训练,因此自动编码器必须提供较高的MSE值。但是事实并非如此。 模型在图像上的泛化效果更好,因此, MSE损失值相差不大

  

如何使上述模型过拟合数据,以使异常图像上的MSE损失值更高?我应该包含哪些更改?

0 个答案:

没有答案