Classifique um conjunto de dados de áudio usando aprendizagem de transferência
Às vezes, a quantidade de dados disponíveis para treinar uma rede é insuficiente para a tarefa em questão. Aprendizagem de transferência é uma solução possível para este problema. Em vez de treinar uma rede a partir do zero, é possível usar como ponto de partida uma rede que já foi treinada em uma tarefa diferente, mas relacionada.
Faça o download do conjunto de dados ESC-50.
Importe os metadados. O conjunto de dados é uma coleção legendada de 2.000 gravações de áudio ambiental. Os arquivos são gravações de cinco segundos de duração, organizadas em 50 classes semânticas.
Inspecione uma amostra dos metadados.
Divida o conjunto de dados em subconjuntos de treinamento e teste.
Observe as classes disponíveis.
Construa uma rede de extração de propriedades fragmentando as camadas de classificador na rede AudioIdentify.
Construa uma rede de classificador linear simples que será anexada ao extrator de propriedades.
Em vez de treinar novamente a rede completa e especificar uma opção LearningRateMultipliers no NetTrain para treinar apenas as camadas de classificação, você pode pré-calcular os resultados da rede do extrator de recursos e treinar o classificador. Isso evita o cálculo redundante da rede completa.
Treine a rede classificadora usando NetTrain.
Junte a rede de extrator de recursos e o classificador treinado usando NetJoin.
Usando ClassifierMeasurements, calcule a precisão nos dados de teste e visualize a matriz de confusão das piores quatro classes.