ConvNet没有改进(Tensorflow)

时间:2016-10-03 09:51:42

标签: tensorflow deep-learning conv-neural-network

首先,我想道歉,因为我不允许发布大量代码,因为它适用于大学项目,但我严重陷入困境。

我正在尝试使用TensorFlow使用CIFAR-10数据集训练ConvNet,使用以下模型:

  1. 图片:[32,32,3]
  2. conv1:5,5,3,64 +偏见[64](初始化为0.0' s)
  3. norm1:depth_radis = 4,bias = 1.0,alpha = 0.001 / 9.0,beta = 0.75
  4. pool1:ksize = [1,3,3,1],strides = [1,2,2,1],padding = SAME
  5. conv2:5,5,64,64 +偏见[64](初始化为0.1' s)
  6. pool2:ksize = [1,3,3,1],strides = [1,2,2,1],padding = SAME
  7. norm2:depth_radis = 4,bias = 1.0,alpha = 0.001 / 9.0,beta = 0.75
  8. local1:8 * 8 * 64,384 +偏见[384](初始化为0.1' s)
  9. local2:384,192 +偏见[192](初始化为0.1' s)
  10. dropout:keep_prob = 0.5
  11. softmax:[192,10] +偏见[10](初始化为0.0' s)
  12. 然而,我得到的结果是(批量为1000):

    1. 步骤0,训练精度0.09
    2. 步骤1,训练准确度0.096
    3. 步骤2,训练准确度0.1
    4. 步骤3,训练准确度0.108
    5. 步骤4,训练精度0.122
    6. 步骤5,训练准确度0.094
    7. 步骤6,训练精度0.086
    8. 步骤7,训练准确度0.082
    9. 步骤8,训练准确度0.104
    10. 步骤9,训练精度0.09
    11. 我使用以下内容更新权重:

      cross_entropy = tf.reduce_mean(
             tf.nn.softmax_cross_entropy_with_logits(y_conv + 1e-10, y_))
      train_step = tf.train.AdamOptimizer(0.0001).minimize(cross_entropy)
      

      这是我一直在阅读的指南:https://www.tensorflow.org/versions/r0.11/tutorials/deep_cnn/index.html#convolutional-neural-networks

      我尝试将学习率从1e-1改为1e-8,但没有运气。 任何帮助是极大的赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以尝试在数据集上执行更多操作:

  • 规范化您的形象
  • 随机播放训练数据集以减少数据的iid(独立且相同分布)
  • 尝试使用灰度图像查看模型的某些基线