-1

J'essaie de former un classificateur pour distinguer les genres de chansons du spectre audio brut. Pour cela j'utilise un réseau convolutionnel profond dans tflearn. Cependant, le réseau ne va pas converger/apprendre/la perte augmente. Je serais reconnaissant si quelqu'un avait une idée de pourquoi cela pourrait être. Les données que j'utilise sont 128x128 images en niveaux de gris du spectrogramme, classées entre la musique classique (500 exemples) et Hard Rock (500 exemples), codée à chaud 1.Perte croissante dans tflearn (CNN)

Voici ce que les échantillons ressemblent:

Classical extract

Je peux dire la différence entre les deux classes (je ne peux pas le montrer à cause de la limite de stackoverflow), et je doute qu'une CNN profonde est tout simplement pas capable de les classer.

Voici ce que ma perte ressemble:

Loss plot in tflearn

Le code I utilisé dans tflearn pour le modèle est le suivant:

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) 

Merci pour vous aider!

Répondre

0

Les quelques choses que je voudrais habituellement essayer sont:

  • taux d'apprentissage inférieur

  • essayer une autre activation

  • supprimer l'abandon temporaire

HTH

+0

Merci, je vais essayer ceux-ci! –

+0

Abaissé le taux d'apprentissage de dix fois, il converge maintenant ... Je me sens comme un crétin. Devinez le vieux dicton "Gardez votre calme et abaissez votre taux d'apprentissage" était vrai. Merci beaucoup ! –

+0

Pas de problème, heureux de vous aider! Veuillez marquer cette réponse ou d'autres réponses qui ont résolu vos questions comme «acceptées». –