KI-Training

  • Ersteller Turquoise
  • Erstellt am
Leugnen tu ich bestimmt nix. Aber ich würde gerne auf unterster Ebene verstehen wie das abläuft. Also da kommt Musik als wav rein, wo geht das hin? Abstrakte Konzepte wie Neuronen müssten dazu genauer erklärt werden. Wenn ich nur lese Neuron, und Gewichtung, dann weiß ich noch nicht wie jetzt Audiomaterial wo und wie landet.
Neuronale Netze sind kein abstraktes Konzept sondern konkret realisierbar. Ein Bekannter hat mal in Java eine Klasse "Neuron" geschrieben mit Eigenschaften wie "Gewicht" und einer Liste "Nachfolgerneuronen" und diese ein paar hundert Mal als Objekt instanziert und über die genannte Liste verknüpft (Topologie). Darauf kannste dann ne Backpropagation (zum Training) machen. Das wäre dann ohne Framework eine konkrete Implementierung der Datenstruktur eines FeedForward-Netzes.
1716012909008.png


Audiomaterial besteht nur aus Amplitudenwert und Zeitstempel in der Auflösung einer Abtastrate. Das heisst im einfachsten Fall sind das Deine Input-Parameter für das Training.
Wie das Material didaktisch aufbereitet wird, bevor es gefüttert wird, hängt von begrenzenden Faktoren (wie z.B. bei Hardware VRAM / Buffersize) und der gewünschten Qualität sowie dem tatsächlichen Ergebnis ab.
Man muss dann mit der Anzahl der Neuronen und der Schichten und den Lernalgorithmen experimentieren. Außerdem wurde das Trainingmaterial verschlagwortet damit das Prompt entsprechendes Material erkennt. Bei Spotify sind solche Tags schon länger vorhanden damit der Algorithmus dir Songs vorschlagen kann.

In Suno und Stable Diffusion stecken mehrere Jahre Arbeit und da war ordentlich Geld vorhanden um zu forschen, deswegen reicht es erstmal über Grundlagen zu sprechen.

Suno hat ja eine komplett andere Anwendung als Stable Diffusion und trotzdem kannst du deren Funktionsweisen über das konkrete Konzept neuronale Netze auf einen Nenner bringen.

Open Source kann dir evtl. helfen den abstrakten Aufbau (z.B. wieviele Netze hat Suno) zu verstehen, aber nicht wie sie trainiert wurden. Da siehst du nur Zahlen / Gewichte und den Aufbau (Topologieinformationen). Da muss auch mindestens ein Netz drin sein, was das Prompt interpretiert und den Generator entsprechend füttert.

Eigentlich kann man bisher jedes noch so komplexe Vorgehen durch schematisches Vereinfachen trotzdem verständlich machen. Ich meine selbst ne FFT ist mathematisch ziemlich abgespaced, und trotzdem kann man sich die Transformation von Audio aus Zeit- in Frequenzebene zumindest formal vorstellen.
FFT ist ein diskreter Algorithmus, das würde ich einem neuronalen Netz vorziehen, weil KNN unscharfe Logik abbildet. Du kannst aber ein Netz für FFT trainieren. Das geht generell auch mit mathematischen Modellen, diese sind aber schärfer/exakter. Literatur über neuronale Netze gibt es genug, du musst dir halt raussuchen was bei dir Klick macht.

Lehrreich wäre vielleicht, diese KI beim einfüttern des allerersten Trainings-Songs zu beobachten. Wie sieht die "Datenbank" danach aus, in welcher Form findet sich dieser Song im Netzwerk wieder?
Ich gehe davon aus, das Netz hat 3 Schichten:
1716013704477.png

Dann sieht das Ergebnis nach dem Trainieren des ersten Songs so aus: ^^

Mit einer Tabelle:
ID | Gewicht | Nachfolger
1 | 231,32 | 2
2 | 3,32 | 10
3 | 444,2 | 10
4 | 23,434 | 10
5 | 98,434 | 10
6 | 23,434 | 10
7 | 444,0 | 10
8 | 111,0 | 10
9 | 11,2 | 10
10 | 1 | NULL

Mit zwei Tabellen
Tabelle "Neuron":
ID | Gewicht
1 | 231,32
2 | 3,32
3 | 444,2
4 | 23,434
5 | 98,434
6 | 23,434
7 | 444,0
8 | 111,0
9 | 11,2
10 | 1

Tabelle "Relation":
NeuronID1 | NeuronID2
1 | 2
2 | 10
3 | 10
4 | 10
5 | 10
6 | 10
7 | 10
8 | 10
9 | 10
10 | NULL
 
