Entwurf und prototypische Realisierung einer künstlichen Intelligenz zur Steuerung einer Papierschneidemaschine


Diplomarbeit, 2005
75 Seiten, Note: 1,3

Leseprobe

Inhaltsverzeichnis

1. Einleitung

2. Grundlagen
2.1 Einführung künstliche Intelligenz
2.2 Künstliche neuronale Netze
2.2.1 Einführung
2.2.2 Natürliche und künstliche Neuronen
2.2.3 Aufbau neuronaler Netze
2.2.4 Eigenschaften neuronaler Netze
2.2.5 Netzarchitekturen
2.2.6 Lernen
2.2.7 Netzgrößen und Generalisierungsfähigkeit
2.2.8 Schematischer Überblick über neuronale Netze

3. Analyse
3.1 Ausgangssituation und Problembeschreibung
3.2 Papierschneidemaschinen in der Praxis
3.2.1 Schneiden mit Schnellschneidern oder Planschneidern
3.2.2 Profil der beteiligten Firmen Perfecta und MCS
3.2.3 Schnellschneider der Firma Perfecta
3.3 Dateiformate und -standards
3.3.1 JDF, CIP3 und CIP4
3.3.2 Schnittprogramme
3.3.3 SNNS Netzdateien und Trainingsmusterdateien

4. Anforderungsdefinition
4.1 Zielsetzung der Arbeit und Eingrenzung des Themas
4.2 Pflichtenheft

5. Design
5.1 Benutzerführung
5.2 Model View Controller
5.3 Prototyping
5.4 Unified Modeling Language

6. Implementierung
6.1 Das Entwicklungsumfeld
6.1.1 Stuttgarter Neuronale Netz Simulator
6.1.2 Entwicklungsumgebung Microsoft .net
6.2 Strukturierung und Workflow des Prototyps
6.2.1 Look ’n Feel und Workflow der GUI
6.2.2 Workflow der Core
6.2.3 Künstliche Intelligenz des Prototyps
6.2.4 Kommunikation des Programms mit dem Netz
6.3 Beschreibung besonderer Codefragmente

7. Untersuchungen
7.1 Erfüllung der Randbedingungen
7.1.1 Kontrolle: Benutzerfreundlichkeit der GUI
7.1.2 Kontrolle: Ausgabewerte des NN im Vergleich zum SNNS
7.1.3 Kontrolle: Koordinatenunabhängigkeit des Prototyps
7.1.4 Kontrolle: Wiedergabe einer erlernten Schnittabfolge
7.1.5 Kontrolle: Wiedergabe zweier erlernter Schnittabfolgen
7.1.6 Kontrolle: Wiedergabe fünf erlernter Schnittabfolgen
7.2 Denkbares Innovationspotential des Prototyps
7.2.1 Untersuchung: Übertragbarkeit von Wissen auf andere Konstellationen I
7.2.2 Untersuchung: Übertragbarkeit von Wissen auf andere Konstellationen II
7.2.3 Untersuchung: notwendige Größe der Zwischenschicht
7.2.4 Untersuchung: Wiederholung 7.2.2 mit Zwischenschichtgröße aus 7.2.3
7.2.5 Untersuchung: Übertragbarkeit von Wissen auf andere Konstellationen III
7.2.6 Untersuchung: Aussagekraft 7.2.5

8. Ergebnis und Zusammenfassung
8.1 Zusammenfassung
8.2 Bewertung und Fazit
8.3 Software anderer Hersteller im Vergleich zum Prototyp
8.4 Ausblick und Ideen

9. Quellenverzeichnis

10. Abbildungsverzeichnis

11. Abkürzungsverzeichnis

12. Glossar

1. Einleitung

Die Entwicklung von Software für Papierschneidemaschinen (PSM) begann bei der Firma MCS MICRONIC Computer Systeme schon vor über 15 Jahren. Die Technik verbesserte sich im Laufe der Zeit, ebenso die Visualisierung und Usability für den Benutzer. Eines hat sich jedoch nicht geändert: es wird immer noch ein kundiger Beschneider, also der Bediener der Maschine, benötigt, um die schnellste und wirtschaftlichste Schnittabfolge zu erstellen. Die Idee zu einer Software, die selbstständig sinnvolle Schnittfolgen gene- riert, entstand in Gesprächen mit meinem Erstbetreuer Professor Heßling und stieß sowohl bei MCS als auch bei Perfecta, einem Hersteller von PSM, auf reges Interesse.

