Idee und Inhalt meines Buches

"Jede entsprechend weit fortgeschrittene Technologie ist von Magie nicht zu unterscheiden" (Zitat von Arthur C. Clarke)


Diese Idee hat mich nicht mehr losgelassen bis ich schließlich damit begonnen habe ein Buch darüber zu schreiben. Es geht um virtuelle Welten, die so perfekt simuliert sind, dass sie von der realen Welt nicht mehr zu unterscheiden sind. Da in der virtuellen Welt alles möglich ist, gibt es in meinem Buch sowohl Zukunftstechnologie, wie sie in Science Fiction Romanen zu finden ist, als auch typische Fantasy Elemente wie Magie, Fabelwesen und Fantasiewelten.

In meinem Blog werde ich nicht nur über den Fortschritt meines Buches berichten, sondern auch allgemein zu SciFi und Fantasy Themen.

Gerne lasse ich mich hierbei von euch inspirieren.

Wer mag, kann mich gerne direkt kontaktieren: roy.ofinnigan@t-online.de

Diesen Blog durchsuchen

Sonntag, 26. Juni 2016

"Deep Learning" - Wenn Computer halluzinieren

© Michael Tyka



Vor kurzem geisterte eine Meldung durch das Internet: „Google würde seine eigenen Algorithmen nicht mehr verstehen“.

Kaum zu glauben, oder? Wo doch Google als Meister der Algorithmen bekannt ist. Bei denen basiert alles seit jeher auf Rechenvorschriften und Formeln. Und jetzt sollen sie diese plötzlich nicht mehr verstehen? Was ist da passiert?

Ich weiß was da passiert ist. Die Computer haben die Kontrolle übernommen. Und die kochen jetzt ihre eigene Suppe. Das glaubt mir jetzt garantiert wieder keiner. Bitte beruhigt euch wieder. Und nein, ich trage keinen Aluhut.

Google ist auf „Deep Learning“ umgestiegen.

„Deep Learning“ steht für selbstlernende Programme. Sie basieren auf neuronalen Netzen. Die gibt es schon lange aber erst jetzt gibt es Hardware, die leistungsfähig genug dafür ist.

Und es gibt im Internet bzw. den sozialen Medien Millionen von frei verfügbaren Datensätzen und Bildern anhand derer die Programme selbständig lernen können. Wie das geht? Eigentlich ganz einfach. Aber – wie immer – steckt der Teufel im Detail.

Übrigens auf diese Weise hat auch das Programm, das kürzlich den besten Go Spieler der Welt besiegte, das Spiel gelernt. In dem es systematisch Bilder von Go Spielstellungen analysiert hat, brachte es sich selbst die Regeln bei und lernte Spielstrategie und Taktik.


Kein Mensch kann sagen, wie genau das Programm funktioniert und warum es wann was macht. Das Ergebnis ist beeindruckend. Das Programm hat 5:0 gegen den Südkoreaner Lee Sedol gewonnen. Er brauchte lange, um diese Niederlage zu verarbeiten.

Man könnte jetzt natürlich sagen das ist doch nicht so wichtig. Was spielt das für eine Rolle? Wer weiß heute schon genau wie ein Computer funktioniert? Oder ein Navi, Smartphone oder Toaster? Wir benutzen die Geräte und wenn sie tun was sie tun sollen interessiert sich keiner dafür wie es funktioniert.

Stimmt. Doch was, wenn Sie plötzlich keinen Kredit bekommen, weil der „Deep Learning“ Algorithmus zu dem Ergebnis kam Sie sind nicht kreditwürdig? Oder keine Krankenversicherung oder plötzlich auf der Schwarzen Liste der Terrorverdächtigen landen von der kein Mensch jemals wieder herunterkommt, weil es sie offiziell gar nicht gibt?

