Rede neural com número flexível de entradas?


7

É possível criar uma rede neural que forneça uma saída consistente, uma vez que a entrada pode estar em diferentes vetores de comprimento?

Atualmente, estou em uma situação em que coletei muitos arquivos de áudio, de diferentes comprimentos, e tenho que treinar uma rede neural que me fornece a saída desejada, dada uma determinada entrada. Estou tentando criar uma rede de regressão que possa gerar o recurso MFCC, dadas amostras de um arquivo de áudio, que são de comprimento diferente, o que gera entradas numeradas diferentes.

Respostas:


9

Sim, isso é possível tratando o áudio como uma sequência em uma Rede Neural Recorrente (RNN) . Você pode treinar um RNN contra um alvo que esteja correto no final de uma sequência ou até prever outro deslocamento de sequência da entrada.

Observe, no entanto, que há um pouco para aprender sobre as opções que vão para a construção e o treinamento de uma RNN , que você ainda não estudou enquanto olha para redes de feed-forward em camadas mais simples. As RNNs modernas fazem uso de projetos de camadas que incluem portas de memória - as duas arquiteturas mais populares são LSTM e GRU, e adicionam parâmetros mais treináveis ​​em cada camada, pois as portas de memória precisam aprender pesos além dos pesos entre e dentro da camada.

Os RNNs são usados ​​extensivamente para prever sequências de áudio que já foram processadas no MFCC ou em conjuntos de recursos semelhantes, porque eles podem manipular dados sequenciados como entrada e / ou saída, e esse é um recurso desejável ao lidar com dados de comprimento variável, como palavras faladas música etc.

Algumas outras coisas dignas de nota:

  • As RNNs podem funcionar bem para sequências de dados de tamanho variável e onde existe uma dimensão bem definida sobre a qual as sequências evoluem. Mas eles são menos bem adaptados para conjuntos de recursos de tamanho variável, onde não há ordem ou sequência clara.

  • As RNNs podem obter resultados de ponta para processamento de sinal, PNL e tarefas relacionadas, mas somente quando há uma quantidade muito grande de dados de treinamento. Outros modelos mais simples podem funcionar tão bem ou melhor se houver menos dados.

  • Para o problema específico de gerar MFCCs a partir de amostras de áudio não processadas: Embora seja possível criar um RNN que preveja os recursos da MFCC a partir do áudio não processado, isso pode exigir algum esforço e experimentação para se adequar, além de exigir muito poder de processamento. um RNN poderoso o suficiente para lidar com seqüências muito longas com taxas normais de amostra de áudio. Embora a criação de MFCC a partir de áudio bruto usando a abordagem padrão iniciada pela FFT seja muito mais simples, é garantido que seja preciso.


Ah .. acho que esqueci de mencionar que a saída é um valor e não classe => Acho que a RNN classificaria isso como uma classe e não como valor?
Carlton Banks

11
@CarltonBanks: as saídas RNN podem ser treinadas com os mesmos tipos de destinos (usando as mesmas funções de perda) que outros NNs. Então você pode fazer classificação ou regressão.
Neil Slater

Para o áudio esta é uma grande solução, para outras pessoas que você precisa ter cuidado para que RNNs assumir uma forma de ordem na sequência que o torna menos útil para alguns casos de uso
Jan van der Vegt

@JanvanderVegt: Sim, se você tiver uma "bolsa" de tamanho variável de vetores de recursos, a RNN talvez seja menos útil. Vou tentar fazer isso mais claro
Neil Slater

11
@ echan00: Não, a entrada não pode ter tamanho variável com uma CNN direta. Você deve preencher ou cortar para um tamanho fixo. É provável que o papel que você vinculou funcione em períodos de janela com tamanho definido, e isso também pode ser uma opção para o seu projeto - por exemplo, divida seu sinal em segmentos (talvez sobrepostos) e processe-os separadamente - isso pode funcionar perfeitamente para a sequência classificação ou regressão à sequência, mas menos bem para o valor da sequência para o único. Você também pode obter vários híbridos CNN / RNN.
Neil Slater
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.