Runde #316: Künstliche Intelligenz

Alles, was nicht in ein anderes Forum gehört: Hier rein
Forumsregeln
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/

Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters

Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Kaputtnick
Beiträge: 28
Registriert: 21. Jun 2019, 02:20

Re: Runde #316: Künstliche Intelligenz

Beitrag von Kaputtnick »

Erstmal danke, dass ihr euch des Themas angenommen habt, aber mir geht der Podcast zu sehr in die Breite, aber nicht tief genug, obwohl ich weder Spieleentwickler, noch Programmierer bin. Der Strategie-Teil, wo 2 Blinde mit einer Einäugigen reden, hatte in meinen Augen keinen Mehrwert, weil rein spekulativ, während ich mir auf der anderen Seite detailliertere Einblicke im Bereich der Expertise von Frau Neufeld gewünscht hätte. Mir ist natürlich klar, dass das nicht der Modus Operandi des Sonntagspodcasts ist, was mich zu dem Gedanken führt, dass das Thema eine ganze Podcast-Reihe mit unterschiedlichen Gästen verdient hätte und für die lockere Plauderrunde eher nicht so geeignet ist.

Aber selbst in der Breite hat mir ein Aspekt gefehlt: KI zur Lösung von Teilproblemen, z.B. ob machine learning für die Wegfindung eingesetzt werden könnte/wird. Und KI zur Unterstützung der Spieleentwickung wurde auch nur am Beispiel der QA ganz kurz angesprochen, aber ich kann mir nicht vorstellen, dass das alles ist. Was ist z.B. mit Speedtree oder ähnlichen Technologien? Kommt da "echte" KI zum Einsatz?
Tom
Beiträge: 154
Registriert: 7. Apr 2017, 00:13

Re: Runde #316: Künstliche Intelligenz

Beitrag von Tom »

Ich hätte mir gewünscht, wenn vorab etwas klarer geworden wäre, was man sich von künstlicher Intelligenz in Spielen eigentlich erhofft, bzw. Beispiele dafür, wo heutige KI in Spielen zu schlecht ist.

Außerdem fand ich es problematisch, dass über KI allgemein gesprochen wurde, damit aber gleichzeitig Tagesablaufsimulationen, das Verhalten von NPCs in 3D Welten, und Computergegner in Strategiespielen gemeint wurden. Da mag es gewisse ähnliche Grundüberlegungen geben, aber das dürften doch recht unterschiedliche Systeme sein.

Auch die Begrifflichkeiten Skripting / KI / echte KI / Machine Learning hätten etwas schärfer definiert werden sollen. Es wurde teilweise der Eindruck vermittelt, dass zwischen einer Spiele-KI und Skripting ein theoretisch fundamentaler Unterschied besteht. Aber ist das wirklich so? Und ich glaube auch nicht, dass Black&White ein gutes Beispiel für Machine Learning ist.
TriBoon
Beiträge: 111
Registriert: 11. Jan 2017, 22:24
Wohnort: St.Gallen, Schweiz.

Re: Runde #316: Künstliche Intelligenz

Beitrag von TriBoon »

Hallo zusammen

vielleicht hab ich es überhört, aber wurde im Podcast mal Rimworld und dessen Erzähler-KIs angesprochen? Weiss jemand ob das "echte" KIs oder auch nur gescriptete Abläufe sind?

Gruss
Tri
Ich hasse Leute die mitten im Satz
Raptor 2101
Beiträge: 1227
Registriert: 22. Mai 2016, 19:50

Re: Runde #316: Künstliche Intelligenz

Beitrag von Raptor 2101 »

TriBoon hat geschrieben: 3. Mai 2021, 12:10 Hallo zusammen

vielleicht hab ich es überhört, aber wurde im Podcast mal Rimworld und dessen Erzähler-KIs angesprochen? Weiss jemand ob das "echte" KIs oder auch nur gescriptete Abläufe sind?

Gruss
Tri
Ja die Scenarien/Erzähler KIs wie in Rimworld/Left4Dead wurden besprochen. Da der Term "echte KIs" irgendwie schwammig ist umschiff ich das jetzt elegant. Wie Frau Neufelder mehrfach ausführt scheint alles in spielen auf Scripts, Entscheidungs- und/oder Suchbäumen zu basieren (oder Kombination), so auch diese "Erzähler KIs".

Deep Learning (das was landläufige heute "echte KI" genannt wird) ist nicht im Einsatz.
TriBoon
Beiträge: 111
Registriert: 11. Jan 2017, 22:24
Wohnort: St.Gallen, Schweiz.

Re: Runde #316: Künstliche Intelligenz

Beitrag von TriBoon »