Wie bitte, Sie meinen Sie könnten die Bank gerichtlich zwingen Auskunft zu erteilen, warum Sie keinen Kredit bekommen? Das zu glauben wäre ganz schön naiv. Selbst wenn Sie einen Gerichtsbeschluss haben und die Kreditbewertungsfirma Ihnen helfen möchte, sie kann es nicht. Denn es ist bei einem neuronalen Netz, das mehrere hundert Schichten tief ist, so gut wie unmöglich zu sagen wie es zu einem Ergebnis kommt. Oder der Aufwand ist so groß, dass es höchsten in Einzelfällen gelingt.

Nun gut. Ich möchte diese Problematik hier nicht weiter vertiefen. Das tue ich an anderer Stelle schon zu genüge. Wer sich dafür interessiert kann ja meine Posts zum Digitalen Manifest lesen.
Hier möchte ich mich auf die Beschreibung von „Deep Learning“ konzentrieren.


Und immer wieder Katzen

Nehmen wir mal an Sie möchten einem Programm beibringen Katzen in jeder Lage und Rasse zu erkennen. Alles, was Sie tun müssen ist dem Programm zu sagen schau dir mal alle Bilder auf Facebook an. Du kannst davon ausgehen, dass auf allen Bildern wo „Katze“ draufsteht auch eine drin ist.

Das ist alles? Naja, ein bisschen mehr braucht es schon.

Zuerst einmal müssen wir die Eingabe vorverarbeiten. Bei einem Bild würde man jeden Bildpunkt einem Knoten zuordnen. Bei Schwarzweiß Bildern würde die Aktivität des Knotens dem Grauwert entsprechen.

Bei farbigen Bildern bekommt jede Farbe einen eigenen Knoten zugewiesen. Man braucht also schon für die Eingabe 3-mal mehr Knoten als das Bild Pixel hat. Mit etwas Fantasie könne man die Eingabeschicht mit der Netzhaut vergleichen.

Dahinter folgen weitere Schichten bis wir am Schluss bei der Ausgabeschicht ankommen. Jeder Knoten, der dort aktiviert wird, hat eine Bedeutung. Wenn unser neuronales Netz ausgelernt hat, wird eines davon „Katze“ bedeuten.

Wie also funktioniert das Lernen?

Jeder Knoten in einer Schicht ist mit mehreren Knoten in der Ebene darüber und darunter verbunden. Abhängig von den Eingangssignalen gibt es gewichtete Signale an die darunter liegenden Knoten weiter. Das ist im Prinzip das Gleiche wie im menschlichen Gehirn.

Signale werden immer von der Eingabeebene in Richtung Ausgabeebene weitergeleitet.
Am Anfang kann man davon ausgehen, dass das Netzwerk nur Fehler macht. Beim Lernen werden die Gewichtungen, also die Bewertung der Eingangssignale und davon Abhängig die Ausgangswerte, verändert. Das Verfahren wird „Backpropagation“ genannt. Also „Rückwärtsverbreitung“. Wie der Name schon sagt werden die Gewichtungen von der Ausgabeschicht zu den internen Knoten bis hin zurück zur Eingabeschicht verändert. Man geht dabei so vor, dass die Fehlerkorrektur in der Ausgabeschicht den maximalen Korrektureffekt zeigt.

In dem man die Gewichte verändert passt sich das Netzwerk mit der Zeit an ein spezielles Eingabemuster und damit an ein Merkmal des „gesehenen“ Objekts an. So lernt es dieses Objekt zu repräsentieren.

Interessant ist, dass beim Lernen jede Schicht sich automatisch auf eine Bilderkennungsaufgabe spezialisiert. Wie beim menschlichen Auge erkennen die Knoten (beim Menschen nennen wir sie Neuronen) direkt hinter der Eingabeschicht Ecken und Kanten, in tieferen Schichten bereits Teile einer Katze oder eines Gesichts und in der Ausgabeschicht komplette Katzen, Tiere, Gesichter, usw.
Die Komplexität nimmt also Schicht für Schicht zu.
© American Scientist

In der Praxis sehen die Artefakte für Gesichtserkennung eher so aus:

© Reolof Pieters

Und so für andere Objekte:

© Reolof Pieters



Das funktioniert oft aber nicht immer. Hier ist ein Beispiel von einem Neuronalen Netzwerk, das darauf trainiert wurde Hanteln zu erkennen:

