-
Die
vorliegende Erfindung schlägt
ein automatisches Verfahren, das auf einem neuronalen Netz-Ensemble
basiert, zum Extrahieren von mehreren, verschiedenartigen und komplementären Sätzen von
nützlichen
Klassifizierungs-Charakteristika aus hochdimensionalen Daten vor.
Der Vorteil dieser verschiedenartigen Darstellungen für einen
Bilddatensatz liegt in einer guten Klassifizierungsgenauigkeit und
einem hohen Grad einer Dimensionalitätsreduzierung.
-
Die
automatische Extraktion von Charakteristika gemäß der vorliegenden Erfindung
kann als ein Vorverarbeitungsschritt bei Signalverarbeitungsarchitekturen
(z. B. auf dem Gebiet einer Mustererkennung) Anwendung finden und
durch Hardware und/oder Software implementiert sein.
-
Bezugnahmen auf den Stand
der Technik
-
Die
folgenden bekannten Verfahren sind im Folgenden gewürdigt:
- [1] A. Sharkey. Multi-Net Systems, Kapitel
Combining Artificial Neural Nets: Ensemble and Modular Multi-Net Systems,
S. 1–30,
Springer Verlag, 1999.
- [2] T.G. Dietterich. Ensemble methods in machine learning. In
Proceedings of 1st Int. Workshop on Multiple Classifier
Systems, S. 1–15,
2000.
- [3] S. Geman, E. Bienenstock and R. Doursat. Neural networks
and the bias/variance dilemma. Neural Computation, 4: 1–58, 1992.
- [4] A. Krogh and J. Vedelsby. Neural network ensembles, cross
validation and active learning. NIPS 7, 1995.
- [5] N. Ueda and R. Nakano. Generalisation error of ensemble
estimators. In ICNN96, S. 90–95,
1996.
- [6] D. Opitz and J. Shavlik. Generate accurate and diverse members
of a neural network ensemble. NIPS 8, 1996.
- [7] Y. Liu. Negative Correlation Learning and Evolutionary Neural
Network Ensembles. PhD Thesis, The University of New South Wales,
Canberra, Australien, 1998.
- [8] H. Wersing and E. Körner.
Unsupervised learning of combination features for hierarchical recognition
models. ICANN 2002, 2002.
- [9] M. Kendall. Multivariate Analysis. Charles Griffin&Co., 1975.
- [10] P. Comon. Independent Component Analysis – A New
Concept? Signal Processing, 36: 287–314, 1994.
-
Hintergrund der Erfindung
-
Ensemble-Lernen:
-
Neuronale
Netz-Ensembles bieten eine Zahl von Vorteilen gegenüber einem
einzelnen neuronalen Netzsystem. Dieselben haben das Potenzial für eine verbesserte
Verallgemeinerung, eine niedrigere Abhängigkeit von dem Trainingsatz
und eine reduzierte Trainingzeit. Sharkey [1] liefert eine Zusammenfassung
der Literatur bis 1998, während
Dietterich [2] bis 2000 zusammenfasst.
-
Ein
Trainieren eines neuronalen Netzes betrifft allgemein ein empfindliches
Gleichgewicht von verschiedenen Faktoren. Die Systematische-Abweichung-Varianz-Zerlegung (engl.:
biss-variance decomposition) [3] gibt an, dass der mittlere quadratische
Fehler einer Schätzfunktion
(in unserem Fall ein neuronales Netz) gleich der systematischen
Abweichung zum Quadrat plus der Varianz ist. Es gibt hier einen
Kompromiss – mit
mehr Training ist es möglich,
eine niedrigere systematische Abweichung zu erreichen, jedoch auf
Kosten eines Anstiegs einer Varianz. Krogh und Vedelsby [4] erweitern
dieses Konzept auf Ensemblefehler und zeigen, wie die systematische
Abweichung als das Ausmaß,
in dem sich die gemittelte Ausgabe der Ensemble-Elemente von der
Zielfunktion unterscheidet, gesehen werden kann, und die Varianz
das Ausmaß ist, in
dem die Ensemble-Elemente nicht übereinstimmen.
Ueda und Nakano [5] liefern ferner einen detaillierten Beweis, wie
die Zerlegung auf eine Systematische-Abweichung-Varianz-Kovarianz
(engl.: biss-variance-covariance) erweitert werden kann. Aus diesem
Resultat wird eine Weise, um den Fehler zu verringern, deutlich: die
Kovarianz zu verringern, sie idealerweise stark negativ zu machen – obwohl
eine zu große
Verringerung der Kovarianz einen Anstieg der systematischen Abweichung
und der Varianz bewirken kann. Dies bedeutet, dass ein ideales Ensemble
aus hoch korrekten Klassifizierern besteht, die so weit wie möglich nicht
miteinander übereinstimmen
(Ausgleichen der Kovarianz gegenüber
der systematischen Abweichung und der Varianz), was unter anderem
durch Opitz und Shavlik [6] empirisch verifiziert wurde. Eine solche
Idee wurde ferner unter Verwendung von regelbasierten Systemen in
einem evolutionären
Kontext gezeigt, was die Allgemeingültigkeit der Idee und ihrer
zugeordneten Verfahren demonstriert.
-
Ein
Lernen mit negativer Korrelation (engl.: Negative Correlation; NC)
[7] ist ein wirksames Ensemble-Trainingsverfahren, das ohne Weiteres
zusätzlich
zu einer Standard-Rückausbreitung
(engl.: standard backpropagation) in Mitkopplungs-Netzen implementiert
sein kann. Dasselbe nimmt in die Fehlerfunktion von jedem Netz ein
Maß einer
Ensemble-Verschiedenartigkeit auf: jedes Netz verringert so nicht
nur den Fehler desselben in der Funktion, sondern erhöht auch
die Veschiedenartigkeit desselben gegenüber anderen Netzfehlern. Die
Prozedur hat die folgende Form: man nehme einen Satz von neuronalen
Netzen und einen Trainingsmustersatz, wobei jedes Muster in dem
Satz durch die Netze dargestellt und gleichzeitig rückausgebreitet wird.
-
Bei
einem NC-Lernen ist die Fehlerfunktion eine Kombination des standardmäßigen mittleren
quadratischen Fehlers und des Negativkorrelationsterms:
-
In
der vorhergehenden Formel ist Fi(n) die
Ausgabe eines Netzes i für
ein Muster n, und d(n) ist die gewünschte Antwort für dieses
Muster.
-
Jedes
Netz empfängt
für ein
Bewegen der Antwort desselben näher
zu der Zielantwort und ein Bewegen weg von der mittleren Antwort
aller anderen Netze einen niedrigeren Fehler – dies ist ein Kompromiss,
der durch den Strafstärkeparameter λ gesteuert
wird. Wenn λ =
0,0, ignorieren die Netze die anderen Fehler, und dies wird als
unabhängiges Training
bezeichnet und ist äquivalent
mit einem Nichtverwenden einer NC. Eine frühere Arbeit hat die Wirksamkeit
dieses Verfahrens unter unterschiedlichen Umständen gezeigt.
-
Extraktion und Analyse von Charakteristika
-
Eine
automatische Extraktion von Charakteristika ist ein wesentlicher
Vorverarbeitungsschritt bei vielen Signalverarbeitungsarchitekturen.
Der Hauptzweck derselben ist es normalerweise, eine Dimensionsreduzierung
einer hochdimensionalen Eingabe, die z. B. aus Bild- oder Tonsignalen
erhalten werden kann, durchzuführen.
Standardverfahren auf diesem Gebiet sind eine Hauptkomponentenanalyse
(engl.: Principal Component Analysis; PCA) [9], die Charakteristika
basierend auf einem Maximieren einer Varianz in den Daten erfasst,
und eine Unabhängige-Komponenten-Analyse (engl.: Independent
Component Analysis; ICA), die Charakteristika, die maximal statistisch
unabhängig
sind, bestimmt [10]. Diese Charakteristika-Transformierten basieren auf einem linearen
generativen Modell und erfassen daher Charakteristika unter Verwendung
einer linearen Transformation. Für
den Fall einer nichtlinearen Extraktion von Charakteristika existieren
keine allgemein akzeptierten Verfahren mit einem ähnlich weiten
Anwendungsbereich wie die PCA und ICA.
-
Die
deutsche Offenlegungsschrift
DE 100 48 308 A1 offenbart eine Vorrichtung
und ein Verfahren zum Klassifizieren von Objekten aus Bilddaten
in der Form von Pixelmustern. Das Verfahren ist dadurch definiert, dass
Bilddaten in ein erstes neuronales Netz, dessen versteckte Schicht
wesentlich weniger Verarbeitungseinheiten als die Eingangsschicht
aufweist, gespeist werden, wobei die Verarbeitungseinheiten der
zweiten Schicht eine entsprechend reduzierte Zahl von Charakteristika-Daten
liefern, die Charakteristika-Daten in ein zweites neuronales Netz,
dessen Schicht wesentlich mehr Verarbeitungseinheiten als die Eingangsschicht
aufweist, gespeist werden, wobei die Verarbeitungseinheiten dieser
Schicht wiederhergestellte Bilddaten erzeugen, und die Gewichte
der neuronalen Netze durch Trainieren derart gewählt werden, dass die wiederhergestellten
Bilddaten so weit wie möglich
den Eingangsbilddaten entsprechen.
-
Das
US-Patent 5,926,804 offenbart
ein diskriminantes neuronales Netz und ein Verfahren zum Trainieren
des Netzes. Das Netz umfasst einen Satz von versteckten Knoten mit
zugeordneten Gewichten, und die Zahl von versteckten Knoten wird
durch ein Trainingsverfahren minimiert, das die Schritte eines Ladens eines
Trainingsdatensatzes und eines Zuweisens desselben zu einem Restdatensatz,
eines Berechnens eines Vektors, der einem ersten versteckten Knoten,
der den Restdatensatz verwendet, zugeordnet ist, eines Projizierens
von Trainingsdaten auf eine Hyperebene, die dem ersten versteckten
Knoten zugeordnet ist, eines Bestimmens der Zahl und der Orte von
harten Begrenzer-Schwellen, die dem ersten Knoten zugeordnet sind,
und eines Wiederholens dieser Schritte für aufeinanderfolgende versteckte
Knoten nach einem Entfernen von erfüllten Untersätzen aus
den Trainingsdaten, bis alle unterteilten Regionen des Eingangsdatenraums
erfüllt sind,
umfasst.
-
Angesichts
des vorhergehenden Stands der Technik ist es die Aufgabe der vorliegenden
Erfindung, ein verbessertes Verfahren zum Extrahieren von Sätzen von
nützlichen
Klassifizierungs-Charakteristika aus hochdimensionalen Daten basierend
auf einem neuronalen Netz-Ensemble vorzuschlagen.
-
Diese
Aufgabe wird mittels der Merkmale der unabhängigen Ansprüche gelöst. Die
abhängigen
Ansprüche
entwickeln die zentrale Idee der vorliegenden Erfindung weiter.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Verfahren zum automatischen
Extrahieren von Charakteristika aus Bildern vorgeschlagen, wobei
das Verfahren folgende Schritte aufweist:
- – Trainieren
eines neuronalen Systems, um bei einem Satz von vordefinierten Bildern
eine niedrige Klassifizierungsfehlerrate zu erreichen, wobei das
neuronale System aus einem Ensemble von neuronalen Netzen, die mehrschichtige
Netze aufweisen, besteht, wobei das Trainieren in einem verschiedenartigen
neuronalen Netz-Ensemble mit sich unterscheidenden versteckten Knoten
der mehrschichtigen Netze resultiert,
- – Extrahieren
der versteckten Knoten aus allen versteckten Schichten der trainierten
mehrschichtigen Netze, um Charakteristika der Bilder darzustellen,
und
- – Anwenden
eines statistischen Klassifizierers auf diesen Satz von extrahierten
Charakteristika, um die Bilder korrekt zu klassifizieren.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung ist ein Verfahren zum
automatischen Extrahieren von Charakteristika aus Bildern vorgeschlagen,
wobei das Verfahren folgende Schritte aufweist:
- – Trainieren
eines neuronalen Systems, um bei einem Satz von vordefinierten Bildern
eine niedrige Klassifizierungsfehlerrate zu erreichen,
- – Extrahieren
der versteckten Knoten aus allen versteckten Schichten der trainierten
neuronalen Systeme, um Charakteristika der Bilder darzustellen,
- – Streichen
der versteckten Knoten durch ein im Vorhergehenden dargelegtes Verfahren
und einen geeigneten Beitrag-zur-Aktivierung-Algorithmus, und
- – Anwenden
eines statistischen Klassifizierers auf diesen Satz von extrahierten
Charakteristika, um die Bilder korrekt zu klassifizieren.
-
Die
Messung der Aktivierung des relevanten Ausgangsknotens mit dem und
ohne den versteckten Knoten kann als der Beitrag-zur-Aktivierung-Algorithmus
verwendet werden.
-
Die
Messung der Korrelation zwischen einer Eingabe und einer Ausgabe
kann als der Beitrag-zur-Aktivierung-Algorithmus verwendet werden.
-
Ein
koevolutionärer
Algorithmus kann als der Beitrag-zur-Aktivierung-Algorithmus verwendet
werden.
-
Das
neuronale System kann aus einem einzelnen oder einem mehrschichtigen
neuronalen Netz bestehen.
-
Das
neuronale System kann aus einem Ensemble von einzelnen oder mehrschichtigen
neuronalen Netzen bestehen.
-
Das
neuronale System kann aus einem Ensemble von einzelnen oder mehrschichtigen
neuronalen Netzen bestehen, wobei das Ensemble von neuronalen Netzen
unter Verwendung einer Kombination eines mittleren quadratischen
Fehlers und eines Lernens mit negativer Korrelation trainiert wird.
-
Weitere
Vorteile, Merkmale und Ziele werden für Fachleute beim Lesen der
folgenden detaillierten Beschreibung eines Ausführungsbeispiels zusammen mit
den Figuren der beigefügten
Zeichnungen offensichtlich.
-
1 stellt
die Schritte für
eine nichtlineare Extraktion von Charakteristika gemäß der vorliegenden Erfindung
schematisch dar,
-
2 macht
einen der Schritte von 1, d. h. das Auswahlverfahren
für optimale
Knoten und deren Anwendung als Charakteristika-erfassend, detaillierter
sichtbar, und
-
3 zeigt
einen Vergleich zwischen einem Testen eines Verhaltens bei einzelnen
Netzen und Ensemble-Netzen und bei der Architektur für eine Extraktion
von versteckten Knoten für
einzelne Netze und Ensemble-Netze, die der Gegenstand dieser Erfindung
ist, wobei die Zahl von versteckten Knoten pro Netz variiert wird.
-
Detaillierte Beschreibung
eines Ausführungsbeispiels
der Erfindung
-
Die
Erfindung schlägt
ein Verfahren für
eine nichtlineare Extraktion von Charakteristika basierend auf neuronalen
Netz-Ensembles vor. In einer schematischen Ansicht besteht das Verfahren
aus den folgenden drei Schritten, die in 1 sichtbar
gemacht sind.
-
Der
erste Schritt besteht darin, ein Ensemble von neuronalen Netzen
unter Verwendung von Trainingsdaten und eines der im Vorhergehenden
erwähnten Ensemble-Trainingsverfahren
in einer besonderen Mustererkennungsaufgabe zu trainieren. Das Ensemble-Training
stellt, verglichen mit einem unabhängigen Training, einen höheren Grad
einer Verschiedenartigkeit bei den inneren Darstellungen des Ensembles
von Netzen, sicher. Dieser erste Schritt erzeugt ein verschiedenartiges
neuronales Netz-Ensemble mit sich unterscheidenden Unterstrukturen
von versteckten Knoten.
-
Bei
dem zweiten Schritt werden die versteckten Knoten aller Netze in
dem Ensemble gemäß deren Beitrag
zu dem korrekten Klassifizierungsverhalten des Ensembles bewertet.
Die optimal beitragenden Knoten werden aus den Netzen ausgewählt und
werden als unabhängige
Unterstrukturen für
eine nichtlineare Extraktion von Charakteristika verwendet.
-
Der
Schritt drei besteht daher aus einem parallelen Zusammenstellen
dieses Satzes von optimalen Charakteristika-extrahierenden Knoten
(Detektoren), um eine Charakteristika-Darstellung mit einer hohen
Dimensionsreduzierung der Eingabe zu erhalten. Diese dimensional
reduzierte Darstellung der Muster kann zum Aufbauen eines neuen
Klassifizierers mit einem verbesserten Verhalten und einer verbesserten
Verallgemeinerung verwendet werden.
-
Algorithmus zum Auswählen von
optimalen Knoten
-
2 macht
den vorhergehenden Schritt 2 und somit das Auswahlverfahren für optimale
Knoten und deren Anwendung als Charakteristika-erfassende Einheiten
für einen
standardmäßigen k-nächster-Nachbar-(k-NN-)Klassifizierer
detaillierter sichtbar. Der k-NN-Klassifizierer kann durch eine
andere Klassifizierungsarchitektur ersetzt sein. Untersätze von
Netzen und versteckten Knoten, die eventuell redundant sind, werden selektiv
gestrichen. Auf diese Weise kann die Eingabedimensionalität für den k-NN-Klassifizierer
reduziert werden. Wie in der vorhergehenden 1 dargestellt
ist, tritt das Streichen bei dem Schritt 2 auf, nachdem ein Ensemble
von neuronalen Netzen mit Trainingsdaten trainiert wird. Es wird
der folgende Algorithmus angewendet:
Für jede Ausgabeklasse c
Kandidatennetz(e)
mit niedrigem mittleren quadratischen Fehler (engl: Mean Squared
Error; MSE) auswählen
Für jedes
Kandidatennetz
Knoten mit hohem Beitrag identifizieren
EndeFür
versteckte
Knoten zu Charakteristika-Satz hinzufügen
EndeFür
-
Für jede Klasse
werden ein erstes oder mehrere Kandidatennetze identifiziert, die
für eine
korrekte Klassifizierung nützlich
sein können – gewöhnlich werden
die Netze mit dem niedrigsten MSE bei Instanzen dieser Klasse gewählt. Dies
hat die Wirkung eines Wegstreichens von Netzen, die eine ungünstige Wirkung auf
das Gesamtverhalten des Ensembles haben. Als nächstes werden innerhalb dieses
Satzes von Kandidaten versteckte Knoten identifiziert, die am meisten
zu dem Ensemble-Verhalten beitragen – dies wird als der Beitrag
zur Aktivierung bezeichnet. Dies erfolgt durch Vermerken der Aktivierung
des relevanten Ausgangsknotens mit jedem und ohne jeden versteckten
Knoten. Die Knoten, die die größte Änderung
der Aktivierung bewirken, werden als nützlich für eine Klassifizierung ausgewählt.
-
An
dem Ende dieses Verfahrens wird aus verschiedenen Netzen in dem
Ensemble ein Untersatz der versteckten Knoten ausgewählt.
-
Es
sei bemerkt, dass hier viele potenzielle Beitrag-zur-Aktivierung-Algorithmen
verwendet sein können.
Ein alternativer Lösungsansatz
besteht darin, die Korrelation zwischen den Eingaben und Ausgaben
der versteckten Knoten zu messen – dies wäre eine nichtlineare, nichtmonotone
Korrelation, was eine sorgfältige Betrachtung
erfordern würde.
-
Ein
anderer alternativer Lösungsansatz
besteht darin, einen koevolutionären
Algorithmus Knoten identifizieren zu lassen.
-
Resultate – Vergleich zwischen unterschiedlichen
Netzgrößen und
Standardverfahren
-
Der
verwendete Datensatz basiert auf den ersten 20 Objekten aus der
COIL-100-Datenbank.
Eine frühere
Arbeit von Wersing und Körner
[8] untersuchte, wie eine Hierarchie von biologisch inspirierten
Charakteristika-Detektoren eine nützliche Neudarstellung von
Rohbilddaten erzeugen kann.
-
Die
Eingabe in die Hierarchie sind die ursprünglichen Grauwert-Bilddaten,
128 mal 128 Pixel. Die erste Verarbeitungsstufe wendet Gabor-Filter
bei vier Ausrichtungen, gefolgt von einem räumlichen Sammeln, an, was vier
Bilder von 16 mal 16 Pixel – einen
Vektor einer Länge
von 1024, die „C1"-Daten – erzeugt.
Die zweite Stufe wendet das Verfahren einer spärlichen invarianten Charakteristika-Zerlegung
an, was fünfzig 8-mal-8-Bilder,
also einen Vektor einer Länge
3200 – das
sind die „C2"-Daten – erzeugt.
Dieselben werden dann in einem Klassifizierungsverfahren, wie k-nächster-Nachbar, verwendet.
Diese Architektur zeigte ein sehr gutes Verhalten, das darauf zurückgeführt wird,
dass die Charakteristika-Detektoren in besonderen Abschnitten des
Bildes lokalisiert sind. Der Nachteil liegt in der großen Menge
von Zeit, die für
einen Entwurf und ein Abstimmen von verschiedenen Parametern, darunter
die Verbindungsmuster und die Größe von lokalisierten Feldern,
aufgewendet wird. Ein großer
Anteil des Entwurfsschritts kann durch automatisches Begünstigen
einer Spezialisierung auf Charakteristika innerhalb des Bildes entfernt
werden. Es wurde eine Klassifizierung unserer Neudarstellung aus
den C1-Daten und ein Vergleich mit den C2-Daten mit dem gleichen
Klassifizierungsverfahren durchgeführt.
-
Die
C1-Daten wurden neu skaliert, um zwischen 0 und 1 zu liegen. Jedes
Objekt hat 72 Ansichten bei Drehungen von 5 Grad - 4 Ansichten wurden
zum Trainieren und 68 zum Testen verwendet. Es wurde eine Standard-Rückausbreitung
mit einer Lernrate von 0,1 verwendet. Das Trainieren wurde gestoppt,
wenn die Reduzierung des MSE über
die vorherigen 25 Iterationen kleiner als 10–5 war.
Abweichend von zufälligen
Anfangsgewichten wurden von jedem Experiment 100 Versuche durchgeführt.
-
Für einen
Vergleich wurden Standard-MLPs verwendet, um die Daten mit drei
experimentellen Anordnungen zu klassifizieren. Die erste Anordnung
war ein einzelnes MLP, bei dem die Zahl von versteckten Knoten variiert
wurde, was als „EinzelnesNetz" beschriftet ist.
Die zweite war ein Ensemble von 3 Netzen, wobei erneut die Zahl
von versteckten Knoten pro Netz variiert wurde, was als „KleinerUmfang” beschriftet
ist. Die dritte war ein Ensemble von Netzen mit je 30 versteckten
Knoten, wobei die Zahl von Netzen variiert wurde, was als „GroßerUmfang" beschriftet ist.
-
3 zeigt
einen Vergleich zwischen einem Testen eines Verhaltens bei einzelnen
Netzen und Ensemble-Netzen und bei der Architektur für eine Extraktion
von versteckten Knoten für
einzelne Netze und Ensemble-Netze, die der Gegenstand der vorliegenden
Erfindung ist (der Name in der Figur endet auf FEX (für „feature
extraktion" = Charakteristika-Extraktion)),
wobei die Zahl von versteckten Knoten pro Netz variiert wird. Die
Charakteristika, die aus dem „KleinerUmfang"-Ensemble (100 versteckte
Knoten in jedem von 3 Netzen) extrahiert wurden, erhielten 82,5%
(über 100
Versuche). Die Charakteristika-Extraktion aus einem einzelnen Netz
mit 90 versteckten Knoten erhielt 77,5%, während das Verwenden eines Ensembles
mit 3 Netzen mit je 30 versteckten Knoten 81,6% erhielt – was klar
den Vorteil eines Extrahierens von versteckten Knoten aus einem
Ensemble anstatt eines einzelnen Netzes zeigt.