Technischer Stand und Einsatzmoeglichkeiten (Teil 2)

Die Anbieter von neuronalen Netzen sind auf der Suche nach Maerkten

16.04.1993

Abbildung 1 zeigt eine Uebersicht ueber neuronale Netze, die auf Elektronik-Chips oder -Wafern integriert wurden. Die kleine Auswahl gibt eine Vorstellung von der Vielfalt der Schaltungen, die heute gebaut werden.

Die ersten drei Schaltungen sind rein digitale Chips; bei den anderen kommen, zumindest teilweise, analoge Schaltungstechniken zum Einsatz. Der Chip von Adaptive Solutions enthaelt 64 Prozessoren, die auf die Berechnung von Multiplikationen und Additionen spezialisiert sind. Jeder Prozessor beinhaltet auch 4 KB Speicher fuer die Gewichte. Die Neuronenwerte werden ueber globale Datenbusse gleichzeitig an die Prozessoren verteilt. Alle Prozessoren arbeiten parallel, wobei jeder die gleiche Instruktion ausfuehrt, aber mit verschiedenen Daten. Der Chip funktioniert mit einer Taktrate von 25 Megahertz und berechnet bis zu 1,6 Milliarden Multiplikationen beziehungsweise Additionen pro Sekunde. Auf dem vergleichsweise riesigen Chip - seine Abmessungen betragen 26,2 Millimeter x 27,5 Millimeter- sind ueber 13 Millionen Transistoren integriert.

Die Schaltung von Hitachi ist noch groesser: Es handelt sich um einen ganzen Wafer von 12,5 Zentimetern Durchmesser! Die Grundidee der Architektur ist dieselbe. Digitale Prozessoren fuehren die Berechnungen aus; die Gewichte werden lokal gespeichert. Damit laesst sich die Datenmenge, die zwischen Prozessoren verschoben werden muss, relativ niedrig halten.

Der Chip von Neural Semiconductor benuetzt einen Pulscode, um die Signale darzustellen. Auf diese Weise lassen sich Multiplikatoren sehr kompakt bauen. Eine Multiplikation kann mit einem logischen Und-Gatter ausgefuehrt werden, das das Zusammentreffen von Impulsen feststellt. Mit dieser Technik lassen sich zwar sehr kompakte Multiplikatoren erzeugen, doch sind sie langsam, da man fuer eine Multiplikation mindestens 256 Taktzyklen benoetigt. Je laenger die Integrationszeit, desto hoeher ist die Praezision.

Analoge Schaltungen arbeiten wesentlich schneller als digitale. Der Unterschied wird noch deutlicher, wenn man die Flaeche der Chips beruecksichtigt: Die digitalen Schaltungen 1 und 2 benoetigen eine ausserordentlich grosse Flaeche, wogegen die analogen Chips wesentlich kleiner sind.

Je groesser die Schaltung, desto schlechter ist bei der Herstellung die Ausbeute an funktionierenden Schaltungen, und desto hoeher sind auch ihre Kosten. Ein anderer wesentlicher Unterschied zwischen analogen und digitalen Schaltungen ist die Anzahl der Verbindungen auf einem Chip. Sie ist bei analogen Schaltungen markant hoeher, da in der Regel jede Verbindung in Hardware gebaut wird, waehrend bei digitalen Schaltungen meist nur wenige Multiplikatoren hardwaremaessig realisiert werden. Fuer eine Berechnung wird dort der Gewichtswert zuerst aus einem Speicher in den Multiplikator geladen. In analogen Schaltungen hingegen ist nur ein Gewicht pro Verbindung gespeichert, so dass kein Transfer von Gewichtswerten zwischen Speicher und Recheneinheit noetig ist. Die grosse Zahl von Verbindungen, die bei analogen Netzen alle gleichzeitig arbeiten, resultiert in einer sehr hohen Rechengeschwindigkeit. Umgekehrt sind analoge Netze weniger flexibel, da die Verbindungen zumindest teilweise fest verdrahtet sind.

Die maximale Aufloesung analoger Berechnungen betraegt sechs Bit bei den Gewichten und zehn Bit bei der Summe. Digitale Schaltungen haben keine solchen Limits. Die digitale Schaltung von Adaptive Solutions zum Beispiel arbeitet fuer die Berechnung der Summe mit 32-Bit-Akkumulatoren.

