Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss20:song-generator

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss20:song-generator [2020/08/26 13:17]
dahin
ss20:song-generator [2020/08/27 14:19] (aktuell)
dahin
Zeile 1: Zeile 1:
 +[[projekte_im_sommersemester_2020|← Zurück zur Projektauswahl]]
  
 ====== Song-Generator (Charts Garantie) [SS20] ====== ====== Song-Generator (Charts Garantie) [SS20] ======
Zeile 45: Zeile 46:
 Als nächstes haben wir also unser neuronales Netz trainiert, indem wir die Trainingsdateien dem neuronalen Netz übergeben haben und dieses daraus gelernt hat. Genauer gesagt geht das neuronale Netz ohne Informationen an diese Daten heran und arbeitet dann in dem gegebenen Rahmen. Wir haben den Hyperparameter "batch size" auf 64 gesetzt, was in diesem Fall bedeutet, dass immer 64 Stücke gemeinsam angeguckt werden und ein Teil aus einer 64x64 Matrix besteht, die Größe der Matrix haben wir mit dem Hyperparameter "​rnn_layer_sizes"​ festgelegt. Je höher diese Zahl desto weiter ist der Rahmen, in dem das neuronale Netz arbeiten kann. Je weiter der Rahmen, desto eher neigen neuronale Netze zu Over Fitting, also fast perfekten Vorhersagen bei den Testdateien und sehr schlechten Vorhersagen bei nicht Testdateien. Wenn der Rahmen zu klein ist, werden die Vorhersagen auch schlecht. Eine gute Veranschaulichung dafür ist, wenn man sich Punkte auf einer Parabel vorstellt dafür eine Gerade zu finden, die alle Punkte möglichst gut trifft. Das kann nie wirklich genau werden, weil die Gerade keine Kurven hat. Als nächstes haben wir also unser neuronales Netz trainiert, indem wir die Trainingsdateien dem neuronalen Netz übergeben haben und dieses daraus gelernt hat. Genauer gesagt geht das neuronale Netz ohne Informationen an diese Daten heran und arbeitet dann in dem gegebenen Rahmen. Wir haben den Hyperparameter "batch size" auf 64 gesetzt, was in diesem Fall bedeutet, dass immer 64 Stücke gemeinsam angeguckt werden und ein Teil aus einer 64x64 Matrix besteht, die Größe der Matrix haben wir mit dem Hyperparameter "​rnn_layer_sizes"​ festgelegt. Je höher diese Zahl desto weiter ist der Rahmen, in dem das neuronale Netz arbeiten kann. Je weiter der Rahmen, desto eher neigen neuronale Netze zu Over Fitting, also fast perfekten Vorhersagen bei den Testdateien und sehr schlechten Vorhersagen bei nicht Testdateien. Wenn der Rahmen zu klein ist, werden die Vorhersagen auch schlecht. Eine gute Veranschaulichung dafür ist, wenn man sich Punkte auf einer Parabel vorstellt dafür eine Gerade zu finden, die alle Punkte möglichst gut trifft. Das kann nie wirklich genau werden, weil die Gerade keine Kurven hat.
  
-Das neuronale Netz versucht eine möglichst gute Funktion zu finden, ​um aus gegebenen Daten möglichst nah an die gewünschten Daten zu kommen. Das erfordert ​sehr viel Leistung ​von einem Computer, weshalb wir ab diesem Schritt mit Google-Colab gearbeitet haben, dort wird der Code über Google Rechner durchgeführt.+Das neuronale Netz versucht eine Funktion zu finden, ​die mit gegebenen Daten möglichst nah an die gewünschten Daten herankommt. Das erfordert ​eine hohe PC-Leistung ​aufgrund der vielen Rechnungen, weshalb wir ab diesem Schritt mit Google-Colab gearbeitet haben, dort wird der Code über Google Rechner durchgeführt.
 Dieses Netzwerk haben wir ungefähr 20000 Durchläufe machen lassen, woraus dann unsere Endergebnisse entstanden sind. Dieses Netzwerk haben wir ungefähr 20000 Durchläufe machen lassen, woraus dann unsere Endergebnisse entstanden sind.
  
Zeile 54: Zeile 55:
 **Code:** **Code:**
  
-[[https://colab.research.google.com/​drive/​1wc5DE3N-9V6jSkt_Dzd3yfvBxMriuHYB?​usp=sharing ​Google-Colab-Notebook]]+{{:ss20:​song-generator.ipynb.zip|}}
  
 +**Musikbeispiele (von uns generiert):​**
  
 +{{:​ss20:​2020-07-13_162359_10.mid.zip|}}
  
 **Danksagung:​** **Danksagung:​**
ss20/song-generator.1598440663.txt.gz · Zuletzt geändert: 2020/08/26 13:17 von dahin