Raptor 2101 hat geschrieben: 3. Mai 2021, 14:10
Ja die Scenarien/Erzähler KIs wie in Rimworld/Left4Dead wurden besprochen. Da der Term "echte KIs" irgendwie schwammig ist umschiff ich das jetzt elegant. Wie Frau Neufelder mehrfach ausführt scheint alles in spielen auf Scripts, Entscheidungs- und/oder Suchbäumen zu basieren (oder Kombination), so auch diese "Erzähler KIs".

Deep Learning (das was landläufige heute "echte KI" genannt wird) ist nicht im Einsatz.
Hoi Raptor

Danke Dir. Schade, dass man Podcasts nicht einfach so durchsuchen kann, ob zB etwas erwähnt wurde und zu welchem Zeitstempel.

Gruss
Tri
Ich hasse Leute die mitten im Satz
Benutzeravatar
RobertThomas
Beiträge: 47
Registriert: 22. Jan 2021, 15:23

Re: Runde #316: Künstliche Intelligenz

Beitrag von RobertThomas »

Sehr interessante Folge - Interviews sind meiner Einschätzung nach generell immer ganz gut, da sie interessante "externe" Meinungen einbringen und auch für Abwechselung im Podcast allgemein sorgen.

Ich selbst bin kein Programmierer, arbeite aber in der Auto Industrie - und hier intern ist das Thema KI schon gross - insofern das in der dortigen "IT Community" viel in Richtung Ausbildung passiert (klassische Trainings, Simulations "Spiele", und so weiter).

Den Ansatz von Jochen Gebauer fand ich gut, das mittels Machine Learning der Computer das spielen lernen könnte - und dann anhand der Schwierigkeitsstufen Einstellung der Computer angepasst werden kann (ansonsten, gegen einen Computer zu spielen welcher alles kann - das macht sicher keinen Spaß - vor allem wenn das Spiel so berechenbar ist und wenige zufällige Einflüsse vereint).

Später wäre es vielleicht toll noch eine weitere Folge zu KI in Spielen zu produzieren - nachdem hier ein wenig Scripting und KI gegenübergestellt wurde, Schwierigkeiten von Machine Learning (Anlernphase, oder Datenschutz bei laufenden Spielen, Ressourcen Prolematik usw.) - um dann später nochmal im Detail zu schauen, wo "richtige" KI in Spielen vielleicht wirklich angewendet wird (so es denn da genug Masse gäbe).

Auf jeden Fall, toller Podcast, toller Interview Partner.
chrisinger
Beiträge: 31
Registriert: 29. Jul 2017, 10:51

Re: Runde #316: Künstliche Intelligenz

Beitrag von chrisinger »

Ich habe kürzlich im Bereich Machine Learning promoviert und im Rahmen meiner Lehre an der Uni auch das Fach Neuronale Netze unterrichtet. Maschinelles Lernen bedeutet typischerweise, dass Modellparameter an Hand von Daten (man könnte sagen 'aus Erfahrung') angepasst werden. Ein Parameter wäre zum Beispiel der Agressionswert von Ghandi in Civ. Bei manchen Modellen, wie zum Beispiel Entscheidungsbäumen kann man gut nachvollziehen, wieso eine Entscheidung getroffen wurde. Bei anderen Modellen, wie im DeepLearning geht das wenn überhaupt, dann nur schwer.
In Spielen möchte man aus mehreren Gründen oft keine sich selbst anpassenden Modelle, die sich nur auf dem Rechner des Spielers befinden.
1) Es wäre extrem schwer sicherzustellen, dass unabhängig welchen Blödsinn der Spieler vorher gemacht hat, das Spiel noch wie geplant funktioniert. Nehmen wir an ein Endgegner wird jedes mal, wenn er den Spieler besiegt hat um 1% schwächer. Dann gibt es möglicherweise Spieler die absichtlich 100 mal sterben und ihn dann mit einem Schlag weg hauen.
2) Spieldesigner machen sich ja oftmals genaue Gedanken darüber wie ein System funktionieren soll, und auch wie man es ausbalancieren kann. Und das macht Spiele ja auch oftmals so gut! Zum Beispiel das Leveldesign von Portal ist super, weil es Stück für Stück etwas schwieriger wird. Das ist genau so vom Menschen geplant, damit andere Menschen daran wachsen können, und das macht Spaß. Ein Bot im Shooter, der perfekt spielt und einen immer besiegt macht eben keinen Spaß.

In welcher Sorte Spiel und in welchen Situationen hättet ihr denn gerne ein System, was sich wirklich an euch anpasst? Soll euer Begleiter im Rollenspiel Eure eigenen Schwächen im Spiel mit seiner guten KI ausgleichen? Das klingt möglicherweise erstmal spannend, aber wie weit soll das gehen? Wenn Ihr nicht mehr schießt, schießt er mehr; Wenn Ihr in der Welt nur noch herum steht schubst Euch der Begleiter in Richtung zur Hauptquest; Und am Ende spielt sich das Spiel von selbst.

