DE102004060132B4 - Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid - Google Patents
Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid Download PDFInfo
- Publication number
- DE102004060132B4 DE102004060132B4 DE200410060132 DE102004060132A DE102004060132B4 DE 102004060132 B4 DE102004060132 B4 DE 102004060132B4 DE 200410060132 DE200410060132 DE 200410060132 DE 102004060132 A DE102004060132 A DE 102004060132A DE 102004060132 B4 DE102004060132 B4 DE 102004060132B4
- Authority
- DE
- Germany
- Prior art keywords
- look
- tables
- ram
- pyramid
- implemented
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
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.Learning method for classification tasks, for a hardware-implemented or computer-implemented RAM pyramid with hierarchical linking of look-up tables,
wherein output bits of each of a plurality of low-level look-up tables are combined to input bits of individual higher-level look-up tables,
wherein the look-up tables have at least 2 information output bits each,
wherein the look-up tables are supplemented by a respective second, hardware or computer-implemented look-up table, in which possible output values a representative input value is entered, which consists of components corresponding to the summary structure of the RAM pyramid,
whereby associations are calculated via the second look-up tables,
wherein the initial values of the look-up tables are formed cluster-wise,
characterized in that
For the clustering, a distance measure is used in which, in addition to a dissimilarity measure between associations, the power of the difference set of class sets is included.
Description
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.The Invention relates to a classifier, recognizer and associative memory, the for Tasks of pattern recognition and (lossy) signal compression / decompression can be used, as well as methods for forming associations with Such a system and for learning such a system and to recognize and classify with such a 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.
- Comparison with pre-classified reference patterns, original data or, whatever, preprocessed or coded data,
- Statistical methods, based on the class-specific distribution of given features in a multi-dimensional feature space,
- - Neural Networks.
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.conventional Neuronal networks are i.a. multilayer linkages of neurons with i.a. ever several entrances and an exit. The neurons are i.a. modeled as weighted Summation, followed by a nonlinear, i.a. monotone ("sigmoid") transfer function, especially a simple thresholding. The learning exists in determining the weights and, if necessary, the parameters of the sigmoid Function, i. for simple threshold functions of the threshold value.
Zum Lernen existieren ausgefeilte Backpropagation-Methoden zum Finden der Gewichtseinstellungen.To the There are sophisticated backpropagation methods to find the weight settings.
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.The Classification consists in (layerwise) calculation of the outputs (with Multiplications) according to the set weights and accordingly the transfer functions, the classification decision i.a. from the assigned class derives from that neuros of the highest level, which has the highest initial value supplies.
Nachteil dieser konventionellen Neuronalnetze ist die Vielzahl zu realisierender Multiplikationen beim Klassifizieren; zur Beschleunigung wurden aufwendige spezielle Hardwarestrukturen entwickelt.disadvantage This conventional neural network is the variety to be realized Multiplication in classifying; to speed up were elaborate special Hardware structures developed.
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.This Disadvantage is bypassed by the so-called weightless neural networks, where transfer functions of neurons directly over Tables are realized. The tabulation can be technically direct implemented in the form of a look-up table ("LUT") block be; single or multiple LUTs can be grouped together as memory or memory area be realized, the memory of course as RAM, ROM, PROM, external Memory etc. can be realized.
Solche gewichtslose Neuronalnetze allgemein werden im folgenden kurz RAM-Netze genannt.Such In the following, weightless neural networks generally become RAM networks called.
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.With RAM networks have been tried many times, the function of conventional Neural networks, with weights, to be directly traced. This usually leads about address space issues and is therefore not the approach of the invention presented here.
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.multilayer Networks, both conventional and RAM networks, can be described as hierarchical systems are considered, especially if they are in Pyramid shape are realized. You have the disadvantage of lacking Transparency: the effect of each set weight is not understandable; no intuitive interpretation is possible, it is incomprehensible, why a certain decision was made when classifying is. In case of wrong decisions, only the possibility remains with "Nachteachen" to eliminate the error to try. Predictions about the behavior of the network under certain conditions is so good as excluded, such systems are e.g. for security applications Not insertable.
Es gibt auch RAM-basierte Neuronalnetze, eine Sonderform davon sind RAM-Pyramiden. RAM-Pyramiden sind hierarchische, sich nach oben verjüngende RAM-Netze.It There are also RAM-based neural networks that are a special form of it RAM pyramids. RAM pyramids are hierarchical, upwardly tapering RAM networks.
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.
- TB Ludermir, A. de Carvalho, AP Braga, MCP de Souto: Weightless Neural Models: A Review of Current and Past Works. Neural Computing Surveys 2, 1999, pp. 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. Singapore, 1998, pp. 3-17.
Für Klassifikationsaufgaben mit überwachtem Lernen existiert nach bekannter Technik für jede Klasse eine separate Pyramide.For classification tasks with monitored Learning exists by known technique for each class a separate Pyramid.
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.The Problem of handling gray values was using special codes, "1-out-of-n" or "thermometer code", which is an analogue Allow interpretation, tackled. These approaches take up a lot of storage space.
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.From RL de Queiroz, P. Stei: LUT Filters for Quantized Processing of Signals, IEEE Transactions on Signal Processing, Vol. 52, No. 3, March 2004, a RAM pyramid for filtering tasks (image enhancement) is known, with the various traditional filters be approximated, with respect to traditional filters but much less effort.
In
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.task It is an object of the invention to provide an effective, robust and yet time-efficient easy to implement architecture and related learning and Detection method available providing a vivid interpretation of decision-making possible is.
Die Aufgabe wird nach Ansprüchen 1 und 2 gelöst.The Task becomes according to claims 1 and 2 solved.
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.In front Description of the solution some terms used below are defined. The description happens on the basis of an example from the picture analysis; the transfer to one-dimensional or more than two-dimensional data / signals for that the expert of course.
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.Area: An image consists of separate or overlapping areas, which are characterized in that the image evaluation within a Area is different, but different from area to area can be. For example, could to process the top two-thirds of a picture a first RAM network can be used, and for processing the (overlapping) lower two-thirds of a second RAM network. Everything that follows relates to simplify the description only to a single area.
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.Region: A region is a subset of a region, the input data for a RAM network supplies. For example, a local operator for detection be realized by small circular patterns through a RAM network, wherein the operator, as usual with local image processing operators, over the Area away becomes; this could be RAM network for such positions signal ("fire") when the circle pattern is centrally located in the operator. A region can also be created by subsampling an area. A region can of course also be identical to an area.
Das
folgende Beispiel arbeitet mit einer Region
Diese
Zerlegung wird nun auf eine Struktur mit Look-Up-Tabellen abgebildet
entprechend
Die Pixel-Grauwerte
seien mit 6 Bit aufgelöst
und werden durch LUTs
The pixel gray values are resolved with 6 bits and are given by LUTs
Je
drei horizontal benachbarte Werte
Je
drei vertikal benachbarte Werte
Je
drei horizontal benachbarte Werte
Je
drei vertikal benachbarte Werte
Die
gezeigte Anordnung entpricht einer Pyramide, unten beginnend mit
einem 9x9-Feld von Pixeln und oben endend mit einem einzelnen Ausgangswert
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.The drawn bit widths are to be understood as an example. The bit widths can especially vary from stage to stage, they can also vary from LUT to LUT (i.e., depending on position within subregions). The LUT content are usually different from level to level. If both Bit widths as well as LUT contents within one level are the same everywhere In the following, we will talk about step-homogeneous (RAM) networks or (RAM) pyramids.
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.The Learning means filling the LUTs with values; learning is described below. At first that will be Recognizing and classifying, assuming that the learning has already taken place.
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 LUTs13 - – Lesen
und Verknüpfen
der LUT
13 -Ausgänge zu Adreßeingängen der LUTs15 , etc. - ...
- – Lesen
des LUT
19 Ausgangs20 .
Recognition means:
- - Create the region data to the address the LUTs
11 (lowest level) - - Reading and linking the LUT
11 Outputs to address inputs of the LUTs13 - - Reading and linking the LUT
13 Outputs to address inputs of the LUTs15 , Etc. - ...
- - reading the LUT
19 output20 ,
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.Annotation: Step-homogeneous pyramids are very memory-efficient, because the RAM outputs lower levels from the entrances upper Steps can be used multiple times for different Subregions of equal degree. Local, movable over a range Operators, such as The above-described circular detector is known as step homogeneous pyramids particularly time-efficient feasible, since the RAM outputs lower levels from the entrances upper levels can also be used multiple times for different positions of the local operator.
Der
LUT
Klassifizieren:
Jedem dieser möglichen
LUT
- Wert 0: Klasse 1
- Wert 1: Klasse 1
- Wert 2: Klasse 2
- Wert 3: Klasse 1
- ...
- Wert 255: Klasse 2
- Value 0: Class 1
- Value 1: Class 1
- Value 2: Class 2
- Value 3: Class 1
- ...
- Value 255: class 2
Ergebnis
der Klassifikation ist dann die Klasse zu dem aktuell berechneten
LUT
Lernen:Learn:
Im folgenden wird ein mögliches Vorgehen für das Lernen beschrieben, zur Vereinfachung der Darstellung anhand einer stufenhomogenen Lösung zu unserem Beispiel.in the the following becomes a possible Procedure for described the learning, to simplify the presentation to a step homogeneous solution our example.
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.The learning takes place on the basis of a collection of (pre-classified for classification tasks) learning regions, in one or two phases:
In Phase 1, learning happens step-by-step from the bottom up, each with a cluster analysis. The description of phase 1 introduces the central terms "representative" and "association".
Phase 2, also called backpropagation phase, may be required for classification tasks in difficult cases.
Lernen Phase 1:Learning Phase 1:
LUT
Clusterzentrum
Nr. 0 sei z.B. der Grauwert 63, Clustzerzentrum Nr. 1 der Grauwert
Die
LUT
Die verbleibenden der 64 Adressen werden mit dem Code des nächstliegenden, im vorherigen Schritt bereits codierten Grauwerts gefüllt.The remaining of the 64 addresses will be with the code of the nearest, filled in the previous step already coded gray value.
Erfindungsgemäß wird LUT
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.One representative an output code is therefore a TYPICAL input code for this output code. The representative consists of components according to the composition of the input code from exit codes one step lower.
Das
Lernen der darüber
liegenden LUT
Allgemein ist eine Assoziation eine Region oder Subregion mit typischen Daten auf dem Niveau der Ein gabedaten, (hier: Grauwerten), die einem Ausgangswert zugeordnet werden kann.Generally is an association of a region or subregion with typical data at the level of the input data, (here: gray values), which is an initial value can be assigned.
Die
Assoziation zu einem Ausgangswert (z.B. von Ausgang
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).at The cluster analysis is used as a measure of distance between possible Input data / cluster centers a dissimilarity between respective associations (e.g., simply the sum of the absolute gray value differences).
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.If exactly the same part-learning pattern was entered twice, emerges it as a possible association only once. The same applies to similar patterns with the same Associations. Hei of the cluster analysis is the number of association comparisons to be performed So according to the capacity the RAM pyramid limited and not by one possibly huge number partly very similar Given learning patterns.
Das
Lernen geschieht so stufenweise von unten nach oben. Bei LUT
Klassenmengen:Class amounts:
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.at Classification tasks will include the possible LUT output values Linked to class sets. When presenting a learning pattern of class k takes a LUT L the Output value a, the class k will be in the class set of Output value a of LUT L recorded. Class sets can be like all sets are stored efficiently as bit strings, e.g. For up to 32 classes as a 32-bit word.
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.This The process can also be realized step by step during learning phase 1 The class set to an initial value is the intersection the class sets of components of that representative.
Eine RAM-Pyramide gilt als klassenrein, wenn bei jedem möglichen Ausgangswert die Klassenmenge maximal eine Klasse umfaßt.A RAM pyramid is considered class clean, if at every possible Output value the class set comprises at most one class.
Lernen Phase 2:Learning 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.The Learning Phase 1 is not class-driven, but based alone on clustering, so it's strictly an unsupervised one Learn. This learning leads nevertheless for a variety of cases selbstätig on class-pure networks.
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).is the RAM pyramid after learning Phase 1 not class clean, so will be in a kind of back propagation the steps, starting from the top, re-learned, where now in the distance measure between clusters not only one dissimilarity of associations (see above), but also as a class separation contribution the power the difference set of the class sets is received (for example, a weighted summation with heuristically adjusted weights).
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.In an iterative process, with an increasingly highly rated class separation contribution and starting at ever lower levels, so too can in many difficult cases creates a class-pure, yet meaningfully clustered pyramid become.
Fehlermasse:Error Mass:
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.At the Optionally, an error metric may be calculated, e.g. for one rejection can be used. Error ground for each input code when learning in advance stored in parallel LUTs as difference between the Association to the input code and the association of the representative of the output code tabulated to the input code. These mistakes will be simply summed up on detection, it does not need any associations to be calculated.
Damit benötigt die Berechnung von Fehlermassen zusätzlich zu jedem Table-Look-Up nur einen weiteren Table-Look-Up plus eine Summation.In order to needed the calculation of error conditions in addition to each table look-up just another table look-up plus a 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.These Error masses should not be confused with the "unknown" values in PLNs (s.o.), which are of (class-specific) frequencies derived during learning. Of course, such frequency considerations can also be found in the cluster analysis will be included.
Hardwareumsetzuung:Hardwareumsetzuung:
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
Zur
Vereinfachung der Darstellung sind die Daten-Ein- und -Ausgänge der RAMs getrennt gezeichnet.
Ein (ggf. zyklisch laufender) Adreßzähler
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.This Core element can now step by step in ping-pong operation or as an exchange buffer operated (circuitry modifications to this are common Technique and are not carried out individually) or it can to Parallelization of several such core elements in a row as Pipeline to be switched. With increasing level can do it the address increments grow. In ping-pong or swap-buffer operation, the LUT-RAM is passed through the "stage" address input switched, as well as the transition from one area to another.
Die
Schieberegisterpuffer
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.The therefor required control inputs are not drawn. A parallel error calculation is not located. Details such as the suppression of border areas (because of wrap around effects) are not drawn.
Vorteile:Advantages:
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.There to detect only a series of memory read cycles is required achieved a very high detection speed. This is especially true in step-homogeneous RAM networks, as explained above. In addition, the system with relatively little effort as hardware feasible, in particular no multipliers are required. This achieves powerful, extreme fast yet inexpensive recognition systems.
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.Essential is also the transparency of the system: due to the hierarchical organized structure of associations is the internal mode of action the system understandable at any time. Because the input bit width the LUTs each exceeds the output bit width found in each Stage an information compression instead, and this can be clearly interpreted become. The behavior of taught-in systems can also be calculated in advance; with that, such systems are basically also for Security-relevant applications conceivable. These benefits are in massive contrast to conventional neuronal networks.
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.The Problem of handling gray values and intermediate analog values is memory-saving with binary Coding solved, without resorting to special codes ("1-out-n", "thermometer code") to have to.
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.The RAM pyramid has several information bits (s.o., plus possibly one Safety indication) per LUT, what the power of the system compared to previously known approaches with 1 information bit in principle massively increased.
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.For classification tasks enough a single pyramid (so far, each class will have a separate pyramid used), class-specific substructures must be stored / addressed only once become.
Natürlich können als Eingangsdaten nicht nur Originaldaten, sondern auch vorverarbeitete Daten verwendet werden, z.B. geglättete Daten.Of course, as Input data not only original data, but also preprocessed Data can be used, e.g. smoothed data.
Die Verknüpfungen müssen nicht streng stufenweise realisiert sein; die Codes müssen nur von unten nach oben fortschreitend berechenbar sein.The connections have to not be realized strictly in stages; the codes just have to be calculable progressively from bottom to top.
Natürlich beziehen sich sämtliche, anhand von Bildern durchgeführten Erläuterungen, sinngemäß auch auf andere, insbesondere eindimensionale Signale.Of course, relate all, based on pictures Explanations, mutatis mutandis, too other, in particular one-dimensional signals.
Weitere Anwendungen:Other applications:
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.A alternative application of such a system concerns the application as associative memory, the associations being formed as described above become. Such an associative memory may e.g. be used by means of local operators, as described above, disturbances in Reduce images by distorting image regions as error-free Associations are reconstructed.
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.A Another alternative application of such a system relates to a compressive coding and decompression. For example, beforehand local operators learned, as described above. For coding are applied to the original image (or via the one-dimensional original signal) these operators are applied in detection mode and it will only be Output values of the recognizer output, preferably in places with small error levels. Decompress becomes the values the associations are calculated and from such associations becomes the Original image (or original signal) reconstructed.
Schlußbemerkung:Conclusion:
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.The RAM pyramids can generally be implemented directly in hardware (hardware-implemented RAM pyramid) or be implemented on a computer, the LUTs are realized as parts of the main memory of the computer or external storage of the computer (computer-implemented RAM pyramid). As with other implementation questions, mixed forms are also possible here.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410060132 DE102004060132B4 (en) | 2004-12-13 | 2004-12-13 | Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410060132 DE102004060132B4 (en) | 2004-12-13 | 2004-12-13 | Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004060132A1 DE102004060132A1 (en) | 2006-06-14 |
DE102004060132B4 true DE102004060132B4 (en) | 2006-08-31 |
Family
ID=36500277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200410060132 Expired - Fee Related DE102004060132B4 (en) | 2004-12-13 | 2004-12-13 | Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102004060132B4 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1225543A2 (en) * | 2000-11-28 | 2002-07-24 | Xerox Corporation | HVQ-based filtering method |
-
2004
- 2004-12-13 DE DE200410060132 patent/DE102004060132B4/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1225543A2 (en) * | 2000-11-28 | 2002-07-24 | Xerox Corporation | HVQ-based filtering method |
Non-Patent Citations (4)
Title |
---|
AUSTIN, J.: 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 * |
DE QUEIROZ, R.L.; STEIN, P.A.: LUT filters for quantized processing of signals. In: IEEE Trans- actions on Signal Processing, Volume 52, Issue 3, März 2004, S. 687-693 * |
LUDERMIR, T.B., CARVALHO, A. de, BRAGA, A.P., SOUTO, M.C.P. de: Weightless Neural Models: A Review of Current and Past Works. Neural Compu- ting Surveys 2, 1999, S. 41-61. http://www.scsi. berkeley.deu/ APPROX jagota/NCS * |
LUDERMIR, T.B., CARVALHO, A. de, BRAGA, A.P., SOUTO, M.C.P. de: Weightless Neural Models: A Review of Current and Past Works. Neural Compu- ting Surveys 2, 1999, S. 41-61. http://www.scsi. berkeley.deu/~jagota/NCS |
Also Published As
Publication number | Publication date |
---|---|
DE102004060132A1 (en) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69825196T2 (en) | Image processing method and apparatus | |
DE69125471T2 (en) | Method for automatic distinction between graphic information and text information from image data | |
DE3689062T2 (en) | Method and device for generating high-resolution binary image data. | |
DE19623033C1 (en) | Pattern recognition method using statistical process | |
DE112018004693T5 (en) | IMPROVE THE EFFICIENCY OF A NEURONAL NETWORK | |
DE102019127282A1 (en) | System and method for analyzing a three-dimensional environment through deep learning | |
DE102020133963A1 (en) | Systems and Methods for Image Noise Reduction Using Deep Convoluted Networks | |
EP0523407A2 (en) | Signal classification method | |
DE112019003587T5 (en) | Learning device, operating program of learning device, and operating method of learning device | |
DE112020002186T5 (en) | DNN TRAINING WITH ASYMMETRIC RPU UNITS | |
DE69820148T2 (en) | Process for compression / decompression of image data | |
DE19545776A1 (en) | Graduated display of digitally compressed waveforms | |
DE69123867T2 (en) | Learning process for data processing system | |
WO2008034599A2 (en) | Method and device for image processing | |
DE102004060132B4 (en) | Classification Tasks Learning Procedure and Hardware-Implemented RAM Pyramid | |
EP1525442B1 (en) | Method for analyzing the color deviations in images using an image sensor | |
DE69738363T2 (en) | Coding method for digital information | |
EP0349819A1 (en) | Digital neural network integrated circuit | |
DE112019001959T5 (en) | SEGMENTING IRREGULAR SHAPES IN PICTURES USING DEEP AREA GROWTH | |
DE3917362C2 (en) | Method for reducing visual artifacts due to compression over a transform in medical images | |
DE10048308B4 (en) | Method and device for classifying objects from input image data present as a pixel pattern | |
DE69833836T2 (en) | Method and apparatus for the scaling of images | |
EP0577631B1 (en) | Process for compressing video images | |
DE19834718C2 (en) | Digital image processing for a quality control system | |
DE202022102752U1 (en) | A novel system of stacked parallel convolutional layers with an attentional module for classifying images of diabetic foot ulcers and normal skin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |