Sie sind auf Seite 1von 23

-Hochschule BremenPraxisbericht

Wintersemester
2015/16

Praxissemester beim Deutschen


Forschungszentrum fr Knstliche Intelligenz
von
Noshaba Cheema

Praktikumszeitraum: 01.09.2015 31.12.2015

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

Inhaltsverzeichnis
1. Beschreibung des Umfeldes....................................................................................................2
2. Aufgabe...................................................................................................................................3
2.1 Peripheres Sehen..............................................................................................................3
2.2 Konkrete Aufgaben...........................................................................................................4
3. Lsungsmglichkeiten............................................................................................................5
3.1 Mglichkeiten zur texturartigen Reprsentation..............................................................5
3.2 Bisheriges Peripherie Modell von Rosenholtz.................................................................6
3.3 Einfhrung in Neuronale Netze........................................................................................7
4. Lsungskonzept......................................................................................................................8
4.1 VGG 19-Layer Netz.........................................................................................................8
4.2 Textur-Modell...................................................................................................................9
4.3 Textur-Synthese aus einem CNN....................................................................................11
4.4 Texture-Tiling Model.....................................................................................................12
5. Ausgewhlte Realisierungsanstze.......................................................................................15
5.1 Framework......................................................................................................................15
5.2 Statistisches Pooling.......................................................................................................16
6. Zusammenfassung, Ausblick, Reflektion..............................................................................17
6.1 Zusammenfassung und Ausblick....................................................................................17
6.2 Reflektion.......................................................................................................................18
7. Anhang..................................................................................................................................19
7.1 Abbildungsverzeichnis...................................................................................................19
7.2 Abkrzungsverzeichnis..................................................................................................19
8. Literatur- und Quellenverzeichnis.........................................................................................20
8.1 Literaturquellen..............................................................................................................20
8.2 Internetquellen................................................................................................................22

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

1. Beschreibung des Umfeldes


Das Deutsche Forschungszentrum fr Knstliche Intelligenz GmbH (DFKI) zhlt zu den
fhrenden Forschungseinrichtungen Deutschlands. International gehrt das DFKI zu den
wichtigsten Centers of Excellence und gemessen an Mitarbeiterzahl und Drittmitteln, das
weltweit grte Forschungszentrum im Bereich der Knstlichen Intelligenz. [33]
Die Geschftsfhrung [des DFKI] bilden Prof. Dr. Dr. h.c. mult. Wolfgang Wahslter [] und
Dr. Walter Olthoff [] [33].
Zu den Standorten des DFKI gehren Kaiserslautern, Saarbrcken und Bremen (mit einer
Auenstelle in Osnabrck). [33]
Zu den Shareholdern des DFKI gehren unter anderem GOOGLE, MICROSOFT, INTEL, BMW,
TELEKOM und die FRAUNHOFER Gesellschaft. [35]
Das DFKI beschftigt im Moment 485 Wissenschaftler und 373 Graduierte aus 60
verschiedenen Lndern. Diese entwickeln an etwa 180 verschiedenen Projekten. [34]
Das Praktikum wurde zusammen mit der Arbeitsgruppe fr Kognitive Neuroinformatik an der
Universitt Bremen abgehalten.
Die Arbeitsgruppe entwickelt biologisch inspirierte hybride wissensbasierte Systeme [],
die neuronale und kognitive Verarbeitungsprozesse integrieren. [41]. Sie wird geleitet von
Prof. Dr. Kerstin Schill und Dr. Christoph Zetzsche. Zur Zeit beschftigt die Arbeitsgruppe 10
wissenschaftliche Mitarbeiter und 2 Sekretrinnen. [42]
Whrend meines Praktikums habe ich mit einem UBUNTU LTS 14.3 Rechner gearbeitet mit
einem 64GB RAM INTEL XEON Prozessor und einer GEFORCE GTX TITAN mit 6GB Memory.
Zustzlich wurde mir auch auch eine GEFORCE GTX 970 mit 4 GB Memory zur Verfgung
gestellt. Als Software habe ich BVLC CAFFE, PYCHARM, NSIGHT ECLIPSE, MATLAB benutzt. Fr
das Projekt habe ich die Programmiersprachen PYTHON, MATLAB, C++ und CUDA verwendet.
Mir wurde auerdem ein eigenes Bro zur Verfgung gestellt.
Betreut wurde ich von Prof. Dr. Udo Frese vom DFKI und Dr. Christoph Zetzsche von der AG
fr Kognitive Neuroinformatik.

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

