Em 29 de maio, iniciaremos o curso
Python Neural Networks , que fala sobre aprendizado de máquina profundo e ensina como resolver as tarefas mais complexas gerenciadas por um engenheiro de aprendizado profundo. Para mostrar como o trabalho interessante e multifacetado no campo do aprendizado de máquina, sugerimos que você se familiarize com uma série de traduções de artigos sobre o tópico de redes neurais no Python.

O que é o MuseNet?
Criamos e apresentamos a você o MuseNet - uma rede neural profunda que pode criar composições musicais de quatro minutos usando dez instrumentos diferentes. O MuseNet experimenta combinando diferentes estilos musicais: do país às obras-primas de Mozart e os hits imortais dos Beatles.
A base da rede não é facilmente nossa percepção e entendimento da música, mas a capacidade de encontrar amostras de harmonia, ritmo e estilo em centenas de milhares de arquivos MIDI e criar seus próprios trabalhos. A Rede Neural MuseNet usa a mesma tecnologia do GPT-2 - um modelo em larga escala treinado para prever as melhores sequências em texto e áudio. O conhecimento de muitos estilos permite que a rede crie combinações completamente únicas de músicas de diferentes gerações.
Compositores e toques instrumentais
Criamos tokens para compositores e vários instrumentos musicais para dar ao MuseNet o controle máximo sobre as amostras que a rede cria. Durante o treinamento, tokens de compositores e instrumentos são adicionados a cada amostra, o que ajuda a rede a aprender a usar essas informações na previsão.
Estrutura de longo prazo
O MuseNet usa
os núcleos recalculados e otimizados do
Sparse Transformer para treinar a rede de 72 níveis. Em nossa opinião, a geração musical é um nicho de muito sucesso para testar e desenvolver os recursos do Sparse Transformer.
Coleta e processamento de dados
Coletamos dados para o treinamento do MuseNet em uma ampla variedade de fontes.
Os projetos
ClassicalArchives e
BitMidi nos ajudaram bastante e
colocaram suas colossais coleções à nossa disposição. Também usamos coleções de várias músicas encontradas na Internet: jazz, pop, africana, indiana e árabe. Além disso, usamos a coleção
MAESTRO .
O treinamento ocorre em dados seriais, levando em consideração o conjunto de tokens, solicitamos à rede que preveja o próximo token. Tentamos usar vários métodos diferentes para codificar arquivos MIDI. Inicialmente, pensamos em uma abordagem de acordes, que considerava cada combinação de notas que soa simultaneamente como um acorde separado e atribuía o token correspondente. Também tentamos condensar padrões musicais, concentrando-nos no início de cada nota.
bach piano_strings start tempo90 piano:v72:G1 piano:v72:G2 piano:v72:B4 piano:v72:D4 violin:v80:G4 piano:v72:G4 piano:v72:B5 piano:v72:D5 wait:12 piano:v0:B5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:4 piano:v0:G1 piano:v0:G2 piano:v0:B4 piano:v0:D4 violin:v0:G4 piano:v0:G4 wait:1 piano:v72:G5 wait:12 piano:v0:G5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:5 piano:v72:B5 wait:12
Durante o treinamento, nós:
- Movemos as notas em uma escala de afinação (durante o treinamento, o número de transposições diminui);
- Adicionamos e reduzimos o som geral e o som de amostras individuais;
- Trabalhamos com o tempo: agilizamos e desaceleramos fragmentos individuais da composição;
- Usamos para trabalhar com tokens de mixagem .
Além disso, usamos algo como um crítico musical embutido: pedimos que ele avalie a composição e decida se essa amostra é criada a partir dos dados apresentados ou é antiga. Essa estimativa permite selecionar amostras no decorrer da geração.
Integração
Para fazer com que o modelo tenha um contexto mais estrutural, adicionamos integrações. Além das integrações posicionais padrão, adicionamos integrações que rastreiam o fluxo de tempo nas amostras. Isso permite que você incorpore correta e simultaneamente notas sonoras simultâneas. Também adicionamos duas integrações estruturais que permitem ao MuseNet entender em qual seção da composição geral uma amostra específica deve ser localizada.
MuseNet já dá shows
Os interessados podem se familiarizar com o trabalho do MuseNet, a rede neural até
faz seus próprios shows on-line no Twitch . Para aqueles que estão interessados em criar redes neurais em Python e em profundo aprendizado de máquina, realizamos
um webinar aberto, onde falaremos sobre o programa do curso e as habilidades que os alunos receberão.