Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

09.04.1993 - 

Technischer Stand und Einsatzmoeglichkeiten neuronaler Netze (Teil 1)

Einige Faehigkeiten des Hirns lassen sich elektronisch simulieren

Kuenstliche neuronale Netze bestehen aus einer grossen Anzahl von einfachen Prozessoren. Mit solchen Netzwerken versucht man, hoehere Rechenleistungen zu erreichen, als dies mit konventionellen Prozessoren moeglich ist, die in der Regel nur eine einzige Recheneinheit enthalten.

Die Netze imitieren einige Aspekte von Schaltungen, wie sie in unserem Gehirn bestehen, sind aber in der Regel keine getreuen Modelle von biologischen Zellen. Immerhin versuchen die Forscher, einige der interessanten Eigenschaften biologischer Schaltungen nachzuahmen: zum Beispiel massiv-paralleles Rechnen, Lernen an Beispielen und Fehlertoleranz. Dies sind alles Eigenschaften, die in heutigen Computern, wenn ueberhaupt, nur sehr beschraenkt vorhanden sind.

Elektronische Elemente wesentlich schneller

Einer getreuen Imitation von biologischen Schaltungen sind auch Grenzen gesetzt, denn die Forscher verstehen trotz jahrzehntelangen Bemuehungen den weitaus groessten Teil des menschlichen Gehirns nicht im Detail. Messungen der Schaltungsfunktionen an neuronalen Systemen zum Beispiel sind ausserordentlich schwierig. Deshalb sind Modelle auf indirekte Beobachtungen und Spekulationen angewiesen.

Auch werden die kuenstlichen neuronalen Netze aus Halbleiter- Elementen und nicht aus biochemischen Molekuelen gebaut. Diese beiden Medien sind sehr verschieden, und das spiegelt sich auch in der Architektur der Systeme wider 1) 2).

Biologische Neuronen sind um mehrere Groessenordnungen langsamer als elektronische Bauelemente. Nimmt man die Intervalle zwischen Signalimpulsen von Neuronen als Massstab fuer die Rechengeschwindigkeit, so arbeiten biologische Neuronen mit Zeiten von Millisekunden, waehrend elektronische Elemente in einigen Nanosekunden schalten, also hunderttausend bis eine Million Mal schneller. Dennoch verarbeitet unser Gehirn Bild- und Sprachinformation mit einer Geschwindigkeit, die jenseits der Moeglichkeiten heutiger Computer liet. Diese phaenomenale Leistung ist moeglich, weil in unserem Gehirn sehr viele Neuronen gleichzeitig taetig sind, waehrend herkoemmliche Computer meist nur mit einem einzigen Prozessor arbeiten.

Informationen sind im Gehirn wesentlich dichter gelagert als in elektronischen Systemen. Wenn man die Dichte der Synapsen (das sind die Verbindungen zwischen Neuronen) als Massstab setzt, so findet man im Gehirn eine Speicherdichte, die um rund fuenf Groessenordnungen hoeher ist als jene von elektronischen Systemen. Ausserdem sind die Neuronen weit mehr vernetzt, als dies bei elektronischen Schaltungen ueblich ist: Biologische Neuronen haben Verbindungen zu 1000, manche sogar zu 100 000 anderen Neuronen.

Elektronische Gatter hingegen sind nur selten mit mehr als zehn anderen Gattern verbunden (vgl. Abbildung 1).

Bisher konzentrieren sich Entwickler darauf, Eigenschaften biologischer neuronaler Netze mit konventionellen Computern zu simulieren. Softwaremodelle lassen sich einfach aendern und eignen sich daher gut, um Ideen zu entwickeln und den Einfluss verschiedener Parameter auf das Verhalten eines Systems zu untersuchen.

Allerdings lassen sich mit solchen Simulationen keine hohen Rechengeschwindigkeiten erreichen, da man durch die Rechenleistung der Simulationsmaschine limitiert ist. Der Vorteil des parallelen Rechnens einer grossen Anzahl von Prozessoren laesst sich nur verwirklichen, wenn solche Modelle in Hardware gebaut werden. Softwaresimulationen sind fuer viele Anwendungen zu langsam.

Kuenstliche neuronale Netze wurden bereits in den sechziger Jahren auf ihre Eignung fuer die Datenverarbeitung untersucht. Es wurden damals mehrere Systeme gebaut, die paralleles Rechnen oder das Lernen an Beispielen demonstrierten 3) 4).

