DE102019134044A1 - Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit - Google Patents

Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit Download PDF

Info

Publication number
DE102019134044A1
DE102019134044A1 DE102019134044.6A DE102019134044A DE102019134044A1 DE 102019134044 A1 DE102019134044 A1 DE 102019134044A1 DE 102019134044 A DE102019134044 A DE 102019134044A DE 102019134044 A1 DE102019134044 A1 DE 102019134044A1
Authority
DE
Germany
Prior art keywords
neuromorphic
pattern
bit
recognized
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019134044.6A
Other languages
English (en)
Inventor
Johannes Leugering
Pascal Nieters
Gordon Pipa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OSNABRUECK, University of
Universitat Osnabrueck
Original Assignee
OSNABRUECK, University of
Universitat Osnabrueck
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OSNABRUECK, University of, Universitat Osnabrueck filed Critical OSNABRUECK, University of
Priority to DE102019134044.6A priority Critical patent/DE102019134044A1/de
Publication of DE102019134044A1 publication Critical patent/DE102019134044A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)

Abstract

Die vorliegende Erfindung betrifft einen neuromorphen Musterdetektor (2), welcher ausgebildet ist, wenigstens zwei 1-Bit Eingangssignale (E1-EN) eines zu erkennenden Musters zu erhalten, mit wenigstens zwei Vergleichsschaltungen (3), welche jeweils ausgebildet sind, eines der 1-Bit Eingangssignale (E1-EN) zu erhalten, die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals (E1-EN) innerhalb eines vorbestimmten Zeitraums zu zählen, die Anzahl der gezählten Zustände mit einem vorbestimmten Schwellwert der jeweiligen Vergleichsschaltung (3) zu vergleichen und bei Überschreiten des Schwellwerts auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen.