Abbildung 2 zeigt die Abhaengigkeit der Rechengeschwindigkeit in Multiplikationen beziehungsweise Additionen pro Sekunde von der Genauigkeit der Berechnung. Moderne arithmetische Fliesskomma- Prozessoren mit einer Koeffizientenaufloesung von 32 Bit koennen ungefaehr 100 Millionen Operationen pro Sekunde ausfuehren. Genuegt eine geringere Aufloesung, kann man mehrere kleinere Prozessoren in einem Chip integrieren. Entsprechend groesser ist dann die Rechengeschwindigkeit. Chips mit 16-Bit-Festkomma-Prozessoren koennen mehrere hundert Millionen Multiplikationen oder Additionen pro Sekunde abarbeiten 8).

Der Geschwindigkeitsrekord mit digitalen neuronalen Netzen liegt heute bei ungefaehr zwei Milliarden Operationen pro Sekunde.

Analoge Schaltungen erreichen noch viel hoehere Geschwindigkeiten: bis zu 100 Milliarden Operationen pro Sekunde.

Ein flexibles neuronales Netz

Ein Beispiel fuer ein modernes neuronales Netz ist die im folgenden beschriebene Schaltung, die fuer Erkennungsaufgaben entwickelt wurde 6. Um eine moeglichst hohe Rechengeschwindigkeit zu erreichen,

fuehrt sie alle Berechnungen analog aus. Die Ein- und Ausgangssignale hingegen sind digital - damit laesst sich der Chip einfacher in Systeme integrieren.

Abbildung 3 zeigt schematisch die Baubloecke einer solchen Schaltung. Ein Baublock besteht aus 128 Verbindungen, von denen jede ein Eingangssignal von einem anderen Neuron oder einer externen Quelle erhaelt. Auf dem Summierungsdraht werden die Stroeme aller Verbindungen addiert und das Resultat mit einem Faktor multipliziert, bevor es zu den Resultaten anderer Neuronen summiert wird. Der Strom wird dann in Komparatoren mit einer Referenz verglichen. Der Output der Komparatoren wird schliesslich an die naechste Lage des Netzes oder an den Ausgang gegeben. Der Chip enthaelt 256 Neuronen und 32 768 Verbindungen.

Datenbusse mit genuegend Bandbreite

Eine Berechnung im Netz, vom Laden der Eingaenge bis zum Speichern der Resultate, dauert weniger als 100 Nanosekunden. Da alle 32 000 Verbindungen gleichzeitig arbeiten, werden also 320 Milliarden EinBit-Multiplikationen-Additionen ausgefuehrt - pro Sekunde!

Um diese immense Rechenleistung auch ausnutzen zu koennen, muss eine grosse Menge von Daten zu- und abgefuehrt werden, was Datenbusse mit genuegend Bandbreite erfordert. Bei dieser Schaltung sind 128 Bit noetig. Mehrere Schieberegister helfen mit, die Daten moeglichst rasch ueber das ganze Netz zu verteilen.

Die Architektur ist ausgelegt fuer Aufgaben wie das Erkennen von Merkmalen in Bildern und morphologische Operationen. Es lassen sich 32 Faltungskerne, jeder mit einer Groesse von 16 x 16 Pixeln, gleichzeitig ueber ein Bild schieben. Jeder dieser Kerne ist darauf programmiert, bestimmte Anordnungen von Bildpixeln als besondere Merkmale zu erkennen. So kann ein Kern Kanten einer bestimmten Orientierung identifizieren und ein anderer alle Ecken in einem Bild aufspueren. Aus solchen Merkmalen lassen sich komplexere Merkmale und schliesslich ganze Objekte bestimmen.

Das neuronale Netz wurde auf einer Steckkarte realisiert, die man in einen Computer einschieben kann. Das System wird fuer Aufgaben wie die Bildsegmentierung und die Klassifizierung von Objekten eingesetzt 9).

Ein Anwendungsbeispiel dafuer ist die Positionsbestimmung von Adressen auf Briefumschlaegen. Das ist ein schwieriges Problem: Zum einen kann die Adresse handgeschrieben oder gedruckt sein, zum anderen kann ein Umschlag neben der Adresse noch weiteren Text wie etwa Werbung enthalten. Oft ist der Umschlag auch verschmutzt.

