-
HINTERGRUND
-
Die vorliegende Erfindung bezieht sich auf memristive Einheiten. Im Besonderen bezieht sich die vorliegende Erfindung auf eine memristive Einheit auf Grundlage einer Alkali-Dotierung von Übergangsmetalloxiden.
-
Mit „maschinellem Lernen“ wird eine Hauptfunktion von elektronischen Systemen, die von Daten lernen, allgemein beschrieben. Bei beschleunigtem maschinellen Lernen und in der Kognitionswissenschaft handelt es sich bei künstlichen neuronalen Netzen (artificial neural networks, ANNs) um eine Familie statistischer Lernmodelle, die durch die biologischen neuronalen Netze von Tieren und insbesondere durch das Gehirn angeregt wurden. ANNs können dazu verwendet werden, Systeme und Funktionen zu schätzen und anzunähern, die von einer großen Anzahl von Eingaben abhängig und im Allgemeinen unbekannt sind. ANN-Architekturen, neuromorphe Mikro-Chips und nichtflüchtige Speicher mit extrem hoher Dichte können aus preisgünstigen Schaltungsarchitekturen mit hoher Dichte ausgebildet werden, die als Kreuzschienen-Arrays bekannt sind. Eine grundlegende Gestaltung eines Kreuzschienen-Arrays beinhaltet einen Satz von leitfähigen Zeilendrähten und einen Satz von leitfähigen Spaltendrähten, die so ausgebildet sind, dass sie den Satz von leitfähigen Zeilendrähten überschneiden. Die Überschneidungen der beiden Sätze von Drähten werden durch sogenannte Kreuzungspunkteinheiten getrennt, die aus einem Dünnschichtmaterial ausgebildet sein können. Kreuzungspunkteinheiten können als sogenannte memristive Einheiten implementiert werden. Zu Eigenschaften einer memristiven Einheit zählen Nichtflüchtigkeit, die Fähigkeit, einen variablen Widerstandswert zu speichern, und die Fähigkeit, einen Widerstand mithilfe von Strom- oder Spannungsimpulsen aufwärts anzupassen oder abwärts anzupassen.
-
KURZDARSTELLUNG
-
Gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet eine memristive Einheit eine erste leitfähige Materialschicht. Eine Oxidmaterialschicht ist auf der ersten leitfähigen Schicht angeordnet. Und eine zweite leitfähige Materialschicht ist auf der Oxidmaterialschicht angeordnet, wobei die zweite leitfähige Materialschicht eine Metall-Alkali-Legierung aufweist.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung beinhaltet ein Verfahren zum Ausbilden einer memristiven Einheit ein Abscheiden einer Oxidmaterialschicht auf einem Abschnitt einer ersten leitfähigen Materialschicht. Eine zweite leitfähige Materialschicht wird auf einem Abschnitt der Schicht des Oxidmaterials abgeschieden, wobei die zweite leitfähige Materialschicht eine Metall-Alkali-Legierung aufweist.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung beinhaltet eine memristive Einheit eine erste leitfähige Materialschicht. Eine Oxidmaterialschicht ist auf der ersten leitfähigen Materialschicht angeordnet. Eine Diffusionssperrschicht ist auf der Oxidmaterialschicht angeordnet. Eine zweite leitfähige Materialschicht ist auf der Oxidmaterialschicht angeordnet, wobei die zweite leitfähige Materialschicht eine Metall-Alkali-Legierung aufweist.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung beinhaltet ein Verfahren zum Ausbilden einer memristiven Einheit ein Abscheiden einer Oxidmaterialschicht auf einem Abschnitt einer ersten leitfähigen Materialschicht. Eine Diffusionssperrschicht wird auf einem Abschnitt der Oxidmaterialschicht abgeschieden. Eine zweite leitfähige Materialschicht wird auf einem Abschnitt der Schicht des Oxidmaterials abgeschieden, wobei die zweite leitfähige Materialschicht eine Metall-Alkali-Legierung beinhaltet.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung beinhaltet eine memristive Einheit eine erste leitfähige Materialschicht. Eine Oxidmaterialschicht ist auf der ersten leitfähigen Materialschicht angeordnet, wobei die Oxidmaterialschicht über einen Zeitraum hinweg einem Alkali-Metall ausgesetzt wird. Eine zweite leitfähige Materialschicht ist auf der Oxidmaterialschicht angeordnet.
-
Zusätzliche Merkmale und Vorteile werden durch hierin beschriebene Techniken umgesetzt. Sonstige Ausführungsformen und Aspekte werden hierin ausführlich beschrieben. Zum besseren Verständnis sei auf die Beschreibung und auf die Zeichnungen verwiesen.
-
Figurenliste
-
Die obigen und sonstige Merkmale und Vorteile der Ausführungsformen werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich, in denen:
- 1 ein vereinfachtes Schaubild von Eingangs- und Ausgangsverbindungen eines biologischen Neurons darstellt;
- 2 ein bekanntes, vereinfachtes Modell des in 1 gezeigten biologischen Neurons darstellt;
- 3 ein bekanntes, vereinfachtes Modell eines ANN darstellt, das das in 2 gezeigte biologische Neuronenmodell enthält;
- 4 ein vereinfachtes Blockschaubild einer bekannten Gewichtungsaktualisierungsmethodik darstellt;
- 5 ein vereinfachtes Blockschaubild einer stochastischen Berechnungsmethodik darstellt, die in einer oder mehreren Ausführungsformen verwendbar ist;
- 6 bekannte Gleichungen darstellt, die für den Betrieb eines passiven Memristors mit zwei Anschlüssen maßgeblich sind;
- 7 eine einzelne Matrix von Synapsen mit peripheren Neuronen gemäß einer oder mehreren Ausführungsformen darstellt;
- 8 eine Seitenansicht einer memristiven Einheit nach einem Abscheiden einer Oxidschicht auf einem aktiven Bereich einer leitfähigen Materialschicht gemäß einer oder mehreren Ausführungsformen darstellt;
- 9 eine Seitenansicht der memristiven Einheit, während die Oxidschicht mit einem Alkali-Metall interkaliert wird, gemäß einer oder mehreren Ausführungsformen darstellt;
- 10 eine Seitenansicht der memristiven Einheit, nachdem die Oxidschicht mit einem Alkali-Metall interkaliert worden ist, gemäß einer oder mehreren Ausführungsformen darstellt;
- 11 eine Seitenansicht der memristiven Einheit nach dem Abscheiden einer Legierungsschicht auf der Oxidschicht gemäß einer oder mehreren Ausführungsformen darstellt;
- 12 eine Seitenansicht der memristiven Einheit nach dem Abscheiden eines Metallkontakts auf der Legierungsschicht und der leitfähigen Materialschicht darstellt;
- 13 eine Seitenansicht der memristiven Einheit nach dem Anlegen eines oder mehrerer positiver Spannungsimpulse an die Metallkontakte darstellt;
- 14 eine Seitenansicht der memristiven Einheit nach dem Anlegen eines oder mehrerer negativer Spannungsimpulse an die Metallkontakte darstellt;
- 15 eine Seitenansicht einer alternativen beispielhaften Ausführungsform einer memristiven Einheit darstellt;
- 16 eine Seitenansicht einer alternativen beispielhaften Ausführungsform einer memristiven Einheit darstellt; und
- 17 eine Seitenansicht einer alternativen beispielhaften Ausführungsform einer memristiven Einheit darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Hierin werden verschiedene Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen können entwickelt werden, ohne vom Umfang dieser Erfindung abzuweichen. Es ist zu beachten, dass verschiedene Verbindungen und Positionsbeziehungen (z.B. über, unter, angrenzend an usw.) zwischen Elementen in der folgenden Beschreibung und in den Zeichnungen dargelegt werden. Sofern nichts anderes angegeben ist, können diese Verbindungen und/oder Positionsbeziehungen direkt oder indirekt sein, und die vorliegende Erfindung soll in dieser Hinsicht nicht beschränkend sein. Dementsprechend kann sich eine Kopplung von Entitäten entweder auf eine direkte oder auf eine indirekte Kopplung beziehen, und eine Positionsbeziehung zwischen Entitäten kann eine direkte oder eine indirekte Positionsbeziehung sein. Als Beispiel für eine indirekte Positionsbeziehung zählen zu Bezugnahmen in der vorliegenden Beschreibung auf ein Ausbilden einer Schicht „A“ über einer Schicht „B“ Situationen, in denen sich eine oder mehrere Zwischenschichten (z.B. eine Schicht „C“) zwischen der Schicht „A“ und der Schicht „B“ befinden, sofern die relevanten Eigenschaften und Funktionalitäten der Schicht „A“ und der Schicht „B“ durch die Zwischenschicht(en) nicht wesentlich verändert werden.
-
Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Beschreibung zu verwenden. So, wie die Begriffe hierin verwendet werden, sollen „weist auf“, „aufweisend“, „beinhaltet“, „beinhaltend“, „verfügt über“, „verfügend über“, „enthält“ oder „enthaltend“ oder jegliche sonstige Variante von diesen eine nichtausschließliche Einbeziehung abdecken. Beispielsweise ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, der/die/das eine Auflistung von Elementen aufweist, nicht zwingend auf nur diese Elemente beschränkt, sondern kann sonstige Elemente beinhalten, die nicht ausdrücklich aufgeführt oder einer/einem solchen Zusammensetzung, Gemisch, Prozess, Verfahren, Gegenstand oder Vorrichtung inhärent sind.
-
Darüber hinaus wird hierin der Begriff „beispielhaft“ in der Bedeutung „als Exempel, Beispiel oder Veranschaulichung dienend“ verwendet. Jegliche hierin als „beispielhaft“ beschriebene Ausführungsform oder Konstruktion soll nicht unbedingt als gegenüber sonstigen Ausführungsformen oder Konstruktionen bevorzugt oder vorteilhaft aufgefasst werden. Die Begriffe „zumindest ein(e)“ und „ein(e) oder mehrere“ sind so zu verstehen, dass sie jede Ganzzahl beinhalten, die größer als oder gleich eins ist, d.h., eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist so zu verstehen, dass er jede Ganzzahl beinhaltet, die größer als oder gleich zwei ist, d.h., zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann eine indirekte „Verbindung“ und eine direkte „Verbindung“ beinhalten.
-
Wenn in der Beschreibung auf „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. Bezug genommen wird, weist dies darauf hin, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft beinhalten kann, jedoch muss nicht jede Ausführungsform das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird ferner vorausgesetzt, dass ein Fachmann über die Kenntnisse verfügt, um ein solches Merkmal, eine solche Struktur oder Eigenschaft in Verbindung mit sonstigen Ausführungsformen nachzuvollziehen, unabhängig davon, ob sie ausdrücklich beschrieben werden.
-
Für Beschreibungszwecke sollen sich im Folgenden die Begriffe „obere(r,s)“, „untere(r,s)“, „rechte(r,s)“, „linke(r,s)“, vertikale(r,s)“, „horizontale(r,s)“, „oben liegende(r,s)“, „unten liegende(r,s)“ und Ableitungen davon so auf die beschriebenen Strukturen und Verfahren beziehen, wie sie in den Figuren der Zeichnungen ausgerichtet sind. Die Begriffe „darüber liegend“, „über“, „auf“, „positioniert auf“ oder „positioniert über“ bedeuten, dass sich ein erstes Element wie zum Beispiel eine erste Struktur auf einem zweiten Element wie zum Beispiel einer zweiten Struktur befindet, wobei sich dazwischenliegende Elemente wie zum Beispiel eine Grenzflächenstruktur zwischen dem ersten Element und dem zweiten Element befinden können. Der Begriff „direkter Kontakt“ bedeutet, dass ein erstes Element wie zum Beispiel eine erste Struktur und ein zweites Element wie zum Beispiel eine zweite Struktur ohne jegliche dazwischenliegende leitende, isolierende oder Halbleiterschichten an der Grenzfläche der beiden Elemente verbunden sind. Es ist zu beachten, dass der Begriff „selektiv gegenüber“, zum Beispiel „ein erstes Element selektiv gegenüber einem zweiten Element“, bedeutet, dass ein erstes Element geätzt werden kann und das zweite Element als Ätzstopp dienen kann. Der Begriff „etwa“ soll den Fehlergrad beinhalten, der einer Messung der jeweiligen Menge auf Grundlage der zum Zeitpunkt des Einreichens der Anmeldung verfügbaren Ausrüstung zugehörig ist. Beispielsweise kann „etwa“ einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Wertes beinhalten.
-
Im Allgemeinen fallen die verschiedenen Prozesse, die zum Ausbilden eines Mikro-Chips verwendet werden, der zu einer IC verkapselt wird, in vier allgemeine Kategorien, und zwar Schichtabscheidung, Entfernen/Ätzen, Halbleiterdotierung und Strukturieren/Lithographie. Das Abscheiden ist ein beliebiger Prozess, in dem ein Material aufgewachsen, aufgeschichtet oder auf andere Weise auf den Wafer übertragen wird. Zu den verfügbaren Technologien zählen unter anderem physikalische Gasphasenabscheidung (physical vapor deposition, PVD), chemische Gasphasenabscheidung (chemical vapor deposition, CVD), plasmaunterstützte chemische Gasphasenabscheidung (plasma-enhanced chemical vapor deposition, PECVD), elektrochemische Abscheidung (electrochemical deposition, ECD), Molekularstrahlepitaxie (molecular beam epitaxy, MBE) und in jüngerer Zeit Atomlagenabscheidung (atomic layer deposition, ALD).
-
Beim Entfernen/Ätzen handelt es sich um jeden Prozess, der Material vom Wafer entfernt. Zu Beispielen zählen Ätzprozesse (nass oder trocken) und chemisch-mechanisches Planarisieren (CMP) und dergleichen. Ein Nassätzprozess wie zum Beispiel ein Ätzen mit gepufferter Flusssäure (buffered hydrofluoric acid, BHF) ist ein Materialentfernungsprozess, der flüssige Chemikalien oder Ätzmittel einsetzt, um Materialien von einer Fläche zu entfernen. Ein Trockenätzprozess wie zum Beispiel reaktives lonenätzen (reactive ion etching, RIE) verwendet ein chemisch reaktives Plasma, um ein Material wie etwa eine maskierte Struktur eines Halbleitermaterials zu entfernen, indem das Material einem Beschuss mit Ionen ausgesetzt wird, die Abschnitte des Materials aus der ausgesetzten Fläche entfernen. Das Plasma wird durch ein elektromagnetisches Feld unter Unterdruck (Vakuum) erzeugt.
-
Bei einer Halbleiterlithographie handelt es sich um das Ausbilden von dreidimensionalen Reliefbildern oder -strukturen auf dem Halbleitersubstrat für ein nachfolgendes Übertragen der Struktur auf das Substrat. Bei einer Halbleiterlithographie werden die Strukturen durch ein lichtempfindliches Polymer ausgebildet, das als Photolack bezeichnet wird. Zum Aufbauen der komplexen Strukturen, die einen Transistor bilden, und der zahlreichen Drähte, die die Millionen von Transistoren einer Schaltung verbinden, werden Lithographie- und Ätzstrukturübertragungsschritte mehrmals wiederholt. Jede auf den Wafer gedruckte Struktur wird auf die zuvor ausgebildeten Strukturen ausgerichtet, und langsam werden die Leiter, Isolatoren und selektiv dotierten Bereiche aufgebaut, um die abschließende Einheit auszubilden.
-
Es folgt eine ausführlichere Beschreibung von für die vorliegende Erfindung relevanten Technologien, wie zuvor hierin erwähnt, wobei anamorphe neuronale Netze (ANNs) häufig als sogenannte „neuromorphe“ Systeme von miteinander verbundenen Prozessorelementen verkörpert werden, die als simulierte „Neuronen“ fungieren und „Nachrichten“ in Form von elektronischen Signalen untereinander austauschen. Ähnlich wie die sogenannte „Plastizität“ von synaptischen Neurotransmitterverbindungen, die Nachrichten zwischen biologischen Neuronen übertragen, sind die Verbindungen in ANNs, die elektronische Nachrichten zwischen simulierten Neuronen übertragen, mit numerischen Gewichtungen ausgestattet, die der Stärke oder Schwäche einer jeweiligen Verbindung entsprechen. Die Gewichtungen können auf Grundlage von Erfahrung abgestimmt und eingestellt werden, wodurch ANNs an Eingaben anpassungsfähig und lernfähig werden. Beispielsweise ist ein ANN für Handschriftenerkennung durch einen Satz von Eingangsneuronen definiert, die durch die Bildpunkte eines Eingabebildes aktiviert werden können. Nachdem sie gewichtet und durch eine durch den Entwickler des Netzes festgelegte Funktion umgewandelt worden sind, werden die Aktivierungen dieser Eingangsneuronen an sonstige nachgelagerte Neuronen übergeben, die häufig als „verdeckte“ Neuronen bezeichnet werden. Dieser Prozess wird wiederholt, bis ein Ausgangsneuron aktiviert wird. Das aktivierte Ausgangsneuron ermittelt, welches Zeichen gelesen wurde.
-
Bei Kreuzschienen-Arrays, die auch als Kreuzungspunkt-Arrays oder Kreuzungsdraht-Arrays bekannt sind, handelt es sich um preisgünstige Schaltungsarchitekturen mit hoher Dichte, die dazu verwendet werden, eine Vielfalt von elektronischen Schaltungen und Einheiten, darunter ANN-Architekturen, neuromorphe Mikro-Chips und nichtflüchtige Speicher mit extrem hoher Dichte, auszubilden. Eine grundlegende Gestaltung eines Kreuzschienen-Arrays beinhaltet einen Satz von leitfähigen Zeilendrähten und einen Satz von leitfähigen Spaltendrähten, die so ausgebildet sind, dass sie den Satz von leitfähigen Zeilendrähten überschneiden. Die Überschneidungen der beiden Sätze von Drähten werden durch sogenannte Kreuzungspunkteinheiten getrennt, die aus einem Dünnschichtmaterial ausgebildet sein können.
-
Tatsächlich fungieren Kreuzungspunkteinheiten als gewichtete Verbindungen der ANNs zwischen Neuronen. Einheiten mit zwei Anschlüssen im Nanobereich, zum Beispiel Memristoren, die „ideale“ Leitungszustands-Schalteigenschaften aufweisen, werden häufig als Kreuzungspunkteinheiten verwendet, um eine synaptische Plastizität mit einer hohen Energieeffizienz nachzubilden. Der Leitungszustand (z.B. der Widerstand) des idealen Memristor-Materials kann durch Steuern der Spannungen geändert werden, die zwischen einzelnen Drähten der Zeilen- und Spaltendrähte angelegt werden. Digitale Daten können durch Ändern des Leitungszustands des Memristor-Materials an der Überschneidung gespeichert werden, um einen hochleitenden Zustand oder einen niedrigleitenden Zustand zu erzielen. Das Memristor-Material kann durch selektives Festlegen des Leitungszustands des Materials auch so programmiert werden, dass es zwei oder mehr verschiedene Leitungszustände aufrechterhalten kann. Der Leitungszustand des Memristor-Materials kann durch Anlegen einer Spannung über dem Material und Messen des Stroms gelesen werden, der durch die Zielkreuzungspunkteinheit fließt.
-
Um einen Stromverbrauch zu begrenzen, werden die Kreuzungspunkteinheiten von ANN-Chip-Architekturen häufig so konstruiert, dass sie Offline-Lerntechniken einsetzen, wobei sich die Annäherung der Zielfunktion nicht ändert, nachdem die anfängliche Trainingsphase abgeschlossen worden ist. Offline-Lernen ermöglicht, dass die Kreuzungspunkteinheiten von ANN-Architekturen vom Kreuzschienentyp so vereinfacht werden, dass sie sehr wenig Strom verbrauchen.
-
Ungeachtet des Potentials für einen geringeren Stromverbrauch kann ein Ausführen eines Offline-Trainings schwierig und ressourcenintensiv sein, da es üblicherweise erforderlich ist, während des Trainings eine erhebliche Anzahl von einstellbaren Parametern (z.B. Gewichtungen) in dem ANN-Modell zu modifizieren, um sie an die Eingabe-Ausgabe-Paare für die Trainingsdaten anzupassen. Dementsprechend bedeutet üblicherweise ein Vereinfachen der Kreuzungspunkteinheiten von ANN-Architekturen, um Strom sparende Offline-Lerntechniken zu priorisieren, dass eine Trainingsgeschwindigkeit und eine Trainingseffizienz nicht optimiert werden.
-
Wenngleich sich Ausführungsformen der vorliegenden Erfindung auf elektronische Systeme beziehen, werden verschiedene Aspekte der elektronischen Systeme zur leichteren Bezugnahme und Erläuterung mithilfe von neurologischer Terminologie wie zum Beispiel Neuronen, Plastizität und Synapsen beschrieben. Es versteht sich, dass hierin bei jeglicher Erörterung oder Veranschaulichung eines elektronischen Systems die Verwendung von neurologischer Terminologie oder neurologischen Kurzschreibweisen der leichteren Bezugnahme dient und die neuromorphen ANN-Entsprechung(en) der beschriebenen neurologischen Funktion oder neurologischen Komponente abdecken soll.
-
In ANNs fließt Wissen aus einer Vielfalt von Disziplinen ein, darunter Neurophysiologie, Kognitionswissenschaft/Psychologie, Physik (statistische Mechanik), Regelungstheorie, Informatik, künstliche Intelligenz, Statistik/Mathematik, Mustererkennung, maschinelles Sehen, Parallelverarbeitung und Hardware (z.B. digital/analog/VLSI/optisch). Statt das herkömmliche digitale Modell des Manipulierens von Nullen und Einsen zu nutzen, erzeugen ANNs Verbindungen zwischen Verarbeitungselementen, bei denen es sich im Wesentlichen um die funktionale Entsprechung der Kernsystemfunktionalität handelt, die geschätzt oder angenähert wird. Beispielsweise handelt es sich bei einem Computer-Chip SyNapse™ von IBM™ um den zentralen Bestandteil einer elektronischen neuromorphen Maschine, die versucht, eine dem Säugetiergehirn ähnliche Form, Funktion und Architektur bereitzustellen. Wenngleich der Computer-Chip SyNapse von IBM dieselben grundlegenden Transistorkomponenten wie herkömmliche Computer-Chips verwendet, sind seine Transistoren so gestaltet, dass sie das Verhalten von Neuronen und ihren Synapsenverbindungen nachbilden. Der Computer-Chip SyNapse von IBM verarbeitet Informationen mithilfe eines Netzes von etwas mehr als einer Million simulierten „Neuronen“, die mithilfe von elektrischen Spitzen ähnlich wie bei den synaptischen Datenübertragungen zwischen biologischen Neuronen Daten übertragen. Die SyNapse-Architektur von IBM beinhaltet eine Gestaltung von Prozessoren (d.h. simulierten „Neuronen“), die einen Speicher (d.h. eine simulierte „Synapse“) auslesen und einfache Operationen durchführen. Die Datenübertragungen zwischen diesen Prozessoren, die sich üblicherweise in unterschiedlichen Kernen befinden, werden durch Netzwerk-Router auf dem Chip durchgeführt.
-
Wie ein typisches ANN arbeitet, wird im Folgenden unter Bezugnahme auf 1, 2 und 3 allgemein beschrieben. Wie hierin zuvor angemerkt, bildet ein typisches ANN das menschliche Gehirn nach, das etwa hundert Milliarden als Neuronen bezeichnete, miteinander verbundene Zellen beinhaltet. 1 stellt ein vereinfachtes Schaubild eines biologischen Neurons 102 mit Pfaden 104, 106, 108, 110 dar, die es mit vorgelagerten Eingängen 112, 114, nachgelagerten Ausgängen 116 und nachgelagerten „sonstigen“ Neuronen 118 verbinden, die wie dargestellt gestaltet und angeordnet sind. Jedes biologische Neuron 102 sendet und empfängt elektrische Impulse durch die Pfade 104, 106, 108, 110. Die Art dieser elektrischen Impulse und wie sie in dem biologischen Neuron 102 verarbeitet werden, sind hauptsächlich für die Gehirnfunktionalität insgesamt verantwortlich. Die Pfadverbindungen zwischen biologischen Neuronen können stark oder schwach sein. Wenn ein bestimmtes Neuron Eingangsimpulse empfängt, verarbeitet das Neuron die Eingabe entsprechend der Funktion des Neurons und sendet das Ergebnis der Funktion an nachgelagerte Ausgänge und/oder nachgelagerte „sonstige“ Neuronen.
-
Das biologische Neuron 102 ist in 2 als Knoten 202 nachgebildet, der eine mathematische Funktion f(x) aufweist, die durch die in 2 gezeigte Gleichung dargestellt wird. Ein Knoten 202 erhält elektrische Signale von den Eingängen 212, 214, multipliziert jede Eingabe 212, 214 mit der Stärke ihres jeweiligen Pfades 204, 206, erhält eine Summe der Eingaben, übergibt die Summe durch eine Funktion f(x) und erzeugt ein Ergebnis 216, bei dem es sich um eine endgültige Ausgabe oder eine Eingabe in einen weiteren Knoten oder um beides handeln kann. In der vorliegenden Beschreibung wird ein Sternchen (*) verwendet, um eine Multiplikation darzustellen. Schwache Eingangssignale werden mit einer sehr kleinen Verbindungsstärkenzahl multipliziert, sodass die Auswirkung eines schwachen Eingangssignals auf die Funktion sehr gering ist. Ähnlich werden starke Eingangssignale mit einer größeren Verbindungsstärkenzahl multipliziert, sodass die Auswirkung eines starken Eingangssignals auf die Funktion größer ist. Die Funktion f(x) ist eine Konstruktionsentscheidung, und eine Vielfalt von Funktionen kann verwendet werden. Eine typische Konstruktionsentscheidung für f(x) ist die hyperbolische Tangentenfunktion, die die Funktion der vorhergehenden Summe übernimmt und eine Zahl zwischen minus eins und plus eins ausgibt.
-
3 stellt ein vereinfachtes ANN-Modell 300 dar, das als gewichteter, gerichteter Graph aufgebaut ist, wobei die künstlichen Neuronen Knoten (z.B. 302, 308, 316) sind und wobei gewichtete, gerichtete Kanten (z.B. m1 bis m20) die Knoten verbinden. Das ANN-Modell 300 ist so aufgebaut, dass Knoten 302, 304, 306 Knoten einer Eingangsschicht sind, Knoten 308, 310, 312, 314 Knoten einer verdeckten Schicht sind und Knoten 316, 318 Knoten einer Ausgangsschicht sind. Jeder Knoten ist durch Verbindungspfade, die in 3 als Richtungspfeile mit Verbindungsstärken m1 bis m20 dargestellt sind, mit jedem Knoten in der angrenzenden Schicht verbunden. Wenngleich nur eine Eingangsschicht, eine verdeckte Schicht und eine Ausgangsschicht dargestellt sind, können in der Praxis mehrere Eingangsschichten, verdeckte Schichten und Ausgangsschichten bereitgestellt werden.
-
Ähnlich wie bei der Funktionalität eines menschlichen Gehirns empfängt jeder Knoten 302, 304, 306 einer Eingangsschicht des ANN 300 Eingaben x1, x2, x3 direkt von einer (nicht dargestellten) Quelle ohne Anpassungen der Verbindungsstärke und ohne Knotensummierungen. Dementsprechend gilt y1 = f(x1), y2 = f(x2) und y3 = f(x3), wie durch die unten in 3 aufgeführten Gleichungen dargestellt. Jeder Knoten 308, 310, 312, 314 einer verdeckten Schicht empfängt seine Eingaben von allen Knoten 302, 304, 306 der Eingangsschicht entsprechend den Verbindungsstärken, die den relevanten Verbindungspfaden zugehörig sind. Folglich gilt in dem Knoten 308 der verdeckten Schicht y4 = f(m1*y1 + m5*y2 + m9*y3), wobei * eine Multiplikation darstellt. Eine ähnliche Verbindungsstärkenmultiplikation und Knotensummierung wird für die Knoten 310, 312, 314 der verdeckten Schicht und die Knoten 316, 318 einer Ausgangsschicht durchgeführt, wie durch die unten in 3 gezeigten Gleichungen dargestellt, die Funktionen y5 bis y9 definieren.
-
Das ANN-Modell 300 verarbeitet Datensätze nacheinander und „lernt“ durch Vergleichen einer anfänglich willkürlichen Klassifizierung des Datensatzes mit der bekannten tatsächlichen Klassifizierung des Datensatzes. Mithilfe einer Trainingsmethodik, die als „Rückwärtspropagierung“ (d.h., „Rückwärtspropagierung von Fehlern“) bekannt ist, werden die Fehler aus der anfänglichen Klassifizierung des ersten Datensatzes in das Netz zurückgeführt und beim zweiten Mal zum Modifizieren der gewichteten Verbindungen des Netzes verwendet, und dieser Rückführungsprozess wird über zahlreiche Wiederholungen hinweg fortgesetzt. In der Trainingsphase eines ANN ist die korrekte Klassifizierung für jeden Datensatz bekannt, und den Ausgangsknoten können daher „korrekte“ Werte zugewiesen werden. Beispielsweise ein Knotenwert „1“ (oder 0,9) für den Knoten, der der korrekten Klasse entspricht, und ein Knotenwert „0“ (oder 0,1) für die sonstigen. Auf diese Weise ist es möglich, die berechneten Werte des Netzes für die Ausgangsknoten mit diesen „korrekten“ Werten zu vergleichen und für jeden Knoten einen Fehlerterm zu berechnen (d.h., die „Delta“-Regel). Diese Fehlerterme werden anschließend dazu verwendet, die Gewichtungen in den verdeckten Schichten so anzupassen, dass die Ausgabewerte bei der nächsten Wiederholung näher an den „korrekten“ Werten liegen.
-
Es sind zahlreiche Typen von neuronalen Netzen vorhanden, die beiden größten Kategorien sind jedoch Feed-Forward- und rückgekoppelte/rekurrente Netze. Bei dem ANN-Modell 300 handelt es sich um ein nichtrekurrentes Feed-Forward-Netz mit Eingängen, Ausgängen und verdeckten Schichten. Die Signale können nur in eine Richtung übertragen werden. Eingabedaten werden an eine Schicht von Verarbeitungselementen übergeben, die Berechnungen durchführen. Jedes Verarbeitungselement führt seine Berechnung auf Grundlage einer gewichteten Summe seiner Eingaben durch. Die neuen berechneten Werte werden anschließend zu den neuen Eingabewerten, die der nächsten Schicht zugeführt werden. Dieser Prozess wird fortgesetzt, bis er alle Schichten durchlaufen hat und den Ausgabewert festgelegt hat. Bisweilen wird eine Schwellenwert-Übertragungsfunktion dazu verwendet, die Ausgabe eines Neurons in der Ausgangsschicht zu quantifizieren.
-
Ein rückgekoppeltes/rekurrentes Netz beinhaltet Rückkopplungspfade, was bedeutet, dass die Signale mithilfe von Schleifen in beide Richtungen übertragen werden können. Alle möglichen Verbindungen zwischen Knoten sind zulässig. Da in diesem Netztyp Schleifen vorhanden sind, kann es bei bestimmten Operationen zu einem nichtlinearen dynamischen System werden, das sich fortlaufend ändert, bis es einen Gleichgewichtszustand erreicht. Rückgekoppelte Netze werden häufig in Assoziativspeichern und bei Optimierungsproblemen verwendet, wobei das Netz die beste Anordnung von miteinander verbundenen Faktoren sucht.
-
Die Geschwindigkeit und Effizienz von maschinellem Lernen in Feed-Forward- und rekurrenten ANN-Architekturen hängen davon ab, wie wirksam die Kreuzungspunkteinheiten des ANN-Kreuzschienen-Arrays die Kernoperationen von typischen maschinellen Lernalgorithmen durchführen. Wenngleich eine genaue Definition von maschinellem Lernen schwierig zu formulieren ist, kann ein Lernprozess im ANN-Kontext als das Problem eines Aktualisierens der Verbindungsgewichtungen der Kreuzungspunkteinheiten betrachtet werden, sodass ein Netz eine spezifische Aufgabe wirksam durchführen kann. Üblicherweise lernen die Kreuzungspunkteinheiten die notwendigen Verbindungsgewichtungen aus verfügbaren Trainingsmustern. Die Leistungsfähigkeit wird im Laufe der Zeit durch wiederholtes Aktualisieren der Gewichtungen im Netz verbessert. Statt einen Satz von Regeln zu befolgen, der durch menschliche Fachleute festgelegt wird, „lernen“ ANNs zugrundeliegende Regeln (wie Eingabe-Ausgabe-Beziehungen) aus der jeweiligen Sammlung von repräsentativen Beispielen. Dementsprechend kann ein Lernalgorithmus allgemein als Prozedur definiert werden, durch die Lernregeln dazu verwendet werden, die relevanten Gewichtungen zu aktualisieren und/oder anzupassen.
-
Die drei Hauptmodelle von Lernalgorithmen sind überwacht, unüberwacht und hybrid. Beim überwachten Lernen oder Lernen mit einem „Lehrer“ wird dem Netz für jedes Eingabemuster eine korrekte Antwort (Ausgabe) bereitgestellt. Gewichtungen werden so festgelegt, dass dem Netz ermöglicht wird, Antworten zu erzeugen, die den bekannten korrekten Antworten so nahe wie möglich kommen. Bei bestärkendem Lernen handelt es sich um eine Variante des überwachten Lernens, bei der dem Netz nur eine Bewertung der Korrektheit von Netzausgaben bereitgestellt wird, nicht die korrekten Antworten selbst. Im Gegensatz dazu erfordert unüberwachtes Lernen oder Lernen ohne Lehrer keine jedem Eingabemuster in dem Trainingsdatensatz zugehörige, korrekte Antwort. Es untersucht die zugrundeliegende Struktur in den Daten oder Korrelationen zwischen Mustern in den Daten und ordnet aus diesen Korrelationen Muster zu Kategorien. Hybrides Lernen kombiniert überwachtes und unüberwachtes Lernen. Teile der Gewichtungen werden üblicherweise durch überwachtes Lernen festgelegt, wohingegen die übrigen durch unüberwachtes Lernen gewonnen werden. Weitere Einzelheiten von ANNs und Lernregeln werden in Artificial Neural Networks: A Tutorial von Anil K. Jain, Jianchang Mao und K. M. Mohiuddin, IEEE, März 1996, beschrieben, deren gesamte Beschreibung durch Bezugnahme hierin eingeschlossen ist.
-
Wie hierin zuvor angemerkt, werden die Kreuzungspunkteinheiten von ANN-Chip-Architekturen, um einen Stromverbrauch zu begrenzen, häufig so konstruiert, dass sie Offline-Lerntechniken einsetzen, wobei sich die Annäherung der Zielfunktion nicht ändert, nachdem die anfängliche Trainingsphase abgeschlossen worden ist. Offline-Lernen ermöglicht, dass die Kreuzungspunkteinheiten von ANN-Architekturen vom Kreuzschienentyp so vereinfacht werden, dass sie sehr wenig Strom verbrauchen.
-
Ungeachtet des Potentials für einen geringeren Stromverbrauch kann ein Ausführen eines Offline-Trainings schwierig und ressourcenintensiv sein, da es üblicherweise erforderlich ist, während des Trainings eine erhebliche Anzahl von einstellbaren Parametern (z.B. Gewichtungen) in dem ANN-Modell zu modifizieren, um sie an die Eingabe-Ausgabe-Paare für die Trainingsdaten anzupassen. 4 stellt eine vereinfachte Veranschaulichung einer typischen Gewichtungsaktualisierungs-Operation mit Lesen-Verarbeiten-Schreiben dar, wobei CPU/GPU-Kerne (d.h., simulierte „Neuronen“) einen Speicher (d.h., eine simulierte „Synapse“) auslesen und Operationen einer Gewichtungsaktualisierungsverarbeitung durchführen und anschließend die aktualisierten Gewichtungen in den Speicher zurückschreiben. Dementsprechend bedeutet üblicherweise ein Vereinfachen der Kreuzungspunkteinheiten von ANN-Architekturen, um Strom sparende Offline-Lerntechniken zu priorisieren, dass eine Trainingsgeschwindigkeit und eine Trainingseffizienz nicht optimiert werden.
-
Ein Bereitstellen einfacher Kreuzungspunkteinheiten, die einen Stromverbrauch innerhalb eines annehmbaren Bereichs halten, wie auch ein Erhöhen der Geschwindigkeit und der Effizienz eines Trainings von ANN-Architekturen würde eine Gesamtleistungsfähigkeit der ANNs verbessern und einen breiteren Anwendungsbereich von ANNs ermöglichen.
-
Es folgt eine Übersicht über systolische Arrays, stochastische Datenverarbeitung und lineare und nichtlineare Memristor-Einheiten, die für Ausführungsformen der vorliegenden Erfindung relevant sind. Systolische Arrays bestehen aus parallelen Verarbeitungselementen (processing elements, PE), die versuchen, das Lernen von bestimmten häufig verwendeten Algorithmen zu beschleunigen. Systolische Arrays sind häufig für spezifische Operationen wie beispielsweise „Multiplizieren und Akkumulieren“ festverdrahtet, um Aufgaben massivparalleler Integration, Konvolution, Korrelation, Matrixmultiplikation oder Datensortierung durchzuführen. In einer Veröffentlichung von C. Lehmann et al. mit dem Titel „A Generic Systolic Array Building Block For Neural Networks with On-Chip Learning", IEEE Transactions On Neural Networks, Band 4, Nr. 3, Mai 1993, wird vorgeschlagen, systolische Arrays als Baustein für online lernende neuronale Netze zu verwenden, wobei jedes PE in dem systolischen Array einen lokalen Speicher zum Speichern eines einzigen Gewichtungswerts aufweist und in der Lage ist, für Matrixmultiplikation und Gewichtungsaktualisierungen erforderliche Berechnungen durchzuführen. Die in dem Artikel von Lehmann beschriebene Implementierung der PE mit höchstem Integrationsgrad (very-large-scale integration, VLSI) erfordert etwa 1.800 Transistoren pro PE, wodurch der Stromverbrauch erhöht und die Skalierbarkeit verringert werden. Daher ist es wünschenswert, PEs bereitzustellen, die so wenige Transistoren pro PE wie möglich erfordern.
-
Bei der stochastischen Datenverarbeitung handelt es sich um eine Sammlung von Techniken, die kontinuierliche Werte durch Ströme von Zufalls-Bits darstellen, wobei komplexe Berechnungen durch einfache Bit-weise Operationen an den Strömen durchgeführt werden können. Insbesondere wenn zwei zufällige und unabhängige Bit-Ströme S1, S2 vorhanden sind, die als stochastische Zahlen bezeichnet werden (d.h., ein Bernoulli-Prozess), wobei die Wahrscheinlichkeit einer „Eins“ in dem ersten Strom p ist und die Wahrscheinlichkeit einer „Eins“ in dem zweiten Strom q ist, kann das logische UND der beiden Ströme verwendet werden, wie in 6 dargestellt. Die Wahrscheinlichkeit einer „Eins“ im Ausgabestrom beträgt pq. Durch Berücksichtigen von genügend Ausgabe-Bits und Messen der Häufigkeit von „Einsen“ ist es möglich, pq auf eine beliebige Genauigkeit zu schätzen. Aufgrund der Einfachheit der Konstruktion dieser sogenannten „Multiplizieren-und-Akkumulieren“-Operationen, die mit einigen logischen Gattern/Transistoren implementiert werden können, wird die stochastische Datenverarbeitung häufig bei der Hardware-Konstruktion für neuronale Netze verwendet. Eine Veröffentlichung von V. K. Chippa et al. mit dem Titel „StoRM: A Stochastic Recognition and Mining Processor“, Proceedings of the 2014 International Symposium On Low power Electronics and Design, zeigt eine Anwendung von stochastischer Datenverarbeitung auf systolische zweidimensionale (2D-)Arrays, die als Hardware-Beschleuniger für Trainingsalgorithmen für neuronale Netze verwendet werden können.
-
In dem Artikel von Chippa et al. werden die erforderlichen Gewichtungen für die Berechnungen dem systolischen Array jedoch von außen zugeführt, und Aktualisierungen der Gewichtungen werden nicht durch das Array durchgeführt. Der Artikel von Chippa et al. behandelt lediglich die Beschleunigung von Operationen einer Vektor-Matrix-Multiplikation oder einer Matrix-Matrix-Multiplikation, die während eines Trainings eines neuronalen Netzes stark genutzt werden. Systolische Arrays ohne lokalen Speicher können die Gewichtungsaktualisierungen jedoch nicht parallel durchführen, da die Gewichtungen an einem externen Speicherort gespeichert sind. Ein Beschleunigen der Gewichtungsaktualisierungen, das in dem Artikel von Chippa et al. nicht beschrieben wird, ist erforderlich, um den Lernalgorithmus insgesamt zu beschleunigen.
-
Der Begriff „Memristor“ wird dazu verwendet, ein passives elektrisches Bauelement mit zwei Anschlüssen zu beschreiben, wobei der Widerstandswert der Einheit vom Verlauf der zuvor an die Einheit angelegten Spannungen abhängig ist. Der Betrieb eines Memristors wird durch in 6 dargestellte Gleichungen [1] und [2] geregelt, wobei i der durch die Einheit fließende Strom ist, v die an die Einheit angelegte Spannung ist, g der Leitwert der Einheit ist (wobei es sich um den Kehrwert des Widerstands handelt), s die interne Zustandsvariable der Einheit ist, die den Leitwert steuert, und f die Funktion ist, die die zeitliche Entwicklung der internen Zustandsvariablen s darstellt. In einer Veröffentlichung von Chua, L. O. mit dem Titel „Resistance Switching Memories are Memristors", Applied Physics A (2011), 102 (4): 765 bis 783, wird eine Memristor-Funktionalität für den Betrieb von resistiven Speichereinheiten wie zum Beispiel eines resistiven Direktzugriffsspeichers (resistive random-access-memory, RRAM), eines Phasenwechselspeichers (phase change memory, PCM) und eines Direktzugriffsspeichers mit leitfähiger Überbrückung (conductive-bridging random-access-memory, CBRAM) vorgeschlagen. Da sich eine Memristor-Einheit an ihren Verlauf erinnert (d.h., die sogenannte „Nichtflüchtigkeits-Eigenschaft“), schlägt der Artikel von Chua solche Einheiten als mögliche Alternativen zu nichtflüchtigen Speichertechnologien vor.
-
Eine Veröffentlichung von D. Soudry et al. mit dem Titel „Memristor-Based Multilayer Neural Networks With Online Gradient Descent Training", IEEE Transactions On Neural Networks and Learning Systems (2015), schlägt die Verwendung von Memristoren für Trainings-Hardware für neuronale Netze mit Rückwärtspropagierung vor. Der Artikel von Soudry et al. nimmt jedoch einen idealen Memristor-Betrieb an, wobei die Änderung des Widerstands im Hinblick auf die an die Einheit angelegte Spannung linear ist. Die Konstruktion von Soudry et al. setzte voraus, dass die Funktion f(s,v) in Gleichung [2] von 6 eine einfache Funktion ist, die durch die Beziehung f(s,v) = v gegeben ist. Der Artikel von Soudry et al. schlägt eine Architektur vor, die einem systolischen 2D-Array ähnelt, wie es oben beschrieben worden ist, wobei jeder Kreuzungspunkt mit einem idealen Memristor und einem Paar Transistoren implementiert wird. In dem Artikel von Soudry et al. wird der Memristor faktisch zum Speichern des Gewichtungswertes verwendet, und das Paar Transistoren wird zum Berechnen einer lokalen Multiplikationsoperation verwendet, die für die Gewichtungsaktualisierungen erforderlich ist, wobei das Ergebnis der Gewichtungsaktualisierung den Leitungszustand des Memristors modifiziert. Der Artikel von Soudry et al. beschreibt faktisch eine Einheit mit vier Anschlüssen, die aus einem Memristor und zwei Transistoren besteht, die zum Erstellen eines 2D-Arrays aus den Einheiten mit 4 Anschlüssen verwendet wird, um das Training der Rückwärtspropagierung der Hardware des neuronalen Netzes zu implementieren.
-
7 veranschaulicht eine einzelne Matrix von „Synapsen“ mit peripheren „Neuronen“ und mit Eingängen und Ausgängen gemäß einer oder mehreren Ausführungsformen. Die einzelne Matrix beinhaltet einen Satz von Synapsen 75, einen Satz von Eingängen 85 und einen Satz von Ausgängen 95. Die veranschaulichte Ausführungsform wird als „Perzeptron“ 70 bezeichnet. Ein Ziel des Perzeptrons 70 besteht darin, eine Entität (oder Entitäten) wie zum Beispiel eine Katze aus einem Satz von Eingaben 85 wie etwa den Bildpunkten in einem Bild zu erkennen. Ein Training geht damit einher, das System dazu zu veranlassen, die Katze aus einer Reihe vorgegebener Eingaben zu erkennen, sodass es die Katze in nachfolgenden unbekannten Eingaben erkennen kann. In diesem Beispiel ist die Entität oder sind die Entitäten eine Katze; es kann jedoch eine beliebige Art oder Anzahl von Entitäten verwendet werden.
-
Angesichts der synaptischen Gewichtungen, bei denen es sich um Leitwerte w
ji handelt, werden die Ausgaben O
j gewonnen durch Anlegen von Spannungen I
i an die Eingänge
85 und Summieren der Ströme an den Ausgängen
95, um
zu gewinnen, und anschließendes Durchleiten dieses Ergebnisses durch einen Sättigungsverstärker mit der Charakteristik
-
Hier gilt g(x); tanh(x). Die synaptischen Gewichtungen w
ij müssen durch Training gewonnen werden. Das Training erfolgt durch Minimieren einer Kostenfunktion:
wobei ζ
j die gewünschte Ausgabe (z. B. eine Katze) im Hinblick auf die w
ji ist. Das Ergebnis ist die Hebbsche Aktualisierungsregel:
wobei
-
Hier ist η eine „Lerngeschwindigkeit“. Der Sättigungsverstärker spielt eine Rolle, wenn mehrere Arrays in Reihe verbunden sind (tiefes neuronales Netz). Wenn das System linear bliebe (g(x)=x), würden sich die zusätzlichen Arrays zu einem Array verketten.
-
Aktuelle Systeme implementieren dieses Schema in Software. Das Training ist jedoch äußerst langsam (48 Stunden in einem Rechenzentrum). Mithilfe einer Hardware-Implementierung des Arrays (Synapsen 75 und Neuronen) kann das Array eine Geschwindigkeitsverbesserung erzielen, da die Trainingsprozesse in O(1)-Zeit erfolgen können. Wenn die Eingangsspannungen gleichzeitig angelegt werden, beginnen die Ströme in sämtlichen vertikalen Drähten 78 unverzüglich (modulo eine Dauer eines kapazitiven Ladens), und die Ergebnisse können gleichzeitig in den Ausgangsneuronen verarbeitet werden. Das Ergebnis ist der Satz von Ausgaben δj, der durch die Ausgangsneuronen berechnet wird.
-
Um die Hebbsche Aktualisierungsregel Δwji =ηIjδj. umzusetzen, wird an jeder Synapse 75 das Produkt Iiδj berechnet. Dies kann in einer Implementierung mithilfe des Konzepts von stochastischen Zahlen erfolgen.
-
Es werde zum Beispiel angenommen, dass zwei beliebige, unabhängige Bit-Ströme vorhanden sind, die als stochastische Zahlen bezeichnet werden. Es kann angenommen werden, dass es sich bei den Bit-Strömen um Taktimpulsfolgen handelt, wobei die Impulsamplitude 1 oder 0 beträgt. Die Wahrscheinlichkeit einer Eins in dem ersten Strom sei p, und die Wahrscheinlichkeit in dem zweiten Strom sei q. Das Produkt pq der beiden Ströme kann als Wahrscheinlichkeit des logischen UND der beiden Ströme p^q betrachtet werden. Durch Berücksichtigen von genügend Ausgabe-Bits und Messen der Häufigkeit von Einsen ist es möglich, pq auf eine beliebige Genauigkeit zu schätzen.
-
Durch Anwenden dieser Technik kann die Hebbsche Aktualisierungsregel als
geschrieben werden, wobei
Binärimpulse sind, Elemente eines beliebigen Bit-Stroms von 0en und 1en mit einer Länge M, wobei die Wahrscheinlichkeit einer 1 I
i bzw. δ
j beträgt.
-
Es ist ersichtlich, dass die Größenordnung der Aktualisierung die Zeit zum Emittieren von M Impulsen unabhängig von einer Array-Größe ist. Bei einem Array von zum Beispiel 4.000x4.000 kann die Beschleunigung eine Größenordnung von 104 aufweisen.
-
Das synaptische Array mit zugehörigen Neuronen, das in der Lage ist, die synaptische Matrix in O(1)-Zeit zu aktualisieren, wird als resistive Verarbeitungseinheit (Resistive Processing Unit, RPU) bezeichnet. Die RPUs können in Reihe platziert sein, wodurch eine rechnerische Auswirkung ermöglicht wird (tiefes neuronales Netz, Deep Neural Net oder DNN). In diesem Fall sind die Eingangs- und Ausgangsneuronen zu sehen, die Zwischenneuronen sind verdeckt. Der Algorithmus wird modifiziert, aber das Prinzip bleibt unverändert, in dem Prozess des Aktualisierens der synaptischen Gewichtungen werden Daten vom Eingang bis zum Ausgang propagiert, wo sie mit der gewünschten Ausgabe verglichen werden, und anschließend wird der Fehler zurück zum Eingang rückwärts propagiert.
-
Eine synaptische Einheit ist erforderlich, die einen Leitwert speichert, der zwischen (horizontalen) Eingangs- und (vertikalen) Ausgangsleitungen gemessen werden kann. Der Leitwert muss durch Empfangen von koinzidenten Impulsen in den Eingangs- und Ausgangsleitungen aktualisierbar sein. Für die synaptische Einheit bestehen Vorgaben.
-
Für ein beispielhaftes Array von 4.000x4.000 bestehen die folgenden Vorgaben: Anzahl von schreibbaren Zuständen p ~1.000, die Dauer des Impulses beträgt 1 ns, der Leitwert ist w, w-1≈24 MOhm. MAX/MIN-Verhältnis ≈ 10, Anzahl der beim Lesen zu unterscheidenden Zustände, und wenn für die Zustände p+q = r gilt, ist, wenn p durch q positive Impulse in r umgewandelt wird, durch Anlegen von q Löschimpulsen eine Rückkehr in den Zustand p möglich (d.h., Symmetriekriterium). In einigen Situationen ist mehr als eine horizontale/vertikale Leitung pro Synapse erforderlich. Es sind native Einheiten, z.B. Memristoren, vorhanden, die versuchen, sämtliche Funktionen ohne zusätzliche Schaltungen und mit einer einzigen Eingangs- und einer einzigen Ausgangsleitung zu erfüllen.
-
Es folgt eine Übersicht über Aspekte der vorliegenden Erfindung, wobei eine oder mehrere Ausführungsformen eine memristive Einheit bereitstellen, die eine Halbleiterschicht beinhaltet, die steuerbar durch Einbringen oder Entfernen von Alkali-Verunreinigungen (z.B. Li, Na oder K) „dotiert“ werden kann. Bei der Halbleiterschicht handelt es sich um ein Oxid wie zum Beispiel Titanoxid, das eine breitere Bandlücke aufweist und halbisolierend ist. Ein Einbringen eines Alkalis wie zum Beispiel Lithium in diese Oxidschicht ändert den Widerstand der Oxidschicht, wodurch diese stärker leitfähig wird, wohingegen ein Entfernen des Alkalis bewirkt, dass die Oxidschicht weniger leitfähig wird. Das Einbringen des Alkalis wird durch Anlegen von positiven Spannungsimpulsen an eine Metall-Alkali-Legierung oder eine intermetallische Verbindung durchgeführt, die als Elektrode in der memristiven Einheit dient. Diese Metall-Alkali-Legierungs-Elektrode wird auf der Halbleiterschicht in der memristiven Einheit angeordnet. Die Spannungsimpulse bewirken, dass das Alkali (z.B. Li) in die Oxidschicht eindringt. Der Anstieg der Leitfähigkeit ist auf die Abgabe eines Elektrons durch das Lithium-Ion an das Leitungsband des Oxids zurückzuführen. Umgekehrt werden durch Anlegen von negativen Spannungsimpulsen die Alkali-Ionen aus der Oxidschicht entfernt, wodurch bewirkt wird, dass die Oxidschicht weniger leitfähig wird. Die memristive Einheit kann in einem künstlichen neuronalen Netz verwendet werden.
-
Es folgt eine ausführlichere Beschreibung der vorliegenden Erfindung, wobei eine oder mehrere Ausführungsformen zum Ausbilden einer memristiven Einheit auf Grundlage einer Alkali-Dotierung von Übergangsmetalloxiden (z.B. TiO2) und die daraus resultierenden Strukturen unter Bezugnahme auf die beigefügten Zeichnungen in 8 bis 14 im Folgenden ausführlich beschrieben werden.
-
8 veranschaulicht eine Seitenansicht einer memristiven Einheit nach einem Abscheiden einer Oxidschicht 704 auf einer leitfähigen Materialschicht 702 während eines zwischenliegenden Vorgangs zum Ausbilden der memristiven Einheit gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Die leitfähige Materialschicht 702 kann in Form einer freistehenden Schicht eines leitfähigen Materials (z.B. einer Metallfolie) oder einer auf ein Substrat (z.B. einen Si-Wafer, Glas usw.) aufgeschichteten Dünnschicht eines leitfähigen Materials vorliegen, wobei die Oxidschicht 704 über einem aktiven Bereich des leitfähigen Materials abgeschieden wird. In dem veranschaulichten Beispiel beinhaltet die leitfähige Materialschicht 702 ein mit fluordotiertem Zinnoxid (fluorine doped Tin Oxide, FTO) beschichtetes Glas (SnO2:F).
-
Bei einigen Ausführungsformen kann die Oxidschicht 704 mithilfe einer chemischen Gasphasenabscheidung (CVD), plasmaunterstützten chemischen Gasphasenabscheidung (PECVD), Atomlagenabscheidung (ALD), physikalischer Gasphasenabscheidung (PVD), chemischer Lösungsabscheidung oder sonstiger ähnlicher Prozesse abgeschieden werden.
-
9 veranschaulicht eine Seitenansicht der memristiven Einheit, die mit einem Alkali-Metall 802 interkaliert wird, gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Bei einigen Ausführungsformen kann Lithium in der Oxidschicht mithilfe von n-Butyllithium interkaliert werden. Die Oxidschicht 704 wird n-Butyllithium 802 ausgesetzt, bevor sie mit dem Kohlenwasserstoff-Lösungsmittel, z.B. Hexan (nicht dargestellt), gespült wird, um einen Überschuss zu entfernen. Die Einwirkdauer des n-Butyllithiums 802 auf die Oxidschicht 704 kann auf Grundlage der Anwendung der Einheit variieren, sodass ein spezifischer Flächenwiderstand der Oxidschicht 704 für die Anwendung erforderlich ist. In dem Beispiel von TiO2 als Übergangsmetalloxidmatrix nimmt der Flächenwiderstand der Oxidschicht 704 mit zunehmender Einwirkdauer ab. Dieser variable Zeitraum des Einwirkens des n-Butyllithiums 802 wird dazu verwendet, einen anfänglichen Flächenwiderstand der Oxidschicht 704 für verschiedene Anwendungen der memristiven Einheit anzupassen. Bei einer oder mehreren Ausführungsformen können sonstige Übergangsmetalloxidmaterialien als Oxidschicht 704 verwendet werden.
-
10 veranschaulicht eine Seitenansicht der memristiven Einheit, nachdem die Oxidschicht mit einem Alkali-Metall wie zum Beispiel n-Butyllithium interkaliert worden ist, gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Die interkalierte Oxidschicht 904 weist einen geringeren Flächenwiderstand als den Flächenwiderstand der Oxidschicht 704 vor einer Interkalation mit einem Alkali-Metall auf. Die Dauer des Einwirkens des n-Butyllithiums wird so festgelegt, dass der gewünschte Flächenwiderstand der interkalierten Oxidschicht 904 eingestellt wird.
-
Bei einer weiteren Ausführungsform kann Li (oder Na) in die Oxidschicht 704 durch Abscheiden eines (nicht dargestellten) Kontakts auf der Oberseite, der sowohl das Elektrodenmaterial als auch Li (oder Na) in derselben Schicht aufweist, eingebracht werden. In diesem Beispiel wird eine undotierte TiO2-Schicht abgeschieden, und anschließend wird der Kontakt auf der Oberseite gesputtert, wobei das Sputtermaterial ein Metallmaterial und einen Anteil Li oder Na beinhaltet. Die Wirkung bestünde darin, durch das Anlegen von Spannungsimpulsen TiO2 hinein-/herauszutreiben.
-
11 veranschaulicht eine Seitenansicht der memristiven Einheit nach dem Abscheiden einer Legierungsschicht gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Die Legierungsschicht 1002 kann aus einer beliebigen Metall-Alkali-Legierung oder einer intermetallischen Verbindung bestehen. In dem veranschaulichten Beispiel handelt es sich bei dem Metall in der Legierung um Zinn (Sn) und bei dem Alkali um Lithium (Li). Die Legierungsschicht 1002 enthält eine Einlagerung des Alkali-Metalls. Die Höchstmenge des in der Legierungsschicht 1002 eingelagerten Alkali-Metalls hängt von der Dicke der Legierungsschicht und der thermodynamischen Löslichkeit des Alkalis in dem Metall ab.
-
Zur einfacheren Veranschaulichung und Erörterung wird nur die eine memristive Einheit dargestellt, die eine leitfähige Materialschicht 702, eine interkalierte Oxidschicht 904 und eine Legierungsschicht 1002 beinhaltet. Es versteht sich, dass eine beliebige Anzahl dieser Einheiten auf getrennten Abschnitten der leitfähigen Materialschicht 702 ausgebildet werden kann. Bei einigen Ausführungsformen ist die memristive Einheit in einem Array aus sonstigen memristiven Einheiten mit einer ähnlichen Zusammensetzung wie die memristive Einheit angeordnet. Bei einigen Ausführungsformen wird die memristive Einheit in einem künstlichen neuronalen Netz für Anwendungen maschinellen Lernens eingesetzt.
-
12 veranschaulicht eine Seitenansicht der memristiven Einheit nach dem Abscheiden von Metallkontakten 1102 auf der Legierungsschicht 1002 und der leitfähigen Materialschicht 702. Die Metallkontakte 1102 können mit einer Spannungsquelle verbunden sein. Bei einigen Ausführungsformen können die Metallkontakte 1102 abgeschieden werden, indem zum Beispiel zuerst eine dielektrische Zwischenebenenschicht abgeschieden und ein Hohlraum durch einen photolithographischen Strukturierungs- und Ätzprozess wie etwa reaktives lonenätzen oder einen beliebigen ähnlichen Prozess in dem Zwischenebenendielektrikum ausgebildet wird. Anschließend können die Metallkontakte 1102 auf der Legierungsschicht 1002 und der leitfähigen Materialschicht 702 in den in das Zwischenebenendielektrikum geätzten Hohlräumen abgeschieden werden. Die Metallkontakte 1102 werden zwar in dem veranschaulichten Beispiel in einer Größe relativ zu den sonstigen Schichten der memristiven Einheit dargestellt; einem Fachmann ist jedoch ersichtlich, dass Metallkontakte 1102 mit einer beliebigen Größe verwendet und auf den Schichten der memristiven Einheit angeordnet werden können.
-
Die Metallkontakte können ein beliebiges geeignetes leitfähiges Material beinhalten, darunter zum Beispiel polykristallines oder amorphes Silicium, Germanium, Siliciumgermanium, ein Metall (z.B. Wolfram, Titan, Tantal, Ruthenium, Zirconium, Cobalt, Kupfer, Aluminium, Blei, Platin, Zinn, Silber, Gold), ein leitfähiges Metallverbindungsmaterial (z.B. Tantalnitrid, Titannitrid, Tantalcarbid, Titancarbid, Titanaluminiumcarbid, Wolframsilicid, Wolframnitrid, Rutheniumoxid, Cobaltsilicid, Nickelsilicid), Kohlenstoff-Nanoröhren, leitfähigen Kohlenstoff, Graphen oder eine beliebige geeignete Kombination dieser Materialien.
-
13 veranschaulicht eine Seitenansicht der memristiven Einheit nach dem Anlegen eines oder mehrerer positiver Spannungsimpulse an die Metallkontakte 1102. Der eine oder die mehreren positiven Spannungsimpulse bewirken, dass das Alkali-Metall in der Legierungsschicht 1002 in die Oxidschicht interkaliert, wodurch eine Oxidschicht mit einem ionisierten Akali-Material 1204 ausgebildet wird. Während das ionisierte Alkali-Metall in die Oxidschicht 1204 interkaliert, nimmt der Widerstand über die memristive Einheit ab. Der untere Grenzwert des Widerstands der Einheit wird durch die Menge an Li in der TiO2-Schicht nach dem Anlegen von Spannungsimpulsen festgelegt, wohingegen der obere Grenzwert des Widerstands der Einheit durch den Widerstand über die Schicht festgelegt wird, wenn sämtliches Li durch Anlegen von negativen Spannungsimpulsen entfernt wird. Die Größe, Länge und Dauer der Spannungsimpulse wird so gewählt, dass die Widerstandsänderung pro Impuls und die Anzahl von unabhängigen Widerstandszuständen, die in der Einheit gespeichert werden können, optimiert werden.
-
14 veranschaulicht eine Seitenansicht der memristiven Einheit nach dem Anlegen eines oder mehrerer negativer positiver Spannungsimpulse an die Metallkontakte 1002. Der eine oder die mehreren negativen Spannungsimpulse bewirken, dass die Alkali-Ionen aus der Oxidschicht entfernt werden, indem das Alkali-Material 1304 auf die Grenzfläche (zwischen 1304 und 2003) oder die Legierungsschicht (2003), falls vorhanden, übertragen wird.
-
15 veranschaulicht eine Seitenansicht einer alternativen beispielhaften Ausführungsform einer memristiven Einheit mit einer Diffusionssperrschicht 1402, die zwischen der Legierungsschicht 1002 und der interkalierten Oxidschicht 904 abgeschieden ist. Die Diffusionssperrschicht 1402 begrenzt das Übertreten der Ionen des Alkali-Materials bei Inaktivität (d.h., wenn keine Spannungsimpulse angelegt sind) aus dem Legierungsmaterial 1002 in die Oxidschicht 904. Die Diffusionssperrschicht 1402 kann Al2O3, Siliciumnitrid oder ein beliebiges sonstiges Material beinhalten, das den Ionen ermöglicht, überzutreten und zwischen den Schichten 1402 und 1002 eingelagert zu werden. Die Materialwahl für diese Diffusionssperrschicht unterliegt der Anforderung, dass es nicht verhindert, dass Li die Grenzfläche zu der Schicht 1002 erreicht (d.h., es sollte kein Abscheiden des Li an der Grenzfläche zwischen 904 und 1402 bewirken). Das Vorhandensein einer solchen Diffusionssperrschicht würde ein Speichern des Widerstandszustands über einen längeren Zeitraum hinweg (Nichtflüchtigkeit) ermöglichen.
-
16 veranschaulicht eine alternative Ausführungsform einer memristiven Einheit. Die memristive Einheit beinhaltet eine auf einer leitfähigen Materialschicht 1602 angeordnete Oxidschicht 1604. Wie oben erörtert, kann die leitfähige Materialschicht 1602 in Form einer freistehenden Schicht eines leitfähigen Materials (z.B. einer Metallfolie) oder einer in ein Substrat (z.B. einen Si-Wafer, Glas usw.) aufgeschichteten Dünnschicht eines leitfähigen Materials vorliegen, wobei die Oxidschicht 1604 über einem aktiven Bereich der leitfähigen Materialschicht 1602 abgeschieden wird. In dem veranschaulichten Beispiel beinhaltet die leitfähige Materialschicht 1602 ein mit fluordotiertem Zinnoxid (FTO) beschichtetes Glas (SnO2:F).
-
Die Oxidschicht 1604 wird (nicht dargestelltem) n-Butyllithium ausgesetzt, bevor sie mit dem Kohlenwasserstoff-Lösungsmittel, z.B. Hexan (nicht dargestellt), gespült wird, um einen Überschuss zu entfernen. Die Einwirkdauer des n-Butyllithiums auf die Oxidschicht 1604 kann auf Grundlage der Anwendung der Einheit variieren, sodass ein spezifischer Flächenwiderstand der Oxidschicht 1604 für die Anwendung erforderlich ist.
-
Metallkontakte 1608 werden auf der Oxidschicht und auf der leitfähigen Materialschicht 1608 abgeschieden. Die auf der Oxidschicht 1604 angeordneten Metallkontakte 1608 können aus einem beliebigen geeigneten Metallkontaktmaterial wie zum Beispiel Zinn (Sn) bestehen. Die Metallkontakte sind dazu ausgebildet, einen oder mehrere negative positive Spannungsimpulse an den Metallkontakten 1608 aufzunehmen. Der eine oder die mehreren negativen Spannungsimpulse bewirken, dass die Alkali-Ionen aus der Oxidschicht entfernt werden, indem das Alkali-Material 1604 auf die Grenzfläche (zwischen 1604 und 1608) oder die Metallkontakte 1608 übertragen wird.
-
17 veranschaulicht eine Seitenansicht einer alternativen Ausführungsform einer memristiven Einheit. Die memristive Einheit beinhaltet eine auf einer leitfähigen Materialschicht 1702 angeordnete Oxidschicht 1704. Wie oben erörtert, kann die leitfähige Materialschicht 1702 in Form einer freistehenden Schicht eines leitfähigen Materials (z.B. einer Metallfolie) oder einer in ein Substrat (z.B. einen Si-Wafer, Glas usw.) aufgeschichteten Dünnschicht eines leitfähigen Materials vorliegen, wobei die Oxidschicht 1704 über einem aktiven Bereich der leitfähigen Materialschicht 1702 abgeschieden wird. In dem veranschaulichten Beispiel beinhaltet die leitfähige Materialschicht 1702 ein mit fluordotiertem Zinnoxid (FTO) beschichtetes Glas (SnO2:F).
-
Die memristive Einheit beinhaltet eine auf der Oxidschicht 1704 abgeschiedene Legierungsschicht 1706. Die Legierungsschicht 1706 kann aus einer beliebigen Metall-Alkali-Legierung oder einer intermetallischen Verbindung bestehen. In dem veranschaulichten Beispiel handelt es sich bei dem Metall in der Legierung um Zinn (Sn) und bei dem Alkali um Lithium (Li). Die Legierungsschicht 1706 enthält eine Einlagerung des Alkali-Metalls. Die Menge des in der Legierungsschicht 1706 eingelagerten Alkali-Metalls hängt von der Dicke der Legierungsschicht und der thermodynamischen Löslichkeit des Alkalis in dem Metall ab.
-
Bei einer oder mehreren Ausführungsformen beinhaltet die Metall-Alkali-Legierung oder die intermetallische Verbindung Molybdän (Mo) als Metall und Lithium (Li) als Akali (Mo:Li).
-
Die memristive Einheit beinhaltet Metallkontakte 1708, die auf der Legierungsschicht 1706 und der leitfähigen Materialschicht 1702 abgeschieden werden können. Die Metallkontakte 1708 können mit einer Spannungsquelle verbunden sein. Bei einigen Ausführungsformen können die Metallkontakte 1708 abgeschieden werden, indem zum Beispiel zuerst eine dielektrische Zwischenebenenschicht abgeschieden und ein Hohlraum durch einen photolithographischen Strukturierungs- und Ätzprozess wie etwa reaktives lonenätzen oder einen beliebigen ähnlichen Prozess in dem Zwischenebenendielektrikum ausgebildet wird. Anschließend können die Metallkontakte 1708 auf der Legierungsschicht 1706 und der leitfähigen Materialschicht 1702 in den in das Zwischenebenendielektrikum geätzten Hohlräumen abgeschieden werden. Die Metallkontakte 1708 werden zwar in dem veranschaulichten Beispiel in einer Größe relativ zu den sonstigen Schichten der memristiven Einheit dargestellt; einem Fachmann ist jedoch ersichtlich, dass Metallkontakte 1708 mit einer beliebigen Größe verwendet und auf den Schichten der memristiven Einheit angeordnet werden können.
-
Die Metallkontakte 1708 sind dazu ausgebildet, einen oder mehrere positive Spannungsimpulse an den Metallkontakten 1708 aufzunehmen. Der eine oder die mehreren positiven Spannungsimpulse bewirken, dass das Alkali-Metall in der Legierungsschicht 1708 in die Oxidschicht interkaliert, wodurch eine Oxidschicht mit einem (nicht dargestellten) ionisierten Akali-Material ausgebildet wird. Während das ionisierte Alkali-Metall in die Oxidschicht 1704 interkaliert, nimmt der Widerstand über die memristive Einheit ab. Der untere Grenzwert des Widerstands der Einheit wird durch die Menge an Li in der TiO2-Schicht nach dem Anlegen von Spannungsimpulsen festgelegt, wohingegen der obere Grenzwert des Widerstands der Einheit durch den Widerstand über die Schicht festgelegt wird, wenn sämtliches Li durch Anlegen von negativen Spannungsimpulsen entfernt wird. Die Größe, Länge und Dauer der Spannungsimpulse wird so gewählt, dass die Widerstandsänderung pro Impuls und die Anzahl von unabhängigen Widerstandszuständen, die in der Einheit gespeichert werden können, optimiert werden.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die beschriebenen Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Wesensgehalt der Erfindung abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- C. Lehmann et al. mit dem Titel „A Generic Systolic Array Building Block For Neural Networks with On-Chip Learning“, IEEE Transactions On Neural Networks, Band 4, Nr. 3, Mai 1993 [0037]
- Chua, L. O. mit dem Titel „Resistance Switching Memories are Memristors“, Applied Physics A (2011), 102 (4): 765 bis 783 [0040]
- D. Soudry et al. mit dem Titel „Memristor-Based Multilayer Neural Networks With Online Gradient Descent Training“, IEEE Transactions On Neural Networks and Learning Systems (2015) [0041]