Description

  • Die vorliegende Erfindung betrifft einen neuromorphen Musterdetektor gemäß dem Patentanspruch 1 sowie eine neuromorphe Schaltkreisanordnung gemäß dem Patentanspruch 13.
  • Zur Verarbeitung ihrer Informationen können analog erfasste Signale, welche z.B. sensorisch erfasste Informationen repräsentieren können, in digitale Signale gewandelt und dann verarbeitet werden. Die Erfassung der analogen Signale kann üblicherweise mittels elektrischer Spannung erfolgen, welche einen zeit- und wertkontinuierlichen Verlauf, d.h. eine durchgängigen Verlauf der elektrischen Spannung über der Zeit, aufweist. Ein derartiges elektrisches Analogsignal kann mittels eines Analog-Digital-Umsetzers in ein digitales Signal in Form eines zeit- und wertdiskreten Verlaufs gewandelt werden, um die Information der digitalen Signalverarbeitung zugänglich zu machen. Ein derartiges digitales Signal kann auch als binäres Signal bezeichnet werden und zwei unterschiedliche Zustände in Form von unterschiedlich hohen elektrischen Spannungspegeln aufweisen, so dass über die Länge bzw. Dauer des Signalverlaufs zwischen niedrigen und hohen Spannungspegeln unterschieden werden kann. Die niedrigen Spannungspegel können als „low“-Zustände und die hohen Spannungspegel als „high“-Zustände bezeichnet werden. Hierdurch können die Zustände „0“ und „1“ dargestellt werden.
  • Die digitale Signalverarbeitung mittels entsprechender elektronischer Bauelemente wie z.B. digitale Signalprozessoren und Mikroprozessoren bietet dabei Vorteile und Möglichkeiten, welche mit analog arbeitender Elektronik gar nicht oder lediglich mit hohem Aufwand umsetzbar wären. Dabei werden die digitalen Signale üblicherweise nicht als die binären Signale eines Verlaufs von Nullen und Einsen in Form von niedrigen und hohen Spannungszuständen verarbeitet sondern als Werte etc. z.B. in Folgen von acht Bits, auch Byte genannt, dargestellt, gespeichert und durch Software verarbeitet. Die entsprechenden Algorithmen, welche die Verarbeitung der digitalen Signale durchführen, werden hierzu als Programmcode einer geeigneten Programmiersprache umgesetzt und z.B. auf einem Mikroprozessor oder auf einer CPU (Central Processing Unit) als serielle Abfolge der Programmierschritte ausgeführt. Mit anderen Worten werden in der digitalen Signalverarbeitung üblicherweise die Instruktionen numerischer Algorithmen von Prozessorarchitekturen auf Binärzahlen implementieren, was die sequentielle Abarbeitung in arithmetisch-logischen Einheiten (ALU) und die Verwendung einer Speichereinheit bedingt.
  • Zur Verarbeitung digitaler sowie analoger Informationen in Form digitaler Signale können auch sog. künstliche neuronale Netze bzw. Netzwerke verwendet werden, bei denen mittels künstlicher Neuronen die Funktionsweisen biologischer Neuronen bzw. biologischer neuronaler Netze bzw. Netzwerke nachgebildet werden. Die einzelnen künstlichen Neuronen arbeiten dabei zeitlich parallel zueinander, vergleichbar der Vorbilder der biologischen Neuronen. Da eine derartige Arbeitsweise mit den sequentiell arbeitenden Prozessoren strukturbedingt jedoch nicht möglich ist, kann die parallele Arbeitsweise der künstlichen Neuronen auch bei Verwendung mehrerer paralleler Prozessoren bzw. Prozessorkerne nur unzureichend implementiert werden. Dies erschwert die tatsächliche Implementierung parallel arbeitender Verfahren zur digitalen Signalverarbeitung mit künstlichen neuronalen Netzen.
  • Zur Implementierung von künstlichen neuronalen Netzen bzw. Netzwerken werden daher auch neuromorphe Schaltkreise verwendet, welche jeweils ein biologisches Neuron als elektronische Schaltung abbilden und durch ihr Zusammenwirken das künstliche neuronale Netz bzw. Netzwerk ergeben. Die einzelnen neuromorphen Schaltkreise können dabei tatsächlich parallel zueinander arbeiten und hierdurch die Signalverarbeitung beschleunigen bzw. die als Vorbild dienenden biologischen Neuronen besser nachbilden.
  • Typischerweise wird das Verhalten des einzelnen künstlichen Neurons dynamischen Systemen aus den theoretischen Neurowissenschaften wie z.B. dem Leaky-Integrate-and-Fire-Modell nachempfunden, durch digitale Arithmetik approximiert und der Datenaustausch zwischen den künstlichen Neuronen durch die Übertragung von Paketen realisiert. Dies erfordert jedoch den Einsatz vieler Recheneinheiten bzw. vieler arithmetisch-logischer Einheiten und stellt hohe Anforderungen an das Paket-Routing zwischen den einzelnen Recheneinheiten. Im speziellen Bereich der Spiking-Neuromorphic-Hardware wird dabei pro künstlichen Neuron und pro Zeitschritt lediglich ein binäres Signal erzeugt.
  • In einem parallel signalverarbeitenden neuromorphen Netz bzw. Netzwerk der Digitaltechnik sollten somit folgende technische Probleme gelöst bzw. folgende technische Eigenschaften realisiert werden:
    • • Künstliche Neurone sollte Eingangssignale von vielen anderen künstlichen Neuronen integrieren können. Dies erfordert einen Mechanismus, um Eingangssignale aufzuaddieren und mit einem kritischen Grenzwert vergleichen zu können. In bestehenden Ansätzen der digitalen Signalverarbeitung wird dies mittels ALUs durch Ganzzahlarithmetik realisiert.
    • • Das Einsatzgebiet von digitaler Signalverarbeitung ist häufig durch das Erfordernis der Echtzeitfähigkeit ausgezeichnet, d.h. durch die Fähigkeit des Betriebssystems der Recheneinheit bzw. der Recheneinheiten, digitale Signale innerhalb einer vorbestimmbaren Frist sicher verarbeiten zu können. Die Einhaltung einer Reaktion auf das digitale Signal innerhalb dieser Frist muss in diesem Fall sichergestellt sein.
    So sind die Zeitskalen, auf welche ein analoges Signal in der Außenwelt relevante und zu verarbeitende Charakteristika aufweist, nicht fest und zum Teil auf schnellen oder langsamen Skalen variiert. Daher müssen die Zeitskalen der Verarbeitung digitaler Signal im integrierten Schaltkreis von denen in der Außenwelt entkoppelt werden. Klassische Ansätze der digitalen Signalverarbeitung in z.B. Mikrokontrollern umgehen dieses Problem, indem Zwischenergebnisse im dedizierten Arbeitsspeicher abgelegt werden.
  • In neuromorphen Ansätzen wird Information meist stattdessen lokal im Zustand der einzelnen Neuronen gehalten. Ggfs. kann die Rate, mit der sich der Zustand des Neurons pro Zeitschritt ändert, skaliert und auf die relevante Zeitskala des Eingangssignals abgestimmt werden. Die Verarbeitung langsamer Signale mit einem schnellen Takt erfordert daher einen hoch aufgelösten internen Zustand der Neuronen.
    • • Um komplexere Funktionalitäten wie das Erkennen von Mustern mittels neuromorpher Schaltkreise abzubilden, müssen viele Neuronen sinnvoll miteinander verschaltet werden. Dies wird gegenwärtig durch verschiedene Mesh- und Crossbar-Routing-Systeme implementiert, welche bestimmte Konfigurationen zulassen und Output-Signale dem Input verschiedener Neuronen zuordnen. Die Verbindungen zwischen einzelnen Neuronen sind dabei meist unterschiedlich gewichtet, was einen entsprechenden Mechanismus zur verbindungsspezifischen Konfiguration und Signalübertragung erfordert.
    • • Um mit verrauschten Eingangssignalen umgehen zu können, sollte als Ausgangssignal nicht nur das gewünschte Signal, z.B. ob ein gegebenes Muster erkannt wurde oder nicht, sondern auch ein Maß der zugehörigen Unsicherheit generiert werden. Dies kann von bestehenden Ansätzen lediglich mittelbar unter Rückgriff auf bestimmte Netzwerkarchitekturen realisiert werden, ist aber nicht in der Hardware selbst angelegt.
  • Somit weisen die bestehenden Ansätze spike-basierter neuromorpher Hardware, welche auf gepulsten neuronalen Netzen (Englisch: spiking neural networks - SNN) beruhen, verschiedene Nachteile auf. So erfordert die Verwendung von Ganzzahlarithmetik und Paket-Routing den Einsatz von Mikroprozessoren, was die technische Komplexität der Hardware erhöhen und aufgrund ihrer sequentiellen Operation zu Latenzen führen kann. Auch kann die Beschränkung auf einfache generische Neuronenmodelle mit gewichteten Verbindungen, welche nicht für die Analyse von kontinuierlichen Signalströmen entwickelt wurden, zur Verwendung von notwendigerweise großen Netzwerken führen, deren interne Kommunikation viel Platz-, Energie- und bzw. oder Zeitressourcen beanspruchen kann.
  • Eine Aufgabe der vorliegenden Erfindung ist es, einen neuromorphen Schaltkreis bereitzustellen, um die zuvor genannten technischen Probleme zu lösen bzw. die zuvor genannten technischen Eigenschaften zu realisieren. Insbesondere soll ein zu erkennendes Muster in einem binären Eingangssignal schneller und bzw. oder zuverlässiger als bisher bekannt erkannt werden können. Zumindest soll eine Alternative zu bekannten derartigen neuromorphen Schaltkreisen bereitgestellt werden.
  • Die Aufgabe wird erfindungsgemäß durch einen neuromorphen Musterdetektor mit den Merkmalen des Patentanspruchs 1 sowie durch eine neuromorphe Schaltkreisanordnung mit den Merkmalen des Patentanspruchs 13 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen beschrieben.
  • Somit betrifft die Erfindung einen neuromorphen Musterdetektor, welcher ausgebildet ist, wenigstens zwei 1-Bit Eingangssignale eines zu erkennenden Musters zu erhalten, mit wenigstens zwei Vergleichsschaltungen, welche jeweils ausgebildet sind, eines der 1-Bit Eingangssignale zu erhalten, die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals innerhalb eines vorbestimmten Zeitraums zu zählen, die Anzahl der gezählten Zustände mit einem vorbestimmten Schwellwert der jeweiligen Vergleichsschaltung zu vergleichen und bei Überschreiten des Schwellwerts auf die erfolgte bzw. auf die erfolgreiche Erkennung des zu erkennenden Musters hinzuweisen. Der neuromorphe Musterdetektor ist vorzugsweise mittels Digitaltechnik umgesetzt.
  • Mit anderen Worten werden wenigstens zwei 1-Bit Datenströme, welche gemeinsam ein zu erkennendes Muster in Form einer parallelen Bitfolge enthalten, dem erfindungsgemäßen neuromorphen Musterdetektor in Form einer neuromorphen Schaltung zugeführt. Über eine vorbestimmte Anzahl von Bit, welche dem vorbestimmten Zeitraum entsprechen, werden nun die „high“-Zustände oder die „low“-Zustände, d.h. die hohen Signalpegel oder die niedrigen Signalpegel, gezählt. Diese Anzahl wird fortlaufend mit einem Schwellwert verglichen. Wird dieser Schwellwert überschritten, so wird hieraus geschlussfolgert, dass zu erkennende Muster in dem jeweiligen 1-Bit Datenstrom der jeweiligen Vergleichsschaltung erkannt zu haben. Dies wird von dem neuromorphen Musterdetektor nach außen angezeigt, z.B. über ein entsprechendes Ausgangssignal.
  • Auf diese Art und Weise kann erfindungsgemäß vergleichsweise einfach mittels einer neuromorphen Schaltung eine Mustererkennung in einem digitalen Signal erfolgen.
  • Gemäß einem Aspekt der Erfindung ist die eine Vergleichsschaltung der anderen Vergleichsschaltung erstrangig untergeordnet, wobei die übergeordnete Vergleichsschaltung ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der übergeordneten Vergleichsschaltung überschritten und zeitgleich von der erstrangig untergeordneten Vergleichsschaltung auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  • Dies kann es ermöglichen, die Entscheidung der übergeordneten Vergleichsschaltung von der Entscheidung der untergeordneten Vergleichsschaltung, das vorbestimmte Muster erkannt zu haben oder nicht, abhängig zu machen.
  • Gemäß einem weiteren Aspekt der Erfindung weist der neuromorphe Musterdetektor wenigstens eine weitere Vergleichsschaltung auf, welche parallel zu der untergeordneten Vergleichsschaltung angeordnet ist, wobei die übergeordnete Vergleichsschaltung ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der übergeordneten Vergleichsschaltung überschritten und zeitgleich von den erstrangig untergeordneten Vergleichsschaltungen jeweils auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  • Dies kann es ermöglichen, die Entscheidung der übergeordneten Vergleichsschaltung von der Entscheidung der beiden untergeordneten Vergleichsschaltungen, das vorbestimmte Muster erkannt zu haben oder nicht, abhängig zu machen.
  • Gemäß einem weiteren Aspekt der Erfindung weist der neuromorphe Musterdetektor wenigstens eine weitere Vergleichsschaltung auf, welche zweitrangig untergeordnet zu der erstrangig untergeordneten Vergleichsschaltung angeordnet ist, wobei die erstrangig untergeordnete Vergleichsschaltung ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der erstrangig untergeordneten Vergleichsschaltung überschritten und zeitgleich von der zweitrangig untergeordneten Vergleichsschaltung auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  • Dies kann es ermöglichen, die Entscheidung der erstrangig untergeordneten Vergleichsschaltung von der Entscheidung der zweitrangig untergeordneten Vergleichsschaltung, das vorbestimmte Muster erkannt zu haben oder nicht, abhängig zu machen.
  • Dabei können die zuvor beschriebenen Möglichkeiten der Anordnung von mehr als zwei Vergleichsschaltungen auch miteinander kombiniert werden, indem wenigstens zwei erstrangige und wenigstens eine zweitrangige Vergleichsschaltung verwendet und wie zuvor beschrieben miteinander und bzw. oder seitens der übergeordneten Vergleichsschaltung in Abhängigkeit gesetzt werden.
  • Gemäß einem weiteren Aspekt der Erfindung bilden die wenigstens drei Vergleichsschaltungen einen Binärbaum mit wenigstens zwei Ebenen. Unter einem Binärbaum, auch binärer Baum genannt, wird eine besondere Unterart eines Baumes verstanden, wie er in der Informatik für hierarchische Datenstrukturen verwendet wird. Der Ausgangspunkt, wie hier die übergeordnete Vergleichsschaltung, wird als Wurzel oder auch Binärbaumwurzel bezeichnet, von welcher sich der Binärbaum in verschiedenen Ebene wie hier der erstrangigen und zweitrangigen Vergleichsschaltungen einzeln oder paarweise verzweigt, bis der jeweilige Ast an einem Binärbaumblatt endet.
  • Entsprechend können die Eigenschaften und Vorteile derartiger hierarchischer Datenstrukturen auf die erfindungsgemäße neuromorphe Schaltung übertragen und dort genutzt werden.
  • Gemäß einem weiteren Aspekt der Erfindung sind die Vergleichsschaltungen identisch ausgebildet. Dies kann die Umsetzung vereinfachen, da der Entwurf der neuromorphen Schaltung mit geringerem Aufwand ausfallen kann, in dem das Design der Vergleichsschaltung mehrfach verwendet wird. Auch kann dies die Vergrößerung der Schaltung des neuromorphen Musterdetektors vereinfachen und hierdurch eine Skallierbarkeit ermöglichen.
  • Gemäß einem weiteren Aspekt der Erfindung wird bei Überschreiten des Schwellwerts ein 1-Bit Ausgangssignal der jeweiligen Vergleichsschaltung auf den „high“-Zustand, ansonsten auf den „low“-Zustand, gesetzt, oder umgekehrt. Dies kann es ermöglichen, dass Hinweisen der jeweiligen Vergleichsschaltung auf die erfolgte Erkennung des zu erkennenden Musters einfach umzusetzen.
  • Gemäß einem weiteren Aspekt der Erfindung sind die Vergleichsschaltungen ausgebildet, jeweils ein 1-Bit Steuersignal zu erhalten und in Reaktion auf einen „high“-Zustand oder auf einen „low“-Zustand des jeweiligen 1-Bit Steuersignals das 1-Bit Ausgangssignal der jeweiligen Vergleichsschaltung auf den „low“-Zustand zu setzen. Hierdurch kann eine Möglichkeit geschaffen werden, die entsprechende Vergleichsschaltung mittels des jeweiligen 1-Bit Steuersignals wieder zurückzusetzen. Mit anderen Worten kann die Vergleichsschaltung von außen resetted werden. Dies kann es insbesondere ermöglichen, alle Vergleichsschaltungen zurückzusetzen, um anschließend mit dem Erkennen eines neuen Musters beginnen zu können, ohne dass der zuvor erfolgte Vorgang auf dessen Ergebnis Auswirkungen haben kann.
  • Gemäß einem weiteren Aspekt der Erfindung gibt der vorbestimmte Schwellwert der Anzahl der Zustände der jeweiligen Vergleichsschaltung vor, wann das zu erkennende Muster als erkannt angesehen wird. Mit anderen Worten kann durch die Höhe des Schwellwerts in Relation zur Länge bzw. Kürze des vorbestimmten Zeitraums bzw. der vorbestimmten Anzahl von Bit des Eingangssignals vorbestimmt werden, wie deutlich eine Übereinstimmung zwischen dem jeweiligen Eingangssignal und dem vorbestimmten Muster vorliegen muss, um das vorbestimmte Muster im jeweiligen Eingangssignal als erkannt anzusehen. Dies kann für jedes zu erkennende Muster und für jede Vergleichsschaltung vorgegeben werden. Dies kann über die Konfiguration der Vergleichsschaltungen erfolgen.
  • Gemäß einem weiteren Aspekt der Erfindung weisen die Vergleichsschaltungen jeweils einen Schiebefensterdetektor auf, welcher jeweils ausgebildet ist, das jeweilige 1-Bit Eingangssignal zu erhalten und die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals innerhalb des vorbestimmten Zeitraums zu zählen. Dies kann die Umsetzung dieser Funktion der Vergleichsschaltungen einfach und bzw. oder zuverlässig ermöglichen.
  • Gemäß einem weiteren Aspekt der Erfindung erfolgt das Zählen der Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals innerhalb des vorbestimmten Zeitraums mittels eines bidirektionalen Schieberegisters des jeweiligen Schiebefensterdetektors. Dies kann die Umsetzung dieser Funktion der Vergleichsschaltungen einfach und bzw. oder zuverlässig ermöglichen.
  • Gemäß einem weiteren Aspekt der Erfindung erhalten die Vergleichsschaltungen, vorzugsweise deren Schiebefensterdetektor, jeweils ein Taktsignal zur Steuerung der Verarbeitung der Pulse und ein Taktsignal zur Steuerung der Länge der Plateaus, wobei die beiden Taktsignale unterschiedlich sind. Unter einem Puls bzw. Spike ist der Zustand eines Signals im Zustand „high“ nach und vor einem Zustand „low“ zu verstehen. Unter einem Plateau eines Signals ist die Zeitdauer bzw. die Signallänge im Zustand „high“ zu verstehen. Mit anderen Worten ist unter eine Plateau eine Funktion vergleichbar einem volatilen Cache-Zwischenspeicher zu verstehen, welcher für eine konfigurierbare Zeit, d.h. die Zeitdauer des Plateaus, ein Zwischenergebnis speichert. Auf diese Art und Weise kann die Mustererkennung der Vergleichsschaltungen und damit auch des neuromorphen Musterdetektors in Abhängigkeit von wenigstens zwei unterschiedlichen Taktsignalen erfolgen.
  • Die vorliegende Erfindung betrifft auch eine neuromorphe Schaltkreisanordnung mit einer Mehrzahl von neuromorphen Musterdetektoren wie zuvor beschrieben, wobei jeder neuromorphe Musterdetektor ausgebildet ist, das gleiche 1-Bit Eingangssignal zu erhalten, ein unterschiedliches 1-Bit Zufallszahlensignal zu erhalten, das jeweilige 1-Bit Eingangssignal mit dem entsprechenden 1-Bit Zufallszahlensignal zu verändern, und die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen veränderten 1-Bit Eingangssignals innerhalb eines vorbestimmten Zeitraums zu zählen.
  • Unter einem 1-Bit Zufallszahlensignal ist ein Signal mit einer Bitfolge zu verstehen, welche zufällig erzeugt wurde. Dies kann deterministisch oder nicht-deterministisch erfolgen. Ein deterministisch erzeugtes 1-Bit Zufallszahlensignal kann auch als Pseudo-Zufallszahlensignal bezeichnet werden. Dabei kann die Verwendung eines pseudo-zufälligen 1-Bit Zufallszahlensignals vorteilhaft sein, da dies einfacher als ein nicht-deterministisches 1-Bit Zufallszahlensignal erzeugt werden und zur Erzielung der entsprechenden Eigenschaften und Vorteile ausreichend sein kann.
  • Somit können mehrere der zuvor beschriebenen neuromorphen Musterdetektoren parallel zueinander angeordnet und verwendet werden, um jeweils das gleiche vorbestimmte Muster in dem gleichen Eingangssignal zu erkennen. Hierbei können die beiden 1-Bit Datenströme jeweils unterschiedlich stochastisch verändert werden, so dass das gleiche Muster jeweils in unterschiedlichen Eingangssignalen der einzelnen neuromorphen Musterdetektoren erkannt werden muss. Dies kann eine Aussage über die Zuverlässigkeit der Mustererkennung erlauben, da die gleichen Eingangssignal mit dem zu erkennenden Muster durch die 1-Bit Zufallssignale unterschiedliche verfremdet bzw. gestört jeweils identisch durch die neuromorphen Musterdetektoren bearbeitet werden.
  • Diesbezüglich sei angemerkt, dass ein (pseudo-)zufälliges Maskieren eines Datenstroms in mehrere sich zufällig unterscheidende Datenströme auch unabhängig von einer neuromorphen Schaltkreisanordnung wie zuvor beschrieben und insbesondere unabhängig von einer Mehrzahl von neuromorpher Musterdetektoren wie zuvor beschrieben umgesetzt und angewendet werden kann. Dies kann es ermöglichen, die entsprechenden Eigenschaften und Vorteile auch unabhängig umzusetzen und anzuwenden.
  • Gemäß einem Aspekt der Erfindung weist wenigstens eine Vergleichsschaltung, vorzugsweise weisen alle Vergleichsschaltungen jeweils, ein Und-Gatter auf, welches ausgebildet ist, das jeweilige 1-Bit Eingangssignal und das entsprechende 1-Bit Zufallszahlensignal zu kombinieren. Hierdurch kann die Veränderung der gleichen Eingangssignal durch die unterschiedlichen stochastischen 1-Bit Zufallszahlensignal umgesetzt werde.
  • Gemäß einem weiteren Aspekt der Erfindung ist die neuromorphe Schaltkreisanordnung ausgebildet, die Anzahl der 1-Bit Ausgangssignale der jeweiligen Vergleichsschaltung, welche zeitgleich im „high“-Zustand oder im „low“-Zustand sind, zu erfassen und aus dem Verhältnis der Anzahl von 1-Bit Ausgangssignalen im „high“-Zustand oder im „low“-Zustand und der Anzahl der neuromorphen Musterdetektoren einen Grad der Übereinstimmung zwischen 1-Bit Eingangssignal und zu erkennendem Muster zu bestimmen. Hierdurch kann diese Information bestimmt und zur Verfügung gestellt werden.
  • Gemäß einem weiteren Aspekt der Erfindung weist wenigstens eine Vergleichsschaltung, vorzugsweise weisen alle Vergleichsschaltungen jeweils, einen Zeitmultiplexer auf, welcher ausgebildet ist, parallele Ausgangssignale der neuromorphen Musterdetektoren zu einem 1-Bit-Ausgangssignalder neuromorphen Schaltkreisanordnung zusammenzuführen. Auf diese Art und Weise kann ein einziger resultierenden 1-Bit Datenstrom als Ausgangssignal der neuromorphen Schaltkreisanordnung erzeugt werden.
  • Ein Ausführungsbeispiel und weitere Vorteile der Erfindung werden nachstehend im Zusammenhang mit den folgenden Figuren rein schematisch dargestellt und näher erläutert. Darin zeigt:
    • 1 eine schematische Darstellung eines Symbols eines Schaltkreises einer Population der 2;
    • 2 eine schematische Darstellung eines Schaltkreises der Population der 1;
    • 3 eine schematische Darstellung eines Symbols eines Schaltkreises eines Neurons der 4;
    • 4 eine schematische Darstellung eines Schaltkreises des Neurons der 3;
    • 5 eine schematische Darstellung eines Schaltkreises eines Binärbaumzweigs;
    • 6 eine schematische Darstellung eines Schaltkreises eines Abschlusszweigs;
    • 7 eine schematische Darstellung eines Symbols eines Schaltkreises eines Segments der 8;
    • 8 eine schematische Darstellung eines Schaltkreises des Segments der 7;
    • 9 eine schematische Darstellung eines Symbols eines Schaltkreises eines Schiebefensterdetektors der 10;
    • 10 eine schematische Darstellung eines Schaltkreises des Schiebefensterdetektors der 9;
    • 11 eine schematische Darstellung eines Symbols eines Schaltkreises eines Zeitmultiplexers der 12; und
    • 12 eine schematische Darstellung eines Schaltkreises des Zeitmultiplexers der 11.
  • 1 zeigt eine schematische Darstellung eines Symbols eines Schaltkreises einer Population 1 der 2. 2 zeigt eine schematische Darstellung eines Schaltkreises der Population 1 der 1.
  • Unter einer Population 1 im Sinne von Computersoftware wird eine Anordnung von gleichen Computerprogrammen verstanden, welche gemeinsam die Population 1 bilden. Wird dies auf neuromorphe Schaltkreise übertragen, so kann die o.g. Population 1 mittels neuromorpher Schaltkreise als neuromorphe Schaltkreisanordnung 1 gebildet werden, indem mehrere neuromorphe Musterdetektoren 2, welche auch als Neuronen 2 bezeichnet werden können, gleicher Struktur in Form von identisch ausgebildeten neuromorphen Schaltkreisen miteinander zur Population 1 verschaltet werden, siehe 2.
  • Die Population 1 besteht dabei gemäß dem dargestellten Ausführungsbeispiel aus einer Anzahl K von Neuronen 2, von welchen in der 2 das erste, das zweite und das K-te Neuron 2 von links nach rechts dargestellt sind. Jedes Neuron 2 erhält denselben eingehenden Datenstrom E als Eingangssignal E, welches aus einer Anzahl N von einzelnen 1-Bit Eingangssignalen E1-EN besteht. Das Eingangssignal E enthält ein zu erkennendes Muster, welches auch als Pattern bezeichnet werden kann.
  • Jedes Neuron 2 erhält ferner parallel dasselbe Steuersignal I, welches aus einer Mehrzahl von einzelnen 1-Bit Steuersignalen l1-lN besteht. Das Steuersignal l kann zum Zurücksetzen von Vergleichsschaltungen 2, auch Segmente 3 genannt, innerhalb der Neuronen 2 verwendet werden, wie weiter unten näher beschrieben werden wird.
  • Ferner erhält jedes Neuron 2 eine Anzahl N von binären Zufallszahlensignalen M1,1-MK,N , welche deterministisch erzeugt und für jedes Neuron 2 unterschiedlich pseudo-zufällig sind. Genauer gesagt wird der Population 1 für jedes der N Eingangssignale E1-EN und für jedes der K Neuronen 2 ein zufälliges 1-Bit Zufallssignal M1,1-MK,N zur Verfügung gestellt.
  • Des Weiteren erhält jedes Neuron 2 drei unterschiedliche Taktsignal CLKPLT , CLKSPIKE und CLKPROG . Das Taktsignal CLKPLT ist ein Taktsignal zur Steuerung der Länge der Plateaus der Vergleichsschaltungen 3, wie weiter unten noch näher erläutert werden wird. Das Taktsignal CLKSPIKE ist ein Taktsignal zur Steuerung der Verarbeitung von Spikes, d.h. von Pulsen, der Vergleichsschaltungen 3, wie ebenfalls weiter unten noch näher erläutert werden wird. Das Taktsignal CLKPROG ist ein Taktsignal eines Konfigurationssignals DPROG bzw. DPROGO , wie ebenfalls weiter unten noch näher erläutert werden wird.
  • Ein Konfigurationssignal DPROG der Population 1 wird als Eingangssignal dem ersten Neuron 2 zugeführt, dort zur Konfiguration des ersten Neurons 2 verwendet und als Konfigurationssignal DPROGO von dem ersten Neuron 2 an das zweite Neuron 2 ausgegeben. Das zweite Neuron 2 erhält somit das Konfigurationssignal DPROG als Eingangssignal usw. Das Konfigurationssignal DPROGO als Ausgangssignal des letzten K-ten Neurons 2 ist das Konfigurationsausgangssignal DPROGO der Population 1.
  • Jedes der K Neuronen 2 erzeugt ein binäres Ausgangssignal P1-PK , welche parallel einem Zeitmultiplexer 5 als dessen Eingangssignale S1-SK zugeführt werden. Die Verarbeitung dieser Eingangssignale S1-SK zu einem Ausgangssignal O des Zeitmultiplexers 5, welches auch das Ausgangssignal O der gesamten Population 1 darstellt, wird weiter unter beschrieben.
  • 3 zeigt eine schematische Darstellung eines Symbols eines Schaltkreises eines Neurons 2 der 4. 4 zeigt eine schematische Darstellung eines Schaltkreises des Neurons 2 der 3. 5 zeigt eine schematische Darstellung eines Schaltkreises eines Binärbaumzweigs 21, 22. 6 zeigt eine schematische Darstellung eines Schaltkreises eines Abschlusszweigs 20.
  • Jedes Neuron 2 besteht im Wesentlichen aus einem rekursiv eingebetteten, binären Baum, auch Binärbaum genannt, mit einem ersten Binärbaumzweig 21, einem zweiten Binärbaumzweig 22 sowie dem zuvor bereits erwähnten Segments 3, siehe z.B. 4. Jeder der beiden Baumzweige 21, 22 kann in jeder Ebene des binären Baums entweder ein weiteres Neuron 2 mit zwei weiteren Binärbaumzweigen 21, 22 und einem Segment 3, siehe 5, oder ein Abschlusszweig 20 mit lediglich einem Segment 3, siehe 6, sein. Die beiden Binärbaumzweige 21, 22 können auch als innere Knoten des Binärbaums 21, 22 oder als Nested Branches 21, 22 bezeichnet werden. Der Abschlusszweig 20 kann auch als Binärbaumblatt 20 oder als Terminal Branch 20 bezeichnet werden. Das Neuron 2 selbst kann daher auch als Binärbaumwurzel 2 bezeichnet werden. Mit anderen Worten wird jeder Binärbaumzweige 21, 22 entweder aus einem weiteren Neuron 2, welches seinerseits wieder zwei Binärbaumzweige 21, 22 aufweist, oder aus einem Abschlusszweig 20 gebildet.
  • Dabei besitzt das jeweilige Segment 3, welches die Wurzel des Binärbaums bildet, die gleiche Struktur wie die Binärbaumzweige 21, 22 der weiteren Ebenen des binären Baums mit dem Unterschied, dass das Segment 3 der Wurzel des Binärbaums statt dem Taktsignal CLKPLT das Taktsignal CLKSPIKE erhält. Die Binärbaumzweige 21, 22 erhalten das Taktsignal CLKPLT . Dies führt dazu, dass das Ausgangssignal P1-Pk des Neurons 2 als kurze Spikes mit dem Taktsignal CLKSPIKE und nicht lange Plateaus mit dem Taktsignal CLKPLT aufweist.
  • Das Konfigurationssignal DPROG des Neurons 2 wird jedem Binärbaumzweig 21, 22, jedem Abschlusszweig 20 sowie jedem Segment 3 zugeführt.
  • Jedes Segment 3 jeder Ebene des binären Baums erhält eines der 1-Bit Eingangssignale E1-EN sowie das entsprechende 1-Bit Steuersignale l1-lN und das entsprechende Zufallszahlensignal M1,1-MK,N . Die Funktion des Segments 3 wird weiter unten erklärt werden. Auch erhält jedes Segment 3 jeder Ebene des binären Baums die Taktsignale CLKPLT , CLKSPIKE und CLKPROG zu den zugehörigen Signalen.
  • Der Abschlusszweig 20 besteht lediglich aus einem Segment 3 mit zwei konstanten Eingangssignalen B1 , B2 , welche beide den Zustand „high“ aufweisen. Ferner erhält das Segment 3 ebenfalls eines der 1-Bit Eingangssignale E1-EN sowie das entsprechende 1-Bit Steuersignale l1-lN und das entsprechende Zufallszahlensignal M1,1-MK,N .
  • 7 zeigt eine schematische Darstellung eines Symbols eines Schaltkreises eines Segments 3 der 8. 8 zeigt eine schematische Darstellung eines Schaltkreises des Segments 3 der 7.
  • Das Segment 3, welches wie zuvor beschrieben jeweils identisch in jedem Neuron 2 mehrfach auf verschiedenen Ebenen des binären Baums verwendet wird, erhält stets die Ausgangssignale P der Binärbaumzweige 21, 22 derselben Ebene als Eingangssignal B1 , B2 . Die beiden Eingangssignale B1 , B2 sind parallel sowohl auf ein erstes Oder-Gatter 30 als auch auf ein erstes Und-Gatter 31 geschaltet. Die Ausgangssignale der beiden ersten Gatter 30, 31 können entweder ein konstantes „high“-Signal oder ein konstantes „low“-Signal sein, welche parallel einem 4-fach Multiplexer 32 zugeführt werden. Zusätzlich zu den beiden Ausgangssignalen der beiden ersten Gatter 30,31 werden ein konstantes „low“-Signal und ein konstantes „high“-Signal parallel dem 4-fach Multiplexer 32 zugeführt. Dabei wird das Ausgangssignal des 4-fach Multiplexers 32 von einem ersten 2-bit SIPO Schieberegister 33 (SIPO: serial-input-parallel-output) gewählt und einem zweiten Und-Gatter 34 zugeführt.
  • Die zwei 1-Bit Eingangssignale E1-EN und M1,1-MK,N des jeweiligen Segments 3 werden von einem dritten Und-Gatter 35 verschaltet, dessen Ausgangssignal in einen Schiebefensterdetektor 4 als dessen Eingangssignal DIN geschaltet wird, welcher auch als Slider 4 bezeichnet werden kann und weiter unten näher erläutert werden wird. Der Schiebefensterdetektor 4 wird durch den Datenstrom des Konfigurationssignals DPROG mit dem zugehörigen Taktsignal CLKPROG konfiguriert. Das Ausgangssignal des Konfigurationssignals DPROGO des Schiebefensterdetektors 4 ist wiederum das Eingangssignal des ersten 2-bit SIPO Schieberegisters 33, welches seinerseits durch die steigende Flanke des Taktsignals CLKPROG weitergeschoben wird. Das erste 2-bit SIPO Schieberegister 33 erzeugt dabei parallel zu der zuvor beschriebenen Auswahl des Ausgangssignals des 4-fach Multiplexers 32 das Ausgangssignal des Konfigurationssignals DPROGO des Segments 3.
  • Der Schiebefensterdetektor 4 erzeugt parallel zu dem Konfigurationssignals DPROGO des Schiebefensterdetektors 4 ferner ein Ausgangssignal DOUT , welches das zweite Eingangssignal des zweiten Und-Gatters 34 ist, dessen Ausgangssignal einen 1-Bit Flipflop 36 zu jeder steigenden Flanke in den „high“-Zustand versetzt. Das Ausgangssignal des 1-Bit Flipflops 36 ist auch das Ausgangssignal P des jeweiligen Segments 3.
  • Zu jeder steigenden Flanke des Taktsignals CLKPLT wird ein zweites N-bit SIPO Schieberegister 37 um einen Schritt geschoben, wodurch das aktuelle Ausgangssignal des 1-Bit Flipflops 36 ausgelesen wird. Das letzte Bit des parallelen Ausgangssignals des zweites N-bit SIPO Schieberegisters 37 bildet ein Eingangssignal eines zweiten Oder-Gatters 38. Das andere Eingangssignal des zweiten Oder-Gatters 38 ist das entsprechende 1-Bit Steuersignale l1-lN. Wenn eines der beiden Eingangssignale des zweiten Oder-Gatters 38 den „high“-Zustand aufweist, ist auch das Ausgangssignal des zweiten Oder-Gatters 38 „high“ und die steigende Flanke schaltet den Zustand des 1-Bit Flipflops 36 zurück sowie setzt hierdurch alle Bits des zweites N-bit SIPO Schieberegisters 37 auf „low“, d.h. in den „low“-Zustand.
  • 9 zeigt eine schematische Darstellung eines Symbols eines Schaltkreises eines Schiebefensterdetektors 4 der 10. 10 zeigt eine schematische Darstellung eines Schaltkreises des Schiebefensterdetektors 4 der 9.
  • Der Schiebefensterdetektor 4 dient dazu zu erkennen, ob die Anzahl der „high“-Bits, d.h. der Bits im „high“-Zustand, in seinem Eingangssignal DIN innerhalb der letzten N-bits, d.h. innerhalb eines vorbestimmten Zeitraums, welcher durch das Konfigurationssignal DPROG konfigurierbar ist, des 1-Bit Eingangssignals DIN einen konfigurierbaren Schwellwert übersteigt. Hierzu wird das 1-Bit Eingangssignal DIN des Schiebefensterdetektors 4 einem ersten Und-Gatter 40 als dessen erstes Eingangssignal zugeführt.
  • Das Ausgangssignal des ersten Und-Gatters 40 wird als Eingangssignal in ein erstes N-bit SIPO Schieberegister 41 geleitet, welches das serielle Eingangssignal parallelisiert und mit jeder steigenden Flanke im Taktsignal CLKIN einen Schritt weitergeschoben wird. Das N-te parallele Ausgangssignal des ersten N-bit SIPO Schieberegisters 41 ist das linksschiebende Eingangssignal SL in ein zweites bidirektionales M-bit SIPO-Schieberegister 42. Das Ausgangssignal des ersten Und-Gatters 40 selbst ist das rechtsschiebende Eingangssignal SR des zweiten bidirektionalen M-bit SIPO-Schieberegisters 42.
  • Zu jeder steigenden Flanke des Taktsignals CLKIN wird das zweite bidirektionale M-bit SIPO-Schieberegister 42 einen Schritt in die Richtung nach rechts geschoben, falls das rechtsschiebende Eingangssignal SR „high“ und das linksschiebende Eingangssignal SL „low“ ist. Wenn das rechtsschiebende Eingangssignal SR „low“ und das linksschiebende Eingangssignal SL „high“ ist, wird das zweite bidirektionale M-bit SIPO-Schieberegister 42 hingegen in die Richtung nach links geschoben. Ansonsten bleibt das zweite bidirektionale M-bit SIPO-Schieberegister 42 unverändert.
  • Falls das zweite bidirektionale M-bit SIPO-Schieberegister 42 in die Richtung nach rechts geschoben wird, wird ein „high“-Bit von links eingefügt. Falls hingegen das zweite bidirektionale M-bit SIPO-Schieberegister 42 in die Richtung nach links geschoben wird, wird ein „low“-Bit von rechts eingefügt. Das letzte Bit des parallelen Ausgangssignals des zweiten bidirektionalen M-bit SIPO-Schieberegisters 42 wird invertiert als zweites Eingangssignal des ersten Und-Gatters 40 genutzt.
  • Ein M+1fach Multiplexer 43 wird von K 1-Bit Eingangssignalen konfiguriert und generiert so entweder ein konstantes „high“-Ausgangssignal oder selektiert einen der M parallelen Ausgangssignale des zweiten bidirektionalen M-bit SIPO-Schieberegisters 42. Das selektierte Signal ist das Ausgangssignal des M+1fach Multiplexers 43 und des gesamten Schiebefensterdetektors 4.
  • Welches der M+1 <= 2^K (M plus 1 kleinergleich 2 hoch K) Eingangssignale mittels des M+1fach Multiplexers 43 ausgesucht wird, wird von dem parallelen Ausgangssignals eines dritten K-bit SIPO-Schieberegisters 44 festgelegt, welches von einem Bitstrom des Eingangssignals DPROG mit einem dazugehörigen Taktsignals CLKPROG betrieben wird. Das letzte parallele Ausgangssignal des dritten K-bit SIPO-Schieberegisters 44 ist der zusätzliche Konfigurationssignal DPROGO als Ausgangssignal des Schiebefensterdetektors 4, um mehrere Segmente 3 bzw. Neuronen 2 in Serie verschalten zu können.
  • 11 zeigt eine schematische Darstellung eines Symbols eines Schaltkreises eines Zeitmultiplexers 5 der 12. 12 zeigt eine schematische Darstellung eines Schaltkreises des Zeitmultiplexers 5 der 11.
  • Der Zeitmultiplexer 5 ist in der Lage, eine Folge von K 1-Bit parallelen Eingangssignalen S1-SK in ein serielles 1-Bit Ausgangssignal O zu enkodieren. Die steigende Flanke eines der K Eingangssignale S1-SK setzt ein korrespondierendes Flipflop 50 einer Anzahl K von identischen und parallel zueinander angeordneten Flipflops 50 in den „high“-Zustand. Die Ausgangssignale der Flipflops 50 sind jeweils eines der beiden Eingangssignale eines jeweils korrespondierenden Und-Gatters 51 einer Anzahl K von identischen und parallel zueinander angeordneten Und-Gattern 51.
  • Zu jeder steigenden Flanke des Taktsignals CLKSPIKE wird ein selbst initialisierter K-bit Ringzähler 52 weitergeschoben, dessen parallele Ausgangssignale jeweils das zweite Eingangssignal der Und-Gatter 51 sowie das zurücksetzende Signal, d.h. das Reset-Signal, für die Flipflops 50 sind. Zu jedem Zeitpunkt ist genau ein Bit des Ringzählers 52 im Zustand „high“ während alle anderen Bit des Ringzählers 52 im Zustand „low“ sind. Zur fallenden Flanke des Reset-Signals wird das jeweilige Flipflop 50 in den „low“-Zustand geschaltet.
  • Während beide Eingangssignale eines der Und-Gatter 51 im Zustand „high“ sind, ist auch das Ausgangssignal dieses Und-Gatters 51 im Zustand „hoch“, ansonsten im Zustand „low“. Wenn eines der K Und-Gatter 50 ein Ausgangssignal im Zustand „hoch“ hat, ist das Ausgangssignal eines Oder-Gatters 53 ebenfalls im Zustand „high“, sonst im Zustand „low“. Zur steigenden Flanke des Taktsignals CLKSPIKE wird das Ausgangssignal des Oder-Gatters 53 für einen Taktzyklus in einem D-Flipflop 54 zwischengespeichert. Das Ausgangssignal des D-Flipflops 54 ist das Ausgangssignal des Zeitmultiplexers 5.
  • Das Taktsignal CLKPROG ist an den Datenstrom des Konfigurationssignals DPROG zur Konfiguration der Segmente 3 gekoppelt und hat lediglich die Funktion, die Segmente 3 innerhalb des jeweiligen Neurons 2 sowie die Neuronen 2 innerhalb der Population 1 untereinander zu synchronisieren.
  • Das Taktsignal CLKSPIKE steuert die Verarbeitung von sog. „Spikes“, d.h. von Pulsen als „high“-Zustände. Zum einen wird mit der Frequenz des Taktsignales CLKSPIKE das Ausgangssignal der Population 1 in der Zeit multiplexed. Zum anderen wird das Taktsignal CLKSPIKE im zweiten bidirektionalen M-bit SIPO-Schieberegister 42 des Schiebefensterdetektors 4 genutzt, um dieses Eingangssignal synchronisiert zu verarbeiten. Somit ist der ausgehende Datenstrom des zweiten bidirektionalen M-bit SIPO-Schieberegisters 42 an das Taktsignal CLKSPIKE gebunden. Auch hängen alle eingehenden Datenströme des Eingangssignals E, des Kontrollsignals I sowie der binären Zufallszahlensignal M, welche zur Mustererkennung dienen, an dem Taktsignal CLKSPIKE•
  • In der Verarbeitung des Eingangssignals E, des Kontrollsignals I sowie der binären Zufallszahlensignal M zur Mustererkennung gilt insbesondere, dass das Zeitfenster des Schiebefensterdetektors 4 N * 1/f(CLK-SPIKE ) ist, also durch den Horizont des n bidirektionalen M-bit SIPO-Schieberegister 42 des Schiebefensterdetektors 4 und durch die Frequenz des Taktsignals gegeben ist. In der Anwendung lässt sich durch die Wahl der Frequenz die Population 1 auf die Zeitskalen anpassen, auf denen Teilmuster erkannt werden sollen, wobei ein Teilmuster das ist, was ein Segment 3 alleine durch den Schiebefensterdetektor 4 erkennt.
  • Das Taktsignal CLKPLT steuert ausschließlich die Länge der Plateaus in den einzelnen Segmente 3, also die Zeitdauer bzw. Signallänge, für die ein einzelnes Segment 3 sich die Erkennung eines Teilmusters zusammen mit ausreichendem Signal aus dem binären Baum merkt: Cache für das Zwischenergebnis. Im Speziellen wird das asynchron geschaltete „high“-Ausgangssignal des Segments 3 nach mindestens N * 1/f(CLKPLT ) und nach maximal (N+1) * 1/f(CLKPLT ) wieder ausgeschaltet. Die Spanne ergibt sich dadurch, dass das Zählen im Schiebefensterregister 4 zum Ausschalten vom Anschalten des Ausgangssignals entkoppelt ist. Damit lässt sich über die Wahl von N die zeitliche Präzision auf Kosten von Bauteilen und über die gemeinsame Wahl von N und der Frequenz des Taktsignals CLKPLT die Zeitskala regeln, auf der Zwischenergebnisse und Teilmuster gespeichert werden. Das Taktsignal CLKPLT stellt somit eine zweite Zeitskala in der Mustererkennung dar.
  • Die Kombination der Taktsignale CLKSPIKE und CLKPLT , um Teilmuster auf zwei unabhängig wählbaren Zeitskalen zur Mustererkennung zu kombinieren, stellt eine Besonderheit der Neuronen 2 dar. Isoliert kontrolliert jedes Taktsignal CLKSPIKE und CLKPLT wie bisher üblich einen Teil des Neurons 2 über Flankensteuerung. Genauer betrachtet werden jedoch erfindungsgemäß die Segmente 3 innerhalb des Neurons 2 von den verschiedenen Taktsignalen CLKSPIKE und CLKPLT gesteuert und dies zur Implementierung von Algorithmen zur Mustererkennung verwendet.
  • Die zuvor beschriebene Population 1 kann dazu verwendet werden, mit niedriger Latenz Muster in kontinuierlichen, digitalen Datenströmen (Bitstreams) zu erkennen. Da aufgrund von Störsignalen oder zeitlicher Impräzision niemals dieselben Muster in gleicher Form auftreten, können dabei auch ungefähre Übereinstimmungen erkannt und der Grad der Übereinstimmung quantifiziert werden. Dabei sind die zu erkennenden Muster konfigurierbar, d.h. können vorbestimmt werden.
  • Hierzu werden die zuvor beschriebenen Neuronen 2 als mehrere Musterdetektoren in Gruppen in Form von Populationen 1 zusammengefasst. Jedes einzelne Neuron 2 ist hier eine hierarchische Struktur der Segmente 3, welche untereinander verknüpft sind und, je nach problemspezifischer Konfiguration, jeweils eigene Eingangssignale verarbeiten. Wenn ein komplexes Muster als Eingangssignal alle Segmente 3 in der richtigen zeitlichen Sequenz aktiviert, erzeugt das jeweilige Neuron 2 in seinem Ausgangssignal ein positives Bit, d.h. ein Ausgangssignal mit dem Zustand „high“; sozusagen „feuert“ das Neuron 2 bzw. das Neuron 2 erzeugt einen Pulse bzw. einen „Spike“.
  • Die Wahrscheinlichkeit, mit der ein einzelnes Neuron 2 feuert, reflektiert dabei den Grad der Übereinstimmung zwischen dem geforderten, d.h. dem konfigurierten vorbestimmten, und dem gesehenen, d.h. der Population 1 zugeführten, Muster. In einer Population 1 lesen alle K gleichkonfigurierten Neuronen 2 den gleichen Datenstrom als Eingangssignal E und versuchen, das gleiche Muster in dem Eingangssignal E zu erkennen, erhalten jedoch durch eine pseudo-zufällige Maskierung der Eingangssignale E mit den binären Zufallszahlensignalen M stochastisch voneinander verschiedene Eingangssignale E. Dies bedeutet, dass auf jedes Muster W von K Neuronen 2 reagieren, wobei W den Grad der Übereinstimmung zwischen dem zugeführten Muster und dem konfigurierten vorbestimmten Muster abbildet. Die technische Umsetzung kommt hierbei gänzlich ohne Mikroprozessoren aus und ist gänzlich in den zuvor beschriebenen Schaltkreisen umsetzbar.
  • Hierzu wird der eingehende Datenstrom E, in welchem ein Muster erkannt werden sollen, als getaktetes binäres Signal E in Form von N 1-Bit Eingangssignalen E1-EN auf mehreren parallelen Leitungen gelegt und der Population 1 zugeführt. Dies gilt ebenso für das Kontrollsignal I und die binären Zufallszahlensignale M.
  • Innerhalb der Population 1 werden auf der Eingangsseite die gleichen Eingangssignale E und Kontrollsignale I an jedes Neuron 2 geleitet, wo die Eingangssignale E mit den neuronenspezifischen binären Zufallssignalen M maskiert werden. Die einzelnen Ergebnisse der Neuronen 2 werden dann im Zeitmultiplexer 5 zusammengeführt, um einen einzelnen Datenstrom O als Ausgang der Population 1 zu generieren, welcher wie gefordert die Qualität des erkannten Musters in den eingehenden Datenstrom E widerspiegelt.
  • Jedem einzelnen Neuron 2 innerhalb Population 1 kommt dabei die Aufgabe zu, das konfigurierbare, vorbestimmte Muster im jeweiligen 1-Bit Eingangssignal E1-EN der N 1-Bit Eingangssignale E1-EN zu erkennen. Hierzu sind die Neuronen 2 jeweils aus den einzelnen N Segmenten 3 aufgebaut, von denen jedes eines der eingehenden N 1-Bit Eingangssignale E1-EN verarbeitet. Jedes Segment 3 reagiert dabei auf ein relevantes Signal in seinem zugeordneten 1-Bit Eingangssignal E1-EN , d.h. das k-te Segment 3 auf ein relevantes Signal im 1-Bit Eingangssignal Ek, indem das Segment 3 für eine bestimmte Zeit eingeschaltet, d.h. in den „high“-Zustand versetzt, wird. Untereinander sind diese Segmente 3 in dem binären Baum derart verschaltet, dass jedes einzelne Segment 3 nur dann durch das jeweilige 1-Bit Eingangssignal E1-EN eingeschaltet werden kann, wenn - je nach Konfiguration - Null, Eins oder Zwei der untergeordneten Binärbaumzweige 21, 22 oder Abschlusszweige 20 im binären Baum bereits eingeschaltet sind. Wie lange ein Segment 3 eingeschaltet ist, wird durch das Taktsignal CLKPLT festgelegt, welches nicht an das Taktsignal CLKSPIKE des Eingangssignals E gekoppelt ist.
  • In jedem Neuron 2 ist diese Verschachtelung in dem Binärbaum abgebildet. Ein Neuron 2 hat für jedes Segment 3 ein jeweils zugeordnetes 1-Bit Eingangssignal E1-EN der N 1-Bit Eingangssignale E1-EN , mit welchem das jeweilige Segment 3 für eine feste Zeit eingeschaltet, d.h. in den Zustand „high“ gebracht, werden kann (Plateau). Jedes Segment 3 hat ebenso ein jeweils zugeordnetes 1-Bit Kontrollsignal I1-IN der N 1-Bit Kontrollsignale I1-IN , mit welchem das Segment 3, falls es bereits in den Zustand „high“ ist, durch das jeweils zugeordnete 1-Bit Kontrollsignal I1-IN als externes Signal wieder ausgeschaltet, d.h. in den „low“-Zustand gebracht, werden kann. Einzelne Segmente 3 bekommen das konfigurierbare Taktsignal CLKPLT , welches die zeitliche Dauer bestimmt, für die ein Segment 3 eingeschaltet ist. Das Segment 3 an der Wurzel der Baumstruktur, d.h. in der obersten Ebene es binären Baums, generiert kurze Pulse, auch Spikes genannt, mit derselben Taktung des Taktsignals CLKSPIKE wie die Eingangssignale E anstatt längere Plateaus zu erzeugen, wie in den übrigen Segmenten 3.
  • Jedes der Segmente 3 wird zunächst durch die Eingangssignale B1, B2 anderer im binären Baum untergeordneter Segmente 3 getrieben, sofern diese existieren. Hier kann konfiguriert werden, ob Null, Eins oder Zwei Segmente 3 eingeschaltet sein müssen. Weiter wird der eingehende Datenstrom E in dem Schiebefensterdetektor 4 verarbeitet, welches für kurze Zeit eingeschaltet ist, falls die Anzahl der gesetzten Bits in einem festen Zeitfenster einen kritischen Pegel überschreitet. Das Eingangssignal in den Schiebefensterdetektor 4 wird vorher mit dem binäres Zufallszahlensignal M maskiert. So ist die Antwort jedes Schiebefensterdetektors 4 auf dasselbe Eingangssignal E stochastisch und unterscheidet sich, wie oben beschrieben, von anderen Schiebefensterdetektoren 4 in der Population 1, welche auf das gleiche Eingangssignal E abweichend reagieren.
  • Falls sowohl das jeweils zugeordnete 1-Bit Eingangssignal E1-EN das konfigurierte Kriterium der untergeordneten Binärbaumzweige 21, 22 bzw. Abschlusszweige 20 erfüllt und der Schiebefensterdetektor 4 des Segments 3 im zugeordneten 1-Bit Eingangssignal E1-EN ein Signal erkannt hat, schaltet sich das Segment 3 ein. In dem zweiten bidirektionalen M-bit SIPO-Schieberegister 42 wird dieser Zustand für eine feste Anzahl an Takten des Taktsignals CLKPLT gehalten, worauf sich das Segment 3 selbst wieder ausschaltet. Weiter kann das jeweils zugeordnete 1-Bit Kontrollsignal I1-IN den zweiten bidirektionalen M-bit SIPO-Schieberegister 42 zurücksetzen und das Segment 3 frühzeitig ausschalten. Intern ist das Ausgangssignal des Segments 3 lediglich indirekt über den Schiebefensterdetektor 4 an ein Taktsignals CLKSPIKE gebunden. Das Segment 3 reagiert ansonsten mit einer zu vernachlässigen Verzögerung der einzelnen Bauteile.
  • Dem Schiebefensterdetektor 4 kommt dabei die Aufgabe zu, zu detektieren, falls die Anzahl der gesetzten Bits, d.h. der Bits im „high“-Zustand, in einem festen vorbestimmten Zeitfenster des getakteten Datenstroms einen kritischen Wert überschreitet. Hierzu wird seitens des Schiebefensterdetektors 4 pro Segment 3 die Anzahl der eingehenden Pulse, d.h. der Bits im Zustand „high“, in dem festen Zeitfenster in dem jeweiligen Datenstrom DIN gezählt. Jedes eingehende gesetzte Bit, d.h. Bit im Zustand „high“, schiebt das zweite bidirektionale M-bit SIPO-Schieberegister 42 vorwärts und wird gleichzeitig in einer durch das zweite bidirektionale M-bit SIPO-Schieberegister 42 und durch das Taktsignal CLKSPIKE des Datenstrom E implementierten Delayline gespeichert. Nach diesem Delay wird das zweite bidirektionale M-bit SIPO-Schieberegister 42 wieder zurückgeschoben.
  • Konfigurierbar ist, an welcher Stelle im zweiten bidirektionalen M-bit SIPO-Schieberegister 42 ein Bit gesetzt sein muss, um ein Ausgangssignal zu erzeugen. So signalisiert das zweite bidirektionale M-bit SIPO-Schieberegister 42, wann mehr als ein konfigurierbarer, vorbestimmter Schwellwert 1-Bit-Signale in dem durch das Taktsignal CLKSPIKE und durch die Länge der Delayline festgelegten Zeitfenster im Datenstrom DIN zu finden waren.
  • Der Schiebefensterdetektor 4 dekodiert somit 1-Bit Signale, welche genau der Kodierung des Ausgangssignals der Population 1 entsprechen. Die Anzahl der Pulse in kurzer Zeit kodiert dabei die Stärke des Signals. Der Schwellwert im zweiten bidirektionalen M-bit SIPO-Schieberegister 42 legt fest, wann ein Signal stark genug war.
  • Das Konfigurationssignal DPROG , welches sich durch alle Bauteile der Population 1 zieht, ermöglicht die Konfiguration der Population 1 und aller enthaltener Bauteile.
  • Im Vergleich zu bekannten Lösungen zur digitalen Signalverarbeitung und Mustererkennung, besonders im Bereich neuromorpher Technologien, ergeben sich eine Reihe von Vorteilen aus den zuvor beschriebenen Neuronen 2 sowie der hieraus aufgebauten Population 1.
  • So ermöglicht der zuvor beschriebene Ansatz die Erkennung von konfigurierbaren Mustern auf verschiedenen Zeitskalen und ist somit tolerant gegenüber Störungen im Signal oder im Timing. Dies erlaubt den Einsatz in erschwerten Bedingungen, z.B. im Verbund mit unpräziser Sensorik oder mit Signalen mit hoher Variabilität.
  • Auch kann durch die Nutzung stochastischer Eingangssignale als die binären pseudo-zufälligen Zufallszahlensignale M nicht nur ein gegebenes Muster erkannt werden, sondern es kann auch der Grad der Übereinstimmung quantifiziert werden.
  • Sowohl das Eingangssignal E als auch das Ausgangssignal O der Population 1 sind kompatibel, um mit weiteren Populationen zu kommunizieren, und erlauben somit die Verschaltung zu großen Netzen.
  • Die Informationsverarbeitung erfolgt gänzlich ohne den Einsatz von Mikroprozessoren oder Paket-Routing, was technisch einfacher umsetzbar ist, ein hohes Maß an Parallelisierung ermöglicht und zu niedrigen Latenzen führt.
  • Die Kommunikation zwischen Populationen 1 und das An- bzw. Ausschalten von Segmenten 3 ist an zwei verschiedene Taktsignale, nämlich die Taktsignale CLKPLT und CLKSPIKE , gebunden. Hierdurch wird das Taktsignal CLKSPIKE , auf welchem Muster im Datenstrom E als Eingangssignal E erkannt werden sollen, von dem Taktsignal CLKPLT entkoppelt. Auf diese Art und Weise können im bestimmungsgemäßen Gebrauch im Datenstrom E Teilmuster erkannt werden, welche auf einer von dem Datenstrom E entkoppelten Zeitskala, nämlich dem Taktsignal CLKSPIKE , mit anderen Teilmustern des Datenstroms E verbunden werden.
  • Zum Beispiel können viele Pulse im Datenstrom E in sehr kurzer Zeit übertragen werden und auf ein wichtiges Ereignis wie zum Beispiel das Überschreiten eines kritischen Wertes eines Temperatursensors hinweisen. Ein zweites Ereignis wie zum Beispiel das Überschreiten eines kritischen Wertes eines Beschleunigungssensors kann ebenfalls schnell mittels des Taktsignals CLKSPIKE übertragen werden. Beide Ereignisse können als Teil eines Muster „kritische Temperatur und dann kritische Beschleunigung“ dann aber auf einer Zeitskala, welche von dem Taktsignal CLKSPIKE entkoppelt und durch das Taktsignal CLKPLT zum Beispiel deutlich langsamer definiert ist, kombiniert werden. Durch die Kombination beider Taktsignale CLKSPIKE , CLKPLT kann ein Segment 3 auf die speziellen externen Timing-Anforderrungen der Anwendung angepasst werden.
  • Werden die Neuronen 2 mit einer höheren Komplexität in Form eines binären Baums mit zahlreichen Ebenen umgesetzt, so können mehr Informationen im internen Zustand der Neuronen 2 verarbeitet und gespeichert werden. Daher sind für dieselbe Leistung weniger individuelle Neuronen 2 erforderlich, was die Größe der resultierenden Population 1 und damit die Komplexität der notwendigen Kommunikationsinfrastruktur deutlich reduzieren kann.
  • Weitere Ausgestaltungen der Erfindung, welche von dem betrachteten Ausführungsbeispiel abweichen, sind vorstellbar. Jedes einzelne der oben genannten Bauteile kann in seinem Funktionsumfang erweitert oder in der Umsetzung angepasst werden. Auch können mehrere Populationen 1 zu Netzen verschaltet werden, die eingesetzt werden könnten, um komplexere Probleme zu lösen.
  • Bezugszeichenliste
  • B1
    Eingangssignal eines Segments 3 seitens eines ersten Binärbaumzweigs 21
    B2
    Eingangssignal eines Segments 3 seitens eines zweiten Binärbaumzweigs 22
    CLKPLT
    Taktsignal zur Steuerung der Länge der Plateaus der Vergleichsschaltungen 3
    CLKSPIKE
    Taktsignal zur Steuerung der Verarbeitung der Spikes der Vergleichsschaltungen 3
    CLKPROG
    Taktsignal des Konfigurationssignals DPROG , DPROGO
    DIN
    Eingangssignal eines Schiebefensterdetektors 4
    DOUT
    Ausgangssignal eines Schiebefensterdetektors 4
    DPROG
    Konfigurationssignal als Eingangssignal
    DPROGO
    Konfigurationssignal als Ausgangssignal
    E, E1-EN
    Eingangssignal der Population 1; eingehender Datenstrom
    i
    Zählindex
    I, I1-IN
    Kontrollsignal
    J
    Anzahl der Eingangssignale des Abschlusszweigs 20
    K
    Anzahl der Neuronen
    M, M1,1-MK,N
    1-Bit bzw. binäres Zufallszahlensignale
    N
    Anzahl der Segmente
    O
    Ausgangssignal des Zeitmultiplexers 5 bzw. der Population 1
    P1-Pk
    1-Bit Ausgangssignale der Neuronen 2, der Abschlusszweige 20, der Binärbaumzweige 21, 22 und der Segmente 3
    S1-SK
    Eingangssignale des Zeitmultiplexers 5
    SL
    linksschiebendes Eingangssignal des zweiten bidirektionalen (M-bit SIPO-) Schieberegisters 42 des Schiebefensterdetektors 4
    SR
    rechtsschiebendes Eingangssignal des zweiten bidirektionalen (M-bit SIPO-) Schieberegisters 42 des Schiebefensterdetektors 4
    W
    Grad der Übereinstimmung zwischen zugeführtem Muster und konfigurierten vorbestimmten Muster
    1
    neuromorphe Schaltkreisanordnung; Population
    2
    neuromorpher Musterdetektor; Neuron; Neuronen-Schaltkreis; Binärbaumwurzel
    20
    Abschlusszweig; Binärbaumblatt; Terminal Branch
    21
    erster Binärbaumzweig; erster innerer Knoten des Binärbaums; erster Nested Branch
    22
    zweiter Binärbaumzweig; zweiter innerer Knoten des Binärbaums; zweiter Nested Branch
    3
    Vergleichsschaltung; Segment
    30
    erstes Oder-Gatter
    31
    erstes Und-Gatter
    32
    (4-fach) Multiplexer
    33
    erstes (2-bit SIPO-) Schieberegister
    34
    zweites Und-Gatter
    35
    drittes Und-Gatter
    36
    (1-Bit) Flipflop
    37
    zweites (N-bit SIPO-) Schieberegister
    38
    zweites Oder-Gatter
    4
    Schiebefensterdetektor; Slider
    40
    erstes Und-Gatter
    41
    erstes (N-bit SIPO-) Schieberegister
    42
    zweites bidirektionales (M-bit SIPO-) Schieberegister
    43
    ((M+1)-fach) Multiplexer
    44
    drittes (K-bit SIPO-) Schieberegister
    5
    Zeitmultiplexer; Time Multiplexer
    50
    Flipflops
    51
    Und-Gatter
    52
    selbst initialisierter (K-bit) Ringzähler
    53
    Oder-Gatter
    54
    D-Flipflop

Claims (16)

  1. Neuromorpher Musterdetektor (2), welcher ausgebildet ist, wenigstens zwei 1-Bit Eingangssignale (E1-EN) eines zu erkennenden Musters zu erhalten, mit wenigstens zwei Vergleichsschaltungen (3), welche jeweils ausgebildet sind, eines der 1-Bit Eingangssignale (E1-EN) zu erhalten, die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals (E1-EN) innerhalb eines vorbestimmten Zeitraums zu zählen, die Anzahl der gezählten Zustände mit einem vorbestimmten Schwellwert der jeweiligen Vergleichsschaltung (3) zu vergleichen und bei Überschreiten des Schwellwerts auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen.
  2. Neuromorpher Musterdetektor (2) nach Anspruch 1, dadurch gekennzeichnet, dass die eine Vergleichsschaltung (3) der anderen Vergleichsschaltung (3) erstrangig untergeordnet ist, wobei die übergeordnete Vergleichsschaltung (3) ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der übergeordneten Vergleichsschaltung (3) überschritten und zeitgleich von der erstrangig untergeordneten Vergleichsschaltung (3) auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  3. Neuromorpher Musterdetektor (2) nach Anspruch 2, gekennzeichnet durch wenigstens eine weitere Vergleichsschaltung (3), welche parallel zu der untergeordneten Vergleichsschaltung (3) angeordnet ist, wobei die übergeordnete Vergleichsschaltung (3) ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der übergeordneten Vergleichsschaltung (3) überschritten und zeitgleich von den erstrangig untergeordneten Vergleichsschaltungen (3) jeweils auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  4. Neuromorpher Musterdetektor (2) nach einem der Ansprüche 2 oder 3, gekennzeichnet durch wenigstens eine weitere Vergleichsschaltung (3), welche zweitrangig untergeordnet zu der erstrangig untergeordneten Vergleichsschaltung (3) angeordnet ist, wobei die erstrangig untergeordnete Vergleichsschaltung (3) ausgebildet ist, nur dann auf die erfolgte Erkennung des zu erkennenden Musters hinzuweisen, falls der Schwellwert der erstrangig untergeordneten Vergleichsschaltung (3) überschritten und zeitgleich von der zweitrangig untergeordneten Vergleichsschaltung (3) auf die erfolgte Erkennung des zu erkennenden Musters hingewiesen wird.
  5. Neuromorpher Musterdetektor (2) nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die wenigstens drei Vergleichsschaltungen (3) einen Binärbaum mit wenigstens zwei Ebenen bilden.
  6. Neuromorpher Musterdetektor (2) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Vergleichsschaltungen (3) identisch ausgebildet sind.
  7. Neuromorpher Musterdetektor (2) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass bei Überschreiten des Schwellwerts ein 1-Bit Ausgangssignal (P1-Pk) der jeweiligen Vergleichsschaltung (3) auf den „high“-Zustand, ansonsten auf den „low“-Zustand, gesetzt wird, oder umgekehrt.
  8. Neuromorpher Musterdetektor (2) nach Anspruch 7, dadurch gekennzeichnet, dass die Vergleichsschaltungen (3) ausgebildet sind, jeweils ein 1-Bit Steuersignal (I1-IN) zu erhalten und in Reaktion auf einen „high“-Zustand oder auf einen „low“-Zustand des jeweiligen 1-Bit Steuersignals (I1-IN) das 1-Bit Ausgangssignal (P1-Pk) der jeweiligen Vergleichsschaltung (3) auf den „low“-Zustand zu setzen.
  9. Neuromorpher Musterdetektor (2) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der vorbestimmte Schwellwert der Anzahl der Zustände der jeweiligen Vergleichsschaltung (3) vorgibt, wann das zu erkennende Muster als erkannt angesehen wird.
  10. Neuromorpher Musterdetektor (2) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Vergleichsschaltungen (3) jeweils einen Schiebefensterdetektor (4) aufweisen, welcher jeweils ausgebildet ist, das jeweilige 1-Bit Eingangssignal (E1-EN) zu erhalten und die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals (E1-EN) innerhalb des vorbestimmten Zeitraums zu zählen.
  11. Neuromorpher Musterdetektor (2) nach Anspruch 10, dadurch gekennzeichnet, dass das Zählen der Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen 1-Bit Eingangssignals (E1-EN) innerhalb des vorbestimmten Zeitraums mittels eines bidirektionalen Schieberegisters (42) des jeweiligen Schiebefensterdetektors (4) erfolgt.
  12. Neuromorpher Musterdetektor (2) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Vergleichsschaltungen (3), vorzugsweise deren Schiebefensterdetektor 4, jeweils ein Taktsignal CLKSPIKE zur Steuerung der Verarbeitung der Pulse und ein Taktsignal CLKPLT zur Steuerung der Länge der Plateaus erhalten, wobei die beiden Taktsignale CLKSPIKE und CLKPLT unterschiedlich sind.
  13. Neuromorphe Schaltkreisanordnung (1) mit einer Mehrzahl von neuromorphen Musterdetektoren (2) nach einem der vorangehenden Ansprüche, wobei jeder neuromorphe Musterdetektor (2) ausgebildet ist, das gleiche 1-Bit Eingangssignal (E1-EN) zu erhalten, ein unterschiedliches 1-Bit Zufallszahlensignal (M1,1-MK,N) zu erhalten, das jeweilige 1-Bit Eingangssignal (E1-EN) mit dem entsprechenden 1-Bit Zufallszahlensignal (M1,1-MK,N) zu verändern, und die Anzahl der „high“-Zustände oder der „low“-Zustände des jeweiligen veränderten 1-Bit Eingangssignals (E1-EN) innerhalb eines vorbestimmten Zeitraums zu zählen.
  14. Neuromorphe Schaltkreisanordnung (1) nach Anspruch 13, dadurch gekennzeichnet, dass wenigstens eine Vergleichsschaltung (3), vorzugsweise alle Vergleichsschaltungen (3) jeweils, ein Und-Gatter (35) aufweist, welches ausgebildet ist, das jeweilige 1-Bit Eingangssignal (E1-EN) und das entsprechende 1-Bit Zufallszahlensignal (M1,1-MK,N) zu kombinieren.
  15. Neuromorphe Schaltkreisanordnung (1) nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass die neuromorphe Schaltkreisanordnung (1) ausgebildet ist, die Anzahl der 1-Bit Ausgangssignale (P1-Pk) der jeweiligen Vergleichsschaltung (3), welche zeitgleich im „high“-Zustand oder im „low“-Zustand sind, zu erfassen und aus dem Verhältnis der Anzahl von 1-Bit Ausgangssignalen (P1-Pk) im „high“-Zustand oder im „low“-Zustand und der Anzahl der neuromorphen Musterdetektoren (2) einen Grad (W) der Übereinstimmung zwischen 1-Bit Eingangssignal (E1-EN) und zu erkennendem Muster zu bestimmen.
  16. Neuromorphe Schaltkreisanordnung (1) nach einem der Ansprüche 13 bis 15, dadurch gekennzeichnet, dass wenigstens eine Vergleichsschaltung (3), vorzugsweise alle Vergleichsschaltungen (3) jeweils, einen Zeitmultiplexer (5) aufweist, welcher ausgebildet ist, parallele Ausgangssignale (P1-PK) der neuromorphen Musterdetektoren (2) zu einem 1-Bit-Ausgangssignal (O) der neuromorphen Schaltkreisanordnung (1) zusammenzuführen.