Das Beschneiden von großformatigen Papierbögen aus Druckereien erfordert einen geeigneten Beschneider, der auf Grund seiner Erfahrung eine effektive und ressourcen- schonende Schnittfolge gewährleistet. Ziel dieser Arbeit soll demnach sein, die Mög- lichkeiten zur Ermittlung eines sinnvollen Schnittes, abhängig von der jeweiligen Situa- tion, zu untersuchen, die eine künstliche Intelligenz (KI) auf Basis eines neuronalen Netzes (NN) bietet. Außerdem soll das Schnittgut mit allen Nutzen und möglichen Schnitten visualisiert werden. Die Visualisierung und Bedienung der Benutzeroberfläche ist intuitiv zu gestalten, um das Arbeiten an der PSM auch ungelernten Kräften zu er- möglichen. Unter Umständen besteht die Chance, einen kundigen Beschneider durch einen weniger versierten Bediener zu ersetzen.

Die Abschlussarbeit wird von MCS MICRONIC Computer Systeme GmbH begleitet, da potentielles Interesse am zukünftigen Einsatz und der Vermarktung des erarbeiteten Prototyps besteht.

Die vorliegende Diplomarbeit mit dem Titel „Entwurf und prototypische Realisierung einer künstlichen Intelligenz zur Steuerung einer Papierschneidemaschine“ untersucht, inwieweit sich eine KI auf Grundlage eines NN zur Generierung von sinnvollen Schnittvorschlägen bei einer Software für PSM eignet.

Dazu werden zunächst die Grundlagen in den Bereichen KI und NN erarbeitet, an- schließend die Kriterien für den zu entwickelnden Prototyp aufgezeigt und die Aufga- ben genauer spezifiziert. Danach folgt eine Beschreibung der Entwurfsphase. Erläute- rungen der einzelnen Programmteile und -abläufe führen schließlich zu umfangreichen Tests über die Korrektheit, Leistungsfähigkeit und dem Innovationspotential der KI sowie der Qualität der Benutzeroberfläche. Abschließend werden die erarbeiteten Er- gebnisse zusammengefasst, um mögliche Ausblicke für die Weiterentwicklung zu ge- ben.

2. Grundlagen

2.1 Einführung künstliche Intelligenz

„Künstliche Intelligenz (KI, beziehungsweise AI vom englischen Artificial Intelligence) ist eine Fachdisziplin der Informatik mit interdisziplinärem Charakter. Ziel der KI ist es, Maschinen zu entwickeln, die sich verhalten, als verfügten sie über Intelligenz. (John McCarthy, 1955)“ [Wikipedia 2005B] Eine Definition für KI zu finden scheint einfach, scheitert jedoch an den unterschiedli- chen Vorstellungen der Betrachter. Problemstellungen, die dem Menschen einen ge- wissen Grad an Intelligenz abfordern, zum Beispiel die Lösung mathematischer Aufga- ben, sind vom Computer innerhalb kürzester Zeit berechnet. Paradoxer Weise sind es gerade Alltagssituationen, die jeder Mensch täglich meistert, wie beispielsweise das Erkennen von Gesichtern, welche schwer durch Rechner automatisiert werden können. KI beschäftigt sich sowohl mit diesen alltäglichen Folgerungsprozessen, als auch mit komplexen Expertenaufgaben.

Die Forschung der KI wird hauptsächlich für zwei Wissenschaftsbereiche benötigt. Zum einen, um klügere Programme und Maschinen zu erschaffen, zum anderen, um Theo- rien zur menschlichen Intelligenz zu testen und Verhaltensweisen zu simulieren. Die Schaffung intelligenter Maschinen, welche das menschliche Verhalten nachahmen, die so genannte starke KI, ist bis heute weitgehend Utopie geblieben, nicht zuletzt auf- grund des Scheiterns an ihrer philosophischen Fragestellung. Die Forschung an der schwachen KI hingegen, die sich mit der Lösung mathematischer, planungstechnischer und anderer Anwendungsprobleme beschäftigt, hat in den letzten Jahren einige Erfolge verzeichnet und ist zu einem großen Forschungsgebiet herangewachsen. [vgl. Cawsey 2003, S.13]

„Letztlich geht es der schwachen KI somit um die Simulation intelligenten Ver- haltens mit Mitteln der Mathematik und der Informatik; es geht ihr nicht um Schaffung von Bewusstsein oder um ein tieferes Verständnis von Intelligenz.“ [Wikipedia 2005B]

Der Terminus „künstliche Intelligenz“ impliziert, dass es sich um etwas Künstliches, der natürlichen Intelligenz nachempfundenen handelt. Um dies zu ermöglichen stellt sich die Frage, wie natürliche Intelligenz funktioniert.

Bei eingehender Beschäftigung mit dieser Frage wird deutlich, dass vor allem hinter dem menschlichen Verhalten viel mehr steckt, als eine Menge festgelegter Verhaltens- regeln, die mehr oder weniger klar in algorithmischen Strukturen abgebildet werden können.

Um biologische Intelligenz nachzuahmen, muss das Zentrum dieser Intelligenz - das Gehirn, ein Netz aus Milliarden von kleinen, hoch spezialisierten Zellen, den Neuronen - verstanden und abzubilden versucht werden.

NN sind der Versuch, die Nervenzellen des Gehirns zu imitieren und für eine künstliche Intelligenz zu nutzen. [vgl. Thiel 2003]

2.2 Künstliche neuronale Netze

Warren McCulloch und Walter Pitts waren im Jahr 1943 die Pioniere, die sich mit ihrem Formalmodell des Neurons mit dem Thema NN beschäftigten. Die Arbeiten dazu haben seit Mitte der achtziger Jahre sehr stark zugenommen.

2.2.1 Einführung

Was sind neuronale Netze?

Künstliche NN sind informationsverarbeitende Systeme. Sie bestehen aus einer unterschiedlichen Anzahl von Neuronen, die sich über gerichtete Verbindungen Informationen zusenden. Die Art der Information ist auf zwei Zustände reduziert, einer aktivierten und einer nicht aktivierten Zelle.

Diesem einfachen System dient die Natur, genauer das Studium des Gehirns der Säugetiere, als grobes Vorbild. Die Informationsweiterleitung funktioniert dort ebenfalls über parallel geschaltete, einfache Nervenzellen.

Es gibt unterschiedliche Motivationen für die Forschung an NN. Die Nachahmung der Informationsweiterleitung bei Säugetieren, also die Ähnlichkeit des Modells mit der biologischen Realität, ist nur eine davon. Hierbei wird versucht, dem biologischen Vor- bild so nah wie möglich zu kommen, um mittels Simulation an noch unentdeckte Er- gebnisse zu gelangen. In der Naturwissenschaft sind NN von großem Interesse, da es sich um massiv parallele, lernfähige Systeme handelt. Sie werden für Netzwerksimula- tionen, neuronale Hardware oder den Einsatz in Programmen verwendet.

Ein NN muss nicht auf ein Problem hin programmiert werden, es erlernt die Problemlö- sung aus einer Anzahl von Trainingsmustern (TM), wobei es sehr effizient sein kann.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Konnektionismus neuronaler Netze [Zell 2003, S.24]

An der Erforschung NN sind unter anderem naturwissenschaftliche Bereiche interes- siert wie die Biologie/Neurobiologie, Medizin/Neurophysiologie, Psychologie, Bioin- formatik, Informatik, künstliche Intelligenz, Mathematik, Physik und Elektrotechnik. Die Anteile der einzelnen Fachrichtungen am Themengebiet der NN sind in Abb. 1 darge- stellt. Dort wird ersichtlich, dass der größte Schwerpunkt in der Informatik zu finden ist, gefolgt von der Elektrotechnik, der Biologie und der Medizin. Die Gründe differie- ren jedoch, da zum Beispiel in der Informatik oft Problemlösungen mit NN generiert werden, NN in der Biologie aber eher der Simulation von Organismen und Organen dienen. [vgl. Zell 2003, S.23]

2.2.2 Natürliche und künstliche Neuronen

Das Vorbild künstlicher Neuronen ist die Natur. In diesem Kapitel soll zunächst das biologische und das künstliche Neuron dargestellt und erläutert werden. Künstliche NN bestehen aus einem Verbund künstlicher Neuronen, welche in Schichten angeordnet sind. Der Aufbau NN wird im Anschluss veranschaulicht. Biologische Neuronen

„Grundbaustein eines jeden Organismus ist die Zelle. Die Grundzelle eines Gehirns ist das Neuron.“ [Hs-Bremen 1998]

Ein Neuron, die wissenschaftliche Bezeichnung einer Nervenzelle und elementarer Bau- stein von Nervennetzen, besteht im Wesentlichen, wie in Abb. 2 zu sehen ist, aus Dendriten, Synapsen, dem Soma (Zellkörper) und einem sich verzweigenden Fortsatz, dem Axon.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Schema eines natürlichen Neurons [Hs-Bremen 1998]

Der Signalempfang eines Neurons erfolgt über die an den Dendriten befindlichen Sy- napsen. Dendriten sind stark verzweigte Bereiche der Nervenzellen, deren Fortsätze eine Art Antennenfunktion für die Aufnahme elektrischer Impulse von anderen Neuro- nen haben. Innerhalb des Neurons wird das ankommende Signal umgeformt. Beim Er- reichen eines bestimmten Schwellwerts leitet das Neuron diese Impulse, auch Aktions- potentiale genannt, über das Axon an die am Ende des Axons befindlichen Synapsen weiter. Diese wandeln das ankommende elektrische Signal zurück in ein chemisches Signal, um es an Dendriten anderer Neuronen zu senden. Der Fluss von Informationen in den Neuronen erfolgt gerichtet.

Es stellt sich die Frage, wie und wo die eigentliche Information gespeichert wird, wenn Neuronen nur der Weiterleitung von Signalen dienen und selbst keine Daten speichern können. Der Informationsspeicher ist in den Verbindungen der Neuronen und dem Konstrukt des Gehirns selbst, also dem Zusammenschluss vieler Zellen, zu suchen.

Inzwischen ist bekannt, in welcher Weise Neuronen Signale erzeugen beziehungsweise übertragen. Wie Sie jedoch komplexe und hochparallele Systeme wie das Gehirn bilden, welches Informationen aufnimmt und verarbeitet, ist zum heutigen Zeitpunkt noch weitgehend unklar. Künstliche Neuronen „Ein Neuron ist eine Verarbeitungseinheit, die die über die gewichteten Verbin- dungen eingehenden Werte geeignet zusammenfasst (Propagierungsfunktion) und daraus mittels einer Aktivierungsfunktion unter Beachtung eines Schwellwer- tes einen Aktivierungszustand ermittelt. Aus dieser Aktivierung bestimmt eine Ausgabefunktion die Ausgabe des Neurons.“ [Lämmel u.a. 2004, S.174]

Aufbau eines künstlichen Neurons

Ein künstliches Neuron setzt sich, wie in Abb. 3 zu sehen, aus mehreren Teilen zu- sammen. Die Erregungen aus anderen Neuronen oder aus der Umwelt gelangen als Eingangsmuster zum Neuron. Die Eingabe wird mit Hilfe einer Propagierungsfunktion ermittelt, welche eine Aufsummierung aller Netzeingaben, multipliziert mit dem zuge- hörigen Verbindungsgewicht, durchführt. Mit Hilfe der Transferfunktion wird dieser errechnete Wert umgeformt. Dazu dienen meist sigmoide, lineare oder Schwellwert- funktionen. Die Summierung und die Transferfunktion sind in Abb. 3 innerhalb des Neurons dargestellt. Die Ausgabefunktion ist oft die Identität, welche den ermittelten Wert der Transferfunktion weitergibt. Die Aktivierung entscheidet anschließend über den Aktivierungszustand des Neurons und gibt entweder eine 0 oder 1 nach außen beziehungsweise eine 1 oder -1. Der Schwellwert, auch als bias oder threshold be- zeichnet, ist ein Parameter, der die Aktivierung des Neurons mit entscheidet, da er als Wert in die Summierung der Netzeingabe, also in die Propagierungsfunktion, mit ein- geht. Somit wird eine einfachere Anwendung der Transferfunktionen erzielt, die dann meistens ein sigmoides Verhalten um den Wert 0 erreichen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Künstliches Neuron [Zsw-Bw 2005]

Die Funktionen eines Neurons sind bewusst elementar gehalten, da die Leistungsfähigkeit nicht durch komplexe Algorithmen, sondern durch das Zusammenschalten vieler einfacher Elemente erreicht werden soll.

Aktivierungsfunktionen / Transferfunktionen

Die Aktivierungsfunktion formt, wie im vorherigen Kapitel beschrieben, die eingegan- genen und aufsummierten Signale mittels einer linearen, nichtlinearen oder sigmoiden Funktion für eine anschließende Ausgangsfunktion um. Exemplarisch sollen im Fol- genden die am häufigsten verwendeten Vertreter von Aktivierungsfunktionen kurz dargestellt werden.

Die Identität

f (x)= x