Eine automatische Anpassung der Schwierigkeit der Bots in Shootern gab es meines Wissens schon bei UnrealTournament'98. Obwohl das nur ein einzelner Parameter ist, der angepasst wird, ist das ein Beispiel von 'echtem' maschinellem Lernen in Spielen. Und ich finde da hat es gut funktioniert.

Zu Jochens Frage: Könnte die KI von Tesla auch auf meinem Rechner laufen?
Von der Rechenleistung her ziemlich sicher ja. Denn das Aufwändige bei der Rechenleistung ist nicht das Ausführen, sondern das Training. Während beim Ausführen nur das bereits trainierte Modell angewendet werden muss, müssen beim Training die Werte angepasst werden. Das können z.B. beim DeepLearning mehrere Millionen Parameter sein, die angepasst werden mit Hilfe von vielen Trainingsdaten. Das Training ist der aufwändige Teil. Dabei werden dem Modell die Trainingsbeispiele normalerweise mehrfach präsentiert und die Werte immer weiter angepasst.
Es gibt einen recht bekannten Datensatz zur Objekterkennung auf Bildern, den ImageNet Large Scale Visual Recognition Challenge (ILSVRC) https://image-net.org/challenges/LSVRC/
Wenn man heute Objekterkennung auf seinen eigenen Bildern versuchen möchte, dann kann man zum Beispiel ein von Google schon auf den ILSVRC-Daten trainiertes Modell als Grundlage nehmen. Das wurde mit extrem viel Rechenaufwand trainiert und ist entsprechend ziemlich gut auf diesen Daten. Ein typischer Ansatz nimmt das vortrainierte Modell und passt davon nur einen Teil des Modells an die eigenen Daten an. Ich habe ein Projekt mitbetreut, in dem ein Student eine Handy-App entwickelt hat, um Obst (z.B. Äpfel von Trauben) zu unterscheiden.

Die Frage hier im Forum, ob man Autos selbst fahren lassen sollte oder nicht ist spannend. Da ist die kritische Frage, wer bei einem Unfall die Schuld hat. Aktuell ist das der Fahrer. Aber wenn die KI das Fahren übernimmt? Der KI-Hersteller? Wer übernimmt die Kosten? Ich habe die Frage einem Professor gestellt. Er sagte, dass aktuell schon pro gefahrenem Kilometer die KI weniger Unfälle hat als der Mensch. Und er glaube, dass Versicherungen die Kosten übernehmen werden. Wenn autonom fahrende Fahrzeuge tatsächlich ein geringeres Unfallrisiko haben, als wir Menschen, dann wird der Versicherungstarif für autonom fahrende Fahrzeuge entsprechend geringer sein. Und wenn es erst mal günstiger ist autonom zu fahren wird es sich schnell ausbreiten. Und wer würde nicht gerne, wenn ihm abends einfällt er muss noch tanken einfach das Auto alleine tanken fahren lassen? Perfekt, wenn es von der Tanke dann auch noch Bier mitbringt.

Wieso KI-Bots und Spiele gar nicht so gut zueinander passen:
Wozu braucht man KI in der Praxis? In Systemen, die mit extrem vielen Variablen / Dimensionen zurecht kommen müssen. Bei Go hat man viele Dimensionen, aber beim Erkennen von Objekten auf Bildern oder in Videos auch. Ein Film besteht aus vielen Bildern, ein Bild enthält einen Farbwert für jeden Pixel und in diesen vielen Daten will man Muster erkennen, wie zum Beispiel ein Zone-30-Schild.
Ein Spiel muss aber damit es Spaß macht vom Spieler verstanden werden können. Eine Waffe im Shooter, die bei einem Schuss viel und beim nächsten Schuss keinen Schaden macht ist zum Beispiel nicht gut berechenbar. Wenn man ein so komplexes Spiel schafft, dass ein normaler Spieler es nicht mehr versteht, dann macht es vermutlich den meisten keinen Spaß. Ich denke, dass die einfache Berechenbarkeit für den Spielspaß gebraucht wird. Wenn also eine KI wie ein Bot das Spiel so spielen soll wie ein Mensch, dann ist das Spiel wahrscheinlich für den Bot zu leicht - oder umgekehrt ausgedrückt der Bot wird zu gut.

Ich sehe nur wenige Einsatzmöglichkeiten von maschinellem Lernen in Spielen:
Das Spiel sollte sich nur wenig automatisch verändern und die Veränderungen sollten dem Spieler sehr klar gemacht werden, damit das Spiel nicht plötzlich viel zu leicht oder viel zu schwer ist. Oder der Spieler sollte bewusst einen Level starten, in dem er getestet wird, bei dem aber wie bei Tetris klar ist, dass er am Ende verlieren wird.
Raptor 2101
Beiträge: 1227
Registriert: 22. Mai 2016, 19:50