Kleine Netze loesen keine grossen Probleme

Mit solchen Schaltungen wurde zum Beispiel bei Anwendungen wie Wettervorhersage oder Spracherkennung experimentiert. Aber vor 30 Jahren waren die Computer, die man fuer solche Simulationen einsetzen konnte, sehr langsam. Da es noch keine integrierten Schaltungen gab, mussten elektronische Netze mit diskreten Bauelementen realisiert werden, und deshalb waren schon Systeme mit nur einigen wenigen Neuronen gross und klobig. Mit kleinen Netzen sind aber kaum Probleme von groesserer praktischer Bedeutung zu loesen.

Heute lassen sich auf einem leistungsfaehigen Computer ohne weiteres Netze mit 100 000 oder mehr Verbindungen simulieren. Ausserdem ist die Integrationsdichte in der Mikroelektronik so weit fortgeschritten, dass man grosse neuronale Netze jetzt auch hardwaremaessig realisieren kann: Auf einem einzigen Chip haben Netzwerke mit Tausenden von Verbindungen Platz. Wichtige Probleme lassen sich mit solchen Netzen bearbeiten. Kein Wunder, dass sie das Interesse von Fachleuten wie potentiellen Anwendern geweckt haben.

1985 arbeiteten erst wenige Forschungsgruppen am Bau von elektronischen neuronalen Netzen, die meisten davon in den USA. Doch das hat sich stark geaendert: Allein waehrend der letzten zwei Jahre wurden in der Fachpresse mehr als 50 verschiedene Systeme vorgestellt, die aus allen Teilen der Welt stammen. Die Entwicklungen reichen von analogen Schaltungen bis zu digitalen Netzwerken und Emulatoren. Die meisten dieser Systeme sind zwar noch in einer experimentellen Phase, doch erscheinen sie jetzt mehr und mehr auch in industriellen Anwendungen - zum Beispiel in der Mustererkennung.

Ein einfaches Neuronenmodell

Abbildung 2 zeigt schematisch ein elektronisches "Neuron", wie es oft gebaut wird, wenn analoge Schaltungstechnik zum Einsatz kommt. Es besteht aus einem Verstaerker und Verbindungen, an denen die Ausgaenge anderer Neuronen angekoppelt werden.

In jeder Verbindung wird das Ausgangssignal eines Neurons, der sogenannte Neuronenzustand, mit einem Gewichtsfaktor multipliziert. Ein Strom, dessen Staerke proportional zum Resultat dieser Berechnung ist, wird zu den Resultaten aller anderen Verbindungen addiert. Der resultierende Strom wird in einem Verstaerker in eine Ausgangsspannung verwandelt, der oft eine nichtlineare Eingangs- und Ausgangscharakteristik hat. Diese Transfercharakteristik kann eine Stufenfunktion oder eine geglaettete Stufenfunktion sein.

Jede Verbindung fuehrt eine Multiplikation und eine Addition aus. Da das Netz eine grosse Anzahl solcher Verbindungen enthaelt, sind Multiplikationen und Additionen die am weitaus haeufigsten ausgefuehrten Operationen. Ein System muss also so gebaut sein, dass es diese Berechnungen, die haeufig auch Verbindungen pro Sekunde genannt werden, moeglichst schnell ausfuehren kann. Das gilt oft als Mass fuer die Leistungsfaehigkeit eines Systems.

Das Modell in Abbildung 2 benuetzt analoge Schaltungstechnik fuer die Berechnungen. Natuerlich ist es auch moeglich, diese Operationen digital zu berechnen, jedoch erfordert dies wesentlich mehr Komponenten: Fuer einen digitalen 16-Bit-Multiplikator zum Beispiel werden rund 5000 Transistoren benoetigt. Mit analoger Schaltungstechnik kann man solche Multiplikatoren mit etwa zehn Transistoren bauen, und die Stroeme lassen sich ohne zusaetzliche Komponenten auf einem Draht summieren.

Allerdings sind kleine und schnelle analoge Schaltungen nicht sehr praezis. Aufloesungen von acht bis zehn Bit sind relativ einfach zu erreichen, doch fuer eine hoehere Praezision braucht es grossflaechigere, entsprechend langsamere Schaltungen. Deshalb eignen sich fuer hoehere Aufloesungen digitale Schaltungen besser.