© Google

Da sind Hanteln aber interessanterweise auch ein Arm, der die Gewichte durch die Lüfte wuchtet. Offenbar zeigen die meisten Hantelbilder auch den dazugehörigen Arm.

Um mehr über die Funktion der Netzwerke zu erfahren haben die Entwickler einzelne Schichten auf Eingangsbilder angewandt. Wie bereits erwähnt ist jede Schicht für eine andere Abstrahierungsebene des Bildes zuständig. Die Anwendung der Gewichte einer Schicht auf ein Bild führt zu überraschenden Ergebnissen:

© Michael Tyka

„Deep Dreaming“ oder „Deep Halluzination“


Je näher die Schicht der Ausgabeschicht liegt, desto komplexer werden die Artefakte. Wenn zum Beispiel eine Wolke einem Vogel ähnelt, wird das neuronale Netzwerk der Wolke einen Vogel zuordnen. Um zu solchen Bildern wie das Folgende zu gelangen muss man etwas nachhelfen und die Strukturen über Rückkopplungsschleifen verstärken. Aber die „Grundidee“ der Wolke einen Vogel zuzuordnen und wie der Vogel aussieht, stammt immer von dem neuronalen Netzwerk.

© Michael Tyka


Auf dem rechten Bild sind die Artefakte – oder sollte ich sie besser Computerhalluzinationen nennen?- nicht so gut zu erkennen. Deshalb hier ein paar Ausschnitte:


© Michael Tyka

Offenbar wurde diese Neuronale Netzwerk darauf Trainiert Tiere zu erkennen.


Die oben gezeigten Bilder benutzen ein reales Bild als Ausgangspunkt. Um noch mehr über den „Deep Learning“ Algorithmus bzw. den einzelnen Schichten zu erfahren hat man Zufallsrauschen als Ausgangspunkt genommen. Die Ergebnisse werden noch Halluzinogener. Da drängt sich bei mir schon der Verdacht auf, ob nicht irgendwo „Digital LSD“ im Spiel war:

© Michael Tyka

© Michael Tyka


Na, schon süchtig nach solchen Bildern geworden?
Hier gibt’s mehr:

Ich finde diese Bilder faszinierend. Es wird ja immer behauptet, dass künstliche Intelligenz nie an die Leistungen eines Menschen herankommen wird. Mag sein, wir werden sehen. Halluzinieren wie Menschen können Computer jedenfalls schon recht gut.

In diesem Zusammenhang würde mich interessieren welche Halluzinationen ein neuronales Netzwerk produziert, das sich auf Kreditvergabe spezialisiert hat. Vielleicht lässt sich bei der Schufa ja jemand dazu hinreißen?

Zum Schluss noch eine Frage: Wie gut funktioniert das?

Man darf die neuronalen Netzwerke nicht überschätzen. Keinesfalls erreichen sie 100% Treffergenauigkeit. Oft liegen sie in der Größenordnung von 60% bis 70%. Erstaunlich gut sind die Ergebnisse bei der Gesichtserkennung. Facebooks „Deepface“ erreicht 97,35% Trefferrate. Ein Mensch 97,53%.

Allerdings muss der schon ziemlich gut im Gesichtererkennen sein. Jemand wie ich, der an Prosopagnosie leidet, kommt da bei Weitem nicht hin.


Interessanter weise sind Graphikkarten aufgrund ihrer massiv-parallelen Rechnerarchitektur wesentlich besser geeignet für „Deep Learning“ als die CPU. Hier ein paar Links zu Nvidia:

https://devblogs.nvidia.com/parallelforall/understanding-aesthetics-deep-learning/
https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-sequence-learning/
https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/
https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-history-training/



foxload.com

Blogverzeichnis - Blog Verzeichnis bloggerei.de

Blogverzeichnis

Blog Top Liste - by TopBlogs.de







RSS Verzeichnis


Keine Kommentare:

Kommentar veröffentlichen

Virtual Space Composition

Virtual Space Composition
© Agsandrew | Dreamstime.com