Künstliche Intelligenz-Sammelsurium
Geschwurbel von Daniel Schwamm (12.06.1994 bis 01.08.1994)
Inhalt
Aufgabenbereiche der Expertensystem-Entwicklung (XPS): Das Knowledge Engineering
(KE) wird von Experten und Knowledge Engineers durchgeführt. Die Aufgabe besteht aus:
-
Wissensakquisition (WA): Diese erfolgt durch Interviews, Beobachtungen und
automatischer WA. Dieser Bereich gilt allgemein als Flaschenhals des KE.
-
Wissenspräsentation: Diese wird erreicht durch semantische Netze,
Produktionsregeln und Prädikatenlogik. Unterstützung finden die Experten und
Knowledge Engineers über Shells.
Entwicklungsprozess der XPS-Entwicklung: Hier werden zwei Verfahren unterschieden:
-
Prototyping: Dieses kommt ohne Spezifikation aus. Zeichnet sich durch
Schnelligkeit und Formalismus-Einschränkung aus.
-
Modellbasierte Ansätze: z.B. die generische Knowledge Acquisition and Documentation
Structuring Methodologie (KADS), die es erlaubt, verschiedene Phasen durch verschiedene
Spezifikationen zu bearbeiten.
Grundlage der XPS-Entwicklung: Der Aufgabenbereich umfasst wie oben
beschrieben Wissensakquisition und Wissenspräsentation. Werkzeuge dabei sind
KI-Sprachen, Tools und Shells.
Methodik: Wie erwähnt wird zwischen (evolutionärem)
Prototyping und modellbasierten Ansätzen unterschieden. Erstere Methode
implementiert so früh wie möglich, erlaubt Learning by Doing und die
Simulationen fertiger Systeme (Bottom-up-Entwicklung). Im Gegensatz dazu geht
der modellbasierte Ansatz von einer Top-down-Entwicklung aus.
Ablauf der XPS-Entwicklung: Das Knowledge Engineering (KE) läuft hier
etwas anders ab als bei konventioneller Software-Entwicklung (SW), da XPS nicht in kleine
Probleme zerlegbar sind, sondern umfassender, verflochtener gesehen werden müssen.
Der Engineer muss zwischen Experten und Systemwelt vermitteln. I.d.R. wird KE im
Rahmen eins Projektmanagements abgewickelt, welches geplant und nicht ad hoc vorgeht,
z.B. Meilensteine, die Rollen u.ä. nennt. Die Wartung von XPS bedeutet
weniger Bug-Fixing, als vielmehr Wissenspflege.
Werkzeuge: Künstliche Intelligenz-Sprachen (KI) wie LIPS und PROLOG helfen bei
der Wissensaquisition und Wissenspräsentation. Shells wie Emycin liefern dazu eine
geeignete Entwicklungsumgebung. Darüber hinaus gibt es wissensverarbeitende Sprachen,
die etwas konkreter für XPS einsetzbar sind als die allgemeinen KI-Sprachen.
Integration: XPS können über SQL-Schnittstellen mit Datenbanksystemen (DBS)
gekoppelt werden. Auch Online-Schnittstellen sind wichtig, wobei hier v.a. auf
die Standards der offenen Kommunikation Rücksicht genommen werden sollte.
Gründe für erfolglose XPS: Es kann zu personellen Problemen
kommen, z.B. bei Akzeptanzmangel. Das System selbst kann unergonomisch sein,
kann zu lange Antwortzeiten haben, allgemein eine schlechte Performance
besitzen, oder nur Fragen beantworten, die die Mitarbeiter nach kurzer Zeit
selbst gelernt haben.
Motivation: XPS können die Denkarbeitsproduktivität
erhöhen, indem sie die Arbeit von Experten simulieren. Sie erheben jedoch
nicht den Anspruch General Problem Solver zu sein.
Aufbau: XPS bestehen aus der Wissensbasis und dem Steuerungssystem (Shell).
Die Wissensbasis birgt Faktenwissen, Abteilungswissen und Metawissen
(Kontrollwissen). Das Steuerungssystem besteht aus der Dialogkomponente, der
Wissenserwerbskomponente, der Erklärungskomponente und der Problemlösungskomponente. In
die Dialogkomponente werden die fallspezifischen Daten eingegeben und die
Antworten ausgegeben. Die Wissenserwerbskomponente wird vom Knowledge Engineer
mit Faktenwissen und Abteilungswissen versorgt.
Darstellung des Wissens: Wissen wird in Form von semantischen Netzen
(Objekt-Attribut-Wert-Tripel), Objects mit Frames (ähnlich C++-Klassen),
Logik ("Für alle X gilt ...") oder einer regelbasierten Sprache
(Wenn-Dann-Regeln) repräsentiert.
Umgang mit dem Wissen: XPS können die Wissensbasis auf zwei Arten
nutzen. Sie können die Regeln vorwärts oder rückwärts
abarbeiten. Im ersten Fall muss das Ziel bekannt sein, im zweiten Fall
wird eine Diagnose gestellt. Eine Tiefensuche geht aggressiver an die
Lösung heran als eine Breitensuche. Spezielle
Konfliktlösungsstrategien können dafür sorgen, dass die
Regeln nicht zu breit feuern, sondern selektiver ausgewählt werden.
Trends: Der Wissenserwerbsflaschenhals wird in Zukunft durch neue
Grafik- bzw. Audio-Schnittstellen reduziert werden.
Von Neumann Architektur versus Gehirn: Computer haben komplementäre
Stärken zu Neuronalen Netzen (NN). Das macht NN als Ergänzung herkömmlicher
EDV-Systeme so sinnvoll.
Neuron-Funktionsweise: Ein Reiz erreicht die Synapse, die den Reiz bei
ausreichender Stärke weiterleitet an die Dendriten des Neurons. Von den Dendriten
gelangt der Reiz zur Soma. Dort beschliesst das Neuron erneut zu feuern oder nicht,
je nach gelerntem Verhalten. Feuert es, wird ein Impuls über das Axon an die
nachfolgende Neuronen weitergeleitet.
Aufbau von NN: Prozessorelemente, Netzstruktur, Aktivierungsfunktion und
Ausgabefunktion bestimmen den Aufbau und die Funktionsweise eines NN.
Lernen: Ein NN lernt Wissen über z.B. die Hebbsche Lernregel, die
ihre Synapsen je nach Input und Soll-Output gewichtet. An Lernverfahren gibt es
beaufsichtigtes Lernen und entdeckendes Lernen (das Netz erkennt den Soll-Output
durch Input-Ähnlichkeiten).
Feedforward-Netze: Diese Netze haben einen unidirektionalen
Input-Output-Strom. Beispiele sind Perzeptronen, die nur aus einer Schicht
Neuronen bestehen (z.B. für Muster-Assoziatoren), oder
Backpropagation-Netze, die zyklenfrei und mehrschichtig sind, und wo Fehler
rückwärts durch das Netz propagiert werden und dabei die Gewichte
ändern.
Rekurrente Netze: Hiermit sind zyklische Netze wie das Hopfield-Netz
gemeint, die sich für Autoassoziatoren eignen, d.h., sie können aus
unvollständigen Inputs durch Rekursionsprozesse den vollständigen
Soll-Output herstellen (sie korrigieren also den Input zum Output hin).
Selbstorganisierende Karten: Diese Netze erkennen Ähnlichkeiten in den
Inputs, wodurch sie "selbstentdeckend" lernen können. Nach dem Kohonen-Modell
entwickeln sie durch Synapsengewichtung zweidimensionale "Energie-Teppiche" mit
bestimmten Erregungszonen.
Wissenspräsentation in NN: Das Wissen steckt in den Synapsengewichten.
Anwendungen von NN: Schrifterkennung, Bildinterpretation,
Spracherkennung, Qualitätssicherung, Robotik, Kompression, Navigation,
Wetterprognosen, Optimierungsprobleme (wie Handlungsreisender) und
Gehirnforschung.
Aussichten: Bisher wurden nur sehr spezielle Gehirnfunktionen simuliert,
keineswegs ein breites semantisches Wissen erzeugt. Daran wird noch gearbeitet.
Für die nähere Zukunft werden allerdings Hybrid-Systeme zunehmen,
also Systeme, die wie XPS klassisch-mathematisch und gleichzeitig wie NN
vorgehen, die unscharfe Mengen und nicht-lineare Prozesse verarbeiten
können.
Motivation: Die KI kann formales Wissen über symbolverarbeitende
Methoden bearbeiten, während konnektionistische Systeme wie NN an Subsymbolen
orientiert vorgehen. Ihre gegenseitige Ergänzung liegt auf der Hand.
Vergleich XPS und NN:
XPS NN
-----------------------------------------------------------------------
Architektur Wissensbasis+Shell massiv-parallele Neuronen
Wissenspräsentation lokal-symbolisch verteilt-subsymbolisch
Wissensverarbeitung Inferenz Aktivierungsausbreitung
Wissensgrundlage Expertenwissen Falldaten
Wissensakquisition Experten-/KE-Eingaben Training
Fuzzy-Verarbeitung - +
Robustheit - +
Einsatzgebiet High-Level-Tasks Low-Level-Tasks
Kopplungstypisierung von XPS und NN: eng (integrativ bzw. transformativ)
oder lose (kooperativ); parallel (Blackboard) oder sequenziell (aufsichtig).
Aussicht: Denkbar sind Hybridsysteme, bei denen das XPS die
Überwachung des NN übernimmt oder die Ergebnisse des NN analysiert
und erklärt. Doch derzeit sind noch kaum Hybridsysteme realisiert worden,
obwohl sie als Allheilmittel gegen viele Informatikprobleme gelten.
Wissensbasierte Systeme (WBS): Systeme, in denen Fachwissen unabhängig
von speziellen Problemsituationen dargestellt wird. Die Auswertung des Wissens erfolgt
über die Methoden der KI. Hierzu gehören z.B. XPS; allerdings sind XPS kein Synonym
für WBS.
Verbesserungen durch WBS: Informationssysteme (IS) müssen mächtiger
sein als herkömmliche Datensysteme. Die IS müssen Daten zielgerichtet
interpretieren können. Gerade hinsichtlich der zunehmenden Akzeptanz moderner
Informationstechnologie (IT) eröffnen WBS neue Möglichkeiten, so sind z.B. die
Antwortzeiten der Anwendungssysteme reduzierbar (wenn auch ungenauer), es können
unscharfe Mengen bearbeitet werden und die Software kann leichter an die
Benutzerbedürfnisse abgepasst werden.
Integrationswege: XPS u.ä. können in herkömmliche Anwendungssysteme
funktional oder physisch integriert werden. Bei funktionaler Integration
können XPS als Hinter- oder Vordergrundsysteme fungieren. Im ersten Fall
wirken sie informationsergänzend, im zweiten Fall steuernd. Physische
Integration kann bedeuten, dass XPS als Server installiert werden
(horizontale Integration), in das Gesamtsystem als Ergänzung eingebracht
sind (vertikale Integration) oder gleichwertig neben anderen Methoden stehen (laterale
Integration). Die Daten des XPS oder der Datenbank müssen so transformierbar sein,
dass beim Wechsel kein semantischer Gehalt verloren geht.
Beispiel American Express: Wenn hier ein Transaktionsprozess ein Konto
leer vorfindet, wird die Transaktion automatisch dahingehen erweitert, dass ein
XPS nach diversen Kriterien überprüft, ob der Kunde kreditwürdig ist - und dann
eventuell doch noch grünes Licht für den Kreditwunsch als Empfehlung an den
Sachbearbeiter liefert.
Die Intention von WBS: Ursprünglich sollten WBS automatische
Problemlöser sein, die jedoch nicht realisiert werden konnten, weil
den KI-Rechnern das allgemeine Hintergrundwissen fehlt, welches Menschen sich
nicht geistig erschliessen, sondern durch (physische) Erfahrung erlernen.
Abgrenzung von WBS: Häufig werden WBS mit XPS gleichgesetzt, aber XPS
sind nur eine Untermenge von WBS. Wichtig bei WBS ist die Trennung von Wissen
und System. Und dass keine festen Lösungswege angeboten werden, sondern
dass das menschliche Problemlösungsverhalten imitiert wird.
Aktueller Stand der WBS-Forschung: Nur wenige XPS haben das Stadium des
Prototyps verlassen. Aber: Das WBS CYC soll bereits 3/4 einer Tageszeitung
"verstehen" können; es ist als Server für Ratschläge gedacht. Kleine XPS mit
ca. 200 Regeln sind auf Chips brennbar. Grosse XPS mit über 2.000 Regeln arbeiten
teilweise ebenfalls bereits hinreichend schnell.
Meilensteine und Aussicht:
- 1946: Beginn der konventionellen Programmierung.
- 1984: Knowledge Engineers füttern XPS.
- 1992: Automatisches Lernen und Parallel Computing.
- 1998: WBS können während des Ablaufs ihre Wissensbasis modifizieren.
- 1998: Verteilte KI wird in Rechnernetze integriert worden sein.
Abschätzungsproblematik: Zukunftsprognosen im Bereich der
Technologie sind vielleicht noch schwerer als auf anderen Gebieten. Aber die
Strömung der harten KI (Behauptung: kognitive Äquivalenz zwischen
Mensch-Maschine) ist schwächer geworden.
Möglichkeiten des Menschenersatzes: Diese Vision ist v.a. beim Militär relevant.
In der Politik eher unwahrscheinlich. Produktion: Visuomotorische Roboter, die über zwei
Kameras räumlich sehen können, Bewegungsabläufe mit NN lernen und Grautönbilder auf
geometrische Objekte hin approximieren können. Telekom: Interaktive Bearbeitung von
Anfragen, z.B. bei der Telefonauskunft. In der Biologie können KI-Geräte Zellkulturen
auf ihre Zellanzahl abschätzen u.ä.
Ängste und Hoffnungen: Es besteht die Sorge vor Bevormundung durch ein System.
Ein Vorteil wäre hingegen, dass mithilfe der KI Routinejobs erledigt werden können,
sodass der Arbeiter Zeit hat für Spezialitäten. Das Mensch-Maschine-Interface wird
immer besser (Beispiel: natürlichsprachliche Systeme), dadurch kann z.B. jedermann
öffentliche Daten für sich nutzbar machen.
Voraussetzungen für den Einsatz:
- instrumentell: Hardware, Software, Integrationsmöglichkeiten für XPS.
- personell: Experten, Knowledge Engineer und Anwender, die XPS akzeptieren.
- strukturell: schlecht strukturierte Probleme mit eng abgegrenzten Problembereichen.
Mögliche betriebliche Einsatzgebiete: Fehldiagnosen in der Produktion.
Konstruktionsunterstützung in der Entwicklung.
Konfigurationshilfe für Rechnersysteme. Brandrisikobeurteilung von
Häusern, z.B. für Versicherungen relevant. Strategische
Unternehmensplanung, indem ein XPS z.B. die Position im Portfolio
abschätzt und die daraus resultierende Strategie vorschlägt.
Selbstorganisierende Karten, wie die Kohonen Feature Map, haben die
Fähigkeit, Eingabevektoren selbstständig räumlich zu kategorisieren (auch das
Gehirn legt ähnliche Informationen in ähnlichen Gehirnregionen ab). Bei der
Beurteilung von Jahresabschlüssen kann man sich das zunutze machen. Ein
Eingabevektor besteht z.B. aus 20 Attributen. Diese Attribute erhalten scharfes
und unscharfes Wirtschaftswissen, welches den Jahresabschlüssen entnehmbar
ist. Dazu gehört die Eigenkapital-Quote, der Cash-Flow, Rentabilitätsziffern,
aber auch verbale Auskünfte des Geschäftsberichts (z.B. ob stille
Reserven angelegt wurden). Wenn die Kohonen Feature Map hinreichend trainiert
wurde, kann sie mit einem derartigen Eingangsvektor die Position des Unternehmens
hinsichtlich seines Ertragsvermögens klassifizieren.
Die KI-Forschung begann schon in den 60ern. In den 70ern entwickelte man
konkreten Anwendungsmöglichkeiten wie z.B. Spracherkennung, XPS u.ä.
Bis zu den 80ern hatte man erkannt, dass Wissen
die wesentliche Komponente der Intelligenz darstellt, dass die Idee des
"General Problem Solver" undurchführbar ist, und dass der Turing-Test
ein Mass dafür liefern kann, wie intelligent ein KI-System ist (je
länger man braucht, es als künstlich zu entlarven, desto
intelligenter ist es). Zudem wurden Grenzen der von-Neumann-Architekturen
festgestellt, die selbst im Parallelbetrieb nicht überwunden werden
können - und so kam die Idee der Neuronale Netze auf, die jedoch nicht mehr
über KI-Sprachen wie Prolog und LISP gezielt bearbeitet werden können
Die KI umfasst von-Neumann-Hardware, Non-von-Neumann-Hardware, XPS, NN und
Fuzzy Logic, die KI-Sprachen, Prototyping, evolutionäre Ansätze, die
Kopplung verschiedener KI-Systeme usw. Mögliche Anwendungsgebiete sind
Spracherkennung, Bilderkennung, Operation Research-Erweiterungen,
natürliche DBS-Abfragesprachen usw.
Expertensysteme (XPS) sind Computerprogramme, die die Fähigkeiten von Experten
simulieren sollen. Dazu gehört: Probleme verstehen, Lösungen erklären,
Wissen erwerben und Kompetenzen selbst einschätzen können. Gemessen
an diesem Anspruch können XPS bisher nur bescheidenen Erfolg für sich
verbuchen. Dennoch waren sie die ersten in der Industrie verwendbaren
KI-Systeme.
XPS lösen Probleme aus diffusen Anwendungsbereichen, die Computern
früher sonst nicht zugänglich waren. Statt einer einheitlichen
Theorie (Algorithmus) zu verfolgen, lösen sie unstrukturierbare Probleme
(z.B. der medizinischen Diagnostik) über heuristisches Wissen, welches auf
der Erfahrung von Experten basiert. Dabei wird eine opportunistische Strategie
benutzt: Es wird der scheinbar beste Lösungsweg in Abhängigkeit von den
gegebenen Falldaten angeboten.
XPS müssen sich ihrem Anwendungsgebiet anpassen können, da sie nur
sehr spezialisiert diffuses Wissen in problemlösungsorientierter Weise
anwenden können. Der General Problem Solver der 60er hat sich als utopisch
erwiesen. XPS sind anwendbar, wenn folgende Gegebenheiten gelten:
- Sie bearbeiten ein eng umgrenztes Gebiet.
- Heuristisches Wissen ist sinnvoller als algorithmisches bzw. kausales Wissen.
- Expertenwissen existiert.
- Der Input/Output kann auf einfache Weise erfolgen (keine Massendaten u.ä.)
In vier Problemklassen sind XPS hauptsächlich vertreten:
- Klassifikation/Diagnostik: Wiedererkennung von Befunden.
- Design: Objekte finden, die den Anforderungen entsprechen.
- Planung: Den Zwischenschritt zwischen Anfang- und Endzustand ausfüllen.
- Simulation: Prognosen aus Anfangszustand ableiten.
Architekturen: Besitzt das XPS nur eine Problemlösungsstrategie
oder kann es - je nach Problemklasse - zwischen mehreren Inferenzstrategien
(z.B. Forward Reasoning, d.h. Breitensuche, oder Constraint Propagation, d.h.
iteratives Lösungseingrenzen) wählen? Die sogenannte Agendakontrolle kann dann
mehre Ergebnisse hinsichtlich ihrer Qualität abwägen und die beste
Lösung dem Benutzer bekannt geben (die Agenda betrifft die interne
Strategiewahl, bei hybriden Systemen aber auch die Wahl zwischen NN und XPS).
Die Ergebnisse selbst erhält man jedoch über den Produktions-Regel-Interpreter
nach Eingabe der Falldaten.
Wissensrepräsentation: Der Gebrauch des Wissens (d.h. Daten mit
semantischem Inhalt) bestimmt seine Repräsentationsform. Zwei Pole eines
Kontinuums sind denkbar:
-
aktiv-prozeduraler Gebrauch: Produktionsregeln, semantische Netze.
Beispiel für eine Produktionsregel: WENN Temperatur> 37 Grad DANN Fieber.
-
passiv-deklarativer Gebrauch: Frames, semantische Netze.
Beispiel für FRAME XPS: TYP=XPS, WERTEBEREICH=MYCIN, PROSPECTOR, ...
Drei Arten von Wissen sind relevant für XPS:
- Allgemeines Problemlösungswissen: In Inferenzkomponente; vom Programmierer.
- Problemspezifisches Lösungswissen: In Wissensbasis; vom KE und Experten.
- Fallwissen: Wird über die Dialogkomponente durch den User eingegeben.
Inferenzstrategie: Der Produktionsregel-Interpreter folgt einer
architekturabhängigen Problemlösungsstrategie (oder mehreren).
Üblich sind dabei folgende Methoden, Konfliktmengen zu bilden, auf die
dann die verschiedenen Inferenzstrategien angewendet werden können:
-
Vorwärtsverkettung: Alle Regeln, deren Bedingungsteil die Falldaten
beinhalten, befinden sich in der Konfliktmenge: All diese Regeln sind
ausführbar. Die Strategie bestimmt nun eine Regel, die hilft, aus den
gefundenen Symptomen eine Ursache herzuleiten.
-
Rückwärtsverkettung: Nur die Regeln, deren Folgeteil den
Eingabe-Ergebnisforderungen genügt, werden in die Konfliktmenge
aufgenommen. Damit können zum Beispiel Ursachen für Symptome
hergeleitet werden.
Im Wesentlichen bestimmt die Selektionsfähigkeit (bezüglich
Konfliktmenge und Strategie) des Interpreters die Geschwindigkeit und die
Qualität der angebotenen Lösung. Die Trennung von wichtigen und
unwichtigen Lösungswegen ist deshalb so elementar, da wie beim Schachspiel
nie alle Möglichkeiten durchgespielt werden können. Das XPS muss
also merken, ob sich die Verfolgung eines Lösungsweges noch lohnt oder
aufgegeben werden sollte.
Weitere Mechanismen: Evidenzmodelle können die Wahrscheinlichkeit
für eine bestimmte Lösung mit angeben. Vorverarbeitungssysteme sorgen
dafür, dass Falldaten vorformatiert werden, um sie dem XPS
verständlich zu machen.
Die Qualität der Benutzerschnittstelle bestimmt wesentlich die
Akzeptanz der Benutzer. Zum Teil ist jedoch kein Benutzerdialog nötig,
nämlich dann, wenn XPS die Daten über genormte Schnittstellen
automatisch zugeführt bekommen.
-
Wissenserwerbskomponente: Das ist der Flaschenhals der XPS-Entwicklung, da
bisher keine automatisierten Lernverfahren vorliegen; man ist auf Experten angewiesen,
die die Daten in der korrekten Repräsentationsform eingeben müssen.
XPS können den Experten helfen, indem sie Wissens-Editoren anbieten und
laufende Konsistenzprüfungen durchführen. Menschliche Hilfe
erhält der Experten vom Knowledge-Engineer. Die Eingabe geschieht
über Shells oder bei komplexeren Problemen auch direkt in einer KI-Sprache.
-
Erklärungskomponente: Die Transparentmachung der Lösungsfindung
(das Wie und das Warum) ist bisher noch unzureichend gelungen, zumindest in
Bezug auf die Anwender (nicht auf die Experten).
-
Interviewerkomponente: Diese Komponente ist die aktive (auffordernde) oder
passive Eingaben von Falldaten nötig, sofern die Daten nicht automatisch
zugeführt werden können.
Die Evaluation von XPS ist schwierig (wie ja auch die Beurteilung von
Experten schwierig ist).
-
Vorteile: XPS sind im Einsatz und funktionieren (z.B. R1, welches DEC-Anlagen
konfiguriert).
-
Nachteile: Nicht lernfähig; begrenzt erklärungsfähig; zu
spezialisierte Anwendungsgebiete; keine eigene Kompetenzeinschätzung (bei
mangelnden Inputs trifft es dennoch eine Entscheidung).
Bis zum Einsatz von XPS können 5 Mannjahre vergehen. Mithilfe der
folgenden Werkzeuge kann diese Entwicklungszeit jedoch drastisch verkürzt
werden:
-
Programmierumgebung: Drei Ebenen sind hier in Abhängigkeit vom Grad
der Spezialisierung zu unterscheiden:
-
Programmiersprachen: Die meisten XPS sind in LISP oder PROLOG
programmiert. Vorteile von LISP gegenüber anderen Sprachen sind: Die
Speicherverwaltung übernimmt das Programm; es unterstützt auch
funktionalen bzw. objektorientierten Programmstil; Programme sind syntaktisch
wie Datenstrukturen aufgebaut; Trace Options (interpretatives Durchgehen) erlaubt
das Debugging von semantischen und syntaktischen Fehlern; nach dem Debugging kann
kompiliert werden. Vorteile von PROLOG sind: Das Wie muss noch weniger
beschrieben werden als bei LISP, es muss nur das Was angegeben werden;
parallele Abarbeitung ist vorgesehen. Allerdings eignet sich PROLOG eben wegen
der fehlenden Ablaufgestaltung weniger für grosse XPS.
-
Spracherweiterungen: Neben der KI-Sprache werden Inferenzmechanismen,
Wissensrepräsentationsformen und XPS-Komponenten-Gestaltungstools zur
Verfügung gestellt. Beispiel: KEE, BABYLON und LOOPS.
-
Shells: Dies sind komplette Steuersysteme, die den XPS-Aufbau alleine auf
die Entwicklung einer Wissensbasis reduzieren, z.B. MED1 und EXPERT. In
Zukunft wird es wohl Shells mit dem Grundwissen von bestimmten Gebieten zu
kaufen geben.
-
Hardware: LISP-Rechner sind extra angefertigte HW zur Abarbeitung von
LISP-Programmen. Sie bringen kurze Antwortzeiten zustande und verfügen
über Gigabyte virtuellen Speicher. Die Japaner, die sich in ihrem
Fifth Generation Program für PROLOG entschieden haben, arbeiten auch an
PROLOG-Maschinen.
-
Datenbanken: Statt die Wissensbasis im Hauptspeicher zu halten, geht man
inzwischen mehr dazu über, sie in DB unterzubringen. Dort sind sie
sichere, über DBMS können sie von vielen Anwendern gleichzeitig
gelesen werden.
MED2 ist eine Shell für XPS des Bereichs der medizinischen Diagnostik.
Seine Klassifikationen sind z.B. Anatomie und Pathologie. Es kennt vier Arten
von Frames (eines z.B. für Symptome-, ein anderes für
Diagnose-Repräsentationen). Es fragt nach Symptomen, bildet
vorwärtsverkettet die Konfliktmenge, die - sofern Daten im Working Memory
(Arbeitsgedächtnis) vorhanden sind, z.B. weil der User Verdachtshypothesen
eingegeben hat - über Rückwärtsverkettung weiter dezimiert
werden kann. Alle Eingaben werden syntaktisch geprüft. Die
Erklärungskomponente zeigt das Working Memory, Folgerungen, die sie
erklären kann, und genannte Symptome, die nicht ins Bild der Diagnose passen.
Die Prototyping-Spirale benötigt für einen Durchgang zunächst
ca. 6 Monate, dann 4 Monate, dann 3 Monate, ... Die Wissensakquisition setzt
sich aus den Schritten Wissenserhebung (z.B. durch Interviews), Interpretation
und Operationalisierung (Modellierung und Implementierung der Wissensbasis)
zusammen. Für die Wissenserhebung sollte der Knowledge Engineer (der kein
Experte des XPS-Gebietes sein muss) die Experten aus Akzeptanzgründen
nicht länger als zwei Stunden in der Woche bemühen. Die
Prototyping-Spirale baut sich aus folgenden iterativen Phasen auf:
- Wissensakquisition (Analyse)
- Prototyp-Design
- Requirements (Einwänden) begegnen
- Validation (Test)
- Integration (Neues zu Altem)
- Implementation
Ein hybrides System koppelt symbolische und subsymbolische Techniken der KI
zur Lösung von Problemen. An der Universität Mannheim wurde ein
hybrides System geschaffen für das Trading (reine Optionsgeschäfte
ohne Basiswerte zu beachten, d.h., das Kursrisiko bleibt unbeachtet) an der
Deutschen Terminbörse. Die Motivation dazu ist, dass neuartige
Kommunikationsmittel immer mehr Daten herantragen, die den Investor bei seinen
Wertpapiergeschäfts-Entscheidungen überfordern. Dies gilt
insbesondere für die zeitkritischen Termingeschäfte, die aber
aufgrund des Trends zur Flexibilität stetig an Bedeutung zunehmen.
Bereits heute existieren XPS, die nach Eingabe von (unscharfen) Daten
fähig sind, Anlageempfehlungen bezüglich eines Titels auszusprechen.
Die Lösungsstrategie beruht auf heuristischem Wissen (Erfahrungswissen,
Faustregeln, fuzzige Zusammenhänge, usw.) und daher ist die Lösung
qualitativ (Option X ist zu empfehlen) und nicht quantitativ (Option X bringt
10 Punkte) wie bei einer konventionellen Programmierung. Was XPS heutzutage
jedoch nicht können, sind Portfolio-Empfehlungen über ganze
Titelserien auszusprechen, indem die Titel jeweils auf ihr Risiko und ihre
Rendite hin abgeschätzt werden. Sie können zudem ihre eigene
Kompetenz nicht abschätzen, d.h., falls zu wenig Input zur Lösung
eines Problems eingegeben wird, findet es trotzdem eine Lösung, die dann
aber ein krasses Fehlurteil darstellen kann. Weiterhin haben XPS trotz ihrer
Wissensbasis Probleme damit, Prognosen bezüglich nicht-linearer Systeme
wie z.B. der Aktienkurse abzugeben. Solche Prognosesysteme sind über
algorithmische Mittel praktisch nicht zu programmieren. Allenfalls können
statistische Verfahren, die auf der Wahrscheinlichkeitsrechnung basieren,
Korrelationen u.ä. erkennen, doch denen fehlt es meist an
Gesetzmässigkeit.
Wie es XPS für Aktien-Anlage-Empfehlungen gibt, so gibt es
auch NN, die als Prognosesysteme Verwendung finden. Neuronale Netze haben die
erstaunliche Eigenschaft, sich bei unscharfen Problemstellungen durch Lernen
selbst ein Bild der Realität und ihrer Zusammenhänge zu schaffen. So erkennen NN
in den verrauschten Zeitreihen von Aktienkursen durch Selbstorganisation
strukturelle Gesetzmässigkeiten - das ist umso bemerkenswerter, da dies bisher
nicht einmal über statistische Verfahren mittels konventioneller
Programmierung erreicht werden kann. Nach einiger "Erfahrung" können NN
bei ihren Prognosen über den zukünftigen Kurs einer Aktie im Zeitraum
eines Monats 80%ige Trefferquoten erzielen! Doch NN können leider nicht
erklären, wie sie ihre Lösung gefunden haben; sie können keine
guten Gründe für ihre Entscheidung nennen.
Das Trading Support System macht sich die unterschiedlichen Eigenschaften
von XPS und NN zunutze. Das Backpropagation-NN lernt, die Zeitreihen der
Aktienkurse zu prognostizieren. Diese Prognoseergebnisse werden als Inputs an
das XPS weitergegeben. Das XPS sammelt die Prognose-Inputs der einzelnen Titel
und die Empfehlungen, die der erfahrene Anleger noch selbst eingeben kann.
Dadurch bildet sich von vorneherein eine eingeschränkte Zielmenge, die
durch Rückwärtsverkettung die Menge der ursächlichen Regeln
ebenfalls von vorneherein einschränken kann, was deutliche
Geschwindigkeitsvorteile mit sich bringt. Danach können die
äusseren Rahmenbedingungen (Symptome) bzgl. der einzelnen Aktientitel
eingegeben werden (das XPS fragt aktiv danach). Statistische Verfahren,
heuristisches Wissen in den Frames und die Produktionsregeln untersuchen
anschliessend die Daten und bilden so allmählich ein Portfolio
hinaus, wobei die Erklärungskomponente dem Benutzer darlegen kann, warum
das XPS die einen Titel in das Portfolio aufgenommen hat und die anderen nicht.
Erweitert werden kann dieses Hybridmodell noch durch ein weiteres NN, welches
die Summe aller Inputs dahin gehend prüft, ob sich aus ihnen überhaupt
ein sinnvolles Ergebnis prognostizieren lässt; dadurch lernt das XPS
seine eigene Kompetenz einzuschätzen und im Falle eines Input-Mangels
gezielt nach weiteren Inputs zu fragen.
-350 | Platon und Aristoteles erklären Denkprozesse. |
1700 | Kybernetische Maschinen (z.B. Schachautomaten). |
1800 | Konnektionismus. |
1908 | Ramon Cajal identifiziert Neuronen. |
1913 | Douglas Adrian entdeckt Aktionspotenziale (Stromimpulse). |
1930 | Turing-Test für KI. |
1943 | McCulloch und Pitts beschreiben die Idee von NN. |
1949 | Donald O. Hebb postuliert Synapsenstärkung durch Lernen. |
1951 | Minsky und Edmonds realisieren das erste Lernsystem. |
1963 | Hodgkin und Huxley beschreiben Signalübertragungen. |
1964 | John Eccles realisiert Synapsenfunktionalität über elektronische Schaltkreise. |
1969 | Frank Rosenblatts Perceptron (vernichtende Kritik von Minsky). |
1980 | Rasanter Aufschwung der Neuronalen Netze. |
Merkmale:
-
Definition NN: Arbeitet massiv parallel (eigentlich verzweigt sequenziell)
und benutzt einfache, aber adaptive Elemente.
-
Interdisziplinarität: Biologie, Informatik und Medizin.
Ziele:
-
Umsetzung biologisches Gehirn in künstliche Systeme.
-
Bedeutung für die Wirtschaftsinformatik: Durch NN sind abstrakte Problemlösungen
mit z.T. besseren Ergebnissen als über konventionelle Techniken möglich.
Grenzen bisheriger HW- und SW-Konzepte: Die Gehirnleistungen ist
komplementär zu der von Computern, z.B. bezüglich Numerik,
Massendaten-Handling oder Alltagsaufgaben wie Bild-/Spracherkennung, motorische
Steuerung. Die SW-Technologie ist von ihrer Komplexität her begrenzt, z.B.
ist eine Steuerung autonomer Roboter damit nicht möglich. Die
von-Neumann-HW arbeiten mit einer CPU und sequenziell, wobei die Signallaufzeit
die Leistung begrenzt. HW-Auswege: Pipelining (Vektorarchitekturen), optische
Computer, Non-von-Neumann-Architekturen. Die SW-Komplexitätsproblematik
wird durch fehlerrobuste und lernfähige Systeme überwunden. Die
Lösung ist im biologischen Nervensystem bereits vorgezeichnet.
Signalverarbeitung: Dendriten empfangen Signale von anderen Neuronen
bzw. Sensoren (nach externer Eingabefunktion). Je nach Synapsengewichtung und
Propagierungsfunktion gelangen sie mit bestimmter kumulierter Energie
(Nettoinput) in die Soma des Neurons. Dort wird ihr Aktionspotenzial über
die Aktivierungsfunktion in Abhängigkeit vom aktuellen
Aktivitätszustand bestimmt. Wird der Bias erreicht, dann feuert das
Neuron, wobei die Stärke der Feuerung von der Ausgabefunktion
abhängt. Der Reiz wandert über das Axon zu bis zu 100.000 Neuronen
weiter.
Wissenspräsentation: Der aktuelle Aktivitätszustand der
Neuronen (von denen es z.B. bei Mücken nur 108 Stück gibt!) gibt das
sensorische Wissen und das Kurzzeitgedächtnis wieder. Das
Langzeitgedächtnis spiegelt sich dagegen in den Gewichtungen der Synapsen
wieder.
Vollständige Wiedergabe durch: Beschreibung der Neuronen und
Beschreibung der Neuronenstruktur. Die Erklärung der Funktionalität der Neuronen
umfasst: Aktivitätszustand, zulässige Input-/Output-Mengen, Ausgabefunktion,
Propagierungsfunktion, Aktivierungsfunktion und externe Eingabefunktion. Die
Beschreibung der Struktur umfasst die Art der Knoten, die Topologie, die
Lernregel und die Ein- und Ausgänge-Festlegung.
Biologie als Vorbild: Die Knoten Neuronaler Netze arbeiten wie die
Neuronen der biologischen Signalverarbeitung. Als Aktivierungsfunktion kommen
Sprungfunktionen, Rampenfunktionen, signoide oder lineare Funktionen infrage,
darstellbar über ein Output-Input-Diagramm mit senkrechter Bias-Eintragung.
NN-Aufbau: Die Topologie kann einschichtig bzw. mehrschichtig oder
feedforward bzw. feedback sein. Die Lernregel beschreibt, wie ein NN auf Inputs hin
bei gegeben Soll-Outputs die Gewichtungen ändert, falls die Ist-Outputs
davon abweichen. Die Ein- und Ausgänge können gesondert von den
inneren (hidden) Schichten betrachtet werden, so lassen sich z.B. spezielle
externe Eingangs- bzw. Ausgangsfunktionen finden.
Die Modifizierung der Netzstruktur erfolgt über Bildung neuer
Verbindungen, Zerstörung alter Verbindungen, Änderung der Gewichtung
existierender Verbindungen.
-
Hebbsche Lernregel: Liegt eine Soll-Ist-Abweichung beim Output eines
Neurons vor, dann wird die Synapsengewichtung vor dem Neuron um einen
konstanten Faktor (Lernrate) verkleinert/vergrössert, um beim
nächsten Lernschritt dem Soll-Wert näher zu kommen.
-
Delta-Lernregel (Widrow-Hoff-Regel): Das ist eine Variante der Hebbschen
Lernregel. Im Gegensatz zu dieser wird hier die Annäherung an den Soll-Wert durch
kleinere Lernschritte honoriert. Bei der Hebbschen Lernregel kann das NN kurz vor
dem Lernziel noch eine grobe Gewichtsänderung erfahren, nicht jedoch bei der
Delta-Regel, bei der sich die Gewichtsänderung mit der Zeit der Null annähert - und
ab einer gewissen Genauigkeit durch Vorgaben gestoppt werden muss.
-
Weitere Lernansätze: Backpropagation-Regel (Delta-Regel für
Hidden Units), Wettbewerbslernen, stochastisches Lernen usw.
Hier sind nur zwei Zustände des Neurons möglich: 0 und 1. Der Bias ist
fixiert. Es gibt mehrere Eingänge, aber nur einen Ausgang. Es gibt nur die
Gewichte +1 und -1. Durch McCulloch-Pitts-Neuronen lassen sich alle logischen
Funktionen simulieren (ausser dem XOR-Problem). Lernregel ist die Hebbsche
Lernregel.
Unterschied zum McCulloch-Pitts-Neuron: Der Bias ist veränderlich und
die Gewichte können Werte zwischen +1 und -1 annehmen. Als Lernregel
agiert daher die Delta-Lernregel. Das Perceptron-Konvergenz-Theorem beweist,
dass ein Netz aus Perzeptronen immer die korrekte Gewichtung findet, um den
Input auf einen Soll-Output abzubilden, sofern dies mit den Gegebenheiten
möglich ist. Minsky kritisierte hier, dass nicht für alle Klassifikationsaufgaben
geeignete Gewichte existieren. Zweistufige Perzeptronen lösen auch das XOR-Problem.
Die Delta-Regel kann die Perceptron-Konvergenz bei Multilayer Perzeptronen
nicht gewährleisten. Lernregel ist daher die Backpropagation-Lernregel (an
die Minsky/Papert nicht glauben wollten). Es müssen stetig
differenzierbare Aktivierungsfunktionen verwendet werden, da die Lernregel mit
der ersten Ableitung arbeitet. Der Bias ist veränderlich. Die Lernregel
propagiert zunächst den Input vorwärts durch Netz, wodurch jede Unit
einen Output berechnet, und vergleicht dann die Outputs rekursiv
(rückwärtspropagiert) mit den Soll-Outputs, wodurch Deltawerte und
Bias berechnet und neu gesetzt werden. Multilayer Perzeptronen sind in der
Lage, beliebige Funktionen zu approximieren.
Im Gegensatz zu den vorherigen Modellen handelt es sich bei thermodynamischen
Modellen um rückgekoppelte Netze. Hier gibt es keine Schichten, sondern
die einzelnen Neuronen sind untereinander vernetzt. Zu Beginn bekommt das Netz
eine bestimmte Energie zugesprochen, die durch die Zustandsänderung der
Neuronen minimiert wird, bis ein Gleichgewichtszustand eintritt (deswegen
thermodynamisches Modell, da dieses ein Gleichgewichtszustand anstrebt).
Bekannte Modelle sind:
-
Hopfield-Modell: Hier liegt ein monotoner Energieminimierungsprozess vor.
Es herrscht eine symmetrische Konnektionsmatrix vor, d.h. es gilt: wij=wji.
Relaxation bedeutet Einschwingung in den Gleichgewichtszustand. Jede Neueingabe
bewirkt eine leichte Energieänderung, aus der der Output resultiert. Die
Energie-Minimierung beim Lernen erfolgt nach dem Gradientenabstiegsverfahren.
Dadurch werden lokale Minima geschaffen, die bei Eingaben das Attraktionsbecken
darstellen. Die Potenziallandschaft lässt sich durch Gewichtsänderungen entsprechend
verformen. Werden jedoch zu viele Muster gelernt, verliert das Netz u.U. alte
Strukturen wieder. Hopfield-Modelle werden typischerweise für Autoassoziatoren
verwendet, die unvollständige Eingaben komplettieren können.
-
Boltzmann-Maschine: Hier ist ein stochastischer Minimierungsprozess gegeben.
Neben den Gewichten spielt daher auch der aktuelle Zustand der Neuronen eine Rolle.
Der Input plus der aktuelle Zustand führt nur probabilistisch zu einer
Zustandsänderung des Neurons. Dies kann dazu führen, dass die
Boltzmann-Maschine nicht in lokalen Minima verharrt, sondern in die globalen
Minima entweicht, die einen optimalen Output darstellen. Dies funktioniert nur,
wenn die Gesamtenergie im Netz sehr langsam gesenkt wird, was sehr zeitintensiv
sein kann (auch wen sich über Cooling-Scheduler die Zeiten verbessern
lassen). Mit der Boltzmann-Maschine lassen sich Optimierungsprobleme
folgendermassen lösen: Man versetzt die Neuronen in einen bestimmten
Zustand, verarbeitet diesen Input über das "Simulated Annealing"
("simuliertes Ausglühen", weil Inputs wieder aus lokalen Minima entkommen
können), bis der Gleichgewichtszustand eingenommen wurde. Das Modell
eignet sich für Prognosen über Zeitreihenanalysen. Beschleunigungen
werden angestrebt durch Backpropagation und deterministische Adjustierung.
Sofern bei thermodynamischen Modellen auf Backpropagation verzichtet wird,
sind keine Target-Vektoren nötig, d.h., die Netze können sich durch
statistische Analysen der Inputs selbst klassifizieren. Diese Netze mit anderen
Netzen zu koppeln, funktioniert nicht. Die Klassen geben weniger das
Einzelverhalten von praktisch allen nicht-chaotischen Systemen wieder, als ihr
pauschales Verhalten.
Bei dieser Technik spielt im Gegensatz zu obigen Modellen die Anordnung der
Neuronen eine grosse Rolle. Es muss eine "örtliche Nachbarschaft" bei
Signalähnlichkeit vorliegen. Das Modell von Kohonen beschreibt eine
selbstorganisierende Karte. Die Neuronen können sich gegenseitig beeinflussen.
Ähnlichkeitsrelationen zwischen Eingabedaten werden in ähnliche
Lagerelationen des Netzes umgesetzt. Die Erregungskurve um das Zentrum beschreibt
eine Mexican-Hat-Funktion. Gelernt wird über den Feature-Map-Lernalgorithmus,
wobei eine (zufällige) Anfangsgewichtung vorliegt, die dann über iterative,
zufällige Eingabesignalvektoren nach einer Energieminimierungsgleichung
umgewichtet werden (der Mexican-Hat wird immer spitzer). Probleme können die
Ränder bereiten, weil es dort an umliegenden Neuronen fehlt.
Abschätzung des Rechenbedarfs von NN: Augensignale werden beim Menschen
von 10^9 Neuronen empfangen, die wiederum jeweils mit 10^4 anderen Neuronen
verbunden sind. Da jedes Neuron ca. 10-mal in der Sekunde feuern kann,
benötigt man zur computerbasierten Simulation des menschlichen
Nervensystems 10^9*10^4*10=10^14 Operationen pro Sekunde. Die besten Computer
liefern derzeit aber gerade einmal 10^9 Operationen pro Sekunde.
Bei der Implementierung von NN sind weiter zu beachten:
-
Codierung der Eingabe: Hierzu gibt es zwei Alternativen: Lokale
Präsentation (ein Eingabeneuron bestimmt den Output; Hamming-Abstand
zwischen 2 Speicherungen immer 2) und verteilte Präsentation (mehrere
Eingabeneuronen bestimmen den Output; Hamming-Abstand grösser gleich
2). Die Eingabedaten können dem NN einzeln oder kontinuierlich
zugeführt werden. Häufig müssen sie normalisiert (um Mittelwert
bereinigt) bzw. skaliert (Einhaltung des benutzerdefinierten Intervalls)
werden.
-
Trainingsmenge: Je nach Problem und Netzwerkparadigma muss - sofern
keine empirischen Daten vorliegen - experimentell festgestellt werden, welche
Inputs sich am besten zur Lösung des Problems eignen.
-
Strukturierung des Netzes: siehe Trainingsmenge.
Zwei Beispiele für Simulationsprogramme:
-
Monte-Carlo-Modell (Blackbox-Modell): Zu bestimmten Inputs will man den
Output vorhersagen können (ähnlich wie beim Stimulus-Response-System
aus der Psychologie). In die Simulation integriert sind Zufallsvariablen, um
den Realismus der Simulation zu erhöhen.
-
DES-Modelle (Discrete-Event Simulation): Ereignisorientiertes Modell für
Warteschlangen-Simulationen u.ä., bei denen das Verhalten im Zeitablauf prognostiziert
werden soll.
Simulationsprogrammierung und KI-Programmierung ähneln sich in vielen
Punkten, z.B. müssen beide viele sequenzielle Einzelprozesse zu einem
komplexen Ganzen synchronisieren. Simulationen werden in Zukunft durch die
objektorientierte Entwicklung gefördert, wie sie etwa SMALLTALK anbietet;
dann werden z.B. auch interaktive, visuelle Simulations-Modelle (VISIM)
möglich sein.
Der SYNAPSE-1 von Siemens ist der derzeit schnellste Neurocomputer. Er
arbeitet 8.000-mal schneller als die SPARCstation 2 von SUN. Er benutzt eine
Non-von-Neumann-Architektur mit speziellen VLSI-Prozessorbauteilen,
nämlich acht neuronale Signalprozessoren, die im Gegensatz zu Neurochips
programmierbar (!) sind, und alle rechenintensiven Operationen
durchführen. Die restlichen Operationen werden von zwei 68040-Prozessoren
erledigt. Ein Weight Memory von 64 MByte speichert die Gewichte. Mit dieser
Hardware sind bei 40 MHz 800 Millionen synaptische Gewichtung pro Sekunde
möglich. Programmiert wird der SYNAPSE-1 in der an C++ orientierten Sprache
neuronal Algorithmus Programming Language (nAPL).