Um unter all diesen Umstaenden die Adresse zuverlaessig zu finden, sind sehr rechenaufwendige Suchoperationen noetig. Das beschriebene neuronale Netz eignet sich gut fuer diese Aufgabe, da es dank seiner enormen Rechenleistung schnell das ganze Bild absuchen und dabei Merkmale extrahieren kann, die typisch fuer Textzeilen sind. Hat es alle Textzeilen gefunden, so bestimmt es anschliessend die Position der Adresse. Im Moment wird dieser Prozessor in ein System integriert, das fuer das automatische Lesen von Adressen bestimmt ist.

Das Gehirn ist besser als neuronale Netze

Die Erfahrung zeigt, dass kuenstliche neuronale Netze bei Erkennungs- und Kontrollaufgaben sehr gute Resultate liefern, zumindest im Vergleich mit anderen Maschinen. So gehoeren neuronale Netze heute zu den besten Algorithmen fuer das Lesen von Text oder fuer die Spracherkennung.

In den letzten 10 Jahren haben die Forscher beim Verstaendnis der Funktion und den Moeglichkeiten solcher nichtlinearen Systeme grosse Fortschritte erzielt und einige robuste Algorithmen gefunden, die sich gut fuer den praktischen Einsatz eignen - sei es als Ersatz oder als Ergaenzung von anderen, vor allem statistischen Methoden.

Erkennungsaufgaben wie Sehen und Hoeren und vor allem das Verstehen von Texten sind Probleme, die heutige Computer immer noch recht duerftig loesen. Zwar wird auf diesen Gebieten seit Jahrzehnten intensiv geforscht, aber von den Leistungen unseres Gehirns sind alle kuenstlichen Systeme noch meilenweit entfernt.

Grosse Aenderungen sind hier in naher Zukunft auch nicht zu erwarten, doch werden immerhin Teile dieses Problemkreises Schritt um Schritt geloest. Das fuehrt nicht nur zu neuen Anwendungsbereichen, sondern auch zu einem anderen Umgang mit der Maschine Computer. Dabei entstehen zahlreiche innovative Produkte, und neue Maerkte oeffnen sich.

Ein gutes Beispiel fuer diese Entwicklung ist die Schrifterkennung. Das maschinelle Lesen von sauber gedruckten Buchstaben wurde schon vor mehr als 20 Jahren bewaeltigt. Wenn die Buchstaben aber nicht sehr sauber gedruckt sind und die Schriftgroesse sowie der Schrifttyp variieren, so wird das Problem schon wesentlich schwieriger. Handgeschriebene Buchstaben sind noch schwerer zu entziffern.

Die heutigen Sortiermaschinen der amerikanischen Post koennen praktisch keine handgeschriebenen Adressen lesen und nur etwa die Haelfte der maschinengeschriebenen. Eine neue Generation von Lesemaschinen soll nun die Erkennungsrate von maschinengeschriebenen Adressen auf ueber 90 Prozent steigern und auch mehr als die Haelfte der handgeschriebenen Adressen fehlerfrei lesen. Neuronale Netze sind vielversprechende Kandidaten fuer diese Aufgabe. Die meisten Bewerber um die Entwicklung des gefragten Systems arbeiten mit dieser Technologie.

In Maerkten fuer ein breiteres Publikum sind Lesegeraete noch nicht weit verbreitet, da die Genauigkeit billiger Systeme auch fuer den Gelegenheitsbenutzer meist unbefriedigend ist. Eigentlich schade, denn hier gaebe es Millionen potentieller Anwender.

Ein moeglicher Massenmarkt sind die jetzt aufkommenden Pen- Computer, bei denen man Daten mit einem Stift auf einem beruehrungsempfindlichen Bildschirm eingibt. Da die Schrift in Echtzeit gelesen wird, das heisst waehrend des Schreibens, fallen auch Informationen ueber den zeitlichen Ablauf der Striche an. Dies macht das Problem einfacher, als wenn Handgeschriebenes mit einer Kamera aufgenommen und dem Computer spaeter als fertiges Muster praesentiert wird.

Trotzdem lassen die Resultate der ersten Pen-Computer noch einiges zu wuenschen uebrig. Ob und wann die Lesegenauigkeit fuer ein breites Publikum genuegt, wird am zuverlaessigsten der Markt zeigen. Vielleicht braucht es dazu wirklich neue Techniken, die auf neuronalen Netzen basieren. Jedenfalls versuchen jetzt verschiedene Firmen, den Pen-Computern mit diesem Ansatz zum erhofften Durchbruch zu verhelfen.

Wie geht es weiter mit den kuenstlichen neuronalen Netzen, nachdem ja erwiesen ist, dass sie etwas taugen? Der Schritt von experimentellen Systemen zu Produkten erfordert eine erhebliche Entwicklungsarbeit - um so mehr, als es noch wenig praktische Erfahrungen gibt.

Es existieren auch keine Werkzeuge, die den Forschern und Ingenieuren helfen koennten. Jede Anwendung muss individuell analysiert und der Hardware angepasst werden. Dies erfordert viel Zeit und Sachkenntnis sowohl ueber das Anwendungsgebiet wie auch ueber neuronale Netze. Deshalb stammen die meisten Resultate, die bisher ueber kuenstliche neuronale Netze publiziert wurden, aus Forschungslabors. Dies wird sich aber in naechster Zeit grundlegend aendern, da viele Firmen mit der Entwicklung von entsprechenden Produkten begonnen haben.

Noch vor wenigen Jahren waren kuenstliche neuronale Netze in Japan kein Thema; heute hingegen beschaeftigen sich alle wichtigen japanischen Elektronickonzerne damit. Auch werden immer haeufiger nicht nur Prozessoren publiziert, sondern ganze Systeme mit Anwendungen. Fazit: In den naechsten Jahren darf man eine grosse Zahl von industriellen Anwendungen von neuronalen Netzen erwarten.

*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, freier Journalist in Zuerich.

Literatur:

1) Y. Arima, S. Kayano, H. Kondoh, A. Maeda, K. Mashiko, K.Okada, T. Yamada: A 336-Neuron 28k-Synapse Self-Learning Neural Network Chip with BranchNeuron-Unit Architekture. In: Digest International Solid States Circuits Conference, IEEE, 1991, Seite 182-183

2) R. B. Allen, J. Alspector, A. Jayakumar: Relaxation Networs for large Supervised Learning Problems. In: D. Touretzky (Hrsg.): Advances in Neural Information Processing 3. Morgan Kaufmann, 1991.

3) M. Griffin, K. Knorpp, R. Pinkham, B. Riley, G. Tahara: An 11-Million Transistor Neural Network Execution Engine. In: Digest International Solid States Circuits Conference, IEEE, 1991, Seite 180-181

4) M. Asai, A. Masaki, M. Masuda, M. Yagyu, M. Yamada, M. Yasunaga: Design, Fabrication and Evaluation of a S-Inch Wafer Scale Neural Network LSI Composed of 576 Digital Neurons. In: Proceeds International Joint Conference Neural Networks. IEEE, 1990, Band 2, Seite 527-535.

5) M. A. Sivilotti, M. S. Tomlinson, D. J. Walker: A Digital Neural Network Architecture for VLSI. In: Proceeds International Joint Conference Neural Networks. IEEE, 1990, Band 2, Seite 545-550.

6) H. P. Graf, D. Henderson: A Reconfigurable CMOS Neural Network. In: Digest International Solid States Circuits Conference, IEEE, 1991, Seite 148-149

7) R. Benson, H. Castro, M. Holler, S. Tam: An Electrically Trainable Artificial Neural Network (ETANN) with 10240 Floating Gate Synapses. In: Proceeds International Joint Conference Neural Networks. IEEE, 1990, Band 2, Seite 191-196.

8) T. Enomoto, J.-I. Goto, T. Horiuchi, K. Nakamura, F. Okamoto, H. Yamada, M. Yamashina: 200 MHz 16-bit BiCMOS Signal Processor. In: Digest International Solid States Circuits Conference, IEEE, 1991, Seite 172-173.

9) J. Ben, H. P. Graf, R. Janow, C. R. Nohl: A Neural-Net Board Systems for Machine Vision Applications. In: Proceeds International Joint Conference Neural Networks. IEEE, 1990, Band 1, Seite 481-486.

Abb. 1: Eine Auswahl von elektronischen neuronalen Netzen. Die ersten drei Schaltungen sind digitale Prozessoren, waehrend die folgenden vier zumindest teilweise analoge Schaltungen sind. Quelle: Weber

Abb. 2: Die Rechengeschwindigkeit verschiedener Prozessoren in Multiplikationen beziehungsweise Additionen pro Sekunde im Verhaeltnis zur Rechenaufloesung pro Bit. Die Zahlen gelten fuer Prozessoren, die auf einem einzigen Chip integriert sind. Quelle: Weber

Abb. 3: Zwei Baubloecke eines neuronalen Netzprozessors. Die Schaltung enthaelt 256 "Neuronen". Quelle: Weber