Re: Runde #316: Künstliche Intelligenz

Beitrag von Raptor 2101 »

chrisinger hat geschrieben: 17. Jun 2021, 10:48 Wenn also eine KI wie ein Bot das Spiel so spielen soll wie ein Mensch, dann ist das Spiel wahrscheinlich für den Bot zu leicht - oder umgekehrt ausgedrückt der Bot wird zu gut.
Ist das (nach Stand der Wissenschaft) mittlerweile eine Generelle Aussage? Kann man immer eine DL-KI auf ein spezielles Spiel trainieren und diese wischt dann nach erfolgreichem Training immer mit "dem Spieler" den Boden auf?

Die letzten (die ich mitbekommen habe!) Versuche im Spiele Umfeld (StarCraft, Quake, LoL, diverse Racing games) waren da noch eher auf der "die KI kann mithalten" Ebene. (Wobei die KI wohl meist als besserer TeamPlayer wahrgenommen wurde, was mehr über uns Menschen sagt ... denke ich :ugly: ).

Gerade wenn eine Trainierte KI auf eine "Neue Map" trifft, waren die Ergebnisse bisher ernüchternd (soll heißen die menschlichen Player waren besser/schneller in der Lage zu adaptieren).

Falls du da aktuelle Studien/Publikationen hast würde mich das interessieren.

chrisinger hat geschrieben: 17. Jun 2021, 10:48 Einsatz von KI in KFZs...
Ich denke beim Einsatz von KI in KFZ geht es nicht um "Ob" sondern nur um das "Wann". Solange die Versicherungskosten geringer sind als die Personalkosten der menschlichen Fahrer wird das gemacht.

Interessant wird dann, was passiert wenn eine diese KIs auf Menschen treffen, die sich bewusst "nicht kooperativ" oder gar "aggressiv Feindlich" verhalten. (Ein Schild so manipulieren dass die KI statt "Stop" ein "Max 100" erkennt).
TriBoon
Beiträge: 111
Registriert: 11. Jan 2017, 22:24
Wohnort: St.Gallen, Schweiz.

Re: Runde #316: Künstliche Intelligenz

Beitrag von TriBoon »

:clap:

Sehr guter Beitrag,chrisinger, Danke vielmals!

Gruss
Tri
Ich hasse Leute die mitten im Satz
chrisinger
Beiträge: 31
Registriert: 29. Jul 2017, 10:51

Re: Runde #316: Künstliche Intelligenz

Beitrag von chrisinger »

TriBoon hat geschrieben: 17. Jun 2021, 11:36 Sehr guter Beitrag,chrisinger, Danke vielmals!
Sehr gerne :D
Raptor 2101 hat geschrieben: 17. Jun 2021, 11:33
chrisinger hat geschrieben: 17. Jun 2021, 10:48 Wenn also eine KI wie ein Bot das Spiel so spielen soll wie ein Mensch, dann ist das Spiel wahrscheinlich für den Bot zu leicht - oder umgekehrt ausgedrückt der Bot wird zu gut.
Ist das (nach Stand der Wissenschaft) mittlerweile eine Generelle Aussage? Kann man immer eine DL-KI auf ein spezielles Spiel trainieren und diese wischt dann nach erfolgreichem Training immer mit "dem Spieler" den Boden auf?

Die letzten (die ich mitbekommen habe!) Versuche im Spiele Umfeld (StarCraft, Quake, LoL, diverse Racing games) waren da noch eher auf der "die KI kann mithalten" Ebene. (Wobei die KI wohl meist als besserer TeamPlayer wahrgenommen wurde, was mehr über uns Menschen sagt ... denke ich :ugly: ).

Gerade wenn eine Trainierte KI auf eine "Neue Map" trifft, waren die Ergebnisse bisher ernüchternd (soll heißen die menschlichen Player waren besser/schneller in der Lage zu adaptieren).

Falls du da aktuelle Studien/Publikationen hast würde mich das interessieren.
Das war meine persönliche Einschätzung. Es ist extrem schwierig den 'Stand der Wissenschaft' da zusammenzufassen, da ich ja allgemein über 'ein Spiel' geschrieben hatte. Und es ist natürlich eine Frage des Aufwandes, den man da rein stecken möchte. Willst Du alleine daran arbeiten und auf Deiner eignen Grafikkarte zuhause die Berechnungen durchführen? Oder gibst Du den Auftrag weiter an ein Team von DeepMind, das schon Erfahrung hat und Zugriff auf tausende (speziell von Google entwickelte) tensor processing units (TPUs)? Meine Aussage bezog sich eher der Fall zwei - ich halte es für technisch möglich.
In der Spieleentwicklung hat man dazu aber noch nicht die richtigen Mittel. Insbesondere wegen der im Podcast genannten Schwierigkeiten:
1) Spiele ändern sich: Während Schach oder Go feste Regeln haben ändern sich Spiele ja während der Entwicklung und während des Balancings. Je nachdem wie groß die Änderungen sind muss man sein Modell dann teilweise oder nochmal ganz neu trainieren.
2) Manpower: Die Aussage 'DeepMind hat Go gelöst' klingt als sei das einfach gewesen und ignoriert die vielen schlauen Leute, die mit langer Arbeit dazu beigetragen haben. In der Spielebranche hat normalerweise eben nicht 50 Leute herumsitzen, die an der KI für das aktuelle Spiel arbeiten könnten.
3) Rechenpower: Es wird oft unterschätzt wie viel Rechenarbeit es ist ein Modell zu trainieren. Ich habe vor einigen Jahren eine KI für Doppelkopf auf DeepLearning-basis und meiner Nvidia1080 trainiert - es hat mehrere Wochen gedauert. (Wochen, in denen ich nicht zocken konnte!)
Die Publikation dazu gibt es hier: https://ieeexplore.ieee.org/abstract/document/8285181

Ein eher technisches Problem ist die Frage, was die KI als Input bekommt: Bekommt sie nur die Ausgabe des Renderers, also genau wie ein Mensch ein Bild, oder die im Spiel intern verwendeten Werte (wie z.B. den Agressionswert von Ghandi) direkt? Weil das Bild erst dekodiert werden muss ist das die deutlich langsamere Variante des Trainings. Wenn man aber die Werte direkt verwenden möchte muss man sie aus dem Code des aktuell laufenden Spiels auslesen. Wenn man auf den Quellcode Zugriff hat kann man dort das Auslesen recht einfach einbauen und so eine Schnittstelle schaffen zwischen dem Spiel und der zu trainierenden KI. Ohne Quellcode kann man es praktisch vergessen.

Wir nähern uns aber immer mehr daran an, dass Entwickler ihre KIs trainieren können. Dazu gibt es spannende Veröffentlichungen insbesondere von der Arbeitsgruppe der Game AI Research Group der Uni London. Diese hat ein allgemeines Framework für Strategiespiele entwickelt:
Paper: https://arxiv.org/pdf/2009.05643
Framework download: https://github.research.its.qmul.ac.uk/ ... i/Stratega
Raptor 2101 hat geschrieben: 17. Jun 2021, 11:33
chrisinger hat geschrieben: 17. Jun 2021, 10:48 Einsatz von KI in KFZs...
Ich denke beim Einsatz von KI in KFZ geht es nicht um "Ob" sondern nur um das "Wann". Solange die Versicherungskosten geringer sind als die Personalkosten der menschlichen Fahrer wird das gemacht.

Interessant wird dann, was passiert wenn eine diese KIs auf Menschen treffen, die sich bewusst "nicht kooperativ" oder gar "aggressiv Feindlich" verhalten. (Ein Schild so manipulieren dass die KI statt "Stop" ein "Max 100" erkennt).
Es gibt dazu einige Arbeiten, die sich mit 'adversarial examples' beschäftigen, also Beispielen, die einen Algorithmus in die Irre führen.
Zum Beispiel hier https://arxiv.org/pdf/1907.00374
Ja, das ist möglicherweise ein Problem - allerdings tritt es in der Praxis gar nicht oder nur extrem selten auf. Immerhin scannt ein Fahrzeug ja nicht nur einmal, sondern hunderte Male ein Bild während es an einem Schild vorbei fährt. Auch wenn die Erkennung auf einem, zwei, oder fünf Bildern falsch ist würde das Auto dadurch ja nicht die anderen 95 Bilder ignorieren.
Hier ein Paper dazu: https://arxiv.org/pdf/1710.03337
Raptor 2101
Beiträge: 1227
Registriert: 22. Mai 2016, 19:50

Re: Runde #316: Künstliche Intelligenz

Beitrag von Raptor 2101 »

chrisinger hat geschrieben: 24. Jun 2021, 10:21 Das war meine persönliche Einschätzung. Es ist extrem schwierig den 'Stand der Wissenschaft' da zusammenzufassen, da ich ja allgemein über 'ein Spiel' geschrieben hatte. Und es ist natürlich eine Frage des Aufwandes, den man da rein stecken möchte. Willst Du alleine daran arbeiten und auf Deiner eignen Grafikkarte zuhause die Berechnungen durchführen? Oder gibst Du den Auftrag weiter an ein Team von DeepMind, das schon Erfahrung hat und Zugriff auf tausende (speziell von Google entwickelte) tensor processing units (TPUs)? Meine Aussage bezog sich eher der Fall zwei - ich halte es für technisch möglich.
In der Spieleentwicklung hat man dazu aber noch nicht die richtigen Mittel. Insbesondere wegen der im Podcast genannten Schwierigkeiten:
1) Spiele ändern sich: Während Schach oder Go feste Regeln haben ändern sich Spiele ja während der Entwicklung und während des Balancings. Je nachdem wie groß die Änderungen sind muss man sein Modell dann teilweise oder nochmal ganz neu trainieren.
2) Manpower: Die Aussage 'DeepMind hat Go gelöst' klingt als sei das einfach gewesen und ignoriert die vielen schlauen Leute, die mit langer Arbeit dazu beigetragen haben. In der Spielebranche hat normalerweise eben nicht 50 Leute herumsitzen, die an der KI für das aktuelle Spiel arbeiten könnten.
3) Rechenpower: Es wird oft unterschätzt wie viel Rechenarbeit es ist ein Modell zu trainieren. Ich habe vor einigen Jahren eine KI für Doppelkopf auf DeepLearning-basis und meiner Nvidia1080 trainiert - es hat mehrere Wochen gedauert. (Wochen, in denen ich nicht zocken konnte!)
Die Publikation dazu gibt es hier: https://ieeexplore.ieee.org/abstract/document/8285181

Ein eher technisches Problem ist die Frage, was die KI als Input bekommt: Bekommt sie nur die Ausgabe des Renderers, also genau wie ein Mensch ein Bild, oder die im Spiel intern verwendeten Werte (wie z.B. den Agressionswert von Ghandi) direkt? Weil das Bild erst dekodiert werden muss ist das die deutlich langsamere Variante des Trainings. Wenn man aber die Werte direkt verwenden möchte muss man sie aus dem Code des aktuell laufenden Spiels auslesen. Wenn man auf den Quellcode Zugriff hat kann man dort das Auslesen recht einfach einbauen und so eine Schnittstelle schaffen zwischen dem Spiel und der zu trainierenden KI. Ohne Quellcode kann man es praktisch vergessen.

Wir nähern uns aber immer mehr daran an, dass Entwickler ihre KIs trainieren können. Dazu gibt es spannende Veröffentlichungen insbesondere von der Arbeitsgruppe der Game AI Research Group der Uni London. Diese hat ein allgemeines Framework für Strategiespiele entwickelt:
Paper: https://arxiv.org/pdf/2009.05643
Framework download: https://github.research.its.qmul.ac.uk/ ... i/Stratega
Erstmal danke für diese ausführliche Antwort. Eine Frage hätte ich noch: Das eine KI neu trainiert werden muss, wenn sich die Regeln des Spiels ändern ist klar. Die letzten stände die ich gesehen habe, haben die aktuellen DL-KIs aber auch Probleme wenn sich "die Karte" ändert. Jetzt kann man diskutieren ob der wechsel von einer 3 Lane Karte auf eine 5 Lane Karte nicht auch unter "Regelwechsel" fällt ... aber ernüchternd fand ich den umstand schon. Gerade bei den "Autorennspielen" hab ich es so verstanden, dass man eine KI trainieren konnte, die es auf einem Track mit den besten Playern aufnehmen konnte (also ins obere drittel kommt, von GO-artiger Dominanz war das noch weit weg). Sobald aber die Track geändert wurde, ging das Training von vorne los ... ist es in diesem Umfeld mittlerweile zu Vortschritten gekommen?


chrisinger hat geschrieben: 24. Jun 2021, 10:21 Es gibt dazu einige Arbeiten, die sich mit 'adversarial examples' beschäftigen, also Beispielen, die einen Algorithmus in die Irre führen.
Zum Beispiel hier https://arxiv.org/pdf/1907.00374
Ja, das ist möglicherweise ein Problem - allerdings tritt es in der Praxis gar nicht oder nur extrem selten auf. Immerhin scannt ein Fahrzeug ja nicht nur einmal, sondern hunderte Male ein Bild während es an einem Schild vorbei fährt. Auch wenn die Erkennung auf einem, zwei, oder fünf Bildern falsch ist würde das Auto dadurch ja nicht die anderen 95 Bilder ignorieren.
Hier ein Paper dazu: https://arxiv.org/pdf/1710.03337
Noch tritt das Problem selten auf. Bisher machen sich nur wenige Leute die Mühe die DL-Netzwerke zu disassemblieren und dieses Wissen zu ihrem vorteil (muss ja nicht gleich Kriminell sein) zu nutzen. Sobald sich aber lukrative Möglichkeiten ergeben, werden diese Konstrukte "zerforscht" und exploited. Schon bei der Bilderkennung "hofft" man darauf, dass die KI in der Mehrheit die "Obstruction" übersieht und das richtige Bild erkennt. Die FaceRecognition KI von 2016 konnte man stabil mit einer "Muster"-Brille dazu bringen, das eine andere Person erkannt wurde.

Und bevor du jetzt auf das konkrete Problem eingehst - ich will auf den Grundproblem hinaus: Sobald die KI in der breite (Wirtschaft) angekommen ist, wird es nur Geld dafür geben ein DL Netzwerk zu trainieren, keiner bezahlt die CS/KI-ler dafür, das eben trainierte Netzwerk in FTE-Jahren zu disassemblieren und zu verstehen: ergo schieben wir Code in den Markt von dem keine so ganz genau weiß, was der eigentlich macht. Und die Leute die Arbeit investieren, sich das mal genauer anzuschauen, haben dann Spaß :ugly:
chrisinger
Beiträge: 31
Registriert: 29. Jul 2017, 10:51

Re: Runde #316: Künstliche Intelligenz

Beitrag von chrisinger »

Raptor 2101 hat geschrieben: 24. Jun 2021, 11:00 Eine Frage hätte ich noch: Das eine KI neu trainiert werden muss, wenn sich die Regeln des Spiels ändern ist klar. Die letzten stände die ich gesehen habe, haben die aktuellen DL-KIs aber auch Probleme wenn sich "die Karte" ändert. Jetzt kann man diskutieren ob der wechsel von einer 3 Lane Karte auf eine 5 Lane Karte nicht auch unter "Regelwechsel" fällt ... aber ernüchternd fand ich den umstand schon. Gerade bei den "Autorennspielen" hab ich es so verstanden, dass man eine KI trainieren konnte, die es auf einem Track mit den besten Playern aufnehmen konnte (also ins obere drittel kommt, von GO-artiger Dominanz war das noch weit weg). Sobald aber die Track geändert wurde, ging das Training von vorne los ... ist es in diesem Umfeld mittlerweile zu Vortschritten gekommen?
Das Problem, was Du umschreibst ist die menschliche Fähigkeit zu abstrahieren und zu generalisieren - das ist eines der grundlegenden Probleme mit KI. Wenn wir auf drei verschiedenen Strecken auf der Start/Zielgeraden lernen, dass Vollgas geben gut ist, werden wir es wahrscheinlich bei der nächsten (unbekannten) Strecke erstmal genau so machen. Die KI lernt mehr im Sinne von auswendig lernen. Dabei werden also einzelne Situationen, oder einzelne Bilder als Eingabe verwendet und die Ausgabereaktion (Gasgeben, Lenken, Bremsen, etc.) wird trainiert. Es wird immer wieder versucht die KI dazu zu 'zwingen' zu generalisieren, zum Beispiel indem man ihr nach dem ersten Training Stück für Stück Speicherplatz wegnimmt und dabei weiter trainiert, so dass sie sich weniger Situationen auswendig merken kann. Ich weiß von keinen großen Fortschritten in dem Bereich.

Die von Dir beschriebene KI, die auf alten Karten trainiert wurde und auf neuen Karten getestet wird wendet eigentlich nur so gut wie möglich ihr auswendig gelerntes Wissen von den alten Karten an so gut es eben geht.
Das kann man prinzipiell durch mehr Trainingsdaten lösen: Hätte man die Möglichkeit selbst frei Karten zu bauen (z.b. wie in Stunts 4D Sports Driving) dann könnte man darauf viele möglichen Situationen trainieren. Weil die KI so viele Situationen kennen muss, wird sie dann auf einer neuen Strecke deutlich besser abschneiden. Es wäre vielleicht wirklich mal spannend in Stunts KIs zu trainieren und den Effekt zu messen.
Raptor 2101 hat geschrieben: 24. Jun 2021, 11:00
chrisinger hat geschrieben: 24. Jun 2021, 10:21 Es gibt dazu einige Arbeiten, die sich mit 'adversarial examples' beschäftigen, also Beispielen, die einen Algorithmus in die Irre führen.
Zum Beispiel hier https://arxiv.org/pdf/1907.00374
Ja, das ist möglicherweise ein Problem - allerdings tritt es in der Praxis gar nicht oder nur extrem selten auf. Immerhin scannt ein Fahrzeug ja nicht nur einmal, sondern hunderte Male ein Bild während es an einem Schild vorbei fährt. Auch wenn die Erkennung auf einem, zwei, oder fünf Bildern falsch ist würde das Auto dadurch ja nicht die anderen 95 Bilder ignorieren.
Hier ein Paper dazu: https://arxiv.org/pdf/1710.03337
Noch tritt das Problem selten auf. Bisher machen sich nur wenige Leute die Mühe die DL-Netzwerke zu disassemblieren und dieses Wissen zu ihrem vorteil (muss ja nicht gleich Kriminell sein) zu nutzen. Sobald sich aber lukrative Möglichkeiten ergeben, werden diese Konstrukte "zerforscht" und exploited. Schon bei der Bilderkennung "hofft" man darauf, dass die KI in der Mehrheit die "Obstruction" übersieht und das richtige Bild erkennt. Die FaceRecognition KI von 2016 konnte man stabil mit einer "Muster"-Brille dazu bringen, das eine andere Person erkannt wurde.
Das ist wieder ein grundlegendes (ähnliches) Problem mit KI. Sie lernen durch ihren Trainingsdaten, aber nicht darüber hinaus. Und sie werden auch normal nicht daraufhin trainiert blödsinnige Eingaben (z.B. ein Bild mit nur 'Rauschen') als solche zu erkennen. Sie werden nur auf Beispielen für die geplanten Klassen trainiert und können dann am Ende auch nur das. Wenn man in den Trainingsdaten nur Menschen ohne Maske hatte, dann kann das Modell nur Menschen ohne Maske gut erkennen und versucht sonst so gut wie möglich zu raten. Analog: Wenn man z.B. nur auf Bildern von dunkelhäutigen Menschen trainiert, dann wird es für hellhäutige Menschen vermutlich auch schlecht abschneiden.

