=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== https://ceur-ws.org/Vol-1020/paper_08.pdf
        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