2. Aufgabe
Meine Aufgabe beinhaltete die Modellierung der peripheren Darstellung im visuellen System
mithilfe eines Knstlichen Neuronalen Netzes (KNN, engl. Aritificial Neural Netowrk,
ANN). Speziell, mithilfe eines Convolutional Neural Networks (CNN, dt. Gefaltetes
Neuronales Netz).
2.1 Peripheres Sehen
Unsere Sinne werden mit mehr Information konfrontiert, als wir verarbeiten knnen. Beim
visuellen System des Menschen kann unter bestimmten Bedingungen nur ein winziger
Bruchteil der ankommenden sensorischen Information verarbeitet werden.
Dass dem so ist, wird in der Peripherie des menschlichen Auges deutlich. Peripheres Sehen
gibt uns eine schlechtere Reprsentation des visuellen Inputs als foveales Sehen.
Informationen erscheinen oft grber in der visuellen Peripherie und es kann zu lokalen
Vertauschungseffekten kommen dem sog. Crowding-Effekt. Als Crowding bezeichnet
man die beeintrchtigte Erkennung von Objekten in der Peripherie, wenn benachbarte Objekte
(auch Flankers genannt) vorhanden sind. Man geht davon aus, dass es zum Crowding-Effekt
aufgrund eines Bottlenecks der visuellen Informationen kommt. [1]
Es gibt noch kein Modell, das solche Effekte ausreichend gut modelliert. Ein Model, welches
dies versucht, stammt von Ruth Rosenholtz [24]. Allerdings sehen die entstehenden Bilder
(von Rosenholtz Mongrels genannt), beispielsweise noch zu verwaschen aus und die
Crowding-Effekte tauchen zu sehr im fovealen Bereich auf (Figure 1).
Convolutional Neural Networks kommen unserem visuellen System nahe, wenn es darum geht
Objekte zu klassifizieren. Es sollte untersucht werden, ob ein vortrainiertes CNN genutzt
werden kann, um solche Crowding-Effekte und die bisher publizierten Mongrels von
Rosenholtz gut modellieren zu knnen.

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

2.2 Konkrete Aufgaben


Als erstes sollte ich mich mit dem Caffe Framework vom Berkeley Vision and Learning
Center vertraut machen, da das verwendete vortrainierte Netz als Caffemodel bereitgestellt
wurde. Caffe ist ein Open Source Framework fr Deep Learning [11]. Als Deep Learning
bezeichnet man maschinelles Lernen mithilfe von tiefer neuronaler Netze. Als tief werden oft
Netze bezeichnet, die 7 oder mehr Layer nutzen. Desweiteren sollte ich mich in Rosenholtz'
und Gatys et al. Arbeiten einarbeiten, um aus ihnen ein Modell fr peripheres Sehen zu
implementieren.

Fig, 1 | Mongrels zur Modellierung des peripheren Sehens von R. Rosenholtz [14]

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

3. Lsungsmglichkeiten
Der Crowding-Effekt zeigt, dass die Reduktion von Information in der Peripherie nicht nur
eine Reduktion der Auflsung ist. Ein Ansatz diese Vertauschungseffekte zu modellieren, geht
davon aus, diese als texturartige Reprsentation darzustellen. [24]
3.1 Mglichkeiten zur texturartigen Reprsentation
Generell kann man sagen, dass es zwei Mglichkeiten zur Textur-Generation gibt [9].
Ein Ansatz wre, eine Textur durch Resampling von Pixeln [6, 30] bzw. ganzen Stellen [5, 17]
des Originals zu erzeugen. Diese nicht-parametrischen Resampling Techniken liefern sehr
effizient natrliche Texturen. Sie geben jedoch kein eigentliches Modell fr natrliche
Texturen, sondern vielmehr eine mechanische Prozedur das Originalbild so zu randomisieren
ohne bestimmte Wahrnehmungseigenschaften zu verndern. [9]
Der zweite Ansatz wre explizit ein parametrisches Textur-Modell zu definieren. Solch ein
parametrisches Modell nutzt meist statistische Messungen, die ber das Bild gebildet wurden.
Da man nur die statistische Reprsentation zur Textur-Synthese nutzt, knnen verschiedene
Texturen entstehen, die aber dieselben statistischen Ergebnisse liefern [9]. Konzeptuell wurde
diese Idee bereits von Julesz in 1962 vorgestellt [13].
In den nchsten Jahren, wurden solche Textur-Modelle vom visuellen System des Sugetiers
inspiriert von dem man ausgeht, dass es Gabor-Filter hnliche lineare Filterantworten nutzt.
Diese Textur-Modelle bilden dann die Textur-Reprsentation auf diesen Filterantworten. Ein
solches Textur-Modell wurde beispielsweise von Portilla und Simoncelli vorgestellt [21],
welches als eines der besten parametrischen Modelle fr Textur-Synthese gilt [9].
Dieses wurde als Basis fr die Arbeit Texture Synthesis Using Convolutional Neural
Networks von M. Bethge, A. Ecker und L. Gatys in 2015 genutzt, um Texturen aus der
Statistik eines neuronalen Netzes zu erzeugen [9]. Im Gegensatz zu Portilla und Simoncelli,
die

sorgfltig

ausgesuchte

und

selbst

designte

Parameter

zur

Erstellung

von

Hufigkeitsverteilungen verwendeten [22], nutzen Gatys et al. die grozgige Anzahl an


Featuremaps eines auf Objekterkennung trainierten CNNs als nicht-lineare Filterbanken,
wodurch diese viel bessere Ergebnisse in der Textur-Synthese erzielen konnten als Portilla und
Simoncelli [9].

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

3.2 Bisheriges Peripherie Modell von Rosenholtz


Die Idee die texturartigen Vertauschungseffekte beim Crowding-Effekt in der visuellen
Peripherie durch lokale Statistiken zu modellieren, stammt ursprnglich von Rosenholtz [24].
Dabei nutzte sie fr die statistische Reprsentation die sorgfltig ausgesuchten Parameter von
Portilla und Simoncelli [22], um Mongrels zu erstellen, nachdem letztere festgestellt hatten,
dass statistische Reprsentationen sich gut fr eine Textur-Reprsentation eigenen.
Die Parameter reprsentieren dabei Verhltnisse zwischen Skalierung, Orientierung und
Position [8].
Die Unterteilung in Peripherie und Fovea erzeugt sie ber ein Texture-Tiling Model (TTM)
(Figure 2). In diesem Model werden unterschiedlich groe, berlappende Pooling-Regionen
verwendet, die kleiner werden, je nher man an das Zentrum der Fovea gelangt. Die ntigen
Statistiken, um dann die Crowding-Effekte zu modellieren, werden dann in den einzelnen
Pooling-Regionen gebildet. Diese bestehen aus den Korrelationen der Filterantworten zweiter
Ordnung. Dabei werden alle Kombinationen zweier Filterantworten punktweise miteinander
multipliziert und ber eine Pooling-Region aufsummiert. [24]
Dieses Modell, soll das frhe visuelle System und die jeweiligen Prozesse darin
reprsentieren, um die Crowding-Effekte zu erlutern. Die gewhlten Parameter von Portilla
und Simoncelli entsprechen dann den V1-hnlichen Filtern im primren visuellen Cortex. [24]
Dieser ist der einfachste kortikale Bereich des visuelle Cortex und wird vor allem fr
Mustererkennung verwendet [29].

Fig, 2 | Texture-Tiling Model von Rosenholtz mit den innerhalb der Pooling
Regionen gebildeten Statistiken [38]

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

3.3 Einfhrung in Neuronale Netze


Knstliche Neuronale Netze stellen einen Forschungsgegenstand der Neuroinformatik dar. Sie
sind biologisch inspirierte Netzwerke, die multiple komplexe Schichten (auch Layer genannt)
aus nicht-linearen Transformationen zur Informationsverarbeitung bzw. zur Modellierung
hochrangiger Abstraktionen nutzen. [23]
Die Inspiration kommt dabei vom menschlichen Gehirn. Solch ein Netz beinhaltet in jedem
dieser Schichten Neuronen mit einer Aktivierungsfunktion, die eine gewichtete Summe als
Input erhalten und den Output in den nchsten Layer bergeben. Diesen Vorgang nennt man
Forward-Propergation. Am Ende der Forward-Propergation bekommt man meist ein
Klassifikationsresultat. Um den Fehler des Klassifikationsresultates mglichst gering zu
halten, muss das Netz erst mit gelabelten Daten trainiert werden. Dabei wird das Datum als
Input erst nach vorne propagiert. Mithilfe einer Verlustfunktion wird dann verglichen wie sehr
sich das Klassifikationsresultat vom eigentlichen Label des Inputs unterscheidet. Diese
Verlustfunktion kann beispielsweise die mittlere quadratische Abweichung sein. ber die
Back-Propergation werden dann die Gewichte im Netz so verndert, dass die
Verlustfunktion

mglichst

minimiert

wird.

Das

geschieht

hufig

durch

ein

Gradientenabstiegsverfahren. [23]
Ein Convolutional Neural Network ist dabei eine spezielle Form eines Knstlichen
Neuronalen Netzes. Ein klassisiches KNN besteht aus Fully-Connected Layern, wo jeder
Output des vorherigen Layers an jedes Neuron des nchsten Layers bergeben wird. Bei der
allgemeinen Definition eines CNNs, wird dagegen nicht jeder Output zu jedem Neuron des
nchsten Layers als Input bergeben. Oft wird jedoch eine Faltung (engl. Convolution)
durchgefhrt, woher der Name stammt. Bei einer Faltung wird eine gewichtete Summe ber
ein bestimmtes Fenster gebildet. Die Gre bzw. die Elemente des Fensters sind definiert ber
den Faltungskern. Dann wird das Fenster mit einem bestimmten Abstand (Stride) weiter
bewegt bis man ber den gesamten Input des jeweiligen Layers durchgegangen ist. Die
Outputs nennt man dann Feature-Maps. [37]
Fr die Aufgabe sollte ein trainiertes CNN verwendet werden, da diese in den letzten paar
Jahren bereits groe Erfolge im Bereich Objekterkennung erzielt haben. [16, 27, 28]

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

4. Lsungskonzept
hnlich wie Gatys et al. nutzen wir die grozgige Anzahl an Featuremaps eines jeden Layers
eines vortrainierten CNNs als nicht-lineare Filterbanken fr die statistische Reprsentation.
Verwendet wurde hierbei das 19-Layer VGG Netz von Karen Simonyan und Andrew
Zisserman, welches den ImageNet Wettbewerb im Jahre 2014 gewann [16]. Das Netz ist nun
die Basis fr viele Projekte der aktuellen Forschung im Bereich Deep Learning [9].
Die periphere Reprsentation modellierten wir ebenfalls ber ein Texture-Tiling Model
(Figure 3). Die Statistiken wurden dann innerhalb der Pooling-Regionen des Texture-Tiling
Models gebildet.

Fig, 3 | Texture-Tiling Model ohne berlappende Pooling Regionen

4.1 VGG 19-Layer Netz


Simonyan und Zisserman von der Visual Geometry Group an der University of Oxford
entwickelten das VGG 19-Layer Netz [27]. Das Netz ist ein auf Objekterkennung trainiertes
19 Layer tiefes Convolutional Neural Network. Um die Verbesserung durch die CNN Tiefe
fair zu messen, nutzten Simonyan und Zisserman dieselbe Struktur fr jeden CNN-Layer. Die
Netzarchitektur ist dabei inspiriert von Krizhevsky et al. [16] und Ciresan et al. [3].

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