DE102019134044.6A 2019-12-11 2019-12-11 Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit Pending DE102019134044A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019134044.6A DE102019134044A1 (de) 2019-12-11 2019-12-11 Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019134044.6A DE102019134044A1 (de) 2019-12-11 2019-12-11 Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit

Publications (1)

Publication Number Publication Date
DE102019134044A1 true DE102019134044A1 (de) 2021-06-17

Family

ID=76085070

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019134044.6A Pending DE102019134044A1 (de) 2019-12-11 2019-12-11 Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit

Country Status (1)

Country Link
DE (1) DE102019134044A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160292569A1 (en) * 2011-04-08 2016-10-06 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160292569A1 (en) * 2011-04-08 2016-10-06 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Leugering, Johannes; Nieters, Pascal; Pipa, Gordon: Event-based pattern detection in active dendrites. In: bioRxiv, 02.07.2019, 1-13. https://www.biorxiv.org/content/early/2019/07/02/690792.full.pdf [abgerufen am 11.12.2020] *

Similar Documents

Publication Publication Date Title
DE69121382T2 (de) Emulator zur Emulation eines verbindungsloses Mikrokontroller und Mikrokontroller zur Verwendung in einem solchen Emulator
DE60002567T2 (de) Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür
EP2621193B1 (de) Vorrichtung zur Übertragung von Sensordaten
DE3818546C2 (de)
DE112011106024T5 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE102013210077A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210182A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE112004000140T5 (de) Kodierte Schreibmaske
DE102012103194B4 (de) Verfahren zum Übertragen von Prozessdaten in einer automatisiert gesteuerten Anlage
EP0201634B1 (de) Digitaler Wortgenerator zur automatischen Erzeugung periodischer Dauerzeichen aus n-bit-Wörtern aller Wortgewichte und deren Permutationen
DE2321200C3 (de) Schaltungsanordnung zur Durchführung logischer, durch Boolesche Gleichungen dargestellter Verknüpfungen
DE3333366A1 (de) Aufloesungsnetzwerk fuer zuletzt erfolgte benutzungen
DE102019134044A1 (de) Neuromorpher Musterdetektor und neuromorphe Schaltkreisanordnung hiermit
DE2535786B2 (de) Einrichtung zur erzeugung eines digitalen kodewortes zur kennzeichnung eines schalters in einer schalteranordnung
DE2015813A1 (de) Verfahren und Vorrichtung zur Über tragung von zweiwertigen Signalen
DE69230480T2 (de) Zählerschaltung
DE10018190A1 (de) Unterbrechnungsloses Umschalten zwischen zwei Oszillator-Präzisionstaktgebern
DE2316904C3 (de) Dateneingab evorrichtung
DE102013210066A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle mit CRC-Funktionalität sowie Mikrocontroller mit generischer Schnittstelle und CRC-Einheit
WO1998044674A1 (de) Phasenjustierung schneller paralleler signale
AT501880B1 (de) Speicherprogrammierbare steuerung
DE2633253A1 (de) Datenbearbeitungssystem
DE10147643C2 (de) Multiplexerzelle und Multiplexer-Schaltungsanordnung
DE2153108B2 (de) Anordnung zur Eingabe von Daten
DE60307513T2 (de) Synchronisation von semi-synchronen verarbeitungselementen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication