18. Deutsche ORACLE-Anwenderkonferenz

Donnerstag, 10. November 2005 15h00, Variohalle 2

Intelligenz in Datenbanken? Dr. Stefan Freundt Star512 Datenbank GmbH, D-85614 Kirchseeon b. München

Schlüsselworte: Datenbank, Neuronales Netz, evidentes Wissen, Intelligenz, Vorhersagen, maschinelles Lernen, unit of intelligence 1 Einleitung: Alle Definitionen von Intelligenz und intelligentem Verhalten vermeiden Quantifizierungen. Sie lassen auch die Frage offen, warum heutige Schachprogramme zwar sehr sehr gut Schach spielen können, aber nur ungern als intelligent bezeichnet werden. Ausgehend von einigen einfachen Fragen werden wir eine Definition von Wissen und Intelligenz vorstellen, die Quantifizierungen zulässt. Auf dieser Grundlage wurde von uns ein Programm entwickelt, das Zeit seines "Lebens" lernfähig ist. Alles neu erlangte Wissen wird dabei in einer Datenbank gespeichert.

Im Januar 2005 stelle sich die Nationalmannschaft Indonesiens den 4 Schachprogrammen Junior 8, Shredder 8, Fritz 8 und Chessmaster 9000. Jeder Mensch spielte gegen jedes Programm. Das Match ging 14,5 zu 1,5 aus – für die "Dosen". Diese gaben nur 3 Remis ab; Fritz 8 gewann sogar alle 4 Partien. Obwohl alle Programme auf heutiger Hardware überlegen spielten, wehren wir uns dagegen sie als intelligent zu bezeichnen. Warum?! (siehe http://www.chessbase.de/nachrichten) 3 Definitionen von Intelligenz – Stand der Technik 3.1 Definitionen Sehen wir uns einige Definitionen von Intelligenz an: Wikipedia Intelligenz (lat.: intelligentia = Einsicht, Erkenntnisvermögen) ist ein vielschichtiger Begriff in mehreren Fach- und Wissensgebieten (siehe unten). Allen Definitionen von Intelligenz ist gemeinsam, dass sie einen Bezug zu Verstehen, Denken und Begreifen haben, also in irgendeiner Weise mit Geist, Verstand und Funktionen des Gehirns in Zusammenhang stehen. de.wikipedia.org /wiki/Intelligenz oder "Intelligenz ist das, was der Intelligenz-Test misst" – so die Definition von Isaac Asimov. oder Brockhaus: erkennen, verstehen, zwischen etwas wählen ... die sich als Fähigkeit äußert, anschauliche sowie abstrakte Beziehungen zu erfassen, herzustellen und zu deuten und dadurch sich an neuartige Situationen anzupassen und sie ggf. durch problemlösendes Verhalten zu bewältigen... W. Stern Intelligenz als allgemeine geistige Anpassungsfähigkeit an neue Aufgaben und Bedingungen des Lebens P. R. Hofstätter Intelligenz kann als Fähigkeit zum Auffinden von Ordnungen und Regelhaftigkeiten im Zusammentreffen, Nebeneinander und Nacheinander von Ereignissen verstanden werden

Business Intelligence

2 Motivation

4 Kritikpunkte 4.1 Schachprogramm Mit allen obigen Definitionen lässt sich schwer entscheiden, ob ein Schachprogramm intelligent ist. Oder warum es nicht intelligent ist. Nach ersterer Definition tendiert man zu NEIN, nach der zweiten kann man bei einem entsprechenden Test ein JA fordern. Und schon gar nicht lässt sich sagen, wie intelligent es ist. Es sind keine Quantifizierungen möglich. 4.2 Komplexe Begriffe Wenn Intelligenz mit "verstehen" erklärt wird ist man schnell dabei "verstehen" und "Verständnis" zu hinterfragen. Das Gleiche gilt für "Denken" und "Erkenntnis". 4.3 Kein Maß Es gibt keine Maßeinheit für die Intelligenz. Es nach obigen Definitionen unmöglich die Intelligenz eines Durchschnittsmenschen mit der einer Katze oder mit der einer Firma oder mit der der biologischen Evolution zu vergleichen. (Organismen und Firmen sind in Grenzen in der Lage sich an neue Bedingungen des Lebens anzupassen.) 5 Fragen und Antworten Um unseren Begriff von Intelligenz plausibel zu machen, möchten wir einige Fragen stellen. Alle Fragen können aus dem „Bauch heraus“ beantwortet werden. 5.1 Frage Frage: Wie wird der Buchstabe „B“ ausgesprochen? Antwort: Die Aussprache hängt von der Umwelt ab! "B" kann wie "Bee" oder wie "Wee" ausgesprochen werden. Das richtige (evidente = fallspezifische) Wissen hängt somit von der Umwelt ab. Allein die Umwelt beurteilt die Richtigkeit einer Reaktion. 5.2 Frage Stellen Sie sich ein Programm vor, das Quadrat-Wurzeln berechnet. Frage: Nimmt das Wissen zu? Antwort: NEIN, der Algorithmus kann ja schon alles, sein Wissen ist vollständig, es nimmt nicht weiter zu. Frage: Wie intelligent ist es? Antwort: Ein Programm, das Quadratwurzeln berechnet wird wohl niemand als intelligent bezeichnen. Im Umkehrschluss sind dann nur Programme intelligent, die ihr Wissen vermehren können. 5.3 Frage Stellen Sie sich einen Schüler der zweiten Klasse vor, der gerade "das kleine 1x1" lernt. Stellen Sie sich den Schüler Anfang September und Mitte Mai vor. Frage: Hat sein Wissen zugenommen?? Antwort: JA. Frage: Hat auch seine Intelligenz zugenommen?? Antwort: Schwer zu sagen. Wenn man die zweite Frage mit NEIN beantwortet, so ist die Intelligenz eines Schülers für kleine Zeitintervalle eine Konstante und für große Zeitspannen eine offene Frage. Die Intelligenz des Schülers ist unabhängig von seiner Umwelt, sie ist eine Eigenschaft des Schülers selbst. 5.4 Frage Stellen Sie sich zwei Schüler der zweiten Klasse vor. Schüler A kann das "kleine 1x1" bereits im Oktober, Schüler B kann das "kleine 1x1" erst im Januar. Frage: Wer ist intelligenter? Antwort: Sicherlich A – zumindest in Bezug auf "das kleine 1x1". 6 Schlussfolgerungen Wissen und Intelligenz sind zweierlei. Wissen: Wissen ist eine Eigenschaft des Systems und der Umwelt (Aussprache des Buchstaben "B") Jemand/etwas kann sehr viel wissen, muss aber keineswegs intelligent sein (Wurzelprogramm). Nimmt

18. Deutsche ORACLE-Anwenderkonferenz

das Wissen zu, wird dies allgemein als Lernen bezeichnet, nimmt es ab, vergessen wir. Lernen passiert in Schritten, diese können nicht beliebig groß sein. Intelligenz Intelligenz ist eine Eigenschaft des Systems. Ist das System unfähig neues Wissen zu erlangen, dann ist seine Intelligenz gleich Null (Programme und Algorithmen). Die Intelligenz ist zeitunabhängig, sofern die Struktur des Systems erhalten bleibt. Der Schüler, der am Wochenende zu Hause bleibt, hat eine quasi konstante Struktur und ist am Montag genauso intelligent, wie am Freitag. Wissen nimmt mit jedem "neue Aufgabe – Lösung – Bewertung – Schleife" zu (Try and Error). Stellt die Umwelt nur bekannte Aufgaben, lernt das System für diese Aufgaben eine zeitliche Unabhängigkeit. Das Wissen bleibt konstant; die Intelligenz des Systems wird nicht genutzt.

A L dt 욼We



Abb. 2: Kurve optimaler Lösungen

= unbekannte Aufgaben und Bewertungen der Umwelt in 1/s = Lösungen des Systems in 1/s = Differentialoperator = Änderung des evidenten Wissens (fallspezifisches Wissen) = Integral

Evidentes Wissen = Anzahl von Lösungen zu Aufgaben. Theoretisches Wissen = Extrapolation und Interpolation des evidenten Wissens. Grenzfälle: „langweilige Umgebung“ und "aktive Umgebung"

Die langweilige Umgebung stellt keine neuen Aufgaben, während die aktive ständig neue Aufgaben stellt. Wenn die Umwelt keine Aufgaben stellt und bewertet, lernt das System nichts. Im Grenzfall „aktive Umgebung“ hängt das gesammelte Wissen nur vom System ab. Analoge Ergebnisse erhält man bei sehr aktiven und sehr trägen Systemen. Bei sehr aktiven Systemen steigt das evidente Wissen (bei L = konst.) linear mit der Zeit, während ein sehr träges System nichts lernt. Ein System ist nach unserer Auffassung intelligent, wenn es Wissen ansammeln kann. Ein Maß für das angesammelte Wissen ist die Fläche zwischen den Kurven minimaler und maximaler Lösungen (siehe Abb. 2). Wobei das Wissen umso größer ist, je kleiner die Fläche zwischen beiden Kurven ist. Intelligenz ist dann die Änderung des Wissens pro Zeit bzw. deren Ableitung.

Wobei I die Intelligenz des Systems und F die Fläche zwischen beiden Kurven ist. Angenommen ein System reduziert nach der Zeit Δt die Fläche um den Faktor e, so erhält man:

Business Intelligence

Abb. 1: System und Umwelt

Ein solches System hätte eine konstante Intelligenz. Ein System, das die Fläche überhaupt nicht reduziert hätte keine Wissensänderung und keine Intelligenz. 7 Vergleich mit wissensbasierten Systemen und neuronalen Netzen Bei wissensbasierten Systemen wird eine Wissensbasis mit Regeln bearbeitet, um neues Wissen zu erzeugen. Sowohl Wissensbasis, als auch die Verarbeitungsregeln sind zu programmieren bzw. "von Hand" einzupflegen. Die Abbildung 3 zeigt den schematischen Aufbau eines wissensbasierten Systems. Dieses hat nur Schnittstellen zu Experten und Benutzern. Neues fallspezifisches Wissen muss von diesen eingegeben werden.

Abb. 3: Schematischer Aufbau wissensbasierter Systeme aus C. Beierle: Methoden wissensbasierter Systeme

Abb. 4: Wissenszunahme bei Neuronalen Netzen.

Eine andere Möglichkeit intelligentes Verhalten zu simulieren sind neuronale Netze. Mit diesen werden seit vielen Jahren Kategorisierungsaufgaben gelöst. Bauteile werden nach "gut" und "fehlerhaft" kategorisiert, handgeschriebene Buchstaben dem Alphabet zugeordnet und vieles mehr. Bei der Verwendung eines neuronalen Netzwerkes kann man eine Trainings- und eine Testphase unterscheiden. In der Trainingsphase wird das neuronale Netz mit bekannten Mustern trainiert und die Gewichte zwischen den Knoten ermittelt. In der Arbeitsphase sind die Gewichte konstant. Es gibt keine Änderungen mehr. In der Trainingsphase nimmt somit das Wissen zu, das Netz zeigt intelligentes Verhalten, in der Arbeitsphase ist es konstant, der Wissenszuwachs des Netzwerkes fällt auf 0 zurück. ABER: Die Anzahl der Knoten und die Struktur der Knoten untereinander sind vom Himmel gefallen. Es gibt keinen allgemeinen Beweis, dass eine bestimmte Aufgabe von einer bestimmten Struktur gelöst wird. Es gibt eine doppelte Rückkoppelung: Außer der Bestimmung der Gewichte zwischen den Knoten, wählt der Entwickler eine bestimmte Netzwerkstruktur aus. In dieser zweiten Rückkoppelungsschleife entscheidet der Entwickler, welche Netzstruktur die beste ist. Der Entwickler misst, bei welcher Struktur die meisten Muster in der Testphase richtig erkannt werden. Das heißt, sein Wissen nimmt zu, er ist intelligent. Dieses Wissen steckt nicht in der zum Schluss ausgewählten Struktur, sondern im Entwickler. 8 Programm Wir haben uns für ein neuronales Netz entschieden, das in der Lage ist Zeit seines Lebens Knoten einzufügen und zu löschen. Damit kann das Netz sich Zeit seines Lebens seiner Umgebung anpassen. Weiterhin wurde die Aufgabe einer Kategorisierung in eine Vorhersage abgeändert. Damit bewertet die Umwelt automatisch die Güte der Vorhersage und das System kann sein Wissen ständig vermehren. Unsere simulierte Umwelt schickt Signale in das Netz und dieses hat die Aufgabe, das nächste Signal vorherzusagen. Ist die Vorhersage richtig, gibt es eine positive Bewertung, ist sie falsch gibt es eine negative Bewertung. Zur Zeit rechnen wir mit ca. 1000 bis 10000 Knoten. Ziel ist es mit 1 Mio. Knoten zu rechnen. Da pro Knoten ca. 100-200 Byte gespeichert werden, ist eine Datenbank hier das Mittel der Wahl zur Speicherung. Das Netz wurde jetzt mit verschiedenen Aufgaben traktiert. Dabei schickt ein Generator Signale in das Netz, das Netz berechnet eine Vorhersage und der Generator schickt darauf hin das nächste Signal. Jetzt kann das Netz eine Bewertung seiner Vorhersage vornehmen und seine Struktur ändern.

18. Deutsche ORACLE-Anwenderkonferenz

Abb. 5: Programm/Netzaufbau

9 Ergebnisse

Business Intelligence

Im Folgenden werden die verschiedensten Aufgaben erläutert und grafisch dargestellt. In den Grafiken entspricht der x-Achse immer die Zeit und jeder Punkt auf der x-Achse entspricht einer Aufgabe-LösungsSchleife. Das Netz wurde mit verschiedenen Aufgaben konfrontiert. Als ersts wurde überprüft, ob das Netz eine Konstant (C=1,999999) erkennt. Dies ist zweifelsfrei der Fall (Abb. 4). Dann wurde getestet, ob das Netz verschiedene einfache Bitmuster wie 200200200... erkennt (Abb. 5). Auch diese Aufgabe wurde gelöst. Dann wurde eine Stufenfunktion eingegeben: 1234...4321...(Abb. 6). Das Muster wurde erkannt, allerdings zeigt das Netz hier einige "Blackouts". Das gleiche trifft auch auf den Sinus mit kurzer (Abb. 7) und mit langer (Abb. 8) Periode zu.

Abb. 6: Vorhersage einer Konstanten

Abb. 7: Vorhersage von Bitmustern.

Abb.9: Vorhersage eines Sinus mit kurzer Periode.

Abb. 8: Treppe auf und ab

Abb. 10: Vorhersage eines Sinus mit langer Periode.

Am interessantesten ist das Leader-Lemming Szenario. Hier wurde ein "Leader"-Signal von Schritt zu Schritt zufällig geändert. Der Lemming startet zwar mit einem anderen Signal, führt aber zeitverzögert die gleichen Signaländerungen durch. Alle Änderungen die der Leader mit seinem Signal durchläuft, führt der Lemming zeitverzögert auch durch. Ergebnis: Die Vorhersage des Lemmings ist wesentlich besser, als die des Leaders, aber auch noch verbesserungswürdig.

Abb. 11: Leader – Lemming – Szenario

10 Zusammenfassung Es ist sinnvoll zwischen Wissen und Intelligenz zu unterscheiden. Es wurde ein Ansatz gefunden Wissen und Intelligenz zu quantifizieren. Das dazu gehörige Programm ist in der Lage die verschiedensten Aufgaben zu lösen, zeigt aber auch nach langen Trainings zu einigen Zeiten "Blackouts". Unsere Verbesserungen konzentrieren sich zur Zeit auf diesen Punkt. 11 Literatur S. Gallant: Connectionist expert system. Communication of the ACM, Feb. 1988 Vol 31 No 2 M. Marchand et al: A Convergence Theorem for Sequential Learning in Two Layer Perceptrons Europhysics Lett. Dec. 1980 J. Sirat: Neural Trees: a new tool for classification Network 1 (1990) P 423-438 V. Vinod: Growing nonuniform feedforward networks for continuous mappings. Neurocomputing 10 (1996) 55-69 S. Russel, P. Norvig: Artificial Intelligence. Pearson Education ISBN 0-13-080302-2 A. Cawsey: Künstliche Intelligenz. Pearson Studium ISBN 3-8273-7068-X Wagner: Theoretische Informatik. Springer Verlag ISBN 3-540-01313-X C. Beierle, G. Kern-Isberner: Methoden wissensbasierter Systeme Vieweg Verlag ISBN 3-528-15723-2 G.Vossen, K.Witt: Grundkurs Theoretische Informatik. Vieweg Verlag ISBN 3-528-23147-5 Kontaktadresse: Dr. Stefan Freundt Star512 Datenbank GmbH Kirchseeoner Weg 45 D-85614 Kirchseeon bei München Telefon: Fax: E-Mail Internet:

+49(0)8091-561540 +49(0)8091-561541 [email protected] www.star512.de