Am 29. Mai starten wir den
Python Neural Networks- Kurs, der sich mit tiefem maschinellem Lernen befasst und Ihnen zeigt, wie Sie die komplexesten Aufgaben lösen, die von einem Deep Learning-Ingenieur verwaltet werden. Um zu zeigen, wie interessant und vielseitig die Arbeit im Bereich des maschinellen Lernens ist, empfehlen wir Ihnen, sich mit einer Reihe von Übersetzungen von Artikeln zum Thema neuronale Netze in Python vertraut zu machen.

Was ist MuseNet?
Wir haben MuseNet erstellt und präsentieren es Ihnen - ein tiefes neuronales Netzwerk, das mit zehn verschiedenen Instrumenten vierminütige Musikkompositionen erstellen kann. MuseNet experimentiert, indem es verschiedene Musikstile kombiniert: vom Country bis zu Mozarts Meisterwerken und den unsterblichen Hits der Beatles.
Die Basis des Netzwerks ist nicht einfach unsere Wahrnehmung und unser Verständnis von Musik, sondern die Fähigkeit, Beispiele für Harmonie, Rhythmus und Stil in Hunderttausenden von MIDI-Dateien zu finden und dann Ihre eigenen Werke zu erstellen. MuseNet Neural Network verwendet dieselbe Technologie wie das GPT-2 - ein umfangreiches Modell, das darauf trainiert ist, die besten Sequenzen in Text und Audio vorherzusagen. Wenn das Netzwerk viele Stile kennt, kann es völlig einzigartige Kombinationen von Musik aus verschiedenen Generationen erstellen.
Komponisten- und Instrumental-Token
Wir haben Token für Komponisten und verschiedene Musikinstrumente erstellt, um MuseNet maximale Kontrolle über die vom Netzwerk erstellten Samples zu geben. Während des Trainings werden jeder Stichprobe Token von Komponisten und Instrumenten hinzugefügt, wodurch das Netzwerk lernen kann, diese Informationen für Prognosen zu verwenden.
Langfristige Struktur
MuseNet verwendet
die neu berechneten und optimierten Kerne von
Sparse Transformer , um das 72-Ebenen-Netzwerk zu trainieren. Unserer Meinung nach ist die Musikgenerierung eine sehr erfolgreiche Nische zum Testen und Entwickeln von Sparse Transformer-Funktionen.
Datenerfassung und -verarbeitung
Wir haben Daten für das Training von MuseNet in einer Vielzahl von Quellen gesammelt.
ClassicalArchives- und
BitMidi- Projekte haben uns sehr geholfen und uns ihre kolossalen Sammlungen zur Verfügung gestellt. Wir haben auch Sammlungen verschiedener Musik aus dem Internet verwendet: Jazz, Popmusik, afrikanische, indische und arabische Musik. Zusätzlich haben wir die
MAESTRO- Kollektion verwendet.
Das Training findet mit seriellen Daten statt. Unter Berücksichtigung des Token-Satzes bitten wir das Netzwerk, das nächste Token vorherzusagen. Wir haben versucht, verschiedene Methoden zum Codieren von MIDI-Dateien zu verwenden. Zuerst haben wir über einen Akkordansatz nachgedacht, bei dem jede Kombination von Noten, die gleichzeitig klingen, als separater Akkord betrachtet und der entsprechende Token zugewiesen wurde. Wir haben auch versucht, musikalische Muster zu verdichten, wobei wir uns auf den Anfang jeder Note konzentrierten.
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
Während des Trainings haben wir:
- Wir bewegen die Noten auf einer Tonhöhenskala (während des Trainings nimmt die Anzahl der Transpositionen ab);
- Wir addieren und reduzieren sowohl den Gesamtklang als auch den Klang einzelner Samples.
- Wir arbeiten mit dem Timing: Wir beschleunigen und verlangsamen einzelne Fragmente der Komposition;
- Wir arbeiten mit Mixup- Token.
Außerdem verwenden wir so etwas wie einen eingebauten Musikkritiker: Wir bitten ihn, die Komposition zu bewerten und zu entscheiden, ob dieses Beispiel aus den präsentierten Daten erstellt wird oder alt ist. Eine solche Schätzung ermöglicht die Auswahl von Stichproben im Verlauf der Erzeugung.
Integration
Um das Modell struktureller zu gestalten, haben wir Integrationen hinzugefügt. Zusätzlich zu Standard-Positionsintegrationen haben wir Integrationen hinzugefügt, die den Zeitfluss in Proben verfolgen. Auf diese Weise können Sie gleichzeitig klingende Noten korrekt und gleichzeitig einbetten. Wir haben außerdem zwei strukturelle Integrationen hinzugefügt, mit denen MuseNet verstehen kann, in welchem Abschnitt der Gesamtzusammensetzung sich eine bestimmte Probe befinden sollte.
MuseNet gibt bereits Konzerte
Interessenten können sich mit der Arbeit von MuseNet vertraut machen, das neuronale Netz
gibt bereits
eigene Online-Konzerte auf Twitch . Für diejenigen, die daran interessiert sind, neuronale Netze in Python und tiefes maschinelles Lernen zu erstellen, führen wir
ein offenes Webinar durch, in dem wir über das Kursprogramm und die Fähigkeiten sprechen, die die Schüler erhalten.