【问题标题】:Autoencoder of CNN - decrease or increase filters?CNN 的自动编码器 - 减少或增加过滤器?
【发布时间】:2021-12-31 18:11:54
【问题描述】:

在基于 CNN 的自动编码器中,您会增加还是减少层之间的过滤器数量?当我们压缩信息时,我正在考虑减少。

这里是编码器部分的示例,其中过滤器的数量在每个新层都减少了,从 16 到 8 到 4。

x = Conv2D(filters = 16, kernel_size = 3, activation='relu', padding='same', name='encoder_1a')(inputs)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_1b')(x)

x = Conv2D(filters = 8, kernel_size = 3, activation='relu', padding='same', name='encoder_2a')(x)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_2b')(x)

x = Conv2D(filters = 4, kernel_size = 3, activation='relu', padding='same', name='encoder_3a')(x)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_3b')(x)

【问题讨论】:

    标签: keras conv-neural-network autoencoder


    【解决方案1】:

    随着编码器中层数的增加,滤波器大小并不总是会减小或增加。在我见过的卷积自动编码器架构的大多数编码器示例中,高度和宽度通过跨步卷积或池化而减小,并且层的深度增加(过滤器大小增加),保持与上一个相似或随着编码器中的每个新层而变化.但也有一些例子,输出通道或过滤器大小随着层数的增加而减小。

    通常,自动编码器将输入编码为潜在表示/向量或嵌入,其维度低于输入,从而最大限度地减少重构误差。所以以上两种方法都可以通过改变内核大小、层数、在编码器末尾添加一个具有特定维度的额外层等来创建undercomplete autoencoder

    过滤器增加示例

    在下图中,随着在编码器中添加更多层,过滤器大小会增加。但是由于输入28*28*1 = 784 维度特征和扁平表示3*3*128 = 1152 更多,所以在最后一层之前添加了另一层,即嵌入层。它通过全连接网络中预定义的输出数量来减少特征维度。即使是最后一个密集/全连接层也可以通过改变层数或内核大小来替换,以获得输出(1, 1, NUM_FILTERS)

    过滤器减少示例

    可以在keras convolutional autoencoder 示例中找到随着层数增加而在编码器中减少过滤器的简单示例,就像您的代码一样。

    import keras
    from keras import layers
    
    input_img = keras.Input(shape=(28, 28, 1))
    
    x = layers.Conv2D(16, (3, 3), activation='relu', padding='same')(input_img)
    x = layers.MaxPooling2D((2, 2), padding='same')(x)
    x = layers.Conv2D(8, (3, 3), activation='relu', padding='same')(x)
    x = layers.MaxPooling2D((2, 2), padding='same')(x)
    x = layers.Conv2D(8, (3, 3), activation='relu', padding='same')(x)
    encoded = layers.MaxPooling2D((2, 2), padding='same')(x)
    

    参考文献

    【讨论】:

      猜你喜欢
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 2020-11-30
      • 2016-07-14
      • 2013-12-21
      • 1970-01-01
      相关资源
      最近更新 更多