Künstliche Intelligenz-Sammelsurium

Geschwurbel von Daniel Schwamm (12.06.1994 bis 01.08.1994)

Inhalt

1. KI-Seminar SS94

1.1. Knowledge Engineering (I.)

Aufgabenbereiche der Expertensystem-Entwicklung (XPS): Das Knowledge Engineering (KE) wird von Experten und Knowledge Engineers durchgeführt. Die Aufgabe besteht aus:

  1. Wissensakquisition (WA): Diese erfolgt durch Interviews, Beobachtungen und automatischer WA. Dieser Bereich gilt allgemein als Flaschenhals des KE.
  2. 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:

  1. Prototyping: Dieses kommt ohne Spezifikation aus. Zeichnet sich durch Schnelligkeit und Formalismus-Einschränkung aus.
  2. Modellbasierte Ansätze: z.B. die generische Knowledge Acquisition and Documentation Structuring Methodologie (KADS), die es erlaubt, verschiedene Phasen durch verschiedene Spezifikationen zu bearbeiten.

1.2. Knowledge Engineering (II.)

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.

1.3. Management der XPS-Entwicklung

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.

1.4. Aufbau und Arbeitsweise von Expertensystemen

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.

1.5. Aufbau und Arbeitsweise von Neuronalen Netzen

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.

1.6. Integration von Neuronalen Netzen und Expertensystemen

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.

1.7. Integration wissensbasierter Systeme in vorhandene Anwendungssysteme

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.

1.8. Zukunftsaussichten wissensbasierter Systeme

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.

1.9. Soziale Auswirkungen der Anwendung von KI

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.

1.10. Betriebliche Anwendung von XPS

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.

1.11. Jahresabschlussanalyse mit selbstorganisierenden Karten

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.

2. Vorlesung KI I: Betriebliche Anwendung der KI

2.1. Szenario der KI

2.1.1. Entwicklung der KI

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

2.1.2. Gebiete der KI

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.

2.2. Expertensysteme

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.

2.2.1. Das neuartige Vorgehen von XPS zur Problemlösung

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.

2.2.2. Anwendungsgebiete

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:

  1. Klassifikation/Diagnostik: Wiedererkennung von Befunden.
  2. Design: Objekte finden, die den Anforderungen entsprechen.
  3. Planung: Den Zwischenschritt zwischen Anfang- und Endzustand ausfüllen.
  4. Simulation: Prognosen aus Anfangszustand ableiten.

2.2.3. Methoden

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:

  1. aktiv-prozeduraler Gebrauch: Produktionsregeln, semantische Netze.
    Beispiel für eine Produktionsregel: WENN Temperatur> 37 Grad DANN Fieber.
    
  2. 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:

  1. Allgemeines Problemlösungswissen: In Inferenzkomponente; vom Programmierer.
  2. Problemspezifisches Lösungswissen: In Wissensbasis; vom KE und Experten.
  3. 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.

2.2.4. Benutzerschnittstelle

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.

  1. 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.
  2. 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).
  3. Interviewerkomponente: Diese Komponente ist die aktive (auffordernde) oder passive Eingaben von Falldaten nötig, sofern die Daten nicht automatisch zugeführt werden können.

2.2.5. Bewertung

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).

2.2.6. Werkzeuge

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:
    1. 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.
    2. Spracherweiterungen: Neben der KI-Sprache werden Inferenzmechanismen, Wissensrepräsentationsformen und XPS-Komponenten-Gestaltungstools zur Verfügung gestellt. Beispiel: KEE, BABYLON und LOOPS.
    3. 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.

2.2.7. Beispiel: MED2

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.

2.3. Prototyping-Spirale

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:

  1. Wissensakquisition (Analyse)
  2. Prototyp-Design
  3. Requirements (Einwänden) begegnen
  4. Validation (Test)
  5. Integration (Neues zu Altem)
  6. Implementation

2.4. Ein Hybridsystem: Das Trading Support System

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.

3. Vorlesung KI II: Neuronale Netze

3.1. Einführung

3.1.1. Historisches

-350Platon und Aristoteles erklären Denkprozesse.
1700Kybernetische Maschinen (z.B. Schachautomaten).
1800Konnektionismus.
1908Ramon Cajal identifiziert Neuronen.
1913Douglas Adrian entdeckt Aktionspotenziale (Stromimpulse).
1930Turing-Test für KI.
1943McCulloch und Pitts beschreiben die Idee von NN.
1949Donald O. Hebb postuliert Synapsenstärkung durch Lernen.
1951Minsky und Edmonds realisieren das erste Lernsystem.
1963Hodgkin und Huxley beschreiben Signalübertragungen.
1964John Eccles realisiert Synapsenfunktionalität über elektronische Schaltkreise.
1969Frank Rosenblatts Perceptron (vernichtende Kritik von Minsky).
1980Rasanter Aufschwung der Neuronalen Netze.

3.1.2. Merkmale und Ziele der NN

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.

3.1.3. Motivation der NN-Forschung: Grenzen SW/von-Neumann-HW

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.

3.1.4. Biologisches Vorbild

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.

3.1.5. Grundlagen konnektionistischer Modelle

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.

3.1.6. Lernen im konnektionistischen Modell

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.

3.2. Konnektionistische Modelle

3.2.1. Das McCulloch-Pitts-Neuron (1943)

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.

3.2.2. Das Perceptron

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.

3.2.3. Mehrschichtige Perzeptronen mit Backpropagation Lernansatz

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.

3.2.4. Thermodynamische Modelle

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.

3.2.5. Selbstorganisierende Karten

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.

3.3. Implementierung von NN

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.

3.4. Simulationen

Zwei Beispiele für Simulationsprogramme:

  1. 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.
  2. 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.

3.5. SYNAPSE-1 - ein Neurocomputer

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).