Die Faltungskerne hatten dabei nur eine Gre von 33k , wobei k die Anzahl der
Feature Maps ist. Stride1 und Padding2 wurden dabei auf 1 gewhlt, wodurch die Output
Featuremaps3 dieselben rumlichen Dimensionen besitzen wie die Input Featuremaps. Das
Netz nutzt Max-Pooling4 ber nicht berlappenden Regionen mit einer Gre von 22
Pixel, wodurch die Featuremaps auf die Hlfte der wichtigeren Feature heruntergebrochen
werden. Mit dieser Konfiguration konnten sie 2014 die Pltze 1 und 2 an der ImageNet LargeScale Visual Recognition Challenge (ILSVRC) in den Kategorien Lokalisierung und
Klassifikation belegen. [27]
Im Gegensatz zum offiziellen Netz, was Max-Pooling verwendet, nutzten wir die Variation
von Gatys et al., welche das Max-Pooling mit Average-Pooling 5 ersetzte, um einen Gradienten
berechnen zu knnen, der berall differenzierbar ist. Dadurch erhielten sie etwas sauberere
Resultate als mit Max-Pooling. Aus praktischen Grnden nahmen sie dann noch eine
Normalisierung des Netzes vor, indem sie die Parameter im Netz so skalierten, dass die
durchschnittliche Aktivierung eines Filters ber die Bilder und Positionen 1 ergibt. [9]
4.2 Textur-Modell
Die Textur-Synthese pro Pooling-Region entspricht im groen und ganzen der beschriebenen
von Gatys et al. Diese basiert auf das parametrische Textur-Modell von Portilla und
Simoncelli [22]. Dabei werden zuerst Feature (Filterantworten) vom Bild durch den ForwardPass eines des CNNs extrahiert und auf ihnen eine statistische Reprsentation gebildet. [9]
Im nchsten Schritt wird dasselbe mit einem Weirauschbild gemacht. Auf die statistische
Reprsentation

des

Originalbildes

und

des

Weirauschbildes

wird

dann

das

Gradientenverfahren angewendet, um ein neues Bild zu erhalten, was dieselbe statistische


Beschreibung liefert wie das Originalbild. [9]

1
2
3
4
5

Stride Abstand in Pixel zum nchsten Zentrum der Faltung


Padding Dicke des Rahmens in Pixeln im Faltungskern, der mit Nullen aufgefllt werden soll
Featuremap Output eines Layers in einem Neuronalen Netz (bzw. einfach ein gefiltertes Bild)
Max-Pooling Das Maximum wird ber eine bestimmte Region gebildet
Average-Pooling Der Durchschnitt wird ber eine bestimmte Region gebildet

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

Fig, 4 | Textur-Analyse (links) und -Synthese (rechts) von Gatys et al. [9]

Portilla und Simoncelli nutzten jedoch die Filterantworten ihrer linearen Filterbank namens
Steerable Pyramid, um ihre sorgfltig ausgesuchten Statistiken zu berechnen [26]. Im
Gegensatz dazu verwenden Gatys et al. die grozgige Anzahl an Featuremaps eines jeden
Layers eines vortrainierten Convolutional Neural Networks und als einzige Statistik nur die
Korrelationen zwischen den einzelnen Filterantworten eines jeden Layers des CNNs [9].

10

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

4.3 Textur-Synthese aus einem CNN


Zunchst werden die Aktivierungen eines vektorisierten Bildes mithilfe des Forward-Passes
eines CNNs berechnet. Dabei werden mehrere Faltungskerne pro Layer auf das Bild
angewendet, wodurch man die Filterantworten des Bildes erhlt (die sogenannten
Featuremaps) [23]. Ein Layer mit N l Faltungskernen hat N l Featuremaps mit je der
Gre M l , wenn vektorisiert. Diese Featuremaps kann man in eine Matrix Fl N M ,
l

wo Fljk die Aktivierung des Filters j an der Stelle k im Layer l ist, speichern. Um aus
dieser Matrix eine Textur-Reprsentation zu erstellen, muss die rumliche Information des
Bildes verloren gehen. Eine Statistik, die ein solches Verhalten aufweist, erhlt man aus den
Korrelationen zwischen verschiedener Featuremaps eines Layers. [9]
Diese Korrelationen sind gegeben durch die Gram Matrix Gl N N , wo Glij das innere
l

Produkt zwischen Featuremaps i und j in Layer l ist:

Gij =k F ik F jk
l

(1)

Ein Set aus der Gram Matrix eines jeden Layers 1 bis L beschreibt, dann die Textur
vollstndig. [9]
Um eine neue Textur auf Basis des Originalbildes zu generieren, wird dann das
Gradientenabstiegsverfahren auf ein Weirauschbild angewendet, um ein Bild zu finden, was
der Gram-Matrix und damit der statistischen Reprsentation des Originalbildes, entspricht.
Als Verlustfunktion fr das Gradientenverfahren verwenden Gatys et al. die mittlere
quadratische Abweichung zwischen der Gram-Matrix des Originalbildes und der GramMatrix des generierten Bildes. [9]
Pro Layer sieht diese Gleichung folgenedermaen aus:

El =

1
l
l 2
(G ijG^ ij )
2
2 i , j
4 Nl Ml

(2)

Wobei Glij die Gram-Matrix der Aktivierungen Fl des Originalbildes ist und G^ lij , die der
Aktivierungen des generierten.
Fr die Verlustfunktion des kompletten Netzes ergibt sich dann:
11

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz


L
( x , x^ )= l=0 w l El

