=Paper=
{{Paper
|id=None
|storemode=property
|title=Ein Verfahren zur Beschleunigung eines neuronalen Netzes für die Verwendung im Image Retrieval
|pdfUrl=https://ceur-ws.org/Vol-1020/paper_08.pdf
|volume=Vol-1020
|dblpUrl=https://dblp.org/rec/conf/gvd/Braun13
}}
==Ein Verfahren zur Beschleunigung eines neuronalen Netzes für die Verwendung im Image Retrieval==
Ein Verfahren zur Beschleunigung eines neuronalen Netzes für die Verwendung im Image Retrieval Daniel Braun Heinrich-Heine-Universität Institut für Informatik Universitätsstr. 1 D-40225 Düsseldorf, Germany braun@cs.uni-duesseldorf.de ABSTRACT fikator eine untergeordnete Rolle, da man die Berechnung Künstliche neuronale Netze haben sich für die Mustererken- vor der eigentlichen Anwendung ausführt. Will man aller- nung als geeignetes Mittel erwiesen. Deshalb sollen ver- dings auch während der Nutzung des Systems weiter ler- schiedene neuronale Netze verwendet werden, um die für nen, so sollten die benötigten Rechnungen möglichst wenig ein bestimmtes Objekt wichtigen Merkmale zu identifizier- Zeit verbrauchen, da der Nutzer ansonsten entweder auf die en. Dafür werden die vorhandenen Merkmale als erstes Berechnung warten muss oder das Ergebnis, dass ihm aus- durch ein Art2-a System kategorisiert. Damit die Kategorien gegeben wird, berücksichtigt nicht die durch ihn hinzuge- verschiedener Objekte sich möglichst wenig überschneiden, fügten Daten. muss bei deren Berechnung eine hohe Genauigkeit erzielt Für ein fortlaufendes Lernen bieten sich künstliche neu- werden. Dabei zeigte sich, dass das Art2 System, wie auch ronale Netze an, da sie so ausgelegt sind, dass jeder neue die Art2-a Variante, bei steigender Anzahl an Kategorien Input eine Veränderung des Gedächtnisses des Netzes nach schnell zu langsam wird, um es im Live-Betrieb verwen- sich ziehen kann. Solche Netze erfreuen sich, bedingt durch den zu können. Deshalb wird in dieser Arbeit eine Opti- die sich in den letzten Jahren häufenden erfolgreichen An- mierung des Systems vorgestellt, welche durch Abschätzung wendungen - zum Beispiel in der Mustererkennung - einer des von dem Art2-a System benutzen Winkels die Anzahl steigenden Beliebtheit in verschiedensten Einsatzgebieten, der möglichen Kategorien für einen Eingabevektor stark ein- wie zum Beispiel auch im Image Retrieval. schränkt. Des Weiteren wird eine darauf aufbauende In- Der geplante Systemaufbau sieht dabei wie folgt aus: die dexierung der Knoten angegeben, die potentiell den Speich- Merkmalsvektoren eines Bildes werden nacheinander einer erbedarf für die zu überprüfenden Vektoren reduzieren kann. Clustereinheit übergeben, welche die Merkmalsvektoren clus- Wie sich in den durchgeführten Tests zeigte, kann die vorge- tert und die Kategorien der in dem Bild vorkommenden stellte Abschätzung die Bearbeitungszeit für kleine Cluster- Merkmale berechnet. Das Clustering der Clustereinheit pas- radien stark reduzieren. siert dabei fortlaufend. Das bedeutet, dass die einmal be- rechneten Cluster für alle weiteren Bilder verwendet werden. Danach werden die für das Bild gefundenen Kategorien von Kategorien Merkmalen an die Analyseeinheit übergeben, in der versucht H.3.3 [Information Storage and Retrieval]: Information wird, die für ein bestimmtes Objekt wichtigen Kategorien zu Search and Retrieval—Clustering; F.1.1 [Computation by identifizieren. Die dort gefundenen Kategorien werden dann Abstract Devices]: Models of Computation—Neural Net- für die Suche dieser Objekte in anderen Bildern verwendet. work Das Ziel ist es dabei, die Analyseeinheit so zu gestalten, dass sie nach einem initialen Training weiter lernt und so Schlüsselwörter neue Merkmale eines Objektes identifizieren soll. Für die Analyseeinheit ist die Verwendung verschiedener Neuronale Netze, Clustering, Image Retrieval neuronaler Netze geplant. Da sie aber für die vorgenomme- nen Optimierungen irrelevant ist, wird im Folgenden nicht 1. EINLEITUNG weiter auf sie eingegangen. Trainiert man ein Retrieval System mit einem festen Kor- Von dem Clusteringverfahren für die Clustereinheit wer- pus und wendet die berechneten Daten danach unverän- den dabei die folgenden Punkte gefordert: dert an, so spielt die Berechnungsdauer für einen Klassi- • Das Clustering soll nicht überwacht funktionieren. Das bedeutet, dass es keine Zielvorgabe für die Anzahl der Cluster geben soll. Das System soll also auch bei einem bestehenden Clustering für einen neuen Eingabevektor erkennen, ob er einem Cluster zugewiesen werden kann oder ob ein neuer Cluster erstellt werden muss. • Die Ausdehnung der Cluster soll begrenzt sein. Das 25th GI-Workshop on Foundations of Databases (Grundlagen von Daten- banken), 28.05.2013 - 31.05.2013, Ilmenau, Germany. soll dazu führen, dass gefundene Merkmalskategorien Copyright is held by the author/owner(s). mit höherer Wahrscheinlichkeit zu bestimmten Objek- ten gehören und nicht die Vektoren anderer Objekte Orienting Subsystem Attentional Subsystem die Kategorie verschmutzen. • Das Clustering Verfahren sollte auch bei einer hohen Reset Category Representation Field Anzahl an Clustern, die aus der gewünschten hohen Genauigkeit der einzelnen Cluster resultiert, schnell Reset Modul berechnet werden können. LTM In dieser Arbeit wird ein Adaptive Resonance Theory Netz [5] verwendet, genauer ein Art2 Netz [1], da es die beiden er- zJ* Input Representation Field sten Bedingungen erfüllt. Denn dieses neuronale Netz führt ein nicht überwachtes Clustering aus, wobei es mit jedem Eingabevektor weiter lernt und gegebenenfalls neue Cluster I erschafft. Der genaue Aufbau dieses Systems wird in Kapitel 3 genauer dargestellt. I Preprocessing Field Zur Beschreibung des Bildes dienen SIFT Deskriptoren [9, 10], welche mit 128 Dimensionen einen sehr großen Raum für mögliche Kategorien aufspannen. Dadurch wächst die Kno- I0 tenanzahl innerhalb des Art2 Netzes rapide an, was zu einer Verlangsamung des Netzes führt. Deshalb wird die Art2-a Variante [2] verwendet, welche das Verhalten des Art2 Sys- Abbildung 1: Skizze eines Art2-a Systems tems approximiert. Dieses System hat die Vorteile, dass es zum Einen im Vergleich zu Art2 um mehrere Größenord- nungen schneller ist und sich zum Anderen gleichzeitig auch durchlaufen und der ähnlichste Knoten als Antwort gewählt. noch größtenteils parallelisieren lässt, wodurch ein weiterer Das Framework verwendet dabei das Feedback des Nutzers, Geschwindigkeitsgewinn erzielt werden kann. wodurch nach jeder Iteration das Ergebnis verfeinert wird. Dennoch zeigt sich, dass durch die hohe Dimension des Das neuronale Netz dient hier somit als Klassifikator. Vektors, die für die Berechnung der Kategorie benötigten [12] benutzt das Fuzzy Art neuronale Netz, um die Merk- Skalarprodukte, unter Berücksichtigung der hohen Anzahl malsvektoren zu klassifizieren. Sie schlagen dabei eine zweite an Knoten, weiterhin sehr rechenintensiv sind. Dadurch Bewertungsphase vor, die dazu dient, das Netz an ein er- steigt auch bei starker Parallelisierung, sofern die maximale wartetes Ergebnis anzupassen, das System damit zu über- Anzahl paralleler Prozesse begrenzt ist, die Zeit für die Bear- wachen und die Resultate des Netzes zu präzisieren. beitung eines neuen Vektors mit fortlaufendem Training kon- In [6] wird ein Radial Basis Funktion Netzwerk (RBF) als tinuierlich an. Aus diesem Grund wird in Kapitel 4 eine Er- Klassifikator verwendet. Eins ihrer Verfahren lässt dabei den weiterung des Systems vorgestellt, die die Menge der Kandi- Nutzer einige Bilder nach der Nähe zu ihrem Suchziel bew- daten möglicher Gewinnerknoten schon vor der teuren Be- erten, um diese Bewertung dann für das Training ihrer Net- rechnung des Skalarproduktes verkleinert. zwerke zu verwenden. Danach nutzen sie die so trainierten Der weitere Aufbau dieser Arbeit sieht dabei wie folgt aus: neuronalen Netze zur Bewertung aller Bilder der Datenbank. in dem folgenden Kapitel 2 werden einige ausgewählte An- Auch [11] nutzt ein Radial Basis Funktion Netz zur Suche sätze aus der Literatur genannt, in denen neuronale Netze nach Bildern und trainiert dieses mit der vom Nutzer angege- für das Image Retrieval verwendet werden. Um die Plausi- benen Relevanz des Bildes, wobei das neuronale Netz nach bilität der Erweiterung zu verstehen, werden dann in Kapi- jeder Iteration aus Bewertung und Suche weiter trainiert tel 3 die dafür benötigten Mechanismen und Formeln eines wird. Art2-a Systems vorgestellt. Kapitel 4 fokussiert sich danach In [3] wird ein Multiple Instance Netzwerk verwendet. auf die vorgeschlagene Erweiterung des bekannten Systems. Das bedeutet, dass für jede mögliche Klasse von Bildern In Kapitel 5 wird die Erweiterung evaluiert, um danach in ein eigenes neuronales Netz erstellt wird. Danach wird ein dem folgenden Kapitel eine Zusammenfassung des Gezeigten Eingabebild jedem dieser Subnetze präsentiert und gegebe- sowie einen Ausblick zu geben. nenfalls der dazugehörigen Klasse zugeordnet. 2. VERWANDTE ARBEITEN 3. ART2-A BESCHREIBUNG In diesem Kapitel werden einige Ansätze aus der Liter- In diesem Kapitel werden die benötigten Mechanismen atur vorgestellt, in denen neuronale Netze für verschiedene eines Art2-a Systems vorgestellt. Für das Verständnis sind Aufgabenstellungen im Image Retrieval verwendet werden. dabei nicht alle Funktionen des Systems nötig, weshalb zum Darunter fallen Themengebiete wie Clustering und Klassi- Beispiel auf die nähere Beschreibung der für das Lernen fikation von Bildern und ihren Merkmalsvektoren. benötigten Formeln und des Preprocessing Fields verzichtet Ein bekanntes Beispiel für die Verwendung von neuronalen wird. Für weiterführende Informationen über diese beiden Netzen im Image Retrieval ist das PicSOM Framework, wel- Punkte sowie generell über das Art2-a System sei deshalb ches in [8] vorgestellt wird. Dort werden TS-SOMs (Tree auf [1, 2] verwiesen. Structured Self Orienting Maps) für die Bildsuche verwen- Wie in Bild 1 zu sehen ist, besteht das System aus zwei det. Ein Bild wird dabei durch einen Merkmalsvektor darge- Subsystemen: einem Attentional Subsystem, in dem die Be- stellt. Diese Vektoren werden dann dem neuronalen Netz arbeitung und Zuordnung eines an den Eingang angelegten präsentiert, welches sie dann der Baumstruktur hinzufügt, Vektors ausgeführt wird, sowie einem Orienting Subsystem, so dass im Idealfall am Ende jedes Bild in der Baumstruk- welches die Ähnlichkeit des Eingabevektors mit der vorher tur repräsentiert wird. Bei der Suche wird der Baum dann gewählten Gewinnerkategorie berechnet und diese bei zu geringer Nähe zurücksetzt. unterliegen. Damit wird der Knoten J genau dann abge- Innerhalb des Category Representation Field F2 liegen die lehnt, wenn Knoten die für die einzelnen Vektorkategorien stehen. Dabei wird die Beschreibung der Kategorie in der Long Term Mem- T J < ρ∗ (4) ory (LTM) gespeichert, die das Feld F2 mit dem Input Rep- resentation Field F1 in beide Richtungen verbindet. gilt. Ist das der Fall, wird ein neuer Knoten aktiviert und Nach [2] gilt für den Aktivitätswert T von Knoten J in somit eine neue Kategorie erstellt. Mit 2 und 4 folgt damit, dem Feld F2 : dass ein Knoten nur dann ausgewählt werden kann, wenn für den Winkel θ zwischen dem Eingabevektor I und dem { ∑ gespeicherten LTM-Vektor zJ∗ α· n i=1 Ii , wenn J nicht gebunden ist, TJ = I · zJ∗ , wenn J gebunden ist. cos θ ≥ ρ∗ (5) Ii steht dabei für den durch das Preprocessing Field F0 berechneten Input in das Feld F1 und α ist ein wählbarer Pa- gilt. Da die einzelnen Rechnungen, die von dem System rameter, der klein genug ist, so dass die Aktivität eines unge- ausgeführt werden müssen, unabhängig sind, ist dieses Sys- bundenen Knotens für bestimmte Eingangsvektoren nicht tem hochgradig parallelisierbar, weshalb alleine durch Aus- immer größer ist als alle Aktivitätswerte der gebundenen nutzung dieser Tatsache die Berechnungszeit stark gesenkt Knoten. Hierbei gilt ein Knoten als gebunden, wenn ihm werden kann. Mit steigender Knotenanzahl lässt sich das mindestens ein Vektor zugeordnet wurde. System dennoch weiter optimieren, wie in dem folgenden Da der Aktivitätswert für alle nicht gebundenen Knoten Kapitel gezeigt werden soll. konstant ist und deshalb nur einmal berechnet werden muss, Das Art2-a System hat dabei allerdings einen Nachteil, ist dieser Fall für eine Effizienzsteigerung von untergeord- denn bedingt durch die Nutzung des Kosinus des Winkels netem Interesse und wird deshalb im Folgenden nicht weiter zwischen zwei Vektoren werden Vektoren, die linear abhäng- betrachtet. ig sind, in dieselbe Kategorie gelegt. Dieses Verhalten ist für Wie in [2] gezeigt wird, sind sowohl I als auch zJ∗ , durch die geforderte Genauigkeit bei den Kategorien unerwünscht. die Anwendung der euklidischen Normalisierung, Einheits- Dennoch lässt sich dieses Problem leicht durch die Erhebung vektoren, weshalb folglich weiterer Daten, wie zum Beispiel den Clustermittelpunkt, lösen, weshalb im Folgenden nicht weiter darauf eingegangen wird. ∥I∥ = ∥zJ∗ ∥ = 1 (1) gilt. Deshalb folgt für die Aktivitätswerte der gebunden 4. VORGENOMMENE OPTIMIERUNG Kategorieknoten: Dieses Kapitel dient der Beschreibung der verwendeten Abschätzung und ihrer Implementierung in das Art2-a Sys- TJ = I · zJ∗ tem. Abschließend wird dann noch auf eine weitere Verbes- = ∥I∥ · ∥zJ∗ ∥ · cos θ serung, die sich durch diese Implementierung ergibt, einge- gangen. Der Aufbau des Abschnitts ist dabei wie folgt: in = cos θ (2) Unterabschnitt 1 wird das Verfahren zur Abschätzung des Die Aktivität eines Knotens entspricht damit dem Winkel Winkels vorgestellt. In dem folgenden Unterabschnitt 2 wird zwischen dem Eingangsvektor I und dem LTM-Vektor zJ∗ . dann gezeigt, wie man diese Abschätzung in das Art2-a Sys- Damit der Knoten mit dem Index J gewählt wird, muss tem integrieren kann. In dem letzten Unterabschnitt folgt dann eine Vorstellung der Abschätzung als Index für die Knoten. TJ = max{Tj } j 4.1 Abschätzung des Winkels gelten, sprich der Knoten mit der maximalen Aktivität wird als mögliche Kategorie gewählt. Dabei wird bei Gleich- In [7] wird eine Methode zur Schätzung der Distanz zwis- heit mehrerer Werte der zu erst gefundene Knoten genom- chen einem Anfragevektor und einem Datenvektor beschrie- men. Die maximale Distanz, die das Resetmodul akzep- ben. Im Folgenden wird beschrieben, wie man Teile dieses tiert, wird durch den Schwellwert ρ, im Folgenden Vigilance Verfahrens nutzen kann, um damit die Menge möglicher Parameter genannt, bestimmt, mit dem die, für die Art2-a Knoten schon vor der Berechnung des Aktivitätswertes TJ Variante benötigte, Schwelle ρ∗ wie folgt berechnet wird: zu verringern. Das Ziel ist es, die teure Berechnung des Skalarproduktes zwischen I und zJ∗ möglichst selten auszu- führen und gleichzeitig möglichst wenig Daten im Speicher ρ2 (1 + σ)2 − (1 + σ 2 ) ρ∗ = vorrätig halten zu müssen. Dafür wird der unbekannte Win- 2σ kel θ zwischen den beiden Vektoren P und Q durch die mit bekannten Winkel α und β zwischen beiden Vektoren und einer festen Achse T wie folgt approximiert: cd σ≡ (3) 1−d cos θ ≤ cos (|α − β|) und c und d als frei wählbare Parameter des Systems, die der Beschränkung = cos (α − β) = cos α cos β + sin α sin β cd √ √ ≤1 = cos α cos β + 1 − cos α2 1 − cos β 2 (6) 1−d Damit die Bedingung (7) ausgenutzt werden kann, wird das Art2 System um ein weiteres Feld, im Folgenden Estima- F2 1 2 3 . . . n tion Field genannt, erweitert. Dieses Feld soll als Schnittstel- le zwischen F0 und F2 dienen und die Abschätzung des Winkels zwischen dem Eingabevektor und dem gespeicher- ten LTM Vektor vornehmen. Dazu wird dem Feld, wie in z *n Abbildung 2 gezeigt wird, von dem Feld F0 die Summe S I S übergeben. Innerhalb des Feldes gibt es dann für jeden ′ Knoten J im Feld F2 eine zugehörige Estimation Unit J . In der Verbindung von jedem Knoten J zu der ihm zugehörigen ′ Estimation I F0 Estimation Unit J wird ∗ die Summe der Werte des jeweili- Field S gen LTM Vektors S zJ als LTM gespeichert. Die Estimation Unit berechnet dann die Funktion = LTM √ ∗ ∗2 S I ∗ S zJ + (n − S I 2 )(n − S zJ ) Abbildung 2: Erweiterung des Art2 Systems mit f (J) = n einem neuen Feld für die Abschätzung des Winkels für den ihr zugehörigen Knoten J. Abschließend wird als Aktivierungsfunktion, für die Berechnung der Ausgabe oJ ′ ′ Als Achse T wird hierbei ein n-dimensionaler mit Einsen der Estimation Unit J , die folgende Schwellenfunktion ver- gefüllter Vektor verwendet, wodurch für die L2-Norm des wendet: √ Achsenvektors ∥T ∥ = n folgt. Eingesetzt in die Formel { 1, wenn f (J) ≥ ρ∗ ⟨P, Q⟩ oJ ′ = (8) cos θ = 0, sonst ∥P ∥∥Q∥ Damit ergibt sich für die Aktivitätsberechnung jedes Kno- ergibt sich damit, unter Ausnutzung von (1), für das Sys- tens des F2 Feldes die angepasste Formel tem mit den Vektoren I und zJ∗ : ∑ ∑n ∑n ∗ α ∗ i Ii , wenn J nicht gebunden ist, i=1 Ii i=1 zJ i cosα = √ und cosβ = √ TJ = I ∗ zJ∗ , wenn J gebunden ist und oJ ′ = 1 gilt, n n 0 ∗ wenn oJ ′ = 0 gilt. Mit S I und S zJ als jeweilige Summe der Vektorwerte (9) reduziert sich, unter Verwendung der Formel (6), die Ab- mit oJ ′ als Ausgabe des Estimation Field zu Knoten J. schätzung des Kosinus vom Winkel θ auf 4.3 Verwendung als Index √ Durch die gezeigte Kosinusschätzung werden unnötige Ska- ∗ ∗2 S I ∗ S zJ SI 2 S zJ larprodukte vermieden und somit das System beschleunigt. cos θ ≤ + (1 − )(1 − ) n n n Allerdings kann es bei weiterhin wachsender Anzahl der Kno- √ ten, zum Beispiel weil der Arbeitsspeicher nicht ausreicht, ∗ ∗2 S I ∗ S zJ + (n − S I 2 )(n − S zJ ) nötig werden, nicht mehr alle LTM Vektoren im Speicher zu = n halten, sondern nur ein Set möglicher Kandidaten zu laden Diese Abschätzung ermöglicht es nun, die Menge der Kan- und diese dann gezielt zu analysieren. In dem folgenden Ab- didaten möglicher Knoten für einen Eingabevektor I vorzei- schnitt wird gezeigt, wie die Abschätzung sinnvoll als Index tig zu reduzieren, indem man ausnutzt, dass der wirkliche für die Knoten verwendet werden kann. + Winkel zwischen Eingabevektor und in der LTM gespeicher- Für die Indexierung wird als Indexstruktur ein B ∗ -Baum zJ tem Vektor maximal genauso groß ist, wie der mit der gezeig- mit der Summe der Werte jedes LTM Vektors S und der ten Formel geschätzte Winkel zwischen beiden Vektoren. ID J des Knotens als zusammengesetzten Schlüssel verwen- ∗ Damit ist diese Abschätzung des wirklichen Winkels θ ver- det. Für die Sortierreihenfolge gilt: zuerst wird nach S zJ + lustfrei, denn es können keine Knoten mit einem tatsächlich sortiert und dann nach J. Dadurch bleibt der B -Baum für größeren Kosinuswert des Winkels aus der Menge an Kan- partielle Bereichsanfragen nach dem Wert der Summe opti- didaten entfernt werden. Daraus resultiert, dass ein Knoten miert. Damit das funktioniert muss allerdings die Suche so nur dann weiter betrachtet werden muss, wenn die Bedin- angepasst werden, dass sie bei einer partiellen Bereichsan- gung frage für die ID den kleinstmöglichen Wert einsetzt und dann bei der Ankunft in einem Blatt der Sortierung bis zum ersten √ Vorkommen, auch über Blattgrenzen hinweg, der gesuchten ∗ ∗2 S I ∗ S zJ + (n − S I 2 )(n − S zJ ) Summe folgt. ≥ ρ∗ (7) Dieser Index wird nun verwendet, um die Menge der Kan- n didaten einzuschränken, ohne, wie in der vorher vorgestell- erfüllt wird. ten Optimierung durch die Estimation Unit, alle Knoten durchlaufen zu müssen. Anschaulich bedeutet das, dass 4.2 Erweiterung des Systems das Art2-a System nur noch die der Menge an Kandidaten für den Eingabevektor I angehörenden Knoten sehen soll und somit nur in diesen den Gewinnerknoten suchen muss. Für diesen Zweck ∗ müssen mögliche Wertebereiche der gespe- icherten S zJ für einen beliebigen Eingabevektor festgelegt werden. Dies geschieht wieder mit Hilfe der Bedingung (7): √ ∗ ∗2 S I · S zJ + (n − S I 2 )(n − S zJ ) ≥ρ n √ ∗2 ∗ (n − S I 2 )(n − S zJ ) ≥ ρ · n − S I · S zJ ∗ Für ρ · n − S I · S zJ < 0 ist diese Ungleichung offensichtlich immer erfüllt, da die Quadratwurzel auf der linken Seite immer positiv ist. Damit ergibt sich die erste Bedingung: Abbildung 3: Zeitmessung für ρ = 0.95 ∗ ρ·n S zJ > (10) SI gestellt, denn es sind keine Einbußen in der Güte des Ergeb- ∗ nisses zu erwarten. Außerdem wird die mögliche Paralleli- Nun wird im Folgenden noch der Fall ρ · n ≥ S I · S zJ weiter betrachtet: sierung nicht weiter betrachtet, da bei einer begrenzten An- zahl von parallelen Prozessen die Anzahl der Knoten pro √ Prozess mit jedem weiteren Bild steigt und den Prozess so ∗2 ∗ (n − S I 2 )(n − S zJ ) ≥ ρ · n − S I · S zJ verlangsamt. Als mögliche Werte für den Schwellwert ρ wur- 2 ∗2 ∗ den die zwei, in der Literatur öfter genannten, Werte 0.95 n · (1 − ρ2 ) − S I ≥ S zJ − 2ρS I S zJ und 0.98 sowie der Wert 0.999 verwendet. Für die restlichen 2 ∗ benötigten Parameter aus Formel (3) und (9) gilt: c = 0.1, (n − S I )(1 − ρ2 ) ≥ (S zJ − ρ · S I )2 d = 0.9 und α = 0 Damit ergibt sich: 5.2 Ergebnisse √ √ Für die kleineren Vigilance Werte von 0.95 und 0.98 zeigt ∗ (n − S I 2 )(1 − ρ2 ) ≥ S zJ − ρ · S I ≥ − (n − S I 2 )(1 − ρ2 ) sich, wie in den Abbildungen 3 und 4 zu sehen ist, dass die (11) Abschätzung hier kaum einen Vorteil bringt. Sie ist sogar Mit den Bedingungen (10) und (11) können nun die par- langsamer als das originale System. Dies liegt daran, dass tiellen Bereichsanfragen an den Index für einen beliebigen die Abschätzung durch Verwendung nur eines Wertes, näm- Eingabevektor I wie folgt formuliert werden: lich der Summe, viel zu ungenau ist, um bei diesem Vigilance Wert genug Knoten herauszufiltern, da fast alle Knoten über √ √ der Grenze liegen. Da deshalb kaum Zeit gewonnen wird, r1 = [ρS I − (n − S I 2 )(1 − ρ2 ), ρS I + (n − S I 2 )(1 − ρ2 )] wird das System durch den betriebenen Mehraufwand lang- ρ·n samer. Mit steigendem Vigilance Parameter nimmt auch r2 = [ I , ∞] S der Nutzen des Verfahrens zu, da die Anzahl der entfernten Da für diese Bereichsanfragen die Bedingung (7) genutzt Knoten signifikant zunimmt. Dies sieht man deutlich in Ab- wird und somit alle geschätzten Winkel größer als ρ∗ sind, bildung 5, in der die benötigte Rechenzeit für einen Wert von hat bei der Verwendung des Indexes das Estimation Field 0.999 dargestellt ist. In diesem Fall filtert die gezeigte Ab- keinen Effekt mehr. schätzung sehr viele Knoten heraus, weshalb der Zeitgewinn den Zeitverlust durch den größeren Aufwand weit übersteigt. Da aber möglichst genaue Kategorien erwünscht sind, ist ein 5. EVALUATION hoher Vigilance Parameter die richtige Wahl. Deshalb kann In diesem Kapitel wird die gezeigte Abschätzung evaluiert. das gezeigte Verfahren für das angestrebte System adaptiert Der vorgeschlagene Index wird dabei aber noch nicht berück- werden. sichtigt. 5.1 Versuchsaufbau 6. RESÜMEE UND AUSBLICK Für die Evaluierung des gezeigten Ansatzes wurde ein In dieser Arbeit wurde eine Optimierung des Art2-a Sys- Computer mit einem Intel Core 2 Duo E8400 3 GHz als tems vorgestellt, die durch Abschätzung des Winkels zwis- Prozesser und 4 GB RAM benutzt. chen Eingabevektor und gespeichertem Vektor die Menge Als Datensatz wurden Bilder von Flugzeugen aus dem an zu überprüfenden Kandidaten für hohe Vigilance Werte Caltech 101 Datensatz [4] verwendet. Diese Bilder zeigen stark reduzieren kann. Des Weiteren wurde ein Ansatz zur verschiedene Flugzeuge auf dem Boden beziehungsweise in Indexierung der Knoten basierend auf der für die Abschätz- der Luft. Für den Geschwindigkeitstest wurden 20 Bilder ung nötigen Summe vorgestellt. Auch wenn eine abschlie- aus dem Pool ausgewählt und nacheinander dem neuronalen ßende Analyse des gezeigten noch offen ist, so scheint dieser Netz präsentiert. Im Schnitt produzieren die benutzten Bil- Ansatz dennoch erfolgversprechend für die erwünschten ho- der dabei 4871 SIFT Feature Vektoren pro Bild. hen Vigilance Werte. Bedingt dadurch, dass die Ansätze verlustfrei sind, wird Aufbauend auf dem gezeigten wird unsere weitere For- nur die Rechenzeit der verschiedenen Verfahren gegenüber schung die folgenden Punkte beinhalten: fortlaufendes Lernen braucht, um einem Objekt keine falschen neuen Kategorien zuzuweisen oder richtige Ka- tegorien zu entfernen. Danach soll ein geeignetes neu- ronales Netz aufgebaut werden, um damit die Zuord- nung der Kategorien zu den Objekten durchführen zu können. Das Netz muss dann an die vorher erhobenen Daten angepasst werden, um die Präzision des Netzes zu erhöhen. Abschließend wird das Verfahren dann gegen andere populäre Verfahren getestet. 7. REFERENZEN [1] G. A. Carpenter and S. Grossberg. Art 2: Self-organization of stable category recognition codes for analog input patterns. Applied Optics, Abbildung 4: Zeitmessung für ρ = 0.98 26(23):4919–4930, 1987. [2] G. A. Carpenter, S. Grossberg, and D. B. Rosen. Art 2-a: an adaptive resonance algorithm for rapid category learning and recognition. In Neural Networks, volume 4, pages 493–504, 1991. [3] S.-C. Chuang, Y.-Y. Xu, H. C. Fu, and H.-C. Huang. A multiple-instance neural networks based image content retrieval system. In Proceedings of the First International Conference on Innovative Computing, Information and Control, volume 2, pages 412–415, 2006. [4] L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: an incremental bayesian approach tested on 101 object Abbildung 5: Zeitmessung für ρ = 0.999 categories, 2004. CVPR 2004, Workshop on Generative-Model Based Vision. [5] S. Grossberg. Adaptive pattern classification and • Es wird geprüft, ob die Abschätzung durch die Hinzu- universal recording: II. Feedback, expectation, nahme weiterer Daten verbessert werden kann und so- olfaction, illusions. Biological Cybernetics, 23:187–202, mit eine weitere Beschleunigung erzielt wird. Dafür 1976. kann man, um das Problem der zu geringen Präzision [6] B. Jyothi and D. Shanker. Neural network approach der Abschätzung bei kleinerem Vigilance Parameter for image retrieval based on preference elicitation. zu umgehen, die Vektoren teilen und die Abschätzung International Journal on Computer Science and wie in [7] aus den Teilsegmenten der Vektoren zusam- Engineering, 2(4):934–941, 2010. mensetzen. Dafür bräuchte man aber auch die Summe [7] Y. Kim, C.-W. Chung, S.-L. Lee, and D.-H. Kim. der Quadrate, da die Teilsegmente der Vektoren keine Distance approximation techniques to reduce the Einheitsvektoren mehr sind. Deshalb wird es sich noch dimensionality for multimedia databases. Knowledge zeigen, ob der Gewinn an Präzision durch eine Auftei- and Information Systems, 2010. lung den größeren Aufwand durch Berechnung und Speicherung weiterer Werte rechtfertigt. Des Weiteren [8] L. Koskela, , J. T. Laaksonen, J. M. Koskela, and soll damit überprüft werden, ob die Abschätzung auch E. Oja. Picsom a framework for content-based image für kleinere Vigilance Werte verwendet werden kann. database retrieval using self-organizing maps. In In 11th Scandinavian Conference on Image Analysis, • Es wird überprüft, wie groß die Auswirkungen der pages 151–156, 1999. vorgestellten Verfahren bei einer parallelen Berechnung [9] D. G. Lowe. Object recognition from local des Gewinnerknotens sind. Des Weiteren wird das scale-invariant features. In Proceedings of the Verfahren auf größeren Datenmengen getestet, um zu International Conference on Computer Vision, 1999. überprüfen, ob eine weitere Beschleunigung nötig ist, [10] D. G. Lowe. Distinctive image features from damit man das Verfahren im Live Betrieb verwenden scale-invariant keypoints. International Journal of kann. Computer Vision, 60:91–110, 2004. • Die Verwendung der Abschätzung zum Indexieren soll [11] K. N. S., Čabarkapa Slobodan K., Z. G. J., and R. B. getestet und mit anderen Indexierungsverfahren ver- D. Implementation of neural network in cbir systems glichen werden, um ihren Nutzen besser bewerten zu with relevance feedback. Journal of Automatic können. Aber vor allem ihre Auswirkungen auf das Control, 16:41–45, 2006. Art2-a System im parallelisierten Betrieb sind noch [12] H.-J. Wang and C.-Y. Chang. Semantic real-world offen und werden überprüft. image classification for image retrieval with fuzzy-art neural network. Neural Computing and Applications, • Danach werden wir die Analyseeinheit konzipieren. Da- 21(8):2137–2151, 2012. für wird als erstes überprüft, welche Daten man für ein