Neural network tflearn(美国有线电视新闻网)的损失增加

Neural network tflearn(美国有线电视新闻网)的损失增加,neural-network,tensorflow,classification,deep-learning,tflearn,Neural Network,Tensorflow,Classification,Deep Learning,Tflearn,我试图训练一个分类器来区分歌曲类型和原始音频频谱。为此,我在tflearn中使用了一个深度卷积网络。然而,网络不会融合/学习/损失正在增加。如果有人知道为什么会这样,我将不胜感激 我使用的数据是128x128灰度图像的光谱图,分为古典音乐(500个例子)和硬摇滚(500个例子),1-hot编码 以下是样本的外观: 我可以分辨出这两个类之间的区别(由于stackoverflow的限制,我无法显示),我怀疑深层CNN根本无法对它们进行分类 我的损失是这样的: 我在tflearn中为模型使用的代码

我试图训练一个分类器来区分歌曲类型和原始音频频谱。为此,我在tflearn中使用了一个深度卷积网络。然而,网络不会融合/学习/损失正在增加。如果有人知道为什么会这样,我将不胜感激

我使用的数据是128x128灰度图像的光谱图,分为古典音乐(500个例子)和硬摇滚(500个例子),1-hot编码

以下是样本的外观:

我可以分辨出这两个类之间的区别(由于stackoverflow的限制,我无法显示),我怀疑深层CNN根本无法对它们进行分类

我的损失是这样的:

我在tflearn中为模型使用的代码如下:

convnet = input_data(shape=[None, 128, 128, 1], name='input')

convnet = conv_2d(convnet, 64, 2, activation='elu', weights_init="Xavier")
convnet = max_pool_2d(convnet, 2)

convnet = conv_2d(convnet, 32, 2, activation='elu', weights_init="Xavier")
convnet = max_pool_2d(convnet, 2)

convnet = conv_2d(convnet, 128, 2, activation='elu', weights_init="Xavier")
convnet = max_pool_2d(convnet, 2)

convnet = conv_2d(convnet, 64, 2, activation='elu', weights_init="Xavier")
convnet = max_pool_2d(convnet, 2)

convnet = fully_connected(convnet, 1024, activation='elu')
convnet = dropout(convnet, 0.5)

convnet = fully_connected(convnet, 2, activation='softmax')
convnet = regression(convnet, optimizer='rmsprop', learning_rate=0.01, loss='categorical_crossentropy', name='targets')

model = tflearn.DNN(convnet)

model.fit({'input': train_X}, {'targets': train_y}, n_epoch=100, batch_size=64, shuffle=True, validation_set=({'input': test_X}, {'targets': test_y}), 
    snapshot_step=100, show_metric=True)

非常感谢你的帮助

我通常会尝试的几件事是:

  • 低学习率

  • 尝试另一个激活

  • 暂时取消辍学


HTH

谢谢,我会试试这些!学习速度降低了十倍,现在正在收敛。。。我觉得自己像个白痴。我猜那句老话“保持冷静,降低你的学习率”是真的。非常感谢!没问题,很乐意帮忙!请将此答案或解决问题的其他答案标记为“已接受”。