(3)

x ist das vektorisierte Originalbild und ^x das vektorisierte generierte Bild. w l ist die
Gewichtung des Layers, die man dem jeweiligen Layer bei der Rekonstruktion des Bildes
zuschreiben mchte. [9]
Fr den Gradienten, abgeleitet nach den Aktivierungen F^ l ergibt sich:

1
(( F^ ll )T (Gl G^ l)) ji , wenn F^ lij > 0
El
2
2
= Nl M l
F^lij
0, wenn F^lij >0

Der Gradient

(4)

fr (x , x^ ) kann dann ber die Backpropergation des Netzes


^^
x

berechnet werden [18]. Als Gradientenabsteigsverfahren wurde wie bei Gatys et al. LBFGS-B genutzt, welches sich besonders gut fr solch ein mehrdimensionales
Optimierungsproblem eignet [32]. Da die gesamte Prozedur auf dem Standard ForwardBackward Pass des Caffe Frameworks beruht [11], wodurch die Vorteile von der GPUBeschleunigung genutzt werden knnen ohne das Netz selbst in CUDA zu implementieren,
knnen diese Texturen im verhltnismig schnell berechnet werden.
4.4 Texture-Tiling Model
Um die Implementierung etwas zu erleichtern, wurden zunchst nur quadratische und nichtberlappende Pooling-Regionen verwendet (Figure 3). Dies hatte den Vorteil, dass man sich
noch nicht Gedanken, um die Berechnung des Gradienten zweier berlappender PoolingRegionen machen musste, aber man trotzdem erkannt hat, wie die greren Pooling-Regionen
den Crowding-Effekt verstrken, da sie mehr Vertauschungen innerhalb der jeweiligen
Pooling-Region erlauben.
Die Statistiken innerhalb der Pooling-Regionen wurden zunchst ber dieselben Layer des
VGG 19-Layer Netzes berechnet wie bei Gatys et al. [9]. Das sind die Layer conv1_1,
pool1, pool2, pool3 und pool4.

12

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

Da die Filterkerne in den Layern pool2-4 auch nicht mehr den V1-Filtern im primren
visuellen Cortex entsprechen, ist dieses Modell auch keine Reprsentation des frhen
visuellen Systems mehr, weshalb man zu gute Ergebnisse erzielt und das Originalbild fast
vollstndig rekonstruiert (Figure 5, Mitte). Rekonstruiert man nur aus dem ersten Layer
(conv1_1) sind die Ergebnisse hingegen etwas sehr schlecht (Figure 5, rechts).

Fig, 5 | Von Links nach Rechts: Original, 5-Layer-Mongrel-Rekonstruktion, Conv1_1-Mongrel


Rekonstruktion

Es ist allerdings auch nicht nachgewiesen, dass der Crowding-Effekt im frhen visuellen
System entstehen muss. In den existierenden Modellen wie Histogram of Oriented
Gradients (HOG) [4], Scale-Invariant Feature Transform (SIFT) [18] oder Textons [13]
werden zwar der primitive V1-Featurespace verwendet, um eine statistische Reprsentation zu
erzeugen und die Ergebnisse erscheinen berzeugend, aber es ist nicht klar, warum gerade
dieser Level des visuellen Systems der geeignetste ist fr solche eine Reprsentation bzw.
warum gerade das statistische Poolen direkt nach dem primren visuellen Cortex stattfinden
sollte.
Textur-Rekonstruktionen aus nur einem Layer (Figure 6, links) zeigen, dass die generelle
Meinung, dass statistische Reprsentationen am ehesten nach dem V1-Level stattfinden,
womglich nicht zutreffend sind und intermedire Layer womglich besser dazu geeignet
wren. Allerdings ist noch unklar, ob dieser Effekt nur auf die kleine Faltungskerngre des
VGG-19 Netzes zurck zu fhren ist.
Figure 6 (rechts) zeigt die Rekonstruktion der Peripherie aus jeweils nur einem Layer. Aus
welchem bzw. welchen Layer(n) man nun am besten diese periphere Darstellung erzeugen
sollte, muss noch ermittelt werden. Rein optisch scheinen pool2 und/oder pool3 am
passendsten.
Zudem mssen auch berlappende und am besten ellipsoide Pooling Regionen siehe
Rosenholtz mit in Betracht gezogen werden.

13

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

Fig, 6 | Texture-Rekontruktionen (links) und Mongrel-Rekonstruktionen (rechts) aus nur jeweils einem
Layer des VGG-19 Layer Netzes

14

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

5. Ausgewhlte Realisierungsanstze
5.1 Framework
Als Framework wurde Caffe [11] vom Berkeley Vision and Learning Center verwendet, da fr
das Framework viele bereits vortrainierte Netze zur Verfgung gestellt werden [39].
Caffe ist ein Open Source Framework [43] fr Deep Learning und findet vor allem in der
Industrie und Forschung Verwendung [9, 10, 20, 27]. Es wird vormals dafr verwendet eigene
KNNs zu erstellen mithilfe der bereits zur Verfgung gestellten Arten von Layern oder eigener
C++ Implementierungen von benutzerdefinierten Layern. Ein benutzerdefinierter Layer
implementiert die Klasse Layer, die jeweils eine Forward- und eine Backward-Methode
implmentiert haben muss. Jeder dieser Methoden ist noch unterteilt in eine CPU- und eine
GPU-Variante der Methode. Die CPU-Methode ist Pflicht, whrend die GPU-Methode
optional ist. Diese muss ber CUDA C implementiert werden [40].
Fr die Aufgabe das Periphere-Modell zu simulieren war das Implementieren eines neuen
Layers in der C++-API von Caffe nicht unbedingt ntig.
Die Implementierung des statistischen Poolings wurde zunchst in PyCaffe dem PythonInterface von Caffe implementiert. Eine komplette Implementierung in C++ und CUDA soll
jedoch noch fr eine Performance-Verbesserung gemacht werden, war aber noch auerhalb
des Rahmens des Praktikums.

15

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

5.2 Statistisches Pooling


Das Statistische Pooling wurde in PyCaffe implementiert. Dazu wurde zunchst das
normalisierte Caffe-Modell [36] von Gatys et al. und das jeweilige Bild wovon die periphere
Darstellung erstellt werden sollte in das PyCaffe-Interface geladen. Danach wurde das Bild
mithilfe des TTMs unterteilt wie in Figure 3. Fr jede dieser Pooling-Regionen wurden dann
mithilfe des Forward-Passes die bentigten Filterantworten berechnet. Aus den Layern aus
denen

man

die

periphere

Reprsentation

rekonstruieren

wollte,

wurden

die

korrespondierenden Gram-Matritzen pro Pooling-Region berechnet. Diese sind dann die


Targets fr das Gradientenabstiegsverfahren. Als Gradientenabstiegsverfahren wurde LBFGS-B verwendet, da es besonders gut mit mehrdimensionalen Optimierungsproblemen
umgehen kann [32]. Das Gradientenverfahren muss dann ein Bild aus einem Weirauschbild
finden, was mglichst dieselbe lokalen Gram-Matritzen und damit Statistiken liefert wie
das Original. Dabei muss die Verlustfunktion in (3) pro Pooling-Region minimiert werden.
Die Gesamt-Verlustfunktion mit dem TTM, die sich damit ergibt, ist dann einfach die Summe
der Verlustfunktionen aller Pooling-Regionen. Dies ist dann die Funktion, die schlussendlich
minimiert wird. Der Gradient dieser Verlustfunktion entspricht dann der Summe der
Gradienten aller Pooling-Regionen, wobei diese die Gre des Inputbildes haben und die
Stellen, die nicht zur jeweiligen Pooling-Region gehren mit Zero-Padding aufgefllt wurden.
Der Gradient, der pro Pooling-Region berechnet werden muss, wurde aus dem Backward-Pass
des vortrainierten VGG-Netzes ber das Caffe-Interface berechnet.

16

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

6. Zusammenfassung, Ausblick, Reflektion


6.1 Zusammenfassung und Ausblick
Wir haben ein parametrisches Modell zur Synthese von Mongrels erstellt, welches auf den
lokalen Statistiken der Featuremaps eines High-Performance Deep Convolutional Neural
Networks basiert.
In den letzten Jahren haben biologisch inspirierte Textur-Modelle neue Analysemodelle fr
das Untersuchen der visuellen Wahrnehmung geliefert. Besonders das Textur-Modell von
Portilla und Simoncelli [22] hat eine groe Anzahl an neurowissenschaftlichen und
psychophysikalischen Studien vorangetrieben [1, 25, 7, 8, 21].
Unser Modell basiert auf das Textur-Modell von Gatys et al. [9], welches ein tiefes CNN nutzt.
Diese sind die ersten knstlichen Systeme, die dazu in der Lage sind, gegen den Menschen in
bestimmten Aufgaben wie Objekterkennung konkurrenzfhig zu sein bzw. sogar zu schlagen
[16, 27, 28]. Ihre hierarchische Struktur und die simplen Berechnungen innerhalb einzelner
Neuronen hneln fundamental realen neuronalen Systemen [23]. Mit der zunehmenden
Evidenz fr die hnlichkeit der Reprsentation in CNNs und dem ventralen visuellen System
[30, 2, 15], macht es neuronale Netze relevante Kandidaten, um die visuellen
Verarbeitungsprozesse im Gehirn zu untersuchen [9].
Die von uns erstellten Bilder zeigen qualitativ eine deutliche Verbesserung auf zu den bisher
publizierten Bildern von Rosenholtz [14], auch wenn unser Modell noch keine berlappenden
Pooling-Regionen nutzt.

17

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

6.2 Reflektion
Das Praktikum lieferte gute Einblicke in den Alltag von Wissenschaftlern. Da sich die
Wissenschaft oft mit Dingen beschftigt, die weitgehend ununtersucht sind bzw. noch weiter
untersucht werden mssen, konnten man mir nicht immer mit Problemen behilflich sein.
Dadurch konnte ich allerdings lernen eigenverantwortlich zu arbeiten und mich in mir noch
unbekannte Dinge einzulesen, was in einem Fach wie Informatik wohl zum Alltag gehren
wird.
Da es in den vergangenen Jahren einen Hype um neuronale Netze durch die mit dem
Menschen konkurrenzfhigen Objekterkennung [16, 27, 28] und durch Applikationen wie
Googles Deep Dream [20] oder Gatys et al. A Neural Algorithm of Artistic Style [10]
gab, hatte ich die Mglichkeit mich in den aktuellsten wissenschaftlichen Arbeiten im Bereich
Neuroinformatik und Machine Learning einzuarbeiten, die zum Teil seit ihrer Publikation
nicht einmal ein Jahr alt waren.
Zudem wurde mir gute Hardware bereitgestellt, sodass die rechenintensiven Operationen auch
in verhltnismig kurzer Zeit berechnet werden konnten.

