Prinzipiell gibt es viele Methoden, ein KI-Modell zu trainieren. Alles, was hierzu notwendig ist, ist ein Mechanismus, der gute Ergebnisse in Tendenz häufiger macht, und schlechte Ergebnisse unterdrückt.

Dazu muss es eine Testfunktion geben, die bewertet, was in einem Szenario "gut" ist, und einen guten Datensatz, der möglichst viele klare Beispiele enthält, die "gut" oder "schlecht" sind.
Eine weitere Funtkion wird üblicherweise dazu verwendet, die momentanen Ergebnisse einer KI näher an die erwünschten Ergebnisse zu rücken.

Die zwei populärsten Methoden sind Evolutionäre Algorithmen, und "Backpropagation", die Rückwärtspropagierung.

In Evolutionären Algorithmen geht man üblicherweise von einer großen Gruppe von zunächst zufälligen Agenten aus, die alle eine Aufgabe zu lösen versuchen.
Ihre Parameter sind in einem "Genom" gespeichert, das ihr Verhalten definiert.
Dieses Verhalten wird mit einer Fitness-Funktion getestet.
Die laut dieser Funktion besten Agenten werden behalten und mutiert. Häufig werden sie auch rekombiniert, also werden die Genome mehrerer (üblicherweise zweier) relativ erfolgreicher Agenten zusammen gewürfelt, in der Hoffnung, dass diese neue Kombination gute Aspekte aller involvierter Agenten enthält, aber um zumindest theoretisch den gesamten Raum der Möglichkeiten abzudecken, muss zumindest Mutation vorhanden sein.
Über viele Generationen hinweg überleben nur jene Agenten, die gut in der gestellten Aufgabe sind, und somit verbessert sich die Population mit der Zeit.
Dies kann als eine Art von Training angesehen werden.

In seiner naivsten Form ist dieser Algorithmus oft sehr langsam, aber hat den Vorteil, sehr wenige Annahmen über die zu lösenden Aufgaben zu haben, was ihn extrem flexibel macht. Evolution zeichnet sich auch oft dadurch aus, besonders kreative, unerwartete Lösungen zu finden.

Bei Rückwärtspropagierung geht man hingegen davon aus, dass die Agenten kontinuierliche, differenzierbare Parameter haben, und auch die Funktion, die die Qualität des momentanen Ergebnisses bewertet, die Loss Function oder Verlustfunktion, sollte differnzierbar sein. Wenn das möglich ist, wird der momentane Agenten zusammen mit der Verlustfunktion als eine große verschachtelte Funktion betrachtet, und diese differenziert. Der so gefundene Gradient der Funktion sagt aus, in welche Richtung jeder Parameter sich bewegen müsste, um das Ergebnis zu verbessern, also um den Verlust so klein wie möglich zu machen. Man spricht daher auch von "Gradient Descent" was so viel wie "Abstieg" heißt. Sobald der Gradient gefunden ist, muss nur noch ein Schritt "nach unten" gemacht werden. Das Äquivalent zu Mutation.

Diese Methode erfordert zwar mehr Annahmen, ist aber häufig wesentlich schneller als Evolution, da sie mehr Information über das Problem verwendet, und somit oft bessere Mutationen findet. In ihrer naivsten Form kann sie aber auch sehr leicht ein relativ schwaches lokales Minimum finden - ein Ort, wo jede Richtung der Parameter das Ergebnis verschlechtern würde, obwohl es noch wesentlich bessere Möglichkeiten gäbe.

Beide Methoden werden manchmal auch kombiniert, und es gibt noch viele andere. Solange es klar ist, was "gut" oder "schlecht" ist, und wie man bessere Ergebnisse bevorzugt, kommt es über kurz oder lang zu einem Trainingseffekt. Wobei man auch darauf achten muss, dass die Änderungen, die man jedes Mal durchführt, nicht zu groß oder zu klein sind. Sind sie zu klein, dauert es viel zu lange, um an ein gewünschtes Ziel zu kommen. Sind sie zu groß, ist das Ergebnis von Schritt zu Schritt oder von Generation zu Generation nicht länger Aussagekräftig, und ähnelt eher einer komplett zufälligen Suche.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence