Wolfram Language

Classez un jeu de données audio à l'aide de l'apprentissage par transfert

Parfois, la quantité de données disponibles pour entraîner un réseau est insuffisante pour la tâche à accomplir. Une solution possible à ce problème est l'apprentissage par transfert. Au lieu d'entraîner un réseau depuis le début, il est possible de se fonder sur un réseau qui a déjà été entraîné à une tâche différente mais connexe.

Téléchargez le jeu de données ESC-50.

Montrer l'entrée complète de Wolfram Language

Importez les métadonnées. Le jeu de données est une collection étiquetée de 2000 enregistrements de sons ambiants. Les fichiers des enregistrements durent cinq secondes et sont organisés en 50 classes sémantiques.

Montrer l'entrée complète de Wolfram Language

Inspectez un échantillon des métadonnées.

Divisez le jeu de données en sous-ensembles d'entraînement et de test.

Parcourez les classes disponibles.

Créez un réseau d'extracteurs d'éléments en découpant les couches du classifieur dans le réseau AudioIdentify.

Créez un réseau de classifieurs linéaires simples qui seront attachés à l'extracteur de caractéristiques.

Au lieu de recalculer le réseau complet et de spécifier une option LearningRateMultipliers dans NetTrain pour entraîner uniquement les couches de classification, vous pouvez pré-calculer les résultats du réseau extracteur et entraînez le classifieur. Cela permet d'éviter une évaluation redondante de l'ensemble du réseau.

Entraînez le réseau de classifieurs à l'aide de NetTrain.

Joignez le réseau d'extracteurs de caractéristiques et le classifieur entraîné à l'aide de NetJoin.

À l'aide de ClassifierMeasurements, calculez l'exactitude des données de test et représentez graphiquement la matrice de confusion des quatre classes les plus mauvaises.

Exemples connexes

de en es ja ko pt-br zh