首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CNN的验证准确率没有提高

CNN的验证准确率没有提高
EN

Stack Overflow用户
提问于 2019-09-26 22:59:59
回答 1查看 119关注 0票数 0

我有大约8200张图像用于人脸检测任务。其中4800个包含人脸。其他3400张图像包含3D人脸面具(由橡胶/乳胶制成)、人类卡通脸和猴子的脸。我想检测给定的图像是否包含真实的人脸。

我已经训练了许多网络,改变了超参数,但每次我的训练准确率都高达98%以上,验证准确率保持在60-70%左右。我已经尝试过包含3-5个Conv层和一个FC层的网络。我使用了L2正则化,批量范数,数据增强和丢弃来消除过拟合。然后,随着训练的进行,我尝试降低Adam优化器的学习率。我对网络进行了超过100个时期的训练,有时高达200个时期。然而,我能达到的最好的验证准确率(数据集的20%)是71%。有没有办法将验证准确率提高到85%以上?我使用以下架构,输入图像大小为256*256*3,并使用16批大小对它们进行训练。

代码语言:javascript
复制
regularizer = tf.keras.regularizers.l2(l=0.005)
model = tf.keras.models.Sequential([

    tf.keras.layers.Conv2D(64, (5, 5),strides=(2, 2), activation='relu', input_shape=(256, 256, 3), kernel_regularizer=regularizer),
    tf.keras.layers.MaxPooling2D(2, 2),

    tf.keras.layers.Conv2D(96, (5, 5), padding='same', activation='relu', kernel_regularizer=None),
    tf.keras.layers.MaxPooling2D(2, 2),

    tf.keras.layers.Conv2D(128, (3, 3), padding='same', activation='relu', kernel_regularizer=None),
    tf.keras.layers.MaxPooling2D(2, 2),

    tf.keras.layers.Conv2D(256, (3, 3), padding='same', activation='relu', kernel_regularizer=None),
    tf.keras.layers.MaxPooling2D(2, 2),

    tf.keras.layers.Flatten(),

    #tf.keras.layers.Dense(2048, activation='relu', kernel_regularizer=regularizer),
    tf.keras.layers.Dense(4096, activation='relu', kernel_regularizer=None),
    tf.keras.layers.Dropout(0.4),
    tf.keras.layers.Dense(1, activation='sigmoid', kernel_regularizer=regularizer)
])
EN

回答 1

Stack Overflow用户

发布于 2019-09-26 23:24:49

  • 确保您正在使用所有可用的数据增强形式(缩放、旋转、平移、翻转等)。
  • 在所有层上使用内核正则化。
  • 在所有卷积层之后添加SpatialDropout2D
  • 在所有卷积层和密集层之后添加BatchNormalization (除了最后一个密集/sigmoid层,减少网络的大小(较少的层和/或每层较少的过滤器/单元);您希望尽可能小的网络仍然可以学习训练数据。

如果所有这些组合在一起还不足以获得良好的验证准确性,那么您可能就是没有足够的数据。

以下几个技巧可能不会减少过度拟合,但通常会有所帮助:

  • 更喜欢3x3内核卷积层的序列,而不是具有5x5或更大的单个卷积层的序列kernels.
  • Replace扁平层和GlobalAveragePooling层,并且可能删除除最后一个之外的所有致密层。
  • 使用stride=2或MaxPooling,而不是两者都使用。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58119629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档