Johans Antwort auf Fragen zu DeepMind

Peter T.  2014-12-03 13:09:

Hallo Johan!

Ich muss noch mal auf diesen Artikel „Deep Learning“ zurückkommen, den ich dir neulich geschickt habe. Da ist von dieser Firma DeepMind die Rede, die dieses Jahr von Google für 500 Mio. gekauft wurde. Diese Firma hat ein lernfähiges System entwickelt (basierend auf neuronalen Netzwerken), das in der Lage ist vor einem Video Game aus den 70ern (Space-Invader, u.ä.) zu sitzen und das Ganze ohne zusätzliche Programmierung nur aufgrund des Pixel Inputs zu lernen und besser zu spielen als ein Mensch.

Jetzt nur für mich zum Verstehen: können wir das auch? Oder wollen wir das irgendwann können? Oder was müsste man tun, dass wir es können?

Aber unabhängig davon ist das doch mal eine tolle Anwendung/Idee, um Außenstehende von einem an sich abstrakten general-purpose learning algorithm zu überzeugen: Du setzt die KI mit einer Kamera vor einen Computerbildschirm und das System „kapiert“ was da passiert und beweist es dir indem es irgendwann beginnt sinnvoll zu reagieren!

Cool. Oder?

Gruss

Peter

 

Johan, 3. Dezember 2014 14:32

Interessant!

Da stellen sich zunächst einige Fragen:
Ist das System von selbst darauf gekommen das Spiel zu spielen, weil es dazu Lust hatte? In diesem Fall hätten wir es tatsächlich mit einem c-System zu tun!
Oder ist es ein erweitertes NN (DeepLearning), das nicht nur Gesichter erkennen kann, sondern abstrakte Regeln.
Wenn letzteres, kann es über die Regeln hinaus, auch das ZIEL des Spieles erkennen, und wenn ja, dann ist die Frage, ob es das erkennen kann, weil es darauf trainiert ist, Ziele zu erkennen. Oder kann es die Regeln erkennen, MUSS diese aber dann auf ein bestimmtes Ziel hin anzuwenden, weil dies Teil des p-Systems ist, welches es nicht ändern kann?

Was sehen wir hier? Ein echtes c-System? Ein sehr fortschrittliches NN, das komplexe Regeln und Ziele erkennen kann und diese dann aktiv umsetzen kann? Oder ein großes und schnelles NN, das so gekoppelt ist, dass die Bewegung der Spielfiguren den (passiven) Output des NN darstellen und die Punktestellung die Evaluierung.

Noch einfacher gefragt: ist es ein passives System: erzwungener Input, erzwungene Verarbeitung, erzwungener Output oder ein aktives System, bei dem an irgendeiner Stelle der Zwang durch Freiheit ersetzt ist? Beispielsweise bei der Umkehrung von Erkennung zu Handlung.
Könnte das System z.B. versuchen nicht zu gewinnen, sondern aus Spaß versuchen, genau 3141592 Punkte zu bekommen? Denn obwohl es für uns selbstverständlich erscheint ein Spiel gewinnen zu wollen indem wir die meisten Punkte bekommen, ist dies für ein System, das nicht jahrelang dazu indoktriniert ist überhaupt nicht klar. Selbst wenn es die Regeln an sich erkennt, ist das Ziel des Spiels eine kulturelle Interpretation, keine Selbstverständlichkeit. Da stellt sich dann die neue Frage, hat das System anfänglich anderen beim Spielen zugeschaut (um auf diese Weise das Ziel zu erkennen) oder wurde es einfach nur vor den Kasten gesetzt und in irgend einer Weise angeschlossen, und musste dann rummachen, bis etwas sinnvolles im Sinne einer gegebenen Evaluierung herauskam?

c-Sys ist ein aktiv handelndes System, das du erstmal davon überzeugen musst, sich das Spiel mehr als flüchtig anzuschauen. Mit ein bisschen Glück interessiert es sich dafür und findet Spaß daran, die Regeln zu begreifen. Mit noch mehr Glück spielt es das Spiel dann ein paar mal, um zu testen wie gut es selbst ist, um sich dann nach kurzer Zeit wichtigeren Dingen des Daseins zu widmen:-)