18

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

7. Anhang
7.1 Abbildungsverzeichnis
Fig. 1 | Mongrels zur Modellierung des peripheren Sehens von R. Rosenholtz [14]

Fig, 2 | Texture-Tiling Model von Rosenholtz mit den innerhalb der Pooling
Regionen gebildeten Statistiken [38]

Fig, 3 | Texture-Tiling Model ohne berlappende Pooling Regionen

Fig. 4 | Textur-Analyse (links) und -Synthese (rechts) von Gatys et al. [9]

10

Fig. 5 | Von Links nach Rechts: Original, 5-Layer-Mongrel-Rekonstruktion,


Conv1_1-Mongrel Rekonstruktion

13

Fig. 6 | Texture-Rekontruktionen (links) und Mongrel-Rekonstruktionen (rechts) aus


nur jeweils einem Layer des VGG-19 Layer Netzes

14

7.2 Abkrzungsverzeichnis
AG

Arbeitsgruppe

ANN

Artificial Neural Network

BFGS

Broyden-Fletcher-Goldfarb-Shanno

BMW

Bayrische Motorenwerke

BVLC

Berkeley Vision and Learning Center

CNN

Convolutional Neural Network

CPU

Central Processing Uni

DFKI

Deutsches Forschungszentrum fr Knstliche Intelligenz

GB

Giga Byte

GmbH

Gesellschaft mit beschrnkter Haftung

GPU

Graphics Processing Unit

ILSVRC

ImageNet Large-Scale Visual Recognition Challege

KNN

Knstliches Neuronales Netz

L-BFGS-B

Limited-memory BFGS with bound constraints

RAM

Random-access Memory

TTM

Texture-Tiling Model

VGG

Visual Geometry Group

19

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

8. Literatur- und Quellenverzeichnis


8.1 Literaturquellen
[1] BALAS, B., L. NAKANO, R. ROSENHOLTZ (2009): A Summary-Statistic Representation in
Peripheral Vision Explains Visual Crowding
in: Journal of Vision, 9(12): 13.
[2] CADIEU, C. F., H. HONG, D. L. K. YAMINS, N. PINTO, D. ARDILA, E. A. SOLOMON, N. J. MIJAJ, J.
J. DICARLO (2014): Deep Neural Networks Rival the Representation of Primate IT
Cortex for Core Visual Object Recognition
in: PLoS Comput Biol, 10(12): e1003963.
[3] CIRESAN, D. C., G. CORRADO, R. MONGA, K. CHEN, M. DEVIN, M. MAO, M. RANZATO, A.
SENIOR, P. TUCKER, K. YANG, Q. V. LE, A. Y. NG (2011): Flexible, High Performance
Convolutional Neural Networks for Image Classification
in: IJCAI; S. 1237 1242.
[4] DALAL, N., B. TRIGGS (2005): Histogram of Oriented Gradients for Human Detection
in: Conference on Computer Vision and Pattern Recognition.
[5] EFROS, A. A., W. T. FREEMAN (2001): Image Quilting for Texture Synthesis and Transfer
in: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive
Techniques; S. 341 346.
[6] EFROS, A., T. K. LEUNG (1999): Texture Synthesis by Non-Parametric Sampling
in: Computer Vision, 1999. The Proceedings of the Seventh IEEE International
Conference on, Volume 2; S. 1033 1038.
[7] FREEMAN, J., E. P. SIMONCELLI (2011): Metamers of the Ventral System
in: Nature Neroscience, 14(9); S. 1195 1201.
[8] FREEMAN, J., C. M. ZIEMBA, D. J. HEEGER, A. J. MOVSHON (2013): A Functional and
Perceptual Signature of the Second Visual Area in Primates
in: Nature Neroscience, 16(7); S. 974 981.
[9] GATYS, L. A., M. BETHGE, A. S. ECKER (2015): Texture Synthesis Using Convolutional
Neural Networks
in: Neural Information Processing Systems 2015.
[10] GATYS, L. A., A. S. ECKER, M. BETHGE (2015): A Neural Algorithm of Artistic Style
in: arXiv: 1508.06576v2 [cs].
[11] JIA, Y., E. SHELHAMER, J. DONAHUE et al. (2014): Caffe: Convolutional architecture for fast
feature embedding
in: Proceedings of the ACM International Conference on Multimedia; S.675 678.
[12] JULESZ, B. (1962): Visual Pattern Discrimination
in: IRE Transaction on Information Theory, Volume 8, Issue 2.
[13] JULESZ, B. (1981): Textons, the Elements of Texture Perception, and Their Interactions
in: Nature 290; S. 91 97.
[14] KESHVARI, S., R. ROSENHOLTZ (2016): Pooling of Continuous Features Provides a Unifying
Account of Crowding
in: Journal of Vision, 16(3): 39.

20

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

[15] KHALIGH-RAZAVI, S., N. KRIEGESKORTE (2014): Deep Supervised, but Not Unsupervised,
Models may Explain IT Cortical Representation
in: PLoS Comput Biol, 10(11): e1003915.
[16] KRIZHEVSKY, A., I. SUTSKEVER, G. E. HINTON (2012): ImageNet Classification with Deep
Convolutional Neural Networks
in: Advances in Neural Information Processing Systems 27; S. 1097 1105.
[17] KWATRA, V., A. BOBICK, I. ESSA, A. SCHDL, G. TURK (2003): Graphcut Textures: Image and
Video Synthesis Using Graph Cuts
in: ACM Transactions on Graphics (ToG), Volume 22; S. 277 286.
[18] LECUN, Y. A., L. BOTTOU, G. B. ORR, K. R. MLLER (2012): Efficient Backprop
in: Neural Networks: Tricks of the Trade; Springer, S. 9 48.
[19] LOWE, D. G. (1999): Object Recognition from Local Scale-Invariant Features
in: International Conference on Computer Vision; S. 1150 1157.
[20] MORDVINTSEV, A., C. OLAH, M. TYKA (2015): Inceptionism: Going Deeper into Neural
Networks
in: Google Research Blog.
[21] OKAZAWA, G., S. TAJIMA, H. KOMATSU (2015): Image Statitics Underlying Natural Texture
Selectivity of Neurons in Macaque V4
in: PNAS, 112(4): E351 E360.
[22] PORTILLA, J., E. P. SIMONCELLI (2000): A Parametric Texture Model Based on Joint
Statistics of Complex Wavelet Coefficients
in: International Journal of Computer Vision, Volume 40, Issue 1; S. 49 70.
[23] ROJAS, R. (1996): Neural Networks A Systematic Introduction
Berlin: Springer-Verlag.
[24] ROSENHOLTZ, R. (2011): What Your Visual System Sees When You Are Not Looing
in: Proc. SPIE Vol. 7865, Human Vision and Electronic Imaging XVI, 786510.
[25] ROSENHOLTZ, R., J. HUANG, A. RAJ, B. J. BALAS, L. ILIE (2012): A Summery Statistic
Representation in Peripheral Vision Explains Visual Search
in: Journal of Vision, 12(4): 14.
[26] SIMONCELLI, E. P., W. T. FREEMAN (1995): The Steerable Pyramid: A Flexible Architecture
for Multi-Scale Derivative Computation
in: Image Processing, International Conference on, Volume 3; S. 3444.
[27] SIMONYAN, K, A. ZISSERMAN (2014): Very Deep Convolutional Networks for Large-Scale
Image Recognition
in: arXiv: 1409.1556 [cs].
[28] SZEGEDY, C., W. LIU, Y. JIA, P. SERMANET, S. REED, D. ANGUELOV, D. ERHAN, V. VANHOUCKE,
A. RABINOVICH (2014): Going Deeper with Convolutions
in: arXiv: 1409.4842 [cs].
[29] TONG, F. (2003): Primary Visual Cortex and Visual Awareness
in: Nature Reviews, Neuroscience; S. 219 229.
[30] WEI, L., M. LEVOY (2000): Fast Texture Synthesis using Tree-Structured Vector
Quatization.
in: Proceedings of the 27th Annual Conference on Computer Graphics and Interactive
Techniques; S. 479 488.

21

Noshaba Cheema

Praxissemester beim Deutschen Forschungszentrum fr Knstliche Intelligenz

[31] YAMINS, D. L. K., H. HONG, C. F. CADIEU, E. A. SOLOMON, D. SEIBERT, J. J. DICARLO (2014):


Performance-Optimized Hierarchical Models Predict Neural Responses in Higher
Visual Cortex
in: PNAS; S. 201403112.
[32] ZHU, C., R. H. BYRD, P. LU, J. NOCEDAL (1997): Algorithm 778: L-BFGS-B: Fortran
subroutines for large-scale bound-constrained optimization
in: ACM Transactions on Mathematical Software (TOMS), 23(4); S. 550 560.
8.2 Internetquellen
[33] DFKI GMBH (2016): http://www.dfki.de/web
Letzter Zugriff: 27.02.2016.
[34] DFKI GMBH (2016): http://www.dfki.de/web/about
Letzter Zugriff: 27.02.2016.
[35] DFKI GMBH (2016): http://www.dfki.de/web/about/shareholders
Letzter Zugriff: 27.02.2016.
[36] GATYS, L. A., A. S. ECKER, M. BETHGE (2015): http://bethgelab.org/media/uploads/
deeptextures/vgg_normalised.caffemodel
Letzter Zugriff: 01.03.2016.
[37] KAPATHY, A. (2016): http://cs231n.github.io/convolutional-networks/
Letzter Zugriff: 27.02.2016.
[38] KESHVARI, S., R. ROSENHOLTZ (2015): http://www.shaiyan.com/uploads/2/0/4/6/20461208/
crowding_with_informative_flankers.pdf
Letzter Zugriff: 27.02.2016.
[39] SHELHAMER, E. et al. (2016): https://github.com/BVLC/caffe/wiki/Model-Zoo
Letzter Zugriff: 27.02.2016.
[40] SHELHAMER, E. et al. (2016): https://github.com/BVLC/caffe/wiki/Development
Letzter Zugriff: 27.02.2016.
[41] UNIVERSITT BREMEN (2016): http://www.informatik.uni-bremen.de/cog_neuroinf/de
Letzter Zugriff: 27.02.2016.
[42] UNIVERSITT BREMEN (2016): http://www.informatik.unibremen.de/cog_neuroinf/de/
mitarbeitende
Letzter Zugriff: 01.03.2016.
[43] YANGING, J., E. SHELHAMER et al. (2016): http://caffe.berkeleyvision.org/
Letzter Zugriff: 01.03.2016.

22

Das könnte Ihnen auch gefallen