In einer Arbeit wurde versucht auf Bildern zu erkennen, ob sich darauf ein Tier befindet, oder nicht. Und schon ein ziemlich einfaches Modell lag in mehr als 90% der Fälle richtig. 50% richtig würde man mit zufälligem Raten erwarten. Wenn man sich überlegt: Auf dem Bild soll irgendwo, in irgendeine Richtung gedreht, irgendein Tier zu sehen sein - das ist doch gar nicht so leicht, oder? Deshalb waren die 90% zu gut um plausibel zu sein und man hat sich das Modell genauer angeschaut. Dabei hat man herausgefunden, dass das Modell besonders auf die Ecken des Bildes achtet, was ja überhaupt keinen Sinn ergibt, denn das Tier wäre ja mit hoher Wahrscheinlichkeit in der Mitte des Bildes. Aber diese Information hat geholden herauszufinden was das Modell wirklich gelernt hat, nämlich den Kamerafokus zu erkennen. Wenn die Ecken scharf waren, dann handelte es sich um ein Landschaftsbild und die Vorhersage war 'kein Tier'. Wenn die Ecken unscharf waren, dann war es kein Landschaftbild und deshalb war mit hoher Wahrscheinlichkeit irgendwo ein Tier. Der eigentliche Fehler dabei war über Google Trainingsdaten zu suchen indem man über die Bildersuche nach 'Landschaft' sucht für die eine Klasse, und nach 'Hund', 'Katze', oder 'Maus' für die andere Klasse. Man hätte alle möglichen Bilder z.B. auch gezeichnete, oder z.B. auch Fotos von Menschen, Bilder von Rauschen, etc.
Raptor 2101 hat geschrieben: 24. Jun 2021, 11:00 Und bevor du jetzt auf das konkrete Problem eingehst - ich will auf den Grundproblem hinaus: Sobald die KI in der breite (Wirtschaft) angekommen ist, wird es nur Geld dafür geben ein DL Netzwerk zu trainieren, keiner bezahlt die CS/KI-ler dafür, das eben trainierte Netzwerk in FTE-Jahren zu disassemblieren und zu verstehen: ergo schieben wir Code in den Markt von dem keine so ganz genau weiß, was der eigentlich macht. Und die Leute die Arbeit investieren, sich das mal genauer anzuschauen, haben dann Spaß :ugly:
Deswegen bin ich Freund von KI in der Automatisierung bei nicht-kritischen Systemen. Wenn mein schriftlich eingereichter Antrag automatisch gescannt und von der Ki genehmigt werden kann, dann hilft das und spart Zeit und Geld. Wenn er von der KI abgelehnt wird, dann am Besten mit Weiterreichen an einen menschlichen Bearbeiter - der hat dann vielleicht nur noch 20% der Arbeit.
Bei kritischen Systemen sollte sowieso wenn möglich immer ein Mensch darüber schauen. Und ich hoffe, dass es nicht so weit kommt, dass irgendwer irgendwo eine unausgereifte KI einsetzt, und wir versuchen müssen uns an die KI anzupassen, statt die KI an uns.
Otis
Beiträge: 1290
Registriert: 23. Mai 2021, 19:30

Re: Runde #316: Künstliche Intelligenz

Beitrag von Otis »

Derweil: Gan Theft Auto.

(Kann man Videos hier nicht direkt einbinden?)
Antworten