ist eine lineare Aktivierungsfunktion beziehungsweise eine einfache Weitergabe des ankommenden Signals. Sie wird insbesondere bei der Eingabeschicht von NN verwendet, da eine Berechnung erst in der darauf folgenden Schicht stattfindet.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Identität [Uni-Münster 2005B]

Die Schwellwertfunktion

Abbildung in dieser Leseprobe nicht enthalten

ist eine nichtlineare Aktivierungsfunktion. Alle Werte unter einem bestimmten Schwell- wert ˠ (ˠ=0,5 in Abb. 5) werden beispielsweise als -1 weitergegeben, alle darüber oder dem Schwellwert gleichen als 1. Somit ist immer klar, ob ein Neuron aktiviert ist oder nicht. Eine häufig angewandte Alternative ist die binäre Schwellwertfunktion (0 oder 1 als Ergebnis).

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5: Schwellwertfunktion [Uni-Münster 2005B]

Abbildung in dieser Leseprobe nicht enthalten

ist eine sigmoide Aktivierungsfunktion basierend auf der e-Funktion. Sie liefert stets Werte zwischen 0 und 1, welche an die nächste Schicht zur Verarbeitung weitergeleitet werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6: Logistische Funktion [Uni-Münster 2005B]

2.2.3 Aufbau neuronaler Netze

„Künstliche neuronale Netze […] sind ein Zweig der künstlichen Intelligenz und prinzipieller Forschungsgegenstand der Neuroinformatik.“ [Wikipedia 2005C]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7: Künstliches neuronales Netz [Verfasser]

Ein NN besteht aus vielen Neuronen, welche, wie in Abb. 7 dargestellt, in Schichten angeordnet, untereinander verbunden sind. Neuronen sind einfache Prozessoren, wel- che aus den Eingangssignalen, die entweder aus der Umwelt oder von anderen Neuro- nen stammen, auf Grundlage bestimmter mathematischer Formeln, ein Ausgangssignal errechnen. Die Verbindungen zu anderen Neuronen besitzen so genannte Gewichte, welche je nach ihrer Wertigkeit das zu übertragende Signal hemmen oder erregen. Neuronen verfügen aufgrund ihrer Simplizität nur über sehr eingeschränkte Datenver- arbeitungsfähigkeiten.

2.2.4 Eigenschaften neuronaler Netze

NN sind massiv parallel und bieten sich daher für den Einsatz auf Parallelrechnern an. Da NN nicht auf ein Problem hin fest programmiert werden, sondern durch ein Lern- verfahren aus einer Anzahl von Trainingsdaten trainiert werden, sind sie eher in der Lage - abhängig von der gewählten Implementation - ihr Verhalten auf veränderte Be- dingungen hin anzupassen. In NN ist das erlernte „Wissen“ in den Gewichten gespei- chert, welche sich verteilt zwischen den Netzschichten befinden. Dies führt zum einen zu einer höheren Fehlertoleranz und zum anderen ist so erst die hochgradig parallele Verarbeitung gewährleistet. Zudem kann ein NN beim Ausfall einzelner Netzteile unter Berücksichtigung bestimmter Implementationsansätze (Netzgröße, Lernverfahren etc.) einsatzfähig bleiben, da durch die verteilte Wissensrepräsentation eine hohe Fehlerto- leranz gegeben ist. Verrauschte oder gestörte Daten können bis zu einem gewissen Grad erkannt werden. Statt adressbezogen werden Informationen in NN inhaltsbezogen gespeichert. Nur so ist es möglich, „ähnliche“ Muster erkennen zu lassen.

Ein NN muss im Normalfall mit einer Anzahl von Trainingsdaten angelernt werden. Die Mitgabe von Basiswissen gestaltet sich sehr schwierig und macht das Netz daher ab- hängig von Trainingsdaten. Außerdem ist es ist kaum möglich, das NN sein eigenes Wissen oder seinen Lösungsweg analysieren zu lassen. Selbst die Analyse von außen ist nur mit hohem Aufwand realisierbar. Alle bisher bekannten Lernverfahren sind verhält- nismäßig langsam. Modifikationen des Backpropagation Verfahrens, wie zum Beispiel Quickprop, konnten zwar Verbesserungen schaffen, das Grundproblem blieb aber bis- her bestehen. [vgl. Zell 2003, S.26]

Trainierbarkeit