Anfänglich kann man freilich auch c-Sys so in seiner Freiheit einschränken, dass es das Spiel spielen muss. Und wahrscheinlich werde ich anfänglich genau das tun, um verschiedene Grundfähigkeiten zu testen.

 

Peter T., 2014-12-03 17:02:

OK. Nähern wir uns mal von einer anderen Seite her an: Wenn Google so viel Geld für ein drei Jahre altes Unternehmen bezahlt, dann wissen die was was Google nicht weiß.Und Google weiß momentan wahrscheinlich mehr über KI als jeder andere in dieser Welt. Seit 2012 arbeitet z.B. auch Ray Kurzweil für Google. Und Facebook wollte den Laden auch. Also wissen die auch was was auch Facebook nicht weiß. Dadurch, dass wir wissen, dass es ein NN ist MUSS es ein sehr großes und schnelles NN sein.

Die ganzen Freiheiten, dass das System entscheiden kann, ob es Kust hat das Spiel zu spielen usw. können wir getrost vergessen. Ebenso den kulturellen Kram ev. nicht gewinnen zu wollen. Das System will maximale Punktzahl. Fertig. Wie Snowi. Und das System ist auf einfache Computerspiele (Pacman usw.) voreingestellt. Und es kann erstmal einem menschlichen Spieler zuschauen. Und es ist natürlich darauf trainiert das Ziel des Spiels zu erkennen. Oder meinst Du es gibt bei Google jemanden, der dem System von außen ansehen kann, ob es das ist oder nicht.

Oder der den Unterschied verstehen kann? Das nehmen wir alles mal so an. OK. Wo stehen wir jetzt? Kann unser System das? Oder ab welcher Version sollte es das können? Unter diesen Fähigkeiten braucht man ja jetzt nicht mehr antreten. Das gibt’s ja jetzt.

 

Johan, 3. Dezember 2014 19:09

Was die können ist ein NN skalierbar machen. Damit bekommt Google ein Werkzeug, mit dem in Daten nach sehr komplexen oder abstrakten Mustern gesucht werden kann.
In diesem Fall kann im Input von einem rauschenden, verwackelten und unscharfem Kamerabild nach abstrakten Regeln gesucht werden, die simultan in ein Spiel umgesetzt werden können. Das ist nur mit einem sehr großen NN möglich. Und große NN brauchen exponentiell steigende Trainingszeiten, es sei denn, man kann sie skalieren.
Das ist ein sehr anwendbares Programm für einen Laden der nach komplexen Einkaufsmustern sucht. Wir haben hier im Prinzip keine neuen Fähigkeiten. Flugzeuge sind Flugzeuge, alle können fliegen, die wenigsten können die Schallmauer durchbrechen. Dieses NN kann halt die Schallmauer durchbrechen. Das ist an sich ein Durchbruch, der sein Geld wert ist, für den der dieses Feature braucht – ist aber nichts grundsätzlich Neues.

c-Sys ist eine ganz andere Geschichte. Das brauche ich dir nicht zu erklären. Wenn wir zeigen, dass c-Sys etwas völlig Neues kann, dann werden die, die was von der Sache verstehen, das begreifen, auch wenn c-Sys zu dem Zeitpunkt zu langsam ist, um real time Kamerabilder zu begreifen.

Mit der V0.4 wird c-Sys eigenständig eine simulierte und extrem vereinfachte Welt erkunden und aktiv manipulieren können. Das ist etwas völlig Neues. Bereits hier werden wir, hoffentlich, zeigen können, dass Berechnungszeiten nicht exponentiell mit der Größe des Systems wachsen, sondern, wenn überhaupt, nur unwesentlich oder linear. Im besten Fall lernt das System aus früheren Erfahrungen und komplexe Erkennungsmuster können von einem größeren System schneller verstanden, Handlungsstrategien schneller entworfen werden.

Mit allen höheren Versionen wird es einfach nur immer schneller und komplexer gehen und mehr Wissen kann gespeichert werden: Parallele Berechnungen, Netzwerke, Datenbanken, vortrainierte Units, real life, real time robotics und Interaktion mit der Welt und lebenden Menschen.

Bis dahin ist es eben noch ein Stück. Aber die V0.4 zeichnet sich langsam am Horizont ab.

//Johan