Fuer viele Anwendungen von neuronalen Netzen genuegt eine kleine Aufloesung. Da stets zahlreiche Verbindungen zu einem Resultat beitragen, werden Fehler, die in einzelnen Verbindungen entstehen, ausgemittelt, falls sie nicht miteinander korreliert sind. Zudem werden neuronale Netze oft fuer Probleme eingesetzt, die keine hohe numerische Praezision benoetigen. In der Mustererkennung zum Beispiel arbeitet man oft mit Signalen, die stark verrauscht sind, und Entscheide beruhen mehr auf qualitativen Ueberlegungen als auf praezisen Zahlen.

Neuronale Netze mit geringer Aufloesung lassen sich ohne weiteres mit analogen Schaltungen realisieren. Tatsaechlich basiert die Mehrzahl der bisherigen kuenstlichen Netze zumindest teilweise auf analogen Schaltungstechniken.

Abbildung 3 zeigt schematisch ein solches Netzwerk. Es handelt sich um ein zweilagiges Netz ohne Rueckkopplung. Der Datenfluss verlaeuft von der Eingangslage von Neuronen durch die erste Lage von Verbindungen zur zweiten Lage von Neuronen. Da diese Neuronen keinen Zugang von aussen haben, werden sie oft versteckte Neuronen genannt. Von diesen versteckten Neuronen fliessen die Signale durch eine zweite Lage von Verbindungen zur Ausgangslage von Neuronen.

Welche Operationen ein neuronales Netz ausfuehrt, bestimmen die Architektur und die Werte der Gewichte. Mit der Netzarchitektur in Abbildung 3 kann man Muster in eine von mehreren Klassen einteilen. Dies ist eine fundamentale Aufgabe der Mustererkennung - egal, ob es sich nun um das Erkennen von Objekten handelt oder um das Verstehen von Sprache.

Andere typische Einsatzgebiete fuer neuronale Netze sind Optimierungs- und Kontrollprobleme, zum Beispiel die Ueberwachung eines Roboters. Solche Aufgaben stellen sehr unterschiedliche Anforderungen an die Rechengeschwindigkeit, die Aufloesung der Berechnungen und die Menge der Datenkommunikation zwischen den Neuronen.

Hohe Aufloesung der Berechnungen

Kontroll- und Optimierungsaufgaben erfordern in der Regel eine kleine Anzahl von Verbindungen, jedoch eine hohe Aufloesung der Berechnungen. Mustererkennung andererseits braucht eine grosse Anzahl von Verbindungen, aber dafuer nur eine beschraenkte Aufloesung. Deshalb sind vor allem fuer die Mustererkennung Spezialprozessoren erforderlich. Analoge Netzwerke eignen sich gut fuer diesen Anwendungsbereich.

Probleme in der Mustererkennung erfordern oft 100 000 Verbindungen oder mehr. Doch eine grosse Anzahl von Verbindungen allein ist noch keine Garantie fuer ein gutes Resultat. Wichtig ist auch, dass eine geeignete Netzarchitektur gewaehlt wird.

Es gibt bis heute keine allgemeingueltige Theorie, wie ein Netz strukturiert werden muss, um gute Ergebnisse zu erzielen. Aber verschiedene Faustregeln haben sich mit der Zeit herausgebildet. Zum Beispiel muss man versuchen, moeglichst viel Wissen ueber das Problem in die Netzarchitektur einzubauen.

Fuer das Erkennen von Buchstaben etwa ist es besser, wenn die Neuronen nicht voll verbunden sind. Ein Neuron bekommt dann nicht Eingangssignale von allen Neuronen der vorangehenden Lage, sondern nur von einem lokal beschraenkten Gebiet. Wenn man ein solches Netz mit vielen Beispielen trainiert, spezialisieren sich die einzelnen Neuronen auf bestimmte Merkmale. So koennen Neuronen nahe bei der Eingangslage sehr gut Kanten entdecken, waehrend Neuronen naeher beim Ausgang bestimmte Kombinationen von solchen Merkmalen suchen. Die letzte Lage von Verbindungen schliesslich klassifiziert das ganze Objekt.

Amerikanische Wissenschaftler haben ein solches System fuer das Erkennen von handgeschriebenen Zahlen entwickelt. Es wird vor allem fuer das Lesen von Postleitzahlen eingesetzt 5) und enthaelt mehr als 100 000 Verbindungen, die in fuenf Lagen angeordnet sind. Die ersten vier Lagen haben die Forscher mit einem einzigen analogen Elektronik-Chip realisiert, der mehr als tausend Zahlen pro Sekunde lesen kann. Ein entsprechender digitaler Signalprozessor waere etwa 100mal langsamer 6).

