Eine kleine Einführung in neuronale Netze Tobias Knuth November 2013
1.2 Mensch und Maschine 1 Inhaltsverzeichnis 1 Grundlagen neuronaler Netze 1 1.1 Kopieren vom biologischen Vorbild...... 1 1.2 Mensch und Maschine. 1 1.3 Perzeptron........ 2 1.4 Perzeptron-Training.. 2 1.5 Gradientenabstieg.... 3 1.6 Erweiterung der Output- Funktion......... 4 2 Backpropagation 4 3 Anwendung im CRM 5 1 Grundlagen neuronaler Netze 1.1 Kopieren vom biologischen Vorbild Die Forschung an der künstlichen Intelligenz wirft tiefgreifende Fragen über das Bewusstsein und die Grenzen der Erkenntnis auf. Mehr Entscheidungen können von Computern getroffen werden, die dem Menschen noch bis vor Kurzem vorbehalten waren. Obgleich der Technologiefortschritt dem Menschen einerseits auch eigene Beschränkungen aufzeigt, eröffnet sie ihm andererseits Myriaden Möglichkeiten. Künstliche neuronale Netze orientieren sich an ihrem biologischem Vorbild; sie übernehmen die Wirkungsweise, aber sie sind keine Sklaven ihrer Originale, insofern als das Erfüllen eines Ziels mittels mathematisch passender Methoden vor der exakten Übernahme ihrer Bauweise steht. Künstliche neuronale Netze sind vor allem in ergebnisorientierten Feldern wie der Betriebswirtschaftslehre Werkzeuge zur Zielerreichung und Optimierung. Dieser kurze Text führt in das umfangreiche Thema künstlicher neuronaler Netze (KNN) ein, engl. Artificial Neural Networks. 1.2 Mensch und Maschine Die künstliche Nachbildung biologischer Prozesse wirft eine Frage auf: Sind Computer in der Lage, mit künstlichen neuronalen Netzen die Leistung des menschlichen Gehirns zu erreichen? Heutzutage kommt die Anzahl der Transistoren im Computer ( 5 Milliarden) der Anzahl der Neuronen im menschlichen Gehirn ( 100 Milliarden) sehr nahe. Neuronen schalten sich mit einer Frequenz von etwa einer Millisekunde an und aus; ein Pentium ist etwa eine Million mal schneller. Transistoren haben pro Stück allerdings nur etwa 10 Verbindungen; sie sind kostspielig. Neuronen weisen hingegen 100.000 bis 200.000 Verbindungen pro Neuron auf. Aus diesem Grund werden neuronale Netze auch konnektionistische Modelle genannt: Das Wissen eines Netzes liegt in seinen Verbindungsgewichten. Weil die Anzahl der Verbindungen eine Schlüsselkomponente für das Funktionieren des neuronalen Netzes darstellt, erreichen Computer die Leistung eines menschlichen Gehirns in bestimmten Disziplinen bei Weitem
1.4 Perzeptron-Training 2 nicht und verbrauchen ein Vielfaches an Energie, während das Gehirn des Menschen so sparsam ist wie eine Glühlampe. Ein weiterer wichtiger Aspekt ist die parallele Verarbeitung der Informationen im menschlichen Gehirn. Verlöre ein neuronales Netz seine Verbindungsgewichte, wäre sämtliches Wissen ausgelöscht. Lernen bedeutet, dass Verbindungsgewichte angepasst werden, um hinzugewonnene Erkenntnisse in das bestehende Verhaltensmuster zu integrieren. 1 + + x 2 + - - - x 1 Abbildung 2: Entscheidungsgrenze einer linear separierbaren Funktion x 2 1.3 Perzeptron Eine der Basiseinheiten stellt das Perzeptron dar. Abbildung 1 beschreibt seine Funktionsweise. Es ist in der Lage, einfache Funktionen wie AND und OR abzubilden. Jedoch stellt XOR ein einzelnes Perzeptron vor eine Hürde; mehrere verschaltete Perzeptronen können die Funktion schließlich abbilden. Abbildung 2 zeigt eine linear separierbare Funktion. Im Beispiel der Abbildung genügt eine lineare Funktion mit zwei Variablen, aber das Konzept ist in höherdimensionale Räume übertragbar. Man beachte, dass die + und die durch eine Gerade getrennt werden können. Abbildung 3 zeigt hingegen eine nicht linear separierbare Funktion. Es ist unmöglich, eine einfache Gerade durch den Graphen zu legen und dabei + und voneinander zu trennen. Ein Perzeptron allein kann die gezeigte Funktion nicht abbilden. 1 Vgl. Dietterich et al. (2012), S. 3ff. + - - + x 1 Abbildung 3: Linear nicht separierbare Funktion 1.4 Perzeptron-Training Wie komplexere neuronale Netze muss auch ein Perzeptron trainiert werden: Es wird mit zufälligen Verbindungsgewichten gestartet, die anschließend optimiert werden. In bestimmten Fällen kann es allerdings sinnvoll sein, mit fest definierten Gewichten zu beginnen. w k w k + w k (1) Formel 1 zeigt, dass die Gewichte um einen Delta-Wert erhöht oder wenn
1.5 Gradientenabstieg 3 x 1 x 2 w 1 w 2 p { +1 wenn n o= k=1 w k x k > 0 1 im anderen Fall. w n x n Abbildung 1: Perzeptron er negativ ist verringert werden. Die Berechnung des Korrekturdelta erfolgt über die Multiplikation des bestehenden Wertes x k mit der über die Lerngeschwindigkeit η regulierten Differenz von erwartetem Wert t und dem tatsächlichen Wert o. w k = η(t o)x k (2) Einen Nachteil stellt das Problem dar, dass das Konvergieren zu einer Lösung versagen kann, wenn die Trainingsbeispiele nicht separierbar sind. 2 1.5 Gradientenabstieg Beim Gradientenabstieg wird eine mehrdimensionale Fehlerfunktion hinabgestiegen, um Fehlerminimum zu finden. Das Verfahren kann mit einer quadratischen Fehlerfunktion verwendet werden. Dann lässt sie sich für ein Per- 2 Vgl. Mitchell (1997), S. 89. zeptron wie folgt schreiben: E( w) = 1 2 S s=1 (t s o s ) 2 (3) Die Funktion sieht schematisch aus wie in Abbildung 4. Sie zeigt, dass das Folgen der Steigung zum niedrigsten Punkt die Fehlerfunktion minimiert. Mithilfe einer derartigen Funktion können auch nicht linear separierbare Probleme mit einem Perzeptron gelöst werden, indem der Fehler näherungsweise minimiert wird. Nichtsdestotrotz wird hier keine Aussage über den tatsächlichen Fehler gemacht. Führte die Fehlerfunktion zu einem unbefriedigenden Minimum, wäre die Vorgehensweise trotzdem nicht zielführend. Die Fehlerfunktion wird verwendet, um w zu bestimmen. Mit dessen Hilfe kann der steilste Weg zum Fehlerminimum abhängig vom Gewicht w k und dem Lernbeispiel s i gefunden werden. w = η E( w) (4)
2 Backpropagation 4 1 2 0.5 E( w) 1 0 1 1 0 0.5 0 0.5 1 1 w 2 w 1 0 0.5 1 6 4 2 0 2 4 6 Abbildung 4: Beispiel einer quadratischen Fehlerfunktion E( w) ist der Gradient von E. Er ist definiert als: E( w) [ de de,..., ] (5) dw 0 dw n Man kann w abhängig von k schreiben: = η d 1 dw k 2 w k = η de dw k S s=1 (t s o s ) 2 (6) Für die Gewichtsveränderung ergibt sich nach Ableitung: w k = η S s=1 (t s o s )x ks (7) 1.6 Erweiterung der Output- Funktion Man erinnere sich zurück an die Output-Funktion der Neuronen aus Abbildung 1. Selbst die Aneinander- Abbildung 5: Sigmoide Funktion reihung mehrerer Perzeptronen würde nicht bewirken, dass nicht linear separierbare Probleme gelöst werden könnten, weil die Summe linearer Funktionen nach wie vor eine lineare Funktion ist. Deswegen wird der Output o ks nicht einfach ausgegeben, sondern über eine nichtlineare, differenzierbare Funktion modifiziert. Hierfür werden sigmoide Funktionen verwendet. Ein Vorteil dieser Funktionen ist der S-förmige Verlauf, der die Bedeutung kleiner Aktivierungsniveaus hervorhebt. 2 Backpropagation Bisher war es nur möglich, einzelne Perzeptronen mithilfe des Gradientenabstiegs zu trainieren. Der Backpropagation-Algorithmus lässt es zu, mehrschichtige Netzwerke ebenfalls mithilfe des Gradientenabstiegs zu trainieren. Der Backpropagation- Algorithmus unterliegt einigen Einschränkungen, deretwegen seine Ver-
3 Anwendung im CRM 5 wendung fallindividuell abgewägt werden sollte. Im Gegensatz zum einfachen Perzeptron kann die Fehlerfunktion eines mehrschichtigen Perzeptrons lokale Minima aufweisen, wodurch das gefundene Minimum nicht zwangsweise das globale sein muss. 3 Durch die Verwendung einer sigmoiden Funktion zur Skalierung des Outputs der Neuronen wird die Herleitung der Ableitung etwas komplizierter, weshalb sie in dieser Einführung nicht behandelt wird. 4 3 Anwendung im CRM Neuronale Netze können vielseitig eingesetzt werden, wenn die Rahmenbedingungen für ihre Verwendung gegeben sind. Die Anwendungsgebiete reichen vom Empfehlen von Produkten auf Basis gelernter Präferenzen bis hin zum Controlling von CRM-Systemen und sind vermutlich längst nicht ausgeschöpft. Die Effektivität der CRM- Systeme verschiedener Firmen wurde in einer chinesischen Studie untersucht. 5 Die Autoren stellten auf Basis von vier Kategorien Kennzahlen auf: Customer Knowledge, Customer Interaction, Customer Value und Customer Satisfaction. Sie ließen Experten die Leistung von 15 Firmen mittels der Kennzahlen bewerten und fügten einen Gesamtwert für die CRM-Leistung hinzu. Die Verbindung aus Kennzahlenwerten und der Gesamtbewertung des CRM- Systems lernte das neuronale Netz anhand von 12 der Firmen, die letzten 3 dienten als Testgruppe. Es zeigte sich, dass der Fehler sehr gering war. Mithilfe des Systems könnten die CRM- Systeme weiterer Firmen nur durch die Untersuchung der einzelnen Kennzahlen bewertet werden. Das neuronale Netz ist trainiert worden, den Zusammenhang zwischen den einzelnen Kennzahlen und der Gesamtbewertung zu lernen und anwenden zu können. Die Studie zeigt, dass neuronale Netze nicht nur bei Big Data eine Rolle spielen, sondern auch bei strategischen Entscheidungen als Werkzeug eingesetzt werden können. 3 Vgl. Mitchell (1997), S. 85. 4 Eine genaue Herleitung kann in Tom Mitchell: Machine Learning nachgelesen werden. 5 Vgl. Cheng et al. (2004)
Literatur Bishop, C. Neural Networks for Pattern Recognition. Oxford University Press, Großbritannien, 2008. Cheng, Kong und Meng. Neural Networks Based Integrated Evaluation Method for the Effetiveness of CRM, 2004. URL http://iceb.nccu.edu.tw/ proceedings/2004/paper/cn002-paper.pdf. Letzter Besuch am 10.10.2013. Dietterich, T., Domingos, P. und Mitchell, T. CSEP 546 - Data Mining, 2012. URL http://courses.cs.washington.edu/courses/csep546/12sp/. Letzter Besuch am 13.10.2013. Mitchell, T. Machine Learning. McGrawHill, New York City, 1997. Oberhofer und Zimmerer. Wie Künstliche Neuronale Netze lernen: Ein Blick in die Black Box der Backpropagation Netzwerke, 1996. URL http: //www.hs-ansbach.de/fileadmin/bachelor/betriebswirtschaftslehre/ Zimmerer/Literatur/DP_287.pdf. Letzter Besuch am 22.11.2013.