Zuletzt bearbeitet:
Also ein Neuron speichert immer nur eine einzige Zahl, nämlich ein Gewicht? Das Gewicht ist aber kein Audio Sample oder? Wo bleiben die Audio Samples?
Und was sagt das Gewicht aus? Ist es eine Art Wahrscheinlichkeit?
 
Also ein Neuron speichert immer nur eine einzige Zahl, nämlich ein Gewicht? Das Gewicht ist aber kein Audio Sample oder? Wo bleiben die Audio Samples?
Und was sagt das Gewicht aus? Ist es eine Art Wahrscheinlichkeit?
Das Gewicht bestimmt den Weg zu den Output-Neuronen und er versucht die Gewichte beim Training so zu legen das sie das richtige Ergebnis liefern wenn ein gleicher Wert anliegt. Lustigerweise funktioniert das dann auch für untrainierte Daten je nach Qualität des Netzes.

Bei GANs wie Stable Diffusion hat man aber 2 Netze Diskriminator und Generator.
 
Das Gewicht bestimmt den Weg zu den Output-Neuronen und er versucht die Gewichte beim Training so zu legen das sie das richtige Ergebnis liefern wenn ein gleicher Wert anliegt. Lustigerweise funktioniert das dann auch für untrainierte Daten je nach Qualität des Netzes.
Das verstehe ich nicht. Kannst du sagen wo das Output Audio Sample herkommt?
Was heißt denn "wenn ein Wert anliegt"?
 
Das verstehe ich nicht. Kannst du sagen wo das Output Audio Sample herkommt?
Was heißt denn "wenn ein Wert anliegt"?
Der Trainingswert der anliegt.

Vereinfacht gesagt fällt das Outputsample aus den Output-Neuronen raus. Die bilden dann Amplitudenwert zu Zeitstempel ab.Da ist aber noch ein Transformator dazwischen. Bin gerade am Handy 😂
 
Zuletzt bearbeitet:
Audiomaterial besteht nur aus Amplitudenwert und Zeitstempel in der Auflösung einer Abtastrate. Das heisst im einfachsten Fall sind das Deine Input-Parameter für das Training.
Heißt das, die KI macht am Ende nichts weiter, als sich die Welle des eingegebenen Songs anzusehen / nachzuschreiben und aus der Art / Komplexität der Welle dann . . . ja, was . . . selbstständig zu schlussfolgern, wie man etwas anderes daraus machen könnte, das auch funktioniert?

Ungefähr so, als wären Amplituden- und Zeitwert Buchstaben, die einen Text mit Sinn ergeben?

Das ist für mich fast unvorstellbar. Das ginge ja dann fast in die Richtung, den TACG-Buchstabensalat einer DNA einfach mal so umzuschreiben, dass wieder etwas herauskommt, das funktioniert.
 
Der Trainingswert der anliegt.

Vereinfacht gesagt fällt das Outputsample aus den Output-Neuronen raus. Die bilden dann Amplitudenwert zu Zeitstempel ab.Da ist aber noch ein Transformator dazwischen. Bin gerade am Handy 😂

Das heisst also das Neuron speichert ein Gewicht und generiert ein Audiosample, welches es also ebenfalls speichert?
 
Das heisst also das Neuron speichert ein Gewicht und generiert ein Audiosample, welches es also ebenfalls speichert?
Speichern tut dann das Programm, was das KNN nutzt. Ja oder eher die Relation speichert das Gewicht, so dass ein gewichteter Graph rauskommt.
 
Im deutschen Bereich findet man dazu wenig bis gar nichts.
Im englischen Bereich gibt es Erklärungsansätze.
Das scheint eine Mischung zu sein. Diffusion ist aber mit dabei.

>>>This is why Suno also uses so-called diffusion models (which power the likes of Midjourney) alongside transformer models. In an interview with Lightspeed Venture Partners Suno's CEO and Co-Founder, Mikey Shulman, said: "Not all audio is done with transformers, there's a lot of audio that's done with diffusion – and these two methods have pros and cons".<<<
 
Dann formt er quasi aus weißem Rauschen anhand des Erlernten in mehreren Schritten eine Audiodatei ;-)
 
Dann formt er quasi aus weißem Rauschen anhand des Erlernten in mehreren Schritten eine Audiodatei ;-)
Yup, so hört es sich ja teilweise auch an. :)
Das Problem ist halt zur Zeit wohl eine hohe Auflösung zu erreichen, da kann es aber in Zukunft wohl so sein, dass das Material dann upgesampelt wird. Billig wird das dann aber nicht, aufgrund der Rechenleistung.
Diffusion könnte in Plugins Einzug halten. Du kannst damit Verzerrung hinzufügen oder Stereo erweitern oder es wird stinknormal als EQ genutzt.

Bzgl. des Lernens gibt es wohl unterschiedliche Wege.
Eine KI Firma hat sich ja mit Pond5 zusammngetan, was manche Composer auch nicht lustig fanden, so wie damals als das mit den Bildern losging
Pond5 ist ja Produktionsmusik und die Songs sind dementsprechend schon getagt. Also nach Genre, Stimmung, BPM etc.

Suno und Udio gehen da sicherlich andere Wege. Zumindest bei Udio wird definitiv über Copyright Musik gelernt.
Siehe das Beispiel Depeche Mode/Dave Gahan. Die scheinen da zur Zeit auch massiv Probleme zu haben bzgl. Copyright.
Ich hatte ein Video gesehen wo Last Christmas per Prompt in allen erdenklichen Variationen erschallte. Mal wurde nur der Text verwendet. EIn anderes Mal klang der Gesang nach George Michael. Man hat aber immer das "Original" rausgehört.

Open AI mit Jukebox wurde wohl ähnlich trainiert. Erst die Songs und dann über eine öffentliche Seite wo Lyrics, Genre etc der Songs standen.

Wenn man es aber richtig bedenkt, "lernt" die KI wahrscheinlich erst durch die Millionen von Nutzern, die jetzt die Prompts eingeben. Deshalb sind viele Dienste auch noch kostenlos. Wir sind somit selbst schuld, wenn wir aus Neugier mal damit rumspielen. :)
 
Yup, so hört es sich ja teilweise auch an. :)
Das Problem ist halt zur Zeit wohl eine hohe Auflösung zu erreichen, da kann es aber in Zukunft wohl so sein, dass das Material dann upgesampelt wird. Billig wird das dann aber nicht, aufgrund der Rechenleistung.

Gibt es eigentlich eine KI, die die bisher eher grade so ausreichende Soundqualität verbessert?

Im Grunde ist es ja einfach, bei Bildern funktioniert das auch. Man nimmt ein Bild (oder eben einen Song), rechnet den auf miese Qualität herunter und zeigt der KI dann die schlechte Version und dann die gute, wie das als Ergebniss aussehen soll (oder eben klingen).
Das macht man mit Millionen oder Milliarden Datensätzen und dann weiß die KI, wie ein schlecht aufgelöstes Bild oder Song sehr wahrscheinlich in gut wäre.
 
Ich würde an sich auch gerne mehr darüber wissen, wie das funktioniert, aber mir raucht bei wirklich jeder von Schludis Darbietungen der Schädel. Folglich will ich vermutlich auch nicht wissen, wie neuronale Netze funktionieren, ist einfach zu komplex. Aber ich hätte eben gerne, wohl ähnlich wie @ModulationMatrix, eine ganz krass vereinfachte Erklärung dafür, wie das technische so aussieht.
Ich kann ja recht gut verstehen, wie man bspw. ein mehr oder minder freigestelltes klangliches Ereignis so analysieren kann, dass in die Arbeitsstruktur eines Rechners passt.
Als Beispiel, wo es bei mir dann anfängt, mit dem Verständnis zu hapern: So'n Akkord hat ja ein Klangspektrum, 'ne Amplitude und idR einen zeitlichen Verlauf. Fein, das kann man gewiss sehr leicht in Rechnersprache übersetzen. Aber sobald der nächste Akkord hinzukommt, müssen die beiden ja in Relation gesetzt werden. Dafür nutzen wir Dinge wie das Wissen um die Harmonielehre. Da erfahren wir dann, dass ein G7 eben, zumindest im westlichen Kulturkreis, ganz prima nach C zurückgeht. Aber so scheint die KI ja eben nicht zu arbeiten. Da wird ja ohnehin, so wie ich das bisher verstehe, nur ein Gesamtbild analysiert und abgeliefert, eine Trennung in bspw. "hier sind die harmonischen Instrumente, die folgen bitte sehr den Standards westlich aufgwachsener Ohren" und "die Snare muss auf 2 und 4 sein" gibt es ja mWn gar nicht.
Und da hört's dann bei mir eben auf. Was genau analysiert denn die KI unter welchen Gesichtspunkten? Woher kann die denn dann Harmonielehre?
 
Das sind alles mathematische Modelle
Ich würde an sich auch gerne mehr darüber wissen, wie das funktioniert, aber mir raucht bei wirklich jeder von Schludis Darbietungen der Schädel. Folglich will ich vermutlich auch nicht wissen, wie neuronale Netze funktionieren, ist einfach zu komplex. Aber ich hätte eben gerne, wohl ähnlich wie @ModulationMatrix, eine ganz krass vereinfachte Erklärung dafür, wie das technische so aussieht.
Es werden nur Muster in der Musik erkannt (mathematisch). Der Titel des Freds ist ja "KI Training" und nicht "Wie funktioniert SUNO" (was mehrere Komponenten sein müssen). Trainiert werden neuronale Netze. Das Netz weiß nicht was Harmonielehre ist. Beim KI Training werden aber die Muster der Harmonielehre erkannt.

Z.B. mit dem EM-Algorithmus:
Bei der Animation oben siehst du ein Beispiel, wie die Anhäufungen bei jeder Iteration im Training entstehen.

Der segmentiert die Daten nach gemeinsamen Anhäufungen von Ähnlichkeiten und Gemeinsamkeiten. Das kann Frequenzspektrum der Akkorde, Harmonielehre, Akkordfolgen oder auch Schläge der Snare im Takt sein.

Wenn ein Diffusionsmodell zum Einsatz kommt, wird dann ein Grundrauschen in mehreren Iterationen über die gelernten Muster zu einem konkreten Bild / einer Audiodatei geformt. Das passiert beim Generieren.

Ansonsten ist das halt wirklich ein komplexes Thema.
 
Zuletzt bearbeitet:
Der segmentiert die Daten nach gemeinsamen Anhäufungen von Ähnlichkeiten und Gemeinsamkeiten. Das kann Frequenzspektrum der Akkorde, Harmonielehre, Akkordfolgen oder auch Schläge der Snare im Takt sein.

Ok. Aber, um mal sinnbildlich zu bleiben: Erkennen denn "Komplett-KIs" a la Udio/Suno Snareschläge als solche tatsächlich? Und wenn ja: Woher? Es muss denen ja an sich jemand sagen, woraus sich die Musik zusammensetzt, denn ansonsten kann die KI doch auch gar keinen detailierteren Anweisungen folgen - was aber zumindest streckenweise funktioniert (oder eben auch nicht). Ich habe ja mal Suno gebeten, ein furioses Gitarrensolo a la 90er Fusion hinzulegen. Das hat an sich überhaupt nicht gut geklappt. Da gab's zwar viele Noten, aber wie Gitarre klang's nicht, im Rahmen irgendeiner Spielbarkeit war's auch nicht.

Sollte vielleicht mal eine groovige Nummer in Auftrag geben und als speziellen Wunsch "Snare nicht auf 2 und 4" angeben (was wäre dafür der beste Prompt, brauche ich Sonderzeichen?).
 
Ok. Aber, um mal sinnbildlich zu bleiben: Erkennen denn "Komplett-KIs" a la Udio/Suno Snareschläge als solche tatsächlich? Und wenn ja: Woher? Es muss denen ja an sich jemand sagen, woraus sich die Musik zusammensetzt, denn ansonsten kann die KI doch auch gar keinen detailierteren Anweisungen folgen - was aber zumindest streckenweise funktioniert (oder eben auch nicht). Ich habe ja mal Suno gebeten, ein furioses Gitarrensolo a la 90er Fusion hinzulegen. Das hat an sich überhaupt nicht gut geklappt. Da gab's zwar viele Noten, aber wie Gitarre klang's nicht, im Rahmen irgendeiner Spielbarkeit war's auch nicht.

Sollte vielleicht mal eine groovige Nummer in Auftrag geben und als speziellen Wunsch "Snare nicht auf 2 und 4" angeben (was wäre dafür der beste Prompt, brauche ich Sonderzeichen?).

Ich hatte ja auch vermutet dass drumherum einiges an menschlichem Wissen einfliesst zur Vor- und Nachbereitung dessen was die KI macht. Evtl. z.Bsp. eine Stem Separation vorab. Auch die ist ja allerdings das Ergebnis einer KI soweit ich weiß ^^
 
Ich hatte ja auch vermutet dass drumherum einiges an menschlichem Wissen einfliesst zur Vor- und Nachbereitung dessen was die KI macht. Evtl. z.Bsp. eine Stem Separation vorab. Auch die ist ja allerdings das Ergebnis einer KI soweit ich weiß ^^

Ja, das ist alles sehr verwunderlich. Also, dass die KI irgendwie hinbekommt, aus einem weißen Rauschen so Bildhauer-Style so lange Dinge rauszumeißeln, bis etwas einer gewissen Mixtur aus verschiedenen Vorlagen und Anweisungen entsprechendes entsteht, ist zwar schon harte Science Fiction aber immerhin noch im Rahmen meines zumindest groben Verständnisses. Bzw. kann ich das als Methode zumindest akzeptieren, wenn mir jemand halbwegs glaubhaft erzählt, es seie so. Die Details muss und will ich da gar nicht kapieren.
Aber wenn es dann um wirklich sehr spezifische (in diesem Fall halt musikalische) Details geht, kann die KI da irgendwelchen Anweisungen ja zumindest streckenweise auch ganz gut folgen. Und dafür müsste doch an sich auch irgendeine Art Hintergrundwissen zumindest mitwerkeln.
 
Ok. Aber, um mal sinnbildlich zu bleiben: Erkennen denn "Komplett-KIs" a la Udio/Suno Snareschläge als solche tatsächlich?
Nein, sie wissen anhand des Musters im zuvor trainierten Netz, dass da im Audiomaterial auf einer gewissen Abstraktionsebene, die detailierter als nur "Amplitude zu Zeitstempel" ist, in einer bestimmten Frequenz und Tonlänge wiederkehrende Vorkommnisse in einem Takt passieren. Sie erkennen das ein Takt eine variable Anzahl von Samples lang sein kann und das innerhalb des Taktes mit einer gewissen Wahrscheinlichkeit eine Snare-Verteilung für ein bestimmtes Musikgenre (was z.B. anhand der Spotify-Tags trainiert werden kann) vorkommt. In den Spotify-Tags steht auch so was wie "Stimmung fröhlich/aggresiv/verträumt...", was man als Input nehmen kann. Das sind dann menschliche Schlagworte die man dem Muster zuweisen kann und die im Prompt dann genutzt werden.

Das Generieren passiert halt nicht musikalisch sondern mathematisch, aber Musik besteht eben aus vielen Mustern. Zur Analyse der Daten (z.B. des Audiomaterials) werden oft sogenannte "Convolutional Layers" benutzt... wobei eine ganze Reihe von Filtern angewandt werden, um verschiedene Features zu extrahieren. Kleinere Filter erkennen dabei feinere Details (z.B. die Oberwellenstruktur auf dem Klavier), während größere Filter gröbere Strukturen erfassen können (Instrumente ...). So können neuronale Netze Merkmale auf verschiedene Abstraktionsebenen lernen.

Wie genau SUNO trainiert wurde ist natürlich das Geheimnis von SUNO, da hilft dir aber Open Source nicht das zu verstehen, weil das neuronale Netz in dieser Datenstruktur mit Gewichten vorliegt. Kann schon sein das da eine STEM Separation statt findet.
Ich kann mir zumindest vorstellen das da eine Gruppe von Leuten einige Jahre mit vielen Fehlversuchen und Enttäuschungen dran war...

Sollte vielleicht mal eine groovige Nummer in Auftrag geben und als speziellen Wunsch "Snare nicht auf 2 und 4" angeben (was wäre dafür der beste Prompt, brauche ich Sonderzeichen?).
Ja musst du mal probieren ob er das kapiert. Die Anwendung ist ja dann immer sehr einfach :).
 
Sobald jemand emotional davon angesprochen wird, können Emotionen ein Produkt mathematischer Berechnung sein. Das eröffnet ganz neue philosophische Perspektiven. Wenn sich Emotionen berechnen lassen, gibt es dann überhaupt eine Seele oder ist sie nur ein berechenbares Produkt unseres eigenen neuronalen Netzwerks?
 
Für mich bleibt es trotz allem ein Rätsel, dass Musik-Ki überhaupt funktioniert.
Weil ich davon ausgehe, dass Klangerzeugnisse, die von uns als sinnhaft empfunden werden, ungleich komplexer sind, als optische Erzeugnisse - also z.B. Bilder.

Bei Bildern lassen sich fehlende Elemente und Strukturen wie Linien, Grenzen, Flächen und Farben einfach hinzufügen - und es wird immer irgendeinen Sinn ergeben, weil wir längst auch an abstrakte Bilder gewöhnt sind.

Aber bei Klang funktioniert das eben nicht. Das sieht man daran, dass es bis heute kein Programm gibt, dass aus einer mp3 wieder eine wav machen kann. Was beim Klang fehlt, kann nicht aus dem Nichts ergänzt oder hinzugefügt werden. Das funktioniert einfach nicht. Was weg ist, bleibt weg.

Und jetzt aber ein Gesamtes quasi aus dem Nichts zu erstellen scheint mir vom Rechenprozess her noch unbegreiflicher.
 

Ähnliche Themen

Robertl
Antworten
12
Aufrufe
7K
Florian Hoffmann
Florian Hoffmann
M
Antworten
0
Aufrufe
11K
M

Oft gelesene Themen

Zurück
Oben