Eine wichtige Eigenschaft der neuronalen Netze ist ihre Lernfaehigkeit. Das heisst, die Gewichtswerte in den Verbindungen werden nicht programmiert, sondern man praesentiert dem Netz Muster und laesst es rechnen. Anschliessend gibt man ihm die gewuenschten Resultate, damit es sich verbessern kann.

Die Lernalgorithmen, die heute meist angewendet werden, sind sogenannte Gradientenmethoden. Sie veraendern nach jeder Klassifizierung eines Musters die Gewichte so, dass das Resultat fuer dieses Muster besser wird. Fuer den Bau von Hardware ist vor allem wichtig, dass die Gewichte in sehr kleinen Schritten veraendert werden, sonst wird der Lernprozess unstabil.

Lernalgorithmen meist mit digitaler Software

Dies erfordert allerdings eine hohe Aufloesung in den Verbindungen, was mit analoger Elektronik nur schwer realisierbar ist. Deshalb sind die meisten analogen neuronalen Netze nicht in erster Linie fuer das Lernen ausgelegt. Lernalgorithmen erfolgen meist mit digitaler Software, anschliessend werden die Gewichte auf den Chip geladen, der dann die Klassifizierung sehr schnell ausfuehren kann.

Lernen ist sehr rechenintensiv: Es kann selbst auf modernen, leistungsfaehigen Computern ohne weiteres Tage oder gar Wochen dauern. So benoetigt zum Beispiel das oben erwaehnte Netz, das handgeschriebene Buchstaben erkennt, auf einer Sparc-2-Workstation von Sun ungefaehr eine Woche Lernzeit.

Leistungsfaehigere und schnellere Computer waeren hochwillkommen. Da Lernen eine hohe Rechengenauigkeit benoetigt, kommen vor allem Computer mit speziellen Arithmetik-Prozessoren in Betracht, zum Beispiel solche, die fuer die Berechnung von Multiplikationen und Additionen spezialisiert sind. Es wurden auch schon Multiprozessor-Systeme gebaut, die mehrere digitale Signalprozessoren einsetzen 7), sowie anwendungsspezifische Prozessoren, mit denen sich noch hoehere Rechenleistungen erreichen lassen 8).

Fuer viele Aufgaben kann man lange Lernzeiten in Kauf nehmen, da nur einmal gelernt werden muss. Man kann eine Woche warten, bis ein Netz gelernt hat, Buchstaben zu erkennen, schliesslich kommt es ja fast nur auf die Geschwindigkeit im nachfolgenden praktischen Einsatz an. Wird das Netz beispielsweise in einen Scanner eingebaut, so erwartet der Benuetzer, dass es eine Textseite in wenigen Sekunden lesen kann. Fuer solche Ansprueche sind Spezialprozessoren beinahe unverzichtbar.

Neben den erwaehnten Lernmethoden haben die Forscher auch Algorithmen entwickelt, die sich fuer den Einsatz mit analoger Elektronik eignen: zum Beispiel den Boltzmann-Lernprozess oder sogenannte Gewichtsstoerungs-Methoden. Mit Schaltungen, die den Boltzmann-Algorithmus ausfuehren 9) 10), wurden bereits interessante Resultate erzielt. Ob sie sich auch fuer das Loesen von grossen Problemen eignen, laesst sich aufgrund der geringen Erfahrung allerdings noch nicht sagen.

Entwicklung von analogen Ladungsspeichern

Bei analogen Schaltungen waere es vorteilhaft, wenn man auch analoge Werte speichern koennte. Zwar ist ein Kondensator dazu in der Lage. Kondensatoren muessen jedoch staendig frisch aufgeladen werden. Ein sehr wichtiges Forschungsgebiet ist daher die Entwicklung von analogen Ladungsspeichern, die ihre Ladung nicht verlieren 11).

Die Netze, die bis jetzt beschrieben wurden, bestehen aus nur einem Typ von Neuronen. Im Gegensatz dazu sind biologische Neuronen meist spezialisiert, und die biologischen Netze arbeiten mit einer Vielzahl von Neuronentypen. Etliche Forscher versuchen deshalb, biologische neuronale Netze mit elektronischen Schaltungen so getreu wie moeglich zu imitieren. Sie haben auch bereits verschiedene solcher Schaltungen gebaut - vor allem fuer die Verarbeitung von optischen und akustischen Signalen 12).

