Schludi
- Registriert
- 13.11.05
- Beiträge
- 5.964
- Reaktionen
- 3.003
- Punkte
- 15.531
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.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.
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.
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.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.
Ich gehe davon aus, das Netz hat 3 Schichten: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?
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: