2016-07-01 4 views
2

Okay so - ich habe mit neuronalen Netzwerken in Python rumgespielt und ich habe ein paar Feed Forwards und ein paar wiederkehrende gemacht. Ich weiß, wie sie auf einem ziemlich grundlegenden Niveau arbeiten.Neuronale Netze zur Erzeugung?

Manchmal sehe ich Leute, die neuronale Netze benutzen, um Dinge wie Text zu erzeugen; sie werden behaupten, dass sie es auf ein paar tausend Absätze trainiert haben und dann wird es einen neuen Absatz schreiben. Ich habe kürzlich einen Artikel über ein neuronales Netzwerk gelesen, das Tausende von Fonts analysiert und dann eine eigene Schriftart erstellt hat.

Hier ist das Problem - alle neuronalen Netzwerke, die ich bisher gemacht habe, nehmen einen Datensatz von Ein- und Ausgaben. Diese neuronalen Netzwerke, über die ich lese, scheinen so zu sein, als ob sie keine Eingaben nehmen würden. Sie betrachten nur viele Instanzen von etwas und erstellen dann eine neue Instanz davon (wie sie nur mit Ausgaben umgehen).

Fehle ich etwas? Sind diese neuronalen Netzwerke ich lese über eine andere Art von neuronalen Netzwerk? Nehmen wir an, ich habe eine Reihe von Melodien in einem Format, das das neuronale Netzwerk verarbeiten kann (sehr kurze MIDI-Dateien). Welche Art von Netzwerk müsste ich verwenden, um es auf diesem Melodiesatz zu trainieren und eine neue Melodie erzeugen zu lassen?

Antwort

2

Was Sie bisher getan haben, ist wahrscheinlich das, was ist genannt Klasse ifikation; Was Sie jetzt betrachten möchten, ist Vorhersage und Regression.

Sie trainieren Ihr Netzwerk immer noch auf die gleiche Weise. Nach dem Training füttern Sie es immer noch mit einer Eingabe, aber anstatt eine Kategorie zu bekommen (aus der Klassifizierung), erhalten Sie eine Vorhersage, was wahrscheinlich der nächste Schritt in einer Serie sein wird. Z.B. eine Reihe von Notizen. Sie müssen es noch eingeben, um weiter zu arbeiten. Aber ich denke, das könnten zufällige, halb zufällige oder vielleicht sogar generierte Noten sein.

Theres ein gut alt kurz Tutorial über Vorhersage mit neuronalen Netzen hier: http://www.obitko.com/tutorials/neural-network-prediction/

Und dann schauen Sie sich die Programmierbibliotheken Sie bereits verwenden, und für die Vorhersage oder Regressionsverfahren suchen.

+0

Vielen Dank! Du hast Recht - Klassifizierung ist, was ich gemacht habe, ich schaue auf Vorhersage und Regression und es ist genau das, wonach ich gesucht habe. –

1

Eigentlich sind das neuronale Netzwerke und für Ihre Beispielanwendung (Musikgenerierung) können Sie leicht Recurrent Neural Network (RNN) oder die robusteste Version (wie LSTM) von RNN verwenden.

Folgendes ist ein wirklich schöner Artikel und ich hoffe, es wird Ihnen helfen zu verstehen, wie Sie diese generativen Modelle bauen können.

The Unreasonable Effectiveness of Recurrent Neural Networks

In der Tat haben die Menschen getan Musik Generationen RNN mit und nach GitHub Lage ist eine solche Beispiele.

Biaxial Recurrent Neural Network for Music Composition

Wenn Sie tief in das neuronale Netz tauchen wollen und mehr über den Zustand der Kunsttheorien/Anwendungen lernen, ich möchte folgende Bücher vorschlagen (beide sind frei verfügbar).

  1. Neural Networks and Deep
  2. Deep Learning

EDIT: Die folgende Website hat einige Online-Demos sowie

Composing Music With Recurrent Neural Networks