PatentDe  


Dokumentenidentifikation DE102004060132B4 31.08.2006
Titel Lernverfahren für Klassifikationsaufgaben sowie Hardware-realisierte RAM-Pyramide hierfür
Anmelder Tropf, Hermann, 68789 St. Leon-Rot, DE
DE-Anmeldedatum 13.12.2004
DE-Aktenzeichen 102004060132
Offenlegungstag 14.06.2006
Veröffentlichungstag der Patenterteilung 31.08.2006
Veröffentlichungstag im Patentblatt 31.08.2006
IPC-Hauptklasse G11C 15/00(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Die Erfindung betrifft einen Klassifikator, Erkenner und Assoziativspeicher, der für Aufgaben der Mustererkennung und (verlustbehafteten) Signalkomprimierung/Dekomprimierung eingesetzt werden kann, sowie Verfahren zum Bilden von Assoziationen mit einem solchen System und zum Einlernen eines solchen Systems und zum Erkennen und Klassifizieren mit einem solchen System.

Signale zu klassifizieren ist Aufgabe der klassischen Mustererkennung, die hauptsächlich eingesetzten Metoden sind:

  • – Vergleich mit vorklassifizierten Referenzmustern, auf Originaldaten oder – wie auch immer – vorverarbeiteten oder codierten Daten,
  • – statistische Verfahren, auf Basis der klassenspezifischen Verteilung vorgegebener Merkmale in einem i.a. mehrdimensionalen Merkmalsraum,
  • – Neuronale Netze.

Konventionelle Neuronalnetze sind i.a. mehrschichtige Verknüpfungen von Neuronen mit i.a. je mehreren Eingängen und einem Ausgang. Die Neuronen werden i.a. modelliert als gewichtete Summation, gefolgt von einer nichtlinearen, i.a. monotonen ("sigmoiden") Übertragungsfunktion, im Speziellen einer einfachen Schwellwertbildung. Das Lernen besteht in der Festlegung der Gewichte und ggf. der Parameter der sigmoiden Funktion, d.h. bei einfachen Schwellwertfunktionen des Schwellwertes.

Zum Lernen existieren ausgefeilte Backpropagation-Methoden zum Finden der Gewichtseinstellungen.

Das Klassifizieren besteht in (schichtweiser) Berechnung der Ausgänge (mit Multiplikationen) entprechend den eingestellten Gewichten und entprechend den Übertragungsfunktionen, wobei die Klassifikationsentscheidung i.a. von der zugeordneten Klasse desjenigen Neuros oberster Ebene abgeleitet wird, das den höchsten Ausgangswert liefert.

Nachteil dieser konventionellen Neuronalnetze ist die Vielzahl zu realisierender Multiplikationen beim Klassifizieren; zur Beschleunigung wurden aufwendige spezielle Hardwarestrukturen entwickelt.

Dieser Nachteil wird umgangen durch die sog. gewichtslosen Neuronalnetze, bei denen Übertragungsfunktionen von Neuronen direkt über Tabellen realisiert werden. Die Tabellierung kann technisch direkt in Form eines Look-Up-Tabellen-("LUT")-Bausteins realisiert sein; einzelne oder mehrere LUTs zusammengefaßt können als Speicher oder Speicherbereich realisiert sein, wobei der Speicher natürlich als RAM, ROM, PROM, externer Speicher etc. realisiert sein kann.

Solche gewichtslose Neuronalnetze allgemein werden im folgenden kurz RAM-Netze genannt.

Mit RAM-Netzen wurde vielfach versucht, die Funktion konventioneller Neuronalnetze, mit Gewichtungen, direkt nachzuvollziehen. Dies führt in aller Regel zu Adreßbreiten-Problemen und ist deshalb nicht der Ansatz der hier vorgestellten Erfindung.

Mehrschichtige Netze, sowohl als konventionelle als auch als RAM-Netze, können als hierarchische Systeme angesehen werden, insbesondere wenn sie in Pyramidenform realisiert sind. Sie haben den Nachteil der mangelnden Transparenz: die Wirkung der einzelnen eingestellten Gewichte ist nicht verständlich; es ist keine anschauliche Interpretation möglich, es ist nicht nachvollziehbar, wieso beim Klassifizieren eine bestimmte Entscheidung zustandegekommen ist. Im Falle von Fehlentscheidungen bleibt nur die Möglichkleit, mit "Nachteachen" den Fehler zu beseitigen zu versuchen. Voraussagen über das Verhalten des Netzes unter bestimmten Bedingungem sind so gut wie ausgeschlossen, damit sind solche Systeme z.B. für Sicherheitsanwendungen nicht einsetzbar.

Es gibt auch RAM-basierte Neuronalnetze, eine Sonderform davon sind RAM-Pyramiden. RAM-Pyramiden sind hierarchische, sich nach oben verjüngende RAM-Netze.

Eine Übersicht über RAM basierte Neuronalnetze erhält man aus

  • T.B. Ludermir, A. de Carvalho, A.P. Braga, M.C.P. de Souto: Weightless Neural Models: A Review of Current and Past Works. Neural Computing Surveys 2, 1999, S. 41–61.
  • http://www.scsi.berkeley.deu/~jagota/NCS
  • J. Austin: RAM Based Neural Networks, A Short History. in J. Austin (ed): RAM Based Neural Networks. World Scientific Publishing Co. Pte Ltd. Singapore, 1998, pp. 3–17.

Für Klassifikationsaufgaben mit überwachtem Lernen existiert nach bekannter Technik für jede Klasse eine separate Pyramide.

Das Problem der Handhabung von Grauwerten wurde mit speziellen Codes, "1-aus-n" oder "Thermometercode", die eine analoge Interpretation zulassen, angegangen. Diese Ansätze benötigen viel Speicherplatz.

Aus "R.L. de Queiroz, P. Stei: LUT Filters for Quantized Processing of Signals, IEEE Transactions on Signal Processing, Vol. 52, No. 3, März 2004, ist eine RAM-Pyramide für Filteraufgaben (Bildverbesserung) bekannt, mit der diverse traditionelle Filter angenähert werden, mit gegenüber traditionellen Filtern jedoch wesentlich geringerem Aufwand.

In EP 1 225 543 A2, von denselben Autoren, wird die Möglichkeit des Klassifizierens von Pixeln mit Labels erwähnt wie "Kante" oder "Hintergrund" (Abschnitt [0022]), es wird jedoch nichts darüber offengelegt, ob und wie ein überwachtes Lernen durch Vorzeigen von Klassen erfolgen soll.

Aufgabe der Erfindung ist es, eine wirksame, robuste und dennoch zeiteffiziente, leicht technisch zu realisierende Architektur und zugehörige Lern- und Erkennungsverfahren zur Verfügung zu stellen, wobei eine anschauliche Interpretation der Entscheidungsfindung möglich ist.

Die Aufgabe wird nach Ansprüchen 1 und 2 gelöst.

Vor Beschreibung der Lösung werden einige im folgenden verwendete Begriffe festgelegt. Die Beschreibung geschieht anhand eines Beispiels aus der Bildauswertung; die Übertragung auf eindimensionale oder mehr als zweidimensionale Daten/Signale ergibt sich daraus für den Fachmann selbstredend.

Bereich: Ein Bild bestehe aus separaten oder überlappend liegenden Bereichen, die dadurch ausgezeichnet sind, daß die Bildauswertung innerhalb eines Bereichs gleichartig ist, von Bereich zu Bereich jedoch unterschiedlich sein kann. Beispielsweise könnte zur Verarbeitung der oberen zwei Drittel eines Bildes ein erstes RAM-Netz verwendet werden, und zur Verarbeitung der (überlappenden) unteren zwei Drittel ein zweites RAM-Netz. Alles folgende bezieht sich zur Vereinfachung der Beschreibung nur auf einen einzelnen Bereich.

Region: Eine Region ist eine Untermenge eines Bereichs, die Eingangsdaten für ein RAM-Netz liefert. Beispielsweise kann ein lokaler Operator zur Detektion von kleinen Kreismustern durch ein RAM-Netz realisiert werden, wobei der Operator, wie bei lokalen Operatoren der Bildverarbeitung üblich, über den Bereich hinweggeführt wird; hierbei könnte das RAM-Netz für solche Positionen signalisieren ("feuern"), wenn das Kreismuster zentral im Operator liegt. Eine Region kann auch durch Unterabtastung eines Bereiches entstehen. Eine Region kann natürlich auch identisch mit einem Bereich sein.

Das folgende Beispiel arbeitet mit einer Region 2 von 9x9 Pixeln 1. Diese Region 2 wird nun hierarchisch zerlegt in Subregionen. Dabei werden je drei horizontal benachbarte Pixel 1 zusammengefasst zu Subregionen 3 mit 3x1 Pixeln, je drei vertikal benachbarte Subregionen 3 werden zusammengefasst zu Subregionen 4 mit 3x3 Pixeln, je drei horizontal benachbarte Subregionen 4 werden zusammengefasst zu Subregionen 5 mit 9x3 Pixeln, je drei vertikal benachbarte Subregionen 5 werden zusammengefasst zur Region 2 mit 9x9 Pixeln, siehe 1.

Diese Zerlegung wird nun auf eine Struktur mit Look-Up-Tabellen abgebildet entprechend 2:

Die Pixel-Grauwerte seien mit 6 Bit aufgelöst und werden durch LUTs 11 auf 4 Bit-Ausgangswerte 12 reduziert.

Je drei horizontal benachbarte Werte 12, entsprechend einer Subregion 3, werden zu 3×4=12-Bit zusammengefasst und bilden 12-Bit-Adressen für LUTs 13 mit 4-Bit Ausgängen 14.

Je drei vertikal benachbarte Werte 14, entsprechend einer Subregion 4, werden zu 3×4=12-Bit zusammengefasst und bilden 12-Bit-Adressen für LUTs 15 mit 4-Bit Ausgängen 16.

Je drei horizontal benachbarte Werte 16, entsprechend einer Subregion 5, werden zu 3×4=12-Bit zusammengefasst und bilden 12-Bit-Adressen für LUTs 17 mit 4-Bit Ausgängen 18.

Je drei vertikal benachbarte Werte 18, entsprechend Region 2, werden zu 3×4=12-Bit zusammengefasst und bilden 12-Bit-Adressen für LUT 19 mit 8-Bit Ausgang 20.

Die gezeigte Anordnung entpricht einer Pyramide, unten beginnend mit einem 9x9-Feld von Pixeln und oben endend mit einem einzelnen Ausgangswert 20, dem Ergebniswert. Sie kann auch RAM-Pyramide genannt werden.

Die gezeichneten Bitbreiten sind als Beispiel zu verstehen. Die Bitbreiten können insbesondere von Stufe zu Stufe variieren, sie können auch von LUT zu LUT variieren (d.h. je nach Position innerhalb von Subregionen). Die LUT-Inhalte sind in aller Regel von Stufe zu Stufe verschieden. Wenn sowohl Bitbreiten als auch LUT-Inhalte innerhalb je einer Stufe überall gleich sind, sprechen wir im folgenden von stufenhomogenen (RAM-)Netzen oder (RAM-)Pyramiden.

Das Lernen bedeutet füllen der LUTs mit Werten; das Lernen wird weiter unten beschrieben. Zunächst wird das Erkennen und Klassifizieren beschrieben, wobei vorausgesetzt wird, dass das Lernen bereits stattgefunden hat.

Erkennen und Klassifizieren:

Erkennen bedeutet:

  • – Anlegen der Regionendaten an den Adreßeingängen der LUTs 11 (unterste Stufe)
  • – Lesen und Verknüpfen der LUT 11-Ausgänge zu Adreßeingängen der LUTs 13
  • – Lesen und Verknüpfen der LUT 13-Ausgänge zu Adreßeingängen der LUTs 15, etc.
  • ...
  • – Lesen des LUT 19 Ausgangs 20.

Anmerkung: Stufenhomogene Pyramiden sind sehr speichereffizient realisierbar, da die RAM-Ausgänge unterer Stufen von den Eingängen oberer Stufen mehrfach genutzt werden können für verschiedene Subregionen gleicher Stufe. Lokale, über einen Bereich bewegliche Operatoren, wie z.B. der oben beschriebene Kreisdetektor, sind als stufenhomogene Pyramiden besonders zeiteffizient realisierbar, da die RAM-Ausgänge unterer Stufen von den Eingängen oberer Stufen zudem mehrfach genutzt werden können für verschiedene Positionen des lokalen Operators.

Der LUT 20 Ausgang hat im Beispiel 8 Bit, entprechend 256 möglichen Werten 0..255. Beim Lernen wurden diese Werte als Codes für typische Muster-Erscheinungsformen festgelegt, s.u. (genauso sind die möglichen Werte der Ausgänge 11, 13, 15, 17 Codes für typische Erscheinungsformen der betreffenden Subregionen). Erkennungsergebnis ist also der Code (die Nummer) der typischen Erscheinungsform der aktuellen Regionendaten.

Klassifizieren: Jedem dieser möglichen LUT 19-Werte 0..255 kann nun im Rahmen des Lernens eine Klasse zugeordnet worden sein, z.B. bei einem Zwei-Klassen-Problem:

  • Wert 0: Klasse 1
  • Wert 1: Klasse 1
  • Wert 2: Klasse 2
  • Wert 3: Klasse 1
  • ...
  • Wert 255: Klasse 2

Ergebnis der Klassifikation ist dann die Klasse zu dem aktuell berechneten LUT 20 Ausgangswert.

Lernen:

Im folgenden wird ein mögliches Vorgehen für das Lernen beschrieben, zur Vereinfachung der Darstellung anhand einer stufenhomogenen Lösung zu unserem Beispiel.

Das Lernen geschieht anhand einer Sammlung von (für Klassifikationsaufgaben vorklassifizierten) Lernregionen, in einer oder zwei Phasen:

In Phase 1 geschieht das Lernen stufenweise von unten nach oben, jeweils mit einer Clusteranalyse. Bei der Beschreibung von Phase 1 werden die zentralen Begriffe "Repräsentant" und "Assoziation" eingeführt.

Phase 2, auch Backpropagation Phase genannt, kann bei Klassifikationsaufgaben in schwierigen Fällen erforderlich werden.

Lernen Phase 1:

LUT 11 soll ersichtlich einzelne Grauwerte codieren: mit 6 Bit Eingängen und 4 Bit Ausgängen sollen also 64 mögliche Grauwerte durch nur 16 mögliche Codes dargestellt werden. Bevorzugt wird nun eine (eindimensionale) Clusteranalyse für bis zu 16 Clusterzentren Nr. 0..15 durchgeführt.

Clusterzentrum Nr. 0 sei z.B. der Grauwert 63, Clustzerzentrum Nr. 1 der Grauwert 17, etc.

Die LUT 11 wird nun an den Clusterzentrums-Grauwerten mit der Nummer des Clusterzentrums gefüllt, also an Adresse "63" mit Code "0", an Adresse "17" mit Code "1" etc.

Die verbleibenden der 64 Adressen werden mit dem Code des nächstliegenden, im vorherigen Schritt bereits codierten Grauwerts gefüllt.

Erfindungsgemäß wird LUT 11 um eine weitere, rückwärts zu interpretierende LUT 11a erweitert. LUT 11a hat 16 mögliche Eingangswerte mit je einem 6-Bit Ausgangswert. Die LUT 11a wird für Adresse "0" mit "63" beschrieben, für Adresse "1" mit "17", etc. Lut 11a ist die sog. Repräsentantentabelle: "63" ist Eingangs-Repräsentant zum Ausgangswert "0", etc.

Ein Repräsentant zu einem Ausgangscode ist also ein TYPISCHER Eingangscode zu diesem Ausgangscode. Der Repräsentant besteht aus Komponenten entprechend der Zusammensetzung des Eingangscodes aus Ausgangscodes eine Stufe tiefer.

Das Lernen der darüber liegenden LUT 13 kann in prinzipiell derselben Weise geschehen. Nachdem LUT 11 und LUT 11a gefüllt sind, wird anhand der Lernregionen eine Clusteranalyse real vorkommender Subregionen 2 durchgeführt. Diese Analyse geschieht nun bereits unter Rückgriff auf die Repräsentanten LUT 11a: Eine Eingangsadresse von LUT 13 wird ersetzt durch drei entprechende Ausgangscodes von LUT 11, und diese werden durch ihre Repräsentanten aus LUT 11a ersetzt. So entsteht ein 3x1 Grauwertmuster, das Assoziation genannt wird.

Allgemein ist eine Assoziation eine Region oder Subregion mit typischen Daten auf dem Niveau der Eingabedaten, (hier: Grauwerten), die einem Ausgangswert zugeordnet werden kann.

Die Assoziation zu einem Ausgangswert (z.B. von Ausgang 20 in 2) entsteht also wie folgt: Ersetze den Ausgangscode durch den Repräsentanten, also 34-Bit-Eingangscodes, ersetze (rekursiv) diese wieder durch ihre je 3 Repräsentanten, etc. bis hinab zu den repräsentativen Grauwerten. Unter Berücksichtigung der geometrischen Anordnung 1 zur Verknüpfungsstruktur 2 entsteht so eine bildhafte Assoziation zum ursprünglichen Ausgangswert.

Bei der Clusteranalyse wird als Entfernungsmass zwischen möglichen Eingabedaten/Clusterzentren ein Unähnlichkeitsmass zwischen betreffenden Assoziationen herangezogen (z.B. einfach die Summe der absoluten Grauwertdifferenzen).

Wenn genau das gleiche Teil-Lernmuster zweimal eingegeben wurde, taucht es als mögliche Assoziation nur einmal auf. Das gleiche gilt bei ähnlichen Mustern mit gleichen Assoziationen. Hei der Clusteranalse ist die Anzahl der durchzuführenden Assoziations-Vergleiche also entsprechend der Kapazität der RAM-Pyramide beschränkt und nicht durch eine womöglich riesige Anzahl teilweise sehr ähnlicher Lernmuster gegeben.

Das Lernen geschieht so stufenweise von unten nach oben. Bei LUT 13 und allen folgenden werden zunächst die Clusterzentren berechnet und als Codes vergeben, mit der Repräsentantentabelle als Umkehrung davon, und die verbleibenden Adressen werden entprechend den jeweils nächstliegenden Assoziationen vergeben.

Klassenmengen:

Bei Klassifikationsaufgaben werden die möglichen LUT-Ausgangswerte mit Klassenmengen verknüpft. Nimmt beim Vorzeigen eines Lernmusters der Klasse k eine LUT L den Ausgangswert a an, so wird die Klasse k in die Klassenmenge des Ausgangswertes a von LUT L aufgenommen. Klassenmengen können wie alle Mengen speichereffizient als Bitfolgen gespeichert werden, z.B. für bis zu 32 Klassen als ein 32-Bit-Wort.

Dieser Vorgang kann auch gleich stufenweise beim Lernen Phase 1 realisiert werden: die Klassenmenge zu einem Ausgangswert ist die Schnittmenge der Klassenmengen der Komponenten des betreffenden Repräsentanten.

Eine RAM-Pyramide gilt als klassenrein, wenn bei jedem möglichen Ausgangswert die Klassenmenge maximal eine Klasse umfaßt.

Lernen Phase 2:

Das Lernen Phase 1 ist nicht klassengesteuert, sondern basiert alleine auf Clusterung, es ist also genau genommen ein unüberwachtes Lernen. Dieses Lernen führt dennoch für eine Vielzahl von Fällen selbstätig auf klassenreine Netze.

Ist die RAM-Pyramide nach dem Lernen Phase 1 nicht klassenrein, so werden in einer Art Backpropagation die Stufen, von oben beginnend, umgelernt, wobei nun in das Entfernungsmass zwischen Clustern nicht nur ein Unähnlichkeitsmass der Assoziationen (s.o.), sondern als Klassentrennungsbeitrag auch die Mächtigkeit der Differenzmenge der Klassenmengen eingeht (beispielsweise eine gewichtete Summation mit heuristisch eingestellten Gewichten).

In einem iterativen Prozess, mit zunehmend stark bewertetem Klassentrennungsbeitrag und beginnend bei immer niedrigeren Stufen, kann so auch in vielen schwierigen Fällen eine klassenreine und dennoch sinnvoll clusternde Pyramide erzeugt werden.

Fehlermasse:

Beim Erkennen kann optional ein Fehlermass berechnet werden, das z.B. für eine Rückweisung herangezogen werden kann. Fehlermasse für jeden Eingangscode werden beim Lernen vorab in parallelen LUTs abgelegt als Unterschied zwischen der Assoziation zum Eingangscode und der Assoziation des Repräsentanten des zum Eingangscode tabellierten Ausgangscode. Diese Fehler werden beim Erkennen einfach aufsummiert, es brauchen keine Assoziationen berechnet zu werden.

Damit benötigt die Berechnung von Fehlermassen zusätzlich zu jedem Table-Look-Up nur einen weiteren Table-Look-Up plus eine Summation.

Diese Fehlermasse sind nicht zu verwechseln mit den "Unbekannt"-Angaben bei PLNs (s.o.), die von (klassenspezifischen)-Häufigkeiten beim Lernen abgeleitet werden. Solche Häufigkeitsbetrachtungen können natürlich zusätzlich in die Clusteranalyse einbezogen werden.

Hardwareumsetzuung:

3 zeigt ein Kernelement einer Hardwarestruktur zur Realisierung eines solchen RAM-Netzes für unser Beispiel.

Das Kernelement realisiert die Berechnung eines Bereichs (s.o.) für eine LUT-Stufe einer stufenhomogenen RAM-Pyramide. Zu Anfang befinden sich die (Bild-)Daten in RAM 52. Nach Abschluß befinden sich die für diese Stufe bearbeiteten Daten in RAM 53.

Zur Vereinfachung der Darstellung sind die Daten-Ein- und -Ausgänge der RAMs getrennt gezeichnet. Ein (ggf. zyklisch laufender) Adreßzähler 51 adressiert die beiden RAMs 52 und 53. Entprechend der Adreßzählung, im Bild z.B. zeilenweise, werden die gelesenen Daten in ein Schieberegister 54 mit zwei Schieberegisterpuffern 541 und drei Ausgängen geschoben. Die Ausgangsdaten adressieren ein weiteres RAM 55, das LUT-RAM, dessen Ausgangsdaten in RAM 53 geschrieben werden.

Dieses Kernelement kann nun stufenweise im Ping-Pong-Betrieb oder als Wechselpuffer betrieben werden (schaltungstechnische Modifikationen hierzu sind gängige Technik und werden nicht einzeln ausgeführt) oder es können zur Parallelisierung mehrere solcher Kernelemente hintereinander als Pipeline geschaltet werden. Mit zunehmender Stufe können dabei die Adreßinkremente größer werden. Im Ping-Pong- oder Wechselpuffer-Betrieb wird das LUT-RAM über den "Stufe"-Adreßeingang umgeschaltet, ebenso beim Übergang von einem Bereich auf einen anderen.

Die Schieberegisterpuffer 541 können als zyklisch durchlaufenes RAM realisiert werden. Die Länge der Schieberegisterpuffer ist von Stufe zu Stufe unterschiedlich und durch die Verknüpfungsstruktur und das Format des bearbeiteten Bilds gegeben.

Die hierfür erforderlichen Steuereingänge sind nicht gezeichnet. Eine parallel laufende Fehlerberechnung ist nicht eingezeichnet. Einzelheiten wie die Ausblendung von Randbereichen (wegen wrap around Effekten) sind nicht gezeichnet.

Vorteile:

Da zum Erkennen lediglich eine Reihe von Speicher-Lesezyklen erforderlich ist, erreicht man eine sehr hohe Erkennungsgeschwindigkeit. Dies gilt ganz besonders bei stufenhomogenen RAM-Netzen, wie oben erläutert. Zudem ist das System mit relativ geringem Aufwand als Hardware realisierbar, insbesondere sind keine Multiplizierer erforderlich. Damit erreicht man leistungsfähige, extrem schnelle und dennoch preiswerte Erkennungssysteme.

Wesentlich ist zudem die Transparenz des Systems: Aufgrund der hierarchisch organisierten Struktur von Assoziationen ist die interne Wirkungsweise des Systems jederzeit nachvollziehbar. Da die Eingangsbitbreite der LUTs jeweils die Ausgangsbitbreite übersteigt, findet in jeder Stufe eine Informationskomprimierung statt, und diese kann anschaulich interpretiert werden. Das Verhalten eingelernter Systeme ist auch im voraus berechenbar; damit sind solche Systeme grundsätzlich auch für sicherheitsrelevante Anwendungen denkbar. Diese Vorteile stehen in massivem Gegensatz zu konventionellen Neuronalnetzen.

Das Problem der Handhabung von Grauwerten und analogen Zwischenwerten ist speicherplatzsparend bei binärer Codierung gelöst, ohne auf spezielle Codes ("1-aus-n", "Thermometercode") zurückgreifen zu müssen.

Die RAM-Pyramide besitzt mehrere Informationsbits (s.o., plus ggf. eine Sicherheitsangabe) pro LUT, was die Mächtigkeit des Systems gegenüber bisher bekannten Ansätzen mit 1 Informationsbit grundsätzlich massiv erhöht.

Für Klassifikationsaufgaben genügt eine einzige Pyramide (bisher wird pro Klasse eine separate Pyramide verwendet), klassengemeinsame Unterstrukturen müssen jeweils nur einmal gespeichert/adressiert werden.

Natürlich können als Eingangsdaten nicht nur Originaldaten, sondern auch vorverarbeitete Daten verwendet werden, z.B. geglättete Daten.

Die Verknüpfungen müssen nicht streng stufenweise realisiert sein; die Codes müssen nur von unten nach oben fortschreitend berechenbar sein.

Natürlich beziehen sich sämtliche, anhand von Bildern durchgeführten Erläuterungen, sinngemäß auch auf andere, insbesondere eindimensionale Signale.

Weitere Anwendungen:

Eine alternative Anwendung eines solchen Systems betrifft die Anwendung als Assoziativspeicher, wobei die Assoziationen wie oben beschrieben gebildet werden. Solch ein Assoziativspeicher kann z.B. eingesetzt werden, um mittels lokaler Operatoren, wie oben beschrieben, Störungen in Bildern zu verringern, indem gestörte Bildregionen als fehlerfreie Assoziationen rekonstruiert werden.

Eine weitere alternative Anwendung eines solchen Systems betrifft eine komprimierende Codierung und Dekomprimierung. Vorab werden beispielsweise lokale Operatoren eingelernt, wie oben geschildert. Zum Codieren werden auf das Originalbild (bzw. über das eindimensionale Originalsignal) diese Operatoren im Erkennungsmodus angewendet und es werden nur Ausgangswerte des Erkenners ausgegeben, vorzugsweise an Stellen mit kleinen Fehlermassen. Zum Dekomprimieren werden zu den Werten die Assoziationen berechnet und aus solchen Assoziationen wird das Originalbild (bzw. Originalsignal) rekonstruiert.

Schlußbemerkung:

Die RAM-Pyramiden können generell direkt in Hardware realisiert sein (Hardware-realisierte RAM-Pyramide) oder auf einem Rechner realisiert sein, wobei die LUTs als Teile des Arbeitsspeichers des Rechners oder von externen Speichern des Rechners realisiert sind (Rechner-Realisierte RAM-Pyramide). Wie bei anderen Realisierungsfragestellungen sind auch hier Mischformen möglich.


Anspruch[de]
  1. Lernverfahren für Klassifikationsaufgaben, für eine Hardware-realisierte oder Rechner-realisierte RAM-Pyramide mit hierarchischer Verknüpfung von Look-Up-Tabellen,

    wobei Ausgangsbits je mehrerer Look-Up-Tabellen einer niederen Stufe zu Eingangsbits einzelner Look-Up-Tabellen höherer Stufe zusammengefaßt werden,

    wobei die Look-Up-Tabellen mindestens je 2 Informations-Ausgangsbits besitzen,

    wobei die Look-Up-Tabellen ergänzt sind durch je eine zweite, Hardware- oder Rechner-realisierte Look-Up-Tabelle, in der zu möglichen Ausgangswerten ein repräsentativer Eingangswert eingetragen ist, der aus Komponenten entprechend der Zusammenfassungsstruktur der RAM-Pyramide besteht,

    wobei über die zweiten Look-Up-Tabellen Assoziationen berechnet werden,

    wobei die Ausgangswerte der Look-Up-Tabellen clusterweise gebildet werden,

    dadurch gekennzeichnet, daß

    den Ausgangswerten Klassenmengen zugeordnet werden, und zur Clusterung ein Entfernungsmass verwendet wird, in das neben einem Unähnlichkeitsmass zwischen Assoziationen die Mächtigkeit der Differenzmenge von Klassenmengen eingeht.
  2. Hardware-realisierte RAM-Pyramide mit hierarchischer Verknüpfung von Look-Up-Tabellen, wobei Ausgangsbits je mehrerer Luts einer niederen Stufe zu Eingangsbits einzelner LUTs höherer Stufe zusammengefasst werden,

    wobei die Look-Up-Tabellen mindestens je 2 Informations-Ausgangsbits besitzen,

    dadurch gekennzeichnet,

    daß ein Schieberegister (54) mit mehreren zusammengefaßten Anzapfungen eine Look-Up-Tabelle (55) adressiert.
Es folgen 3 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com