NN sind genau betrachtet immer trainierbar, die Frage ist lediglich, ob das NN von au- ßen mit Trainingsmustern trainiert werden kann oder ohne passende Beispiele lernt. Typische Vertreter dieser Netztypen sind auf Seiten der von außen trainierbaren Netze Perzeptron- und Backpropagationnetze. Bolzmann-Maschine und Hopfield-Netze ste- hen auf Seiten der Netze, denen nicht natürliche NN als Vorbild dienen, sondern physi- kalische Modelle, wie beispielsweise die Teilchenbewegung in Metallen. In diesem Fall werden die Gewichte zur Berechnung einer Zielfunktion, sozusagen eines Energieni- veaus, benutzt. [vgl. Lämmel u.a. 2004, S.180]

2.2.5 Netzarchitekturen

Vorwärts verkettet

Vorwärts verkettete beziehungsweise gerichtete NN, auch als feed forward Netze bezeichnet, bestehen aus einer Eingabe-, einer Ausgabeschicht und einer beliebigen Anzahl an Zwischenschichten. Die Neuronen verschiedener Schichten dürfen nur in Richtung der Ausgabeschicht miteinander verbunden sein. [vgl. Lämmel u.a. 2004, S.183]

Vollvernetzt

In vollvernetzten NN, auch vollvermascht genannt, sind sämtliche Neuronen einer Schicht mit jeweils allen der nachfolgenden Schicht in Richtung der Ausgabeschicht verbunden (siehe Abb. 8). Es handelt es sich um eine Spezialform der vorwärts verket- teten NN mit der maximal möglichen Anzahl an Verbindungen zwischen aufeinander folgenden Schichten. Diese Konfiguration wird in der Praxis häufig verwendet verwen- det.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8: Vollvernetztes neuronales Netz [Heuler 1997]

Rückkopplung

Rückgekoppelte NN, auch rekurrente NN genannt, haben die Eigenschaft, dass Neuronen untereinander nicht nur in Richtung der Ausgabeschicht verbunden sind, sondern die Aktivierung auch an Neuronen einer oder mehrerer zurückliegender Schichten geleitet wird (siehe Abb. 9).

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 9: Rückgekoppeltes neuronales Netz [Heuler 1997]

Eine Rückkopplung innerhalb eines NN ist immer dann notwendig, wenn das Ergebnis nicht nur von der aktuellen Netzeingabe abhängt, sondern zusätzlich von dessen zeit- lichen Verlauf. Deutlich wird dies zum Beispiel bei der Vorhersage von Koordinaten einer Sinuskurve mittels NN. Ein Netz ohne Rückkopplung kann nicht erkennen, ob sie im Begriff ist zu fallen oder zu steigen, also die nächste y-Koordinate größer oder klei- ner ist. In diesem Fall ist das Ergebnis des letzten Netzdurchlaufes wichtig, welches bei der Rückkopplung aus der Ausgabeschicht wieder an eine oder mehrere Schichten zu- rück geleitet wird.

Typische Beispiele dieses Verfahrens sind das Jordan- und das Elman-Netz. [vgl. Heßling 2004]

2.2.6 Lernen

NN erhalten ihr Wissen im Allgemeinen durch das Erlernen von Trainingsmustern, dem so genannten überwachten Lernen. Diese Methode lässt sich jedoch nur dann anwenden, wenn alle Daten für das überwachte Lernen zur Verfügung stehen.

Für das überwachte Lernen müssen Netzeingaben in Verbindung mit den dazugehörigen Netzausgaben vorhanden sein. Ziel des überwachten Lernens ist es, die IstAusgabe mit der Soll-Ausgabe zu vergleichen und anhand der Differenz die Gewichte der Verbindungen zu modifizieren.

Beim unüberwachten Lernen, dem so genannten self-organized learning oder auch unsupervised learning, versucht das NN die Eingaben selbsttätig in Ähnlichkeitsklassen aufzuteilen, ohne einen Zielwert zu kennen. Eine externe Kontrolle entfällt bei diesem Verfahren.

Für die dritte Variante, das bestärkende Lernen, ist nicht die exakte Differenz zwischen Ist-Ausgabe und Soll-Ausgabe interessant, sondern nur der Gegenstand der Übereinstimmung. Der Netzfehler wird anschließend durch selbstständige Anpassung der Lernregeln des NN minimiert.

Lernverfahren

Um NN zu trainieren bedarf es so genannter Lernverfahren oder -regeln. Diese sind mathematische Formeln zur Anpassung (Adaption) der Gewichte innerhalb des NN.

Die Delta-Regel (oder auch Widrow-Hoff-Regel) ist von der hebbschen Lernregel abge- leitet und ein Spezialfall des Backpropagationverfahrens (siehe nächster Absatz). Sie dient der Adaption von Gewichten der Verbindungen, indem der Wert der Gewichte, ausgehend vom Anteil am Netzfehler, verändert wird. Dieser Fehler entspricht der Dif- ferenz zwischen der erwarteten und der tatsächlichen Ausgabe des Netzes. Die Delta Regel kann nur bei vorwärts verketteten Netzen mit einer Schicht von trainierbaren Verbindungen angewendet werden, also nur bei NN ohne Zwischenschichten.

Backpropagation ist ein überwachtes Lernverfahren für NN. Es wird benötigt, wenn in einem NN Zwischenschichten vorhanden sind, da es für die darin enthaltenen Neuro- nen keine erwartete Ausgabe gibt, mit der die errechnete Ausgabe verglichen werden kann. Die zuvor beschriebene Delta Regel kann nur für Netze ohne Zwischenschichten eingesetzt werden.

Definiert sind zwei Netzdurchläufe, beginnend von der Eingabe- zur Ausgabeschicht (Vorwärtsdurchlauf) und anschließend entgegengesetzt (Rückwärtsdurchlauf). Beim Rückwärtsdurchlauf erfolgt eine Gewichtsveränderung der Netzgewichte ausgehend von einem bestimmten Fehlersignal. Dieses Signal errechnet sich aus der Abweichung der berechneten zu der erwarteten Ausgabe. Vorgenommen wird diese Gewichtsveränderung schichtweise, angefangen mit den Verbindungen zur Ausgabeschicht, über die inmitten der Zwischenschichten, bis hin zu den Gewichten der Verbindungen der Eingabeschicht zu den Zwischenschichten, also rückwärts.

Dem Backpropagation Verfahren liegt ein Gradientenabstiegsverfahren, das heißt eine Methode des steilsten Abstiegs, zugrunde. Mit diesem Ansatz wird versucht, eine Kombination von Gewichten zu finden, bei der die Aufrechnung der einzelnen Fehler zu einer Fehlersumme minimal ist. Es kann also von einem globalen Minimum der Fehlerfunktion gesprochen werden, wenn der Netzfehler konvergiert, also der Fehler kleiner wird als ein vorher festgelegter Wert. Eine andere Möglichkeit, ein positives Ende eines Backpropagation Durchlaufes zu finden, ist der Abbruch in dem Moment, in dem die berechneten Ausgaben den erwarteten entsprechen.

„Backpropagation ist ein Gradientenabstiegsverfahren. Wenn man den Fehler eines neuronalen Netzes als Funktion der Gewichte des Netzwerks graphisch aufträgt, erhält man eine Fehlerfläche, die sich im zweidimensionalen Fall anschaulich graphisch darstellen lässt.“ [Zell 2003, S.105]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 10: Fehlerfläche zweier Gewichte [Uni-Münster 2005A]

2.2.7 Netzgrößen und Generalisierungsfähigkeit

Ein großer Vorteil der NN liegt darin, dass sie nicht nur gelernte Situationen wiederer- kennen, sondern anhand dieser unter bestimmten Bedingungen zur Generalisierung fähig sein können. NN sind demnach potentiell in der Lage, Muster, die sie nicht ge- lernt haben, richtig zu klassifizieren. Ein Kriterium für die Generalisierungsfähigkeit eines NN ist die Netzgröße, abhängig von der Anzahl und der Art der TM (Trainings- muster). Da sowohl Eingabe- als auch Ausgabeschicht mit ihren jeweiligen Gewichten von der Problemstellung abhängen und somit meistens nicht variabel sind, ist die Ge- neralisierungsfähigkeit des NN unter anderem von der Größe der Zwischenschicht(en) abhängig.

Ein Ansatz, die passende Größe der Zwischenschicht(en) zu ermitteln ist, einen der Faktoren „Netzgröße“ oder „Anzahl der Trainingmuster“ variabel zu lassen und durch Verringerung derer Anzahl solange zu experimentieren, bis der Moment gefunden ist, in dem das Netz die gegebenen TM noch erlernen kann, die Fehlerkurve also gegen Null konvergiert. Ist das Netz zu groß, werden die gegebenen TM nur auswendig gelernt und es findet kaum Generalisierung statt. Zusammenfassend lässt sich feststellen, dass die Größe der Zwischenschicht(en) nicht beliebig gewählt werden darf, sondern sich immer nach der Problemstellung richtet. Nur so kann eine Basis für die potentielle Generalisierungsfähigkeit eines NN geschaffen werden. [vgl. Lämmel u.a. 2004, S.217-218]

2.2.8 Schematischer Überblick über neuronale Netze

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 11: Concept Map neuronaler Netze [NeuronalesNetz 2005]

Die Abbildung zeigt eine schematische Darstellung (Concept Map) über die Abläufe in NN. Sieben rot umrahmte Kreise zeigen die einzelnen Stationen an:

1 vier verschiedene Unit-Typen mit möglichen Verknüpfungen
2 Gewichte können hemmen (Minus), erregen (Plus) oder keinen Einfluss haben (Null) 3 Input einer Unit ist das Produkt aus Aktivitätslevel und Gewicht 4 Addition aller Inputs eines Neurons zum Netto-Input
5 Aktivitätslevel einer Zelle wird mit gewählter Aktivitätsfunktion ermittelt
6 In der Trainingsphase werden Muster mit vorgegebener Ausgabe erlernt, in der Ausbreitungsphase werden die Lernergebnisse überprüft
7 Lernen führt zu Wissen, wobei das bisher erworbene Wissen bei jeder Trainings- und Ausbreitungsphase mit einfließt

NN bestehen aus Neuronen, so genannten Units[1]. Sie dienen der Aufnahme und Wei- terleitung von Informationen. Unterschieden werden Input- (Signalempfang aus der Umwelt), Output- (Signalweitergabe an Umwelt) und Hidden-Units (Zwischenschicht). Units sind miteinander verbunden, wobei die Stärke der Verbindung durch ein Gewicht ausgedrückt wird[2]. Dieses Gewicht hat Einfluss auf den Wert der ankommenden Sig- nale (Aktivitätslevel) von anderen Neuronen. Das Wissen NN ist in den Gewichten ge- speichert, wobei Lernen[7]als Gewichtsveränderung angesehen werden kann. Der In- put eines Neurons[3]hängt von dem Aktivitätslevel der sendenden Einheit und dem Gewicht zwischen den beiden Neuronen ab, die multiplikativ miteinander verknüpft sind. Der gesamte Input einer Unit wird Netto-Input genannt[4], welcher sich additiv aus allen Inputs zusammensetzt, die das Neuron von anderen Neuronen erhält. Die Aktivitätsfunktion[5]stellt den Zusammenhang zwischen dem Netto-Input und dem Aktivitätslevel eines Neurons dar. Das Neuron sendet es an andere Neuronen weiter. Die Aktivitätsfunktionen können unterschiedlich geartet sein, sind jedoch meist linear, binär oder sigmoiden Charakters[5].

Bei NN wird zwischen einer Trainingsphase und einer Ausbreitungsphase unterschieden[6]. In der Trainingsphase lernt das NN das vorgegebene Lernmaterial mit Hilfe einer Lernregel, bei der die Gewichte zwischen den einzelnen Neuronen modifiziert werden. In der Ausbreitungsphase wird, auf Grundlage der bereits modifizierten Gewichte aus der Trainingsphase, das erlangte Wissen des Netzes untersucht, jedoch werden keine Gewichte verändert.[vgl. NeuronalesNetz 2005]

[...]

Ende der Leseprobe aus 75 Seiten

Details

Titel
Entwurf und prototypische Realisierung einer künstlichen Intelligenz zur Steuerung einer Papierschneidemaschine
Hochschule
Hochschule für Technik und Wirtschaft Berlin  (Fachbereich 4 / Wirtschaftswissenschaften II)
Note
1,3
Autor
Jahr
2005
Seiten
75
Katalognummer
V54313
ISBN (eBook)
9783638495516
Dateigröße
2999 KB
Sprache
Deutsch
Anmerkungen
Schlagworte
Entwurf, Realisierung, Intelligenz, Steuerung, Papierschneidemaschine
Arbeit zitieren
Dipl. Inf. (FH) Bastian Schindler (Autor), 2005, Entwurf und prototypische Realisierung einer künstlichen Intelligenz zur Steuerung einer Papierschneidemaschine, München, GRIN Verlag, https://www.grin.com/document/54313

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Entwurf und prototypische Realisierung einer  künstlichen Intelligenz zur Steuerung  einer Papierschneidemaschine


Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden