<Desc/Clms Page number 1>
Die Erfindung betrifft einen optischen Vektormultiplizierer, der Rechnungen der linearen Algebra durchführen kann, wobei zwei Lichtmodulatoren (11, 12, 21, 22) mit streifenförmigen Modulatorzellen, die einen Vektor repräsentieren, um 90 Grad gegeneinander verdreht in einem Lichtweg angeordnet sind, welche vorzugsweise als optoelektronische Modulatoren in Sandwichbauweise ausgeführt sind, bzw. einen optischen Vektormultiplizierer, der Rechnungen der linearen Algebra durchführen kann, bei dem das Licht eines Feldes von einzeln ansteuerbaren Lichtquellen (31), vorzugsweise Laserdioden oder Leuchtdioden, die einen Vektor repräsentieren, durch optische Einrichtungen so aufgeteilt wird, dass eine streifenförmige parallele Intensitätsverteilung entsteht.
Bisher sind optische Computer bekannt, die Vektor-Matrix-Multiplikationen und das äussere Produkt berechnen können und dabei elektrooptische Modulatoren oder Lichtquellenfelder verwenden. Die englischen Patentschrift GB-A-2 267 165 (SHARP) zeigt einen optischen Prozessor, der mit Hilfe zweier Lichtwege sowohl eine Vektor-Matrix-Multiplikation als auch das äussere Produkt zweier Vektoren bilden kann. Die Ergebnismatrix des äusseren Produkts kann im Bereich der allen des Matrixmodulators gespeichert werden. Diese Anordnung ist jedoch nicht in der Lage zugleich die transponierte Matrix zu verwenden.
Die europäische Offenlegungsschrift EP-A2-450 526 (HUGHES AIRCRAFT) zeigt einen optischen Prozessor, der das äussere Produkt zweier Vektoren bilden kann.
Mit Hilfe dieser Erfindung können Operationen der linearen Algebra möglichst rasch berechnet werden, obwohl die Matrix durch langsame Flüssigkristallfelder oder durch elektrooptische Modulatoren, deren Zellen nur seriell angesprochen werden können, repräsentiert wird. Weiters kann auch die transponierte Matrix bei der Vektor-Matrix-Multiplikation verwendet werden, das äussere Produkt zweier Vektoren berechnet und die Ergebnismatrix des äusseren Produkts gleich im Bereich der Zellen des Matrixmoduiators gespeichert werden. Durch diese Eigenschaften eignet sich diese Anordnung besonders für die verschiedensten Modelle der neuronalen Netze und kann auch in kaskadierter Ausführung für mehrschichtige Netze verwendet werden.
Diese Aufgabe wird dadurch gelöst. dass dieser Anordnung im Lichtweg ein schachbrettförmiger
EMI1.1
wobei sich wahlweise darauf Lichtdetektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbeiten und die Modulatorzellen ansteuern, befinden und reflektierende und/oder transmittierende Modulatoren verwendet werden, dass die gesamte Modulatoranordnung mit parallelem Licht durchstrahlt wird, und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfelder (16, 17, 46. 47) fällt, wobei die lichtstrahlen so umgelenkt werden, dass Ergebnisvektoren von Vektor-Matrix-Multiplikationen und/oder Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.
Ausserdem kann die Aufgabe dadurch gelöst werden, dass ein Lichtmodulator (32) mit streifenförmigen Modulatorzellen, welcher einen Vektor repräsentiert und dieser Lichtmodulator vorzugsweise als optoelektronischer Modulator in Sandwichbauweise ausgeführt ist, gegenüber der streifenförmigen Intensitätsverteilung um 90 Grad verdreht im Lichtweg angeordnet ist, dieser Anordnung im Lichtweg ein schachbrettförmiger Lichtmodulator (33), vorzugsweise ein Flüssigkristallmodulator, folgt, der eine Matrix repräsentiert, wobei sich wahlweise darauf Lichtdetektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbeiten und die Modulatorzellen ansteuern, befinden und reflektierende und/oder transmittierende Modulatoren verwendet werden,
und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfelder fallt, wobei die Lichtstrahlen so umgelenkt werden, dass Ergebnisvektoren von Vektor-Matrix-Multiplikationen und/oder Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.
Die Aufgabe kann weiters dadurch gelöst werden, dass dieser Anordnung im Lichtweg ein schachbrettförmiger Lichtmodulator (63), vorzugsweise ein Flüssigkristallmodulator, folgt, welcher eine Matrix repräsentiert, wobei sich wahlweise darauf Lichtdetektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbeiten und die Modulatorzellen ansteuern, befinden und reflektieren-
EMI1.2
oder einer anderen optischen Einrichtung matrixförmige Intensitätsverteilung besitzt, durchstrahlt wird, welches mit Hilfe von Linsen (65) oder anderen optischen Einrichtungen auf den jeweils nächsten Modulator projiziert wird, und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfelder fällt, wobei die Lichtstrahlen so umgelenkt werden,
dass Ergebnisvektoren von VektorMatrix-Multiplikationen und/oder Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.
Durch die 90 Grad verdrehte Anordnung der Vektormodulatoren erreicht man, dass in ein und demselben Aufbau sowohl die Matrix als auch die transponierte Matrix verwendet werden kann. Es muss nur der jeweils andere Vektormodulator bei allen Zeilen oder Spalten gleichmässig lichtdurchlässig sein. Mit Hilfe
<Desc/Clms Page number 2>
der 90 Grad verdrehten Vektormodulatoranordnung kann auch das äussere Produkt von zwei Vektoren gebildet werden, wobei das Ergebnis durch eine Detektormatrix ermittelt wird. Diese Detektormatrix kann sich auch auf dem schachbrettartigen optischen Modulator befinden, wobei sich jede einzelne Detektorzelle in der Nähe einer Zelle des Matrixmodulators befindet. Dadurch kann dort die Information lokal gespeichert und verarbeitet werden.
Bei dieser Anordnung besteht auch die Möglichkeit, Vektoren und Matrizen mit negativen Elementen darzustellen, wobei das Ergebnis durch die Differenz zweier Detektorwerte ermittelt wird. Die beiden Detektoren empfangen Lichtstrahlen, deren Polarisationsebenen normal aufeinander stehen.
Die Erfindung ist nachstehend an Hand von in den Zichnungen dargestellten Ausführungsbeispielen näher erläutert. In Fig. 1 ist der prinzipielle Aufbau der optischen Recheneinheit und in Fig. 2 die prinzipielle Anordnung der Lichtmodulatoren dargestellt. In Fig. 3 ist eine Variante mit einem Lichtquellenstreifen und in Fig. 4 eine Variante, die auch mit negativen Matrixelementen arbeiten kann, abgebildet. In Fig. 5 sieht man eine Kombination aus einem Matrixmodulator und einem Matrixdetektor. In Fig. 6 ist eine Variante dargestellt, die mit diffusem Licht, einer Lichtquellenmatrix oder einem binären Phasengitter arbeitet.
EMI2.1
duliert. Das wird z.
B. dadurch erreicht, dass das Licht zuerst durch einen Polarisator fällt, der es in x'Richtung polarisiert, wobei die x'-Richtung 45 Grad zur x-Richtung geneigt ist, dann durch einen transversalen elektrooptischen Modulator (11, 21), der in Sandwichbauweise aufgebaut ist und eine Phasenmodulation des Lichtes zeilenweise erzeugt, und dann wiederum durch einen Polarisator, der normal auf die x'Richtung, also in y'-Richtung steht. Nach dieser Anordnung erhält man Licht, das zeilenweise amplituden-
EMI2.2
die Polarisatoren schematisch dargestellt. Nach dem Polarisator folgt wiederum ein Vektormodulator (12, 22), der um 90 Grad zu dem ersten Modulator verdreht ist und ein Polarisator, der zur x'-Richtung ausgerichtet ist.
Dann folgt ein schachbrettförmiger Modulator (13, 23), dessen Zeilen und Spalten mit den beiden Vektormodulatoren übereinstimmen, und wiederum ein Polarisator in y'-Richtung. Arbeitet dieser Matrixmodulator mit Flüssigkristallen, so muss die Polarisationsebene des letzten Polarisators und die Polarisationsrichtung vor dem Matrixmodulator entsprechend angepasst werden. Nach der Modulatorenanordnung folgt ein Strahlteiler (14), wobei die beiden Lichtstrahlen durch zwei Zylinderlinse (15) auf zwei Detektorzeilen (16, 17) fokussiert werden, die jeweils, bezogen auf den Lichtweg, normal aufeinander stehen, wobei die Detektorzeile (16) im geraden Strahl entweder nach der x-oder der y-Richtung ausgerichtet sein kann. Durch diese Anordnung kann sowohl eine Vektor-Matrix-Multiplikation als auch eine Vektor-Transpo- niertmatrix-Multiplikation durchgeführt werden.
Durch die beiden um 90 Grad verdrehten Vektormodulatoren (11, 12, 21, 22), kann zusätzlich das äussere Produkt zweier Vektoren gebildet werden, wobei das Ergebnis durch einen matrixförmig modulierten Lichtstrahl dargestellt und durch eine Detektormatrix ermittelt wird.
Bei der in Fig. 1 und Fig. 2 dargestellten Anordnung muss sich diese Detektormatrix direkt auf dem Matrixmodulator (13, 23) befinden, wobei diese Anordnung den Vorteil besitzt, dass das jeweilige Element der Produktmatrix gleich an der Stelle, wo sich auch eine Zelle des Matrixmodulators befindet, durch eine Detektorzelle der Detektormatrix ermittelt werden kann und das Ergebnis dort lokal verarbeitet werden kann. In Fig. 4 ist die Detektormatrix an einer anderen Stelle angeordnet, wobei der Strahl zwischen den Vektormodulatoren und dem Matrixmodulator aufgeteilt wird.
Die Funktion des optischen Rechenwerkes ist durch eine zweimalige örtliche Dämpfung des Lichtstrahis, entsprechend einer elementweisen Multiplikation und einer Sammlung von Lichtstrahlen durch Zylinderlinse, entsprechend einer zeilen- oder spaltenweisen Addition, begründet. Je nachdem, ob gerade die Vektor-Matrix-Multiplikation oder die Vektor-Transponiertmatrix-Multiplikation gewünscht ist, wird einer der beiden Vektormodulatoren gleichmässig lichtdurchlässig gemacht und der andere wird entsprechend den Vektorelementen angesteuert. Die zugehörige Detektorlinsenkombination steht normal zu dem angesteuerten Modulatorstapel bezogen auf den Lichtweg, d. h. Zylinderachse der Linse und Detektorzeile haben die gleiche Richtung im Lichtweg wie die einzelnen Zeilen des zugehörigen Modulatorstapels.
Mit Hilfe des anderen Modulatorstapels können auch jeweils ganze Spalten oder Zeilen der Matrix mit einem Faktor multipliziert werden, falls es erforderlich ist. Eine weitere Variante des optischen Rechenwerkes ist in Fig. 3 schematisch abgebildet. Bei dieser Variante wurde der erste Vektormodulator durch eine Zeile von Lichtquellen (31), zB. Laserdioden, und eine Zylinderlinse (35) ersetzt. Die Vektorelemente werden jetzt durch die Intensität der einzelnen Lichtquellen dargestellt. Bei dieser Anordnung muss man Sorge tragen, dass Lichtstrahlen von benachbarten lichtquellen nicht in den jeweiligen Lichtweg geraten und dadurch die Rechnung verfälschen. Das kann mit Hilfe von kleinen Linsen, die sich vor den Lichtquellen befinden und garantieren, dass das Licht nur spalten- bzw. zeilenweise aufgefächert wird, und durch Blenden erreicht werden.
In Fig. 3 sind Linsen und Blenden nicht dargestellt.
<Desc/Clms Page number 3>
Bei Verwendung eines polarisierenden Strahlteilers können die Matrixelemente auch vorzeichenbehaftet sein. Die beiden Strahlkomponenten enthalten dann Licht, das, auf den Lichtweg bezogen, normal zueinander polarisiert ist. Die Strahlkomponenten durchlaufen die gleiche Linsendetektoranordnung (45, 46, 47) und die beiden Ergebnisvektoren werden voneinander abgezogen. Verlässt der Lichtstrahl den Matrixmodulator (43) unter 45 Grad bezogen auf den polarisierenden Strahlteiler, wird eine Null repräsentiert. Unter 0 oder 90 Grad erfolgt eine Darstellung von 1 bzw. -1. In Fig. 4 ist eine solche Anordnung schematisch dargestellt.
Zuerst stehen die bei den Zeilenmodulatoren (41, 42) im Lichtweg, dann folgt ein Strahlteiler (44), der das Licht sowohl durch den Matrixmodulator (43), als auch auf den Produktmatrixdetektor (49) lenkt. Nach dem
EMI3.1
verwenden, wie sie in Fig. 5 abgebildet ist, die eine lokale Auswertung des äusseren Produktes ermöglicht. Das Beispiel in Fig. 5 enthält pro Zelle einen Modulator (51) und zwei Detektoren (52, 53). Negative Zahlen im Vektor, der an den zweiten Modulator angelegt wird, können durch doppelte Ausführung des zweiten Modulators berücksichtigt werden, wobei die Beträge der positiven und negativen Zahlen an zwei benachbarten Zeilen angelegt werden, bzw. Nullen bei positiven Elementen in der Zeile für negative Zahlen und umgekehrt.
Der eine Detektor (52) ist dann für die positiven Zahlen und der andere (53) für die negative Zahlen und die Modulatorzelle (51) für beide zuständig. Die entsprechenden Detektorzeilen (16) müssen natürlich auch doppelt ausgeführt sein und ihr Messergebnis entsprechend interpretiert werden. Eine andere Möglichkeit ist, dass sich vor den beiden Detektoren und den Modulatorzellen Polarisatoren befinden, die einen zweiten Vektor mit negativen Elementen für das äussere Produkt zulassen. Diese Methode kann jedoch nicht auf die Vektor-Matrix-Multiplikatiön angewandt werden. Zusätzlich können sich in den einzelnen Zellen elektronische Schaltungen befinden, die Logik- und Speicherfunktionen durchführen können und das Ergebnis des Lernvorganges kann nachher, auch auf optischen Weg, ausgelesen werden.
Eine weitere Variante, die mit diffusem Licht, einer Diodenmatrix (64) oder mit Laserlicht und einem binären Phasengitter, das eine matrixförmige Intensitätsverteilung erzeugt, arbeitet und bei der das Licht durch Linsen (65) in den jeweils nächsten Modulator (61, 62, 63) projiziert wird, ist auch denkbar, jedoch muss dann der Matrixmodulator (63) nach jeder Zelle eine Mikrolinse und wahlweise Blenden besitzen, damit das Licht parallel weiterverläuft, um so in die Detektorzeile gelenkt zu werden.
Die oben beschriebenen Anordnungen eignen sich hervorragend zur Berechnung von neuronalen Netzen. Bei diesen Modellen werden wiederholt Vektormatrixmultiplikationen ausgeführt, wobei die Matrix selbst ihre Elemente nur langsam ändert. Durch Verwendung von schnellen elektrooptischen Vektormodulatoren können die Vektoren rasch angelegt werden und der Matrixmodulator kann wesentlich langsamer arbeiten. Besonders gut geeignet ist die Ausführung mit der in Fig. 5 dargestellten Modulator-DetektorAnordnung und einem Aufbau wie in Fig. 4 jedoch ohne den ersten Strahlteiler. Wenn man solche Anordnungen hintereinander schaltet, erhält man einen optischen Computer für mehrschichtige neuronale Netze.
Erfolgt der Lernvorgang nach dem Backpropagationalgorithmus, so wird der Datenvektor, der beispielsweise nur positive Zahlen enthält, an den ersten Modulator angelegt und der Differenzenvektor, der auch negative Zahlen enthält. an den zweiten Modulator. Gleichzeitig erfolgt die Berechnung mit der transponierten Matrix, wie es das Modell verlangt. Zusätzlich wird im Modell auch das äussere Produkt benötigt, das auch gleich mit Hilfe dieser Anordnung ermittelt werden kann. Das Ergebnis liegt auch genau dort vor, wo es benötigt wird, nämlich im Bereich der jeweiligen Modulatorzelle. Die Nichtlinearitäten im Modell können durch sogenannte "Look-up"-Tabellen dargestellt werden, wobei auch das nichtlineare Verhalten der Modulatoren berücksichtigt werden kann.
Zusätzlich müssen die Vektoren gespeichert werden, weil sie später wieder benötigt werden, wenn der zurückpropagierte Differenzenvektor anliegt, um das äussere Produkt zu bilden. Um den Speicher- und Verwaltungsaufwand möglichst gering zu halten, sollte abwechselnd ein Vektor vorwärtspropagiert und ein Vektor rückwärtspropagiert werden. Die Änderungen der Matrixelemente können lokal gespeichert werden und entweder nach dem Durchlauf aller Vektoren oder gleich an die Modulatorzellen angelegt werden. Bei Verwendung von langsamen Flüssigkristallmodulatoren muss man mit einer gewissen Zeitverzögerung rechnen, wenn die Änderungen gleich angelegt werden.
Bei Änderung nach dem Durchlauf aller Vektoren, kann man die Zeitverzögerung abwarten und erst dann den nächsten Durchlauf starten. Das Ergebnis des Lernvorganges kann nachher ausgelesen werden. Durch die lokale Verarbeitung ist kein grosser Verdrahtungsaufwand erforderlich und die Daten können zB. spaltenweise ein-und ausgegeben werden. Dadurch eignet sich dieser optische Computer auch für grosse Netze mit über 1000 Neuronen je vollvernetzter Schicht. Dauert das Anlegen eines Vektors einige Nanosekunden, erhält man Rechenleistungen von einigen 100 Tera Operationen pro Sekunden. Hat der Matrixmodulator eine Verzögerung von einigen Mikrosekunden, müssen etwa 1000 Vektoren pro Durchlauf angelegt werden, damit sich dadurch keine nennenswerte Verzögerung der Rechenleistung ergibt.
Der
<Desc/Clms Page number 4>
optische Computer eignet sich auch für andere Modelle der neuronalen Netze, wie zB. Perzeptron, Competitive Learning, BAM und Hopfield, wobei die beiden ersten Modulatoren auch für Normierung-un Auswahifunktionen von Zeilen und Spalten geeignet sind und das Ergebnis aus diesen Funktionen gleich in der Modulator-Detektor-Matrix gespeichert werden kann.
Patentansprüche 1. Optischer Vektormultiplizierer, der Rechnungen der linearen Algebra durchführen kann, wobei zwei
Lichtmodulatoren (11, 12, 21, 22) mit streifenförmigen Modulatorzellen, die einen Vektor repräsentieren, um 90 Grad gegeneinander verdreht in einem Lichtweg angeordnet sind, welche vorzugsweise als optoelektronische Modulatoren in Sandwichbauweise ausgeführt sind, dadurch gekennzeichnet, dass dieser Anordnung im Lichtweg ein schachbrettförmiger Lichtmodulator (13, 23), vorzugsweise ein
Flüssigkristallmodulator, folgt, welcher eine Matrix repräsentiert, wobei sich wahlweise darauf Lichtde- tektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbei- ten und die Modulatorzellen ansteuern, befinden und reflektierende und/oder transmittierende Modulato- ren verwendet werden,
dass die gesamte Modulatoranordnung mit parallelem Licht durchstrahlt wird, und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfel- der (16, 17, 46, 47) fällt. wobei die Lichtstrahlen so umgelenkt werden, dass Ergebnisvektoren von Vektor-
Matrix-Multiplikationen und/oder Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.
2. Optischer Vektormultiplizierer, der Rechnungen der linearen Algebra durchführen kann, bei dem das
Licht eines Feldes von einzeln ansteuerbaren Lichtquellen (31), vorzugsweise Laserdioden oder
Leuchtdioden, die einen Vektor repräsentieren, durch optische Einrichtungen so aufgeteilt wird, dass eine streifenförmige parallele Intensitätsverteilung entsteht, dadurch gekennzeichnet, dass ein Licht- modulator (32) mit streifenförmigen Modulatorzellen, welcher einen Vektor repräsentiert und dieser
Lichtmodulator vorzugsweise als optoelektronischer Modulator in Sandwichbauweise ausgeführt ist, gegenüber der streifenförmigen Intensitätsverteilung um 90 Grad verdreht im Lichtweg angeordnet ist, dieser Anordnung im Lichtweg ein schachbrettförmiger Lichtmodulator (33), vorzugsweise ein Flüssig- kristallmodulator, folgt,
der eine Matrix repräsentiert, wobei sich wahlweise darauf Lichtdetektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbeiten und die Modulatorzellen ansteuern, befinden und reflektierende und/oder transmittierende Modulatoren verwendet werden, und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfelder fällt, wobei die Lichtstrahlen so umgelenkt werden, dass Ergebnisvektoren von Vektor-Matrix-Multiplikationen und/oder Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.
3. Optischer Vektormultiplizierer, der Rechnungen der linearen Algebra durchführen kann, wobei zwei
Lichtmodulatoren (61, 62) mit streifenförmigen Modulatorzellen, die einen Vektor repräsentieren, um 90
Grad gegeneinander verdreht in einem Lichtweg angeordnet sind, welche vorzugsweise als optoelektro- nische Modulatoren in Sandwichbauweise ausgeführt sind, dadurch gekennzeichnet, dass dieser
Anordnung im Lichtweg ein schachbrettförmiger Lichtmodulator (63), vorzugsweise ein Flüssigkristall- modulator, folgt, welcher eine Matrix repräsentiert, wobei sich wahlweise darauf Lichtdetektoren (52, 53) und/oder elektronische Schaltungen, die die Signale aus den Detektoren weiterverarbeiten und die
Modulatorzellen ansteuern, befinden und reflektierende und/oder transmittierende Modulatoren verwen- det werden, dass die gesamte Modulatoranordnung mit diffusem Licht,
mit Licht aus einer Lichtquellen- matrix (64) oder mit Licht, das durch ein binäres Phasengitter oder einer anderen optischen Einrichtung matrixförmige Intensitätsverteilung besitzt, durchstrahlt wird, welches mit Hilfe von Linsen (65) oder anderen optischen Einrichtungen auf den jeweils nächsten Modulator projiziert wird, und dass das Licht anschliessend mit Hilfe optischer Einrichtungen auf ein oder mehrere Lichtdetektorfelder fällt, wobei die
Lichtstrahlen so umgelenkt werden, dass Ergebnisvektoren von Vektor-Matrix-Multiplikationen und/oder
Vektor-Transponiertmatrix-Multiplikationen gebildet werden können.