(wird fortgesetzt)

Bibliographie

1) DARPA Neural Network Study. AFCEA International Press, Fairfax, USA 1988.

2) S.W. Kuffler, J.G. Nicholls, A.R. Martin: From Neuron To Brain. Sinauer Associates Inc., Sunderland, USA 1984.

3) B. Widrow and M.E. Hoff : Adaptive Switching Circuits. Ire Wescon, Convention Record, New York 1960, S. 96-104. Auch so in: J.A. Anderson und E. Rosenfeld (Hrsg.): Neurocomputing. Mit Press, 1988, S. 126-134.

4) P. Mueller, T. Martin, F. Putzrath: General Principles of Operations in Neuron Nets with Application to Acoustical Pattern Recognition, in: E.E. Bernard und M. R. Kare (Hrsg.): Biological Prototypes and Synthetic Systems. Plenurn, New York 1962, Band 1, S. 192-212.

5) Y. LeCun, B. Boser, J.S. Denker, D. Henderson, R.E. Henderson, R.E. Howard, W. Hubbard, and L.D. Jackel: Handwritten Digit Recognition with a Backpropagation Network, in: D. Touretzky,(Hrsg.): Advances in Neural Information Processing 2. Morgan Kaufmann 1990, S. 396-404.

6) B.E. Boser and E. Sackinger: An Analog Neural Network Processor with Programmable Network Topology. Digest International Solid State Circuits Conferences, IEEE, 1991, S. 1991.

7) K. Asanovic and N. Morgan: Experimental Determination of Precision Requirements for Back-Propagation Training of Artificial Neural Networks. Proceedings 2nd International Conference Microelectronics for Neural Networks, Kyrill & Method Verlag, Muenchen 1991, S. 9-15.

8) U. Ramacher, J. Beichter, N. Bruels: A General Purpose Signal Processor Architecture for Neurocomputing and Preprocessing Applications. J. VLSI Signal Processing, 1992.

9) Y. Arima, K. Mashiko, K. Okada, T. Yamada, A. Maeda, H. Notani, H. Kondoh, S. Kayano: A 336-Neuron 28k-Synapse Self-Leaming Neural Network Chip with Branch Neuron-Unit Architecture, in: Digest Int. Solid States Circuits Conference, IEEE 1991, S. 182-183.

10) J. Alspector, R. B. Allen, A. Jayakumar: Relaxation Networks for Large Supervised Leaming Problems, in: D. Zouretzky (Hrsg.): Advances in Neural Information Processing 3, Morgan Kaufmann 1991.

11) E. Vittoz, H. Oguey, M.A. Maher, 0. Nys, E. Dijkstra, M. Chevroulet: Analog Storage of Adjustable Synaptic Weights, in: U. Ramacher und U. Ruckert (Hrsg.): VLSI Design of Neural Networks, Kluwer Academic 1991, S.47-63.

12) C. Mead: Analog VLSI and Neural Systems. Addison-Wesley 1989.

*Hans Peter Graf ist Spezialist fuer neuronale Netze bei den AT&T Bell Laboratories in Holmdel, USA. Der Artikel basiert auf einem Referat, das Graf im vergangenen Jahr am Forum Engelberg gehalten hat. Die Bearbeitung des Textes besorgte Felix Weber.

Abb. 1: Vergleich Elektronik - Biologie

Vergleich einiger Parameter eines biologischen Datenprozessors (menschliches Gehirn) und eines elektronischen Computers 1) 2) Quelle: Weber

Abb. 2: Ein einfaches Neuronenmodell - Die wichtigsten Komponenten sind: Die Verbindungen, von denen die Eingangssignale mit Gewichtsfaktoren multipliziert werden; der Addierer, der hier ein Draht ist, der Stroeme summiert; der Verstaerker mit einer nichtlinearen Eingangs- und Ausgangscharakteristik. Moegliche Formen der Transfercharakteristik sind im kleinen Diagramm rechts unten angedeutet. Quelle: Weber

Abb. 3: Ein neuronales Netz mit zwei Lagen der Verbindungen. Der Datenfluss verlaeuft "vorwaerts" von der Eingangslage der Neuronen ohne Rueckkoppelung zur Ausgangslage. Quelle: Weber