Kann eine selbstlernende universelle KI wie z.B. Google's DeepMind mehrere Sachen lernen?



  • Also kann die gleiche "neuronale Touringmaschinen" Instanz sowohl sich auf das Spielen von Go, als auch auf das Laufen auf zwei Beinen oder das Jonglieren von Bällen und noch vieles mehr einlernen und das je nach Bedarf dann anwenden, manches vielleicht auch gleichzeitig, also z.b. Laufen und Jonglieren oder ist die KI noch so weit?

    Ist sie also noch weiterhin ein Spezialist, der nur eines lernen kann, obwohl der Algorithmus an sich sich universell einsetzen lässt?

    Ich denke da z.b. an das neuronale Netz so einer Maschine, die Neuronen feuern ja entsprechend und dann wird das bei der gleichen Anwendung immer besser.
    Aber was passiert nun, wenn sich die Anwendung von Go Spielen auf Fahrrad fahren plötzlich ändert?
    Muss dann das erlernte verworfen werden oder kann es später wieder abgerufen werden, wenn man vom Fahrrad fahren wieder auf Go spielen wechselt?



  • Ist niemand in dem Thema drin und kann dazu etwas sagen?



  • Konkret erstmal NEIN.
    Alle deine Beispiele sind spezielle KIs die auf ihre entsprechenden Aufgaben zugeschnitten wurden.
    Und dabei (nehm ich an) geht es nicht nur um die Lernphase eines Netzes, sondern schon der Aufbau des Netzes an sich wird dem Problem angepasst.

    Artikel zum de-hypen:
    https://www.techopedia.com/will-the-real-ai-please-stand-up/2/32964

    Das schliesst natürlich nicht aus das in (ferner?) Zukunft und *im Prinzip* eine KI hinreichend allgemein gebaut werden kann um sich in mehrere Sachen einzulernen.



  • Das ist eher ein Schnittstellenproblem. Die gängigen Ansätze gehen von einem Input und Output mit jeweils fester Form aus.

    Beim Go-Spiel wird der Input wahrscheinlich der aktuelle Zustand des Go-Bretts sein und möglicherweise einige weitere Informationen. Der Output könnte der direkt der nächste Spielzug sein oder sonstige Informationen, das ein weiteres System dann auswerten kann, um den nächsten Spielzug zu bestimmen.

    Wenn du dem System außerdem noch Jonglieren beibringen willst, wirst du vermutlich merken, dass der dafür benötigte Input sich eher schlecht in Brettform pressen lässt.
    Du musst also Input und Output erweitern. Das macht die Sache unnötig kompliziert, verlängert die zum Teil schon horrenden Trainingszeiten weiter und du verspielst die Möglichkeit, Typ und Struktur deines Netzes auf das jeweilige Problem zu optimieren.
    Und vor allem: es bringt dir nichts. Wenn es keine Ähnlichkeiten zwischen zwei Problemen gibt, entfällt auch jeder Grund, ein einziges NN auf beide Probleme trainieren zu wollen.


  • Mod

    wüstenmensch schrieb:

    Das ist eher ein Schnittstellenproblem. Die gängigen Ansätze gehen von einem Input und Output mit jeweils fester Form aus.

    Beim Go-Spiel wird der Input wahrscheinlich der aktuelle Zustand des Go-Bretts sein und möglicherweise einige weitere Informationen. Der Output könnte der direkt der nächste Spielzug sein oder sonstige Informationen, das ein weiteres System dann auswerten kann, um den nächsten Spielzug zu bestimmen.

    Wenn du dem System außerdem noch Jonglieren beibringen willst, wirst du vermutlich merken, dass der dafür benötigte Input sich eher schlecht in Brettform pressen lässt.
    Du musst also Input und Output erweitern. Das macht die Sache unnötig kompliziert, verlängert die zum Teil schon horrenden Trainingszeiten weiter und du verspielst die Möglichkeit, Typ und Struktur deines Netzes auf das jeweilige Problem zu optimieren.
    Und vor allem: es bringt dir nichts. Wenn es keine Ähnlichkeiten zwischen zwei Problemen gibt, entfällt auch jeder Grund, ein einziges NN auf beide Probleme trainieren zu wollen.

    Dies. Zwei Probleme gleichzeitig sind schlicht ein Problem höherer Komplexität. Es bringt bloß aus den erwähnten Gründen absolut nichts, beide Probleme zu einem zusammen zu fassen, außer man möchte massiv Rechenzeit verschwenden. Das ist nicht großartig anders als ein normales Computerprogramm, das gleichzeitig Minesweeper, als auch Videoschnittprogramm ist. Kann man beides in einem einzelnen Programm machen, aber es würde schlicht auf ein

    if(minesweeper_mode) 
      play_minesweeper();
    else
      cut_movies();
    

    in der ersten Zeile hinaus laufen, ohne gemeinsame Codeteile. Oder beim Machine Learning auf eine äquivalente Entscheidung ganz am Anfang der (selbstgelernten) Eingabeverarbeitung. Synergieeffekt 0, dafür schleppt man in beiden Fällen die ganze Zeit den Ballast vom jeweils unbenutzten Teil mit herum, selbst wenn man ihn nicht braucht.

    Damit das was bringt, müssen die Probleme irgendwie ähnlich sein. Beispielsweise könnte man die Erkennung von Ziffern ja auch als ein Gesamtproblem auffassen, das aus den Unterproblemen "Erkennung von '0'", "Erkennung von '1'", usw. zusammen gesetzt ist. Da die Probleme alle ähnlich sind und alle die gleiche Art Eingabe (meistens eine Punktraster) erwarten, bringt das durchaus etwas, Machine Learning auf alle Ziffern gleichzeitig zu machen.



  • wüstenmensch schrieb:

    Und vor allem: es bringt dir nichts. Wenn es keine Ähnlichkeiten zwischen zwei Problemen gibt, entfällt auch jeder Grund, ein einziges NN auf beide Probleme trainieren zu wollen.

    Nun, wenn man mal so etwas wie einen C3PO haben will, der
    A) laufen
    und
    😎 sich zu dir an den Tisch setzen kann, um
    C) mit dir Go zu spielen,

    dann muss die KI sehr flexibel sein.



  • scrontch schrieb:

    Alle deine Beispiele sind spezielle KIs die auf ihre entsprechenden Aufgaben zugeschnitten wurden.

    Nein, der KI Code hat sich nicht verändert, man hat ihn nur verschiedene Instanzen auf verschiedene Aufgaben trainieren lassen.

    Die wichtige Frage wäre also, könnte man eine Instanz mal auf viele verschiedene Aufgaben trainieren, so das sie diese gleichzeitig abrufen kann?

    Wüstenmensch hat es treffend formuliert, man muss den input und output erweitern, während das dazwischen vom Algorithmus her universell ist und somit gleich bleiben kann.

    Die Frage wäre hier auch, wie macht es das menschliche Gehirn?
    Benutzen wir unterschiedliche Synapsennetze für verschiedene Aufgaben?



  • KI Frage schrieb:

    Die wichtige Frage wäre also, könnte man eine Instanz mal auf viele verschiedene Aufgaben trainieren, so das sie diese gleichzeitig abrufen kann?

    Ich seh den Unterschied zwischen einer oder mehrere KI Instanzen nicht. Letztendlich sind es doch Netze, die du einfach nebeneinander/hintereinander hängen kannst.

    KI Frage schrieb:

    Wüstenmensch hat es treffend formuliert, man muss den input und output erweitern, während das dazwischen vom Algorithmus her universell ist und somit gleich bleiben kann.

    Dann braucht man aber auch noch eine universelle Lösung für das Trainieren der KI.

    KI Frage schrieb:

    Die Frage wäre hier auch, wie macht es das menschliche Gehirn?
    Benutzen wir unterschiedliche Synapsennetze für verschiedene Aufgaben?

    Ja, per EEG lässt sich messen welche Hirnregionen in welchen Situationen wie aktiv sind.

    Interessant sind da auch Studien mit Split-Brain (keine Verbindung der Gehirnhälften) Patienten. Da die Augen an je einer Gehirnhälfte hängen, das Sprachzentrum aber hauptsächlich in einer Gehirnhälfte steckt, verlieren sie je nach Auge mit dem sie einen Gegenstand sehen die Fähigkeit diesen zu benennen.



  • Tobiking2 schrieb:

    Da die Augen an je einer Gehirnhälfte hängen, [...]

    Das stimmt nicht ganz. Es sind nicht die gesamten Auge sondern die Sichtfelder (links/rechts) jedes einzelnen Auges die jeweils in verschiedene Hemispären abgebildet werden.
    https://upload.wikimedia.org/wikipedia/en/1/15/Diagram_of_lateralized_visual_pathways_of_the_human_brain.png



  • Tobiking2 schrieb:

    KI Frage schrieb:

    Die wichtige Frage wäre also, könnte man eine Instanz mal auf viele verschiedene Aufgaben trainieren, so das sie diese gleichzeitig abrufen kann?

    Ich seh den Unterschied zwischen einer oder mehrere KI Instanzen nicht. Letztendlich sind es doch Netze, die du einfach nebeneinander/hintereinander hängen kannst.

    Ja, aber nimmt man so eine Instanz, die z.B. auf Go trainiert ist und lässt sie auf etwas zusätzliches trainieren, dann müsste das bestehende Netz, dass sich da präzisiert hat, ja verändern und somit die Fähigkeit Go zu spielen eventuell verlieren.
    Oder kann sich so eine Präzisierung überlagern?

    KI Frage schrieb:

    Wüstenmensch hat es treffend formuliert, man muss den input und output erweitern, während das dazwischen vom Algorithmus her universell ist und somit gleich bleiben kann.

    Dann braucht man aber auch noch eine universelle Lösung für das Trainieren der KI.

    Laut Google trainiert die KI auf Pixel.
    D.h. die Eingabe ist universell, sofern der Input als Bildnis dargestellt werden kann.


  • Mod

    KI Frage schrieb:

    Ja, aber nimmt man so eine Instanz, die z.B. auf Go trainiert ist und lässt sie auf etwas zusätzliches trainieren, dann müsste das bestehende Netz, dass sich da präzisiert hat, ja verändern und somit die Fähigkeit Go zu spielen eventuell verlieren.
    Oder kann sich so eine Präzisierung überlagern?

    Wenn du ein und dasselbe Netz auf ein komplett anderes Ziel umtrainierst, dann wird die Qualität, mit der das Netz die alte Aufgabe erfüllen kann, sinken, ja sogar komplett verschwinden, außer es gäbe irgendwelche Synergieeffekte. Was bei komplett unterschiedlichen Aufgaben sehr unwahrscheinlich ist.

    Nur weil man nicht verstehen kann, warum genau ein neuronales Netz zu dem Ergebnis kommt, zu dem es kommt, heißt das nicht, dass da Zauberei im Spiel ist. Das kannst du durchaus mit einem von Menschen geschriebenen Computerprogramm vergleichen. Wenn du ein Programm zum Go-Spielen schreibst und dieses dann so umschreibst, dass es auch noch einen Laufroboter steuern kann, ohne den Code des Programms zu vergrößern, dann wird das Programm hinterher schlechter oder gar nicht mehr Go spielen können.


Log in to reply