Diplomarbeit - Westfälische Wilhelms-Universität Münster
Diplomarbeit - Westfälische Wilhelms-Universität Münster
Diplomarbeit - Westfälische Wilhelms-Universität Münster
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Westfälische</strong> <strong>Wilhelms</strong>-<strong>Universität</strong> <strong>Münster</strong><br />
Thema:<br />
Optimierung künstlicher neuronaler Netze mit Swarm Intelligence<br />
Bachelorarbeit<br />
im Fachgebiet Informatik<br />
Themensteller: Prof. Dr. Wolfram-M. Lippe / PD Dr. Markus Borschbach<br />
Betreuer: PD Dr. Markus Borschbach<br />
vorgelegt von: Christian Grelle<br />
Ludwig-Wolker Str. 27<br />
48157 <strong>Münster</strong><br />
0179/9200095<br />
c_grel01@uni-muenster.de<br />
Abgabetermin: 2008-10-02
Inhaltsverzeichnis<br />
- II -<br />
Abbildungsverzeichnis .................................................................................................... III<br />
Tabellenverzeichnis ......................................................................................................... III<br />
Abkürzungsverzeichnis ................................................................................................... III<br />
Symbolverzeichnis.......................................................................................................... IV<br />
1 Einleitung ...................................................................................................................... 1<br />
2 Swarm Intelligence ....................................................................................................... 4<br />
3 PSO - Particle Swarm Optimization ............................................................................. 7<br />
3.1 Metaheuristik ......................................................................................................... 7<br />
3.2 PSO und Feed-Forward-Netze ............................................................................... 9<br />
3.3 PSO und rekurrente Netze ................................................................................... 11<br />
3.4 Optimized-PSO und Feed-Forward-Netze .......................................................... 15<br />
4 ACO - Ant Colony Optimization ................................................................................ 19<br />
4.1 Metaheuristik ....................................................................................................... 19<br />
4.2 ACO und Feed-Forward-Netze ............................................................................ 22<br />
4.3 ACO-Backpropagation und Feed-Forward-Netze ............................................... 26<br />
5 ABC - Artificial Bee Colony Optimization ................................................................ 31<br />
5.1 Metaheuristik ....................................................................................................... 31<br />
5.2 ABC und Feed-Forward-Netze ............................................................................ 32<br />
6 Fazit ............................................................................................................................ 35<br />
Literaturverzeichnis ......................................................................................................... 37<br />
Anhang ............................................................................................................................ 41<br />
A Recherchierte Artikel ........................................................................................... 41
Abbildungsverzeichnis<br />
- III -<br />
Abb. 1.1: Kategorisierung der recherchierten Artikel .................................................... 2<br />
Abb. 2.1: Verfahrensklassifikation von Swarm Intelligence .......................................... 5<br />
Abb. 3.1: PSO für Feed-Forward-Netze Trainingsprozess ........................................... 10<br />
Abb. 3.2: Rekurrentes neuronales Netz ........................................................................ 12<br />
Abb. 3.3: Vorhersage der horizontalen Herdenbewegung ........................................... 14<br />
Abb. 3.4: OPSO Flussdiagramm .................................................................................. 16<br />
Abb. 4.1: Gaußsche Kern PDF aus fünf Gauß Funktionen .......................................... 24<br />
Abb. 4.2: ACO-BP Algorithmus .................................................................................. 29<br />
Tabellenverzeichnis<br />
Tab. 3.1: PSO-Metaheuristik ......................................................................................... 7<br />
Tab. 4.1: ACO-Metaheuristik ...................................................................................... 21<br />
Tab. 4.2: Pheromontabelle für Parameter .................................................................... 27<br />
Tab. 5.1: ABC-Algorithmus ........................................................................................ 34<br />
Tab. 6.1: PSO Artikel ................................................................................................... 41<br />
Tab. 6.2: ACO Artikel ................................................................................................. 42<br />
Tab. 6.3: ABC Artikel .................................................................................................. 42<br />
Abkürzungsverzeichnis<br />
ABC Artificial Bee Colony<br />
ACO Ant Colony Optimization<br />
ACO-BP Ant Colony Optimization-Backpropagation<br />
BP Backpropagation<br />
CPSO Constriction Type Particle Swarm Optimization<br />
MCN Maximum Cycle Number<br />
MSE Mean Squared Error<br />
OPSO Optimized Particle Swarm Optimization<br />
PDF Probability Density Function<br />
PSO Particle Swarm Optimization<br />
SEP Square Error Percentage<br />
SI Swarm Intelligence<br />
XOR Entweder-Oder
Symbolverzeichnis<br />
Particle Swarm Optimization<br />
D Dimensionen des Suchraums<br />
E() i Fehler des Netzes für Partikel i<br />
Epochs Anzahl Schleifenwiederholungen<br />
H Anzahl versteckter Neurone<br />
MaxEpochs maximale Anzahl Schleifenwiederholungen<br />
N bestimmte Anzahl Partikel<br />
P Datenset der Trainingspositionen<br />
P Anzahl der Eingabemuster im Datenset<br />
Pt ()<br />
Zielposition des neuronalen Netzes<br />
V max<br />
Restriktionskonstante für v i nach oben<br />
V min<br />
Restriktionskonstante für v i nach unten<br />
Z() t Herdenposition zum Zeitpunkt t<br />
f ( x i ) Fitness des Partikels i an Position x<br />
i Partikel<br />
n Anzahl aller Partikel<br />
n 1<br />
Gewicht der kognitiven Komponente<br />
n 2<br />
Gewicht der sozialen Komponente<br />
p i<br />
kognitive Komponente des Partikels i<br />
r 1<br />
Zufallszahl<br />
r 2<br />
Zufallszahl<br />
t Zeitangabe<br />
p best<br />
soziale Komponente<br />
v i<br />
Geschwindigkeit des Partikels i<br />
w Trägheit der Geschwindigkeit<br />
w start<br />
Initialwert für w<br />
w end<br />
Terminalwert für w<br />
x i<br />
Position des Partikels i<br />
x Ausprägung der d -ten Dimension der Position des Partikels i<br />
id<br />
Ant Colony Optimization<br />
E Kantenmenge<br />
Err Netzfehler<br />
F( π , t)<br />
zu minimierende Zielfunktion<br />
G Graph<br />
JW ( ) Quadratsumme des Fehlers verursacht durch Gewichtsvektor W<br />
k<br />
M Gedächtnis der Ameise k<br />
k<br />
N Nachbarschaft einer Ameise k<br />
- IV -
N bestimmte Anzahl Ameisen<br />
∏ Menge aller Lösungen<br />
∏ *<br />
Menge mit optimalen Lösungen<br />
P Population von Lösungen<br />
Pi ()<br />
Wahrscheinlichkeit für Bereich i<br />
PDF Probability Density Function<br />
Q Konstante<br />
SEP Quadrierter Fehleranteil<br />
Ω () t<br />
Menge aller Nebenbedingungen<br />
V Knotenmenge<br />
W Vektor aus allen Gewichten und Biases<br />
X Zustandsmenge<br />
X % Menge aller zulässigen Zustände<br />
Z Menge der Entscheidungsvariablen nach Überführung<br />
Z Entscheidungsvariable i<br />
i<br />
a i<br />
i -ter Abschnitt des Parameterbereichs<br />
∂ Ableitung<br />
e → Kante von i zu j<br />
i j<br />
i Knotenindex<br />
j Knotenindex<br />
k Ameise<br />
l Laufvariable<br />
m Variable für Anzahl Lösungen<br />
n Anzahl Ausgabeneuronen<br />
o<br />
n Anzahl Muster<br />
p<br />
η Lernrate<br />
o max<br />
Maximalwert der Ausgabesignale<br />
o min<br />
Minimalwert der Ausgabesignale<br />
p Muster<br />
k<br />
p ij<br />
Übergangswahrscheinlichkeit von i zu j der Ameise k<br />
ρ Verdunstungsrate<br />
p<br />
t i<br />
erwarteter Ausgabewert von Muster p und Neuron i<br />
p<br />
o i<br />
tatsächlicher Ausgabewert von Muster p und Neuron i<br />
π Lösungen ∈∏<br />
q Parameter<br />
r Rang einer Lösung<br />
σ j<br />
Standardabweichung für Gaußfunktion j<br />
τ Pheromonwert<br />
k<br />
Δ τ<br />
Pheromonmenge, die von einer Ameise k abgelegt wird<br />
Erwartungswert für Gaußfunktion j<br />
μ j<br />
v Knoten<br />
w Gewichtung für Gaußfunktion j<br />
j<br />
x Zustand über G<br />
- V -
z Instanz einer Entscheidungsvariable i Z<br />
k<br />
x start<br />
Startzustand für eine Ameise k<br />
Artificial Bee Colony Optimization<br />
D Dimensionen im Suchraum<br />
MCN Anzahl Schleifendurchläufe<br />
SN Lösungspopulation<br />
fit i<br />
Fitnesswert der Lösung i<br />
j zufälliger Index für D<br />
k zufälliger Index für SN<br />
limit vorherbestimmte Anzahl an Schleifenwiederholungen<br />
− 1,1<br />
φ Zufallszahl in [ ]<br />
ij<br />
p i<br />
Wahlwahrscheinlichkeit von i<br />
(0,1)<br />
− 1,1<br />
rand Zufallszahl in [ ]<br />
v ij<br />
neue Lösung für die Dimension j<br />
x i<br />
i -te Lösung der Population<br />
x alte Lösung für die Dimension j<br />
ij<br />
- VI -
1 Einleitung<br />
Sind Löwen auf der Jagd, so kann man ein häufig wiederkehrendes Schema ausmachen.<br />
Während ein Löwe die oft wesentlich schnellere Beute scheinbar aussichtslos verfolgt,<br />
lauern weitere Löwen in der Nähe. Ist das Tier nah genug herangetrieben, geben sie ihr<br />
Versteck auf und erfassen die Beute. Ohne Direktion sind die Löwen ihren natürlichen<br />
Verhaltensweisen im Rudel gefolgt und haben ihre jeweilige Aufgabe erfüllt. Das Resultat<br />
ist ein Mehrgewinn gegenüber der Summe der individuellen Leistungen. Dieses als Swarm<br />
Intelligence (SI) bezeichnete Phänomen war in den letzten Jahren Untersuchungsgegenstand<br />
vieler Forschungen. 1 In Anlehnung an die in der Natur beobachteten Systeme wurden<br />
heuristische Optimierungsalgorithmen entwickelt, welche aufgrund einer hohen Flexibilität<br />
auf eine Vielzahl von Problemstellungen angewendet werden können. 2<br />
Künstliche neuronale Netze sind zu Schichten zusammengefasste Neuronen, die über gewichtete<br />
Verbindungen miteinander verknüpft sind. Durch eigenständige Adaption der<br />
Gewichte sind sie in der Lage, Lernvorgänge zu erzielen. 3 Aufgrund ihrer Fähigkeiten in<br />
den Bereichen Generalisierung, Anpassbarkeit, Selbstorganisation und Fehlertoleranz werden<br />
sie in immer mehr Forschungs- und Wirtschaftsbereichen eingesetzt. 4 Die Vielzahl von<br />
Anwendungsumgebungen bedingt eine individuelle Konfiguration um die spezifischen<br />
Probleme lösen zu können. Die Suche nach den richtigen Parameterwerten und einer guten<br />
Netzwerktopologie ist darum von großer Bedeutung. Das Trainieren der Netze führt in der<br />
Regel zu hochdimensionalen, nichtlinearen Optimierungsproblemen. Die prinzipielle<br />
Schwierigkeit bei der Lösung dieser Probleme besteht in der Praxis häufig darin, dass man<br />
nicht sicher sein kann, ob das globale oder nur ein lokales Optimum gefunden wurde. In<br />
der Mathematik entwickelte klassische Optimierungsverfahren wie Backpropagation finden<br />
selten optimale Lösungen. 5<br />
Auf SI basierende Heuristiken besitzen durch viele verstreute parallel wirkende Individuen<br />
eine höhere Abdeckung des Suchraums. Sie sind somit robuster gegen lokale Optima. Bei<br />
der Anwendung zur Optimierung neuronaler Netze kann SI neben den Netzwerkparametern<br />
auch für weitere Aufgaben wie die Strukturoptimierung eingesetzt werden. 6<br />
1 Vgl. BONABEAU, DORIGO, THERAULAZ (1999) S. XI.<br />
2 Vgl. BONABEAU, MEYER (2001), S. 111.<br />
3 Vgl. RUSSEL, NORVIG (2004), S. 896.<br />
4 Vgl. KARABOGA, AKAY, OZTURK (2007), S. 318.<br />
5 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 714.<br />
6 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 5 f.<br />
- 1 -
In dieser Ausarbeitung werden vorhandene auf SI basierende Methoden zur Optimierung<br />
von künstlichen neuronalen Netzwerken identifiziert. Recherchierte Artikel wurden in<br />
identisch funktionierende Kategorien zusammengefasst und für jede Kategorie wird ein<br />
repräsentatives Verfahren vorgestellt. 7 Abb. 1.1 gibt eine Übersicht über die Kategorien<br />
und in welchem Kapitel der Ausarbeitung sie vorgestellt werden. Die Kategorisierung hat<br />
in drei Dimensionen stattgefunden. Zunächst wird ein Verfahren einer SI-Metaheuristik<br />
zugeordnet. Hier wurden Particle Swarm Optimization (PSO), Ant Colony Optimization<br />
(ACO) und Artificial Bee Colony (ABC) Optimization als relevant ausfindig gemacht. Daraufhin<br />
wird der zu optimierende Netzwerktyp unterschieden. Die Kategorien sind Feed-<br />
Forward-Netze und rekurrente Netze. Zum Schluss werden die behandelten Netzkomponenten<br />
betrachtet. Hierbei wird zwischen einer Optimierung der Gewichtsparameter und<br />
der Netzwerktopologie unterschieden. 8<br />
Feed-Forward-Netze rekurrente Netze<br />
Gewichtsparameter<br />
Netzwerktopologie<br />
Gewichtsparameter<br />
Abb. 1.1: Kategorisierung der recherchierten Artikel<br />
Netzwerktopologie<br />
Kap. 3.2<br />
Kap. 3.3<br />
Kap. 3.4<br />
Kap. 4.2<br />
Kap. 4.3<br />
Kap. 5.2<br />
Die Ausarbeitung umfasst sechs Kapitel. Kap. 2 stellt die Grundprinzipien von SI vor und<br />
grenz sie im Rahmen einer Klassifizierung von anderen Optimierungsverfahren ab. Kap. 3<br />
bis 5 behandeln PSO, ACO und ABC zum Training neuronaler Netzwerke. Jedes Kapitel<br />
beinhaltet einen Abschnitt Metaheuristik. Hier wird der für alle nachfolgenden Optimierungsverfahren<br />
einheitliche Grundalgorithmus beschrieben. Er abstrahiert von den Metho-<br />
7<br />
Es wird für jede Kategorie nur ein repräsentatives Beispiel vorgestellt, da weitere Beispiele aufgrund<br />
der gleichen Funktionalität keinen neues Wissen beinhalten. Eine Übersicht über alle problemspezifisch<br />
relevanten Artikel findet sich in Anh. A.<br />
8<br />
Die Optimierung von Biases und Schwellenwerten der Neuronen verläuft analog zur Gewichtsoptimierung.<br />
- 2 -
den und veranschaulicht die generelle Funktionsweise. Konkrete Instanzen der Metaheuristik<br />
werden dann detailliert in der Beschreibung der Artikel vorgestellt. Hier werden die für<br />
die Kategorien repräsentatives Beispiele beschrieben. Jedes Beispiel ist gegliedert in<br />
Grundlagen, Arbeitsweise und Auswertung. In den Grundlagen wird das nötige Hintergrundwissen<br />
vermittelt, welches nicht direkt die Arbeitsweise beschreibt. Im Abschnitt<br />
Arbeitsweise wird das jeweilige Verfahren im Detail vorgestellt, wobei der Fokus auf der<br />
Erläuterung der Funktionalität liegt. Im Abschnitt Auswertung wird der Artikel abschließend<br />
knapp reflektiert. Bei relevanten Testergebnissen wird nicht auf konkrete Zahlen eingegangen,<br />
sondern eine qualitative Aussage getroffen, da die Ergebnisse aufgrund unterschiedlicher<br />
Anwendungen nicht vergleichbar sind. Zum Schluss werden in Kap. 4 die<br />
Ergebnisse zusammengefasst und ein Ausblick getroffen.<br />
- 3 -
2 Swarm Intelligence<br />
Das Forschungsgebiet der SI hat in den vergangenen Jahren zunehmende Aufmerksamkeit<br />
erlangt. Die SI überschneidet sich mit den Gebieten der Multi-Agenten Systeme und der<br />
künstlichen Intelligenz. Der Ausdruck „Swarm Intelligence“ wurde zuerst von BENI und<br />
WANG im Zusammenhang mit zellularen Robotersystemen genutzt. 9 Er wird für Arbeiten<br />
verwendet, die sich beim Design von Algorithmen oder verteilten Problemlösungseinheiten<br />
vom kollektiven Verhalten sozialer Insekten (z.B. Ameisen, Bienen) und anderer Populationen<br />
(z.B. Fisch-, Vogelschwärme) inspirieren lassen.<br />
Ein Schwarm stellt eine Gruppe von Individuen dar, die selbstorganisiert mittels verschiedener<br />
Interaktionsmechanismen und ohne zentrale Lenkung zusammenarbeiten. Auch<br />
wenn einzelne Interaktionen primitiv sind, so können sie zusammengenommen in effizienten<br />
Lösungen für schwierige Probleme resultieren. 10 Ein Schwarm stellt also ein emergentes<br />
System dar. Er besitzt Eigenschaften, über welche seine Komponenten nicht verfügen.<br />
Das hoch entwickelte soziale Verhalten von Schwärmen wird darum auch als Kollektive<br />
Intelligenz bezeichnet. 11<br />
BONABEAU und MEYER erkennen in SI-Algorithmen die Eigenschaften Flexibilität, Robustheit<br />
und Selbstorganisation, bei welchen sie anderen Algorithmen überlegen sind. SI-<br />
Verfahren erlauben eine schnelle Anpassung des Schwarms an eine sich ändernde Umwelt<br />
und bieten darum eine hohe Flexibilität. Selbst wenn einzelne Individuen ein Ziel nicht<br />
erreichen, so ist der Schwarm dennoch robust genug um seine Aufgabe zu erfüllen. 12 Die<br />
Selbstorganisation wird als ein charakterisierendes Merkmal von SI-Algorithmen angesehen.<br />
Sie erfordert direkte oder indirekte Interaktion. Direkte Interaktion geschieht z.B.<br />
durch visuellen, akustischen oder chemischen Kontakt. 13 Indirekte Kommunikation kann<br />
durch Reaktionen auf Veränderungen der Umwelt realisiert werden (s. Kap. 4.1).<br />
BONABEAU beschreibt die Selbstorganisation als „eine Reihe dynamischer Mechanismen,<br />
wobei eine Struktur auf globaler Ebene als Resultat der Interaktionen von Komponenten<br />
niedriger Ebenen entsteht. Handlungen werden auf der Basis von lokalen Informationen<br />
ausgeführt, ohne das globale Resultat zu betrachten.“ 14 Die charakteristischen Merkmale<br />
der Selbstorganisation sind positives Feedback, negatives Feedback, Fluktuation und multiple<br />
Wechselwirkungen.<br />
9 Vgl. BENI, WANG (1989), S. 425-428.<br />
10 Vgl. BONABEAU, MEYER (2001), S. 109.<br />
11 Vgl. HEEREN (2006), S. 33.<br />
12 Vgl. BONABEAU, MEYER (2001), S. 111.<br />
13 Vgl. ENGELBRECHT (2005), S. 184.<br />
14 BONABEAU et al. (1997), S. 5.<br />
- 4 -
Positives Feedback entspricht Rekrutierung und Verstärkung, wie etwa die Rekrutierung<br />
zur Inanspruchnahme einer Nahrungsquelle. Das legen von Pheromonspuren oder der<br />
Schwänzeltanz bei Bienen können als Beispiele für positives Feedback angesehen wer-<br />
den. 15<br />
Negatives Feedback bildet ein Gegengewicht zum positiven Feedback und hilft, das kollektive<br />
Muster zu stabilisieren. Es kann eine Sättigung signalisieren um Erschöpfung,<br />
Überfüllung und Konkurrenz zu vermeiden. 16<br />
Fluktuation und Zufälligkeit ermöglichen die Entdeckung von neuen Lösungen. Sie beleben<br />
Kreativität und Innovation. So können sie als „Keime“ wirken, an denen sich neue<br />
Strukturen bilden und wachsen. 17<br />
Zudem macht Selbstorganisation eine minimale Dichte von gegenseitig toleranten Individuen<br />
erforderlich, sodass sie ihre eigenen Aktivitäten, sowie die Anderer nutzen können<br />
(multiple Wechselwirkungen). 18<br />
Abb. 2.1: Verfahrensklassifikation von Swarm Intelligence<br />
15 Vgl. KARABOGA (2005), S. 2.<br />
16 Vgl. KARABOGA (2005), S. 2.<br />
17 Vgl. HEEREN (2006), S. 41.<br />
18 Vgl. HEEREN (2006), S. 41.<br />
- 5 -<br />
Quelle: Vgl.: FISCHER (2008), S. 154.
In Abb. 2.1 wird deutlich, wie SI einer Verfahrensklassifikation unterzogen werden kann.<br />
Das Verfahren wird der Klasse heuristischer Optimierungsalgorithmen zugeordnet, welche<br />
den exakten Verfahren gegenüberstehen. Heuristiken sind dadurch gekennzeichnet, dass<br />
durch Vorgehensregeln auf nichtwillkürliche Art und Weise mögliche Lösungen im Laufe<br />
des Suchprozesses ausgeschlossen werden. Aufgrund eines fehlenden Konvergenzbeweises<br />
kann dabei die Optimalität nicht garantiert werden. Es handelt sich deshalb um näherungsweise<br />
Lösungsverfahren. Heuristiken lassen sich weiterhin in Eröffnungsverfahren,<br />
Verbesserungsverfahren und unvollständige exakte Verfahren unterteilen. Erstere bestimmen<br />
eine zulässige Lösung und benötigen als Input keine gültigen Lösungen. Verbesserungsverfahren<br />
benötigen eine Ausgangslösung. Diese kann z.B. mit einem Eröffnungsverfahren<br />
erzeugt werden. Sie generieren iterativ Lösungen aus der Nachbarschaft bestehender<br />
Lösungen mit dem Ziel der Verbesserung der Güte. Unvollständig exakte Verfahren<br />
nutzen exakte Verfahren, die jedoch vorzeitig abgebrochen werden. Zu den typischen Metastrategien<br />
neuerer heuristischer Verbesserungsverfahren zählen Lokale Suchverfahren,<br />
Evolutionäre Algorithmen und Swarm Intelligence Systeme. Letztere sind den Naturanalogen<br />
Verfahren zuzuordnen. Naturanaloge Verfahren sind Metaheuristiken, die ihre informationsauswertenden<br />
und steuernden Prinzipien der Natur entlehnen. 19<br />
19 Vgl. FISCHER (2008), S. 153 f.<br />
- 6 -
3 PSO - Particle Swarm Optimization<br />
3.1 Metaheuristik<br />
Particle Swarm Optimization wurde erstmals 1995 von KENNEDY und EBERHARD beschrieben.<br />
Die ursprüngliche Intention des Particle Swarm Konzepts war eine grafische<br />
Simulierung der „graziösen und unvorhersagbaren Choreographie eines Vogelschwarms“ 20 .<br />
Aus den Visualisierungsuntersuchungen entwickelte sich ein populationsbasierter Optimierungsalgorithmus.<br />
Als Partikel bezeichnete Individuen bewegen sich bei PSO in einem mehrdimensionalen<br />
Suchraum. Jedes Partikel repräsentiert eine potentielle Lösung durch die Ausprägung der<br />
Dimensionen an der aktuellen Position. Positionsänderungen basieren auf der eigenen Erfahrung<br />
und der Nachahmung erfolgreicher Strategien anderer Individuen. Durch das sich<br />
ergebende kollektive Verhalten des Schwarms werden optimale Lösungen entdeckt. 21<br />
PSO-Metaheuristik<br />
1: Initialisierung von n Partikeln<br />
2: repeat<br />
3: for each Partikel i = 1,..., n do<br />
4: //Setze kognitive Komponente<br />
5: if f ( xi) > f( pi)<br />
then // f () bestimmt die Fitness<br />
6: pi = xi;<br />
7: end<br />
8: //Setze soziale Komponente<br />
9: if f( pi) > f( pbest)<br />
then<br />
10: pbest = pi<br />
;<br />
11: end<br />
12: end<br />
13: for each Partikel i= 1,..., n do<br />
14: vi( t+ 1) = w⋅ vi( t) + n1⋅r1⋅( pi − xi( t)) + n2⋅r2⋅( pbest − xi( t))<br />
;<br />
15: xi( t+ 1) = xi( t) + vi( t+<br />
1) ;<br />
16: end<br />
17: until Abbruchkriterium<br />
Tab. 3.1: PSO-Metaheuristik<br />
20 KENNEDY, EBERHARD (1995), S. 1943.<br />
21 Vgl. ENGELBRECHT (2007), S. 289.<br />
- 7 -
Die PSO-Metaheuristik ist in Tab. 3.1 dargestellt. 22 Jedes Partikel i wird an einer zufälli-<br />
gen Position xi = ( xi1, xi2,..., xiD)<br />
im Suchraum mit D Dimensionen initialisiert. Bewegung<br />
wird durch die Geschwindigkeit v = ( v1, v 2,...,<br />
v ) realisiert. Sie ist definiert als23 :<br />
i i i iD<br />
i i 1 1 i i 2 2 best i<br />
- 8 -<br />
v ( t+ 1) = w⋅ v ( t) + n ⋅r ⋅( p − x ( t)) + n ⋅r ⋅( p − x ( t))<br />
. (3.1)<br />
Hierbei sind sowohl das Erfahrungswissen (kognitive Komponente), als auch die Interaktion<br />
der Individuen (soziale Komponente) berücksichtigt. Die kognitive Komponente<br />
p = ( p , p ,..., p ) speichert die beste besuchte Position des Partikels i . Die soziale<br />
= ( , ,..., ) bestimmt die beste bereits besuchte Position<br />
aller Partikel. n 1 und 2 n gewichten die kognitive und soziale Komponente. 1 r und r 2 sind<br />
Zufallszahlen im Bereich [0,1] . w ist die Trägheit der Geschwindigkeit. Sie wird oft so<br />
implementiert, dass sie ihren Wert linear zum Zeitverlauf ändert24 :<br />
i i1 i2 iD<br />
Komponente pbest pbest1 pbest 2 pbestD<br />
wstart − wend<br />
w = wstart − Epochs . (3.2)<br />
MaxEpochs<br />
w start ist der Initial-, w end der Terminalwert für w . Epochs steht für die Anzahl und<br />
MaxEpochs für die maximale Anzahl der Schleifenwiederholungen des Algorithmus. Ein<br />
großer Start- und kleiner Endwert bedingt eine grobe Suche mit großen Bewegungen zu<br />
Beginn und eine feine Suche zum Schluss des Optimierungsprozesses. 25 Um die Geschwindigkeit<br />
zu kontrollieren werden die Restriktionskonstanten V max und V min eingeführt.<br />
Wenn eine Geschwindigkeit den Grenzwert überschreitet, wird sie auf diesen zurückgesetzt:<br />
⎧vmax<br />
falls vi( t+ 1) > V<br />
⎪<br />
vi( t+ 1) = ⎨vmin<br />
falls vi( t+ 1) < V<br />
⎪<br />
⎩vi(<br />
t+<br />
1) sonst<br />
max<br />
min<br />
. (3.3)<br />
Nachdem der Geschwindigkeitsvektor v i berechnet ist, werden die Positionen der Partikel<br />
aktualisiert26 :<br />
x ( t+ 1) = x ( t) + v ( t + 1) . (3.4)<br />
i i i<br />
22<br />
Vgl. ENGELBRECHT (2005), S. 19. Es handelt sich um die Global Best Heuristik. Im Gegensatz zur<br />
Local Best Variante, wo die soziale Kompontente dem besten Individuum in einer lokalen Nachbarschaft<br />
entspricht, entspricht die soziale Komponente hier dem global besten Individuum.<br />
23<br />
Vgl. KENNEDY, EBERHARD (2001), S. 312.<br />
24<br />
Vgl. MEISSNER et al. (2006), S. 8 f.<br />
25<br />
Vgl. SHI, EBERHART (1998), S. 69-73.<br />
26<br />
Vgl. ENGELBRECHT (2005), S. 93.
3.2 PSO und Feed-Forward-Netze<br />
SHAO-ZHONG, LI-BIAO, SHU-HUA (2007): The Application of Particle Swarm Optimization<br />
Algorithm in Training Forward Neural Network<br />
Grundlagen<br />
SHAO-ZHONG, LI-BIAO und SHU-HUA stellen in “The Application of Particle Swarm Optimization<br />
Algorithm in Training Forward Neural Network” eine Methode vor, wie mit dem<br />
Standard PSO-Algorithmus27 ein neuronales Feed-Forward-Netz optimiert werden kann28 .<br />
Die Autoren bezeichnen die Suche nach der optimalen Konfiguration der Netzwerkparameter<br />
als grundsätzlich sehr schwierige Aufgabe. Beim Backpropagation (BP) Optimierungsverfahren29<br />
bestehe der Nachteil langsamer Trainingsgeschwindigkeit und die Gefahr<br />
von Konvergenz in lokale Optima. Die Anwendung von PSO soll die Trainingszeit verkürzen<br />
und vor dem Problem lokaler Optima schützen. 30<br />
Der PSO-Algorithmus wird hier zum Training der Gewichtsparameter im Netzwerk eingesetzt.<br />
Jede Dimensionsausprägung id x der Position eines Partikels xi = ( xi1, xi2,..., xiD)<br />
entspricht<br />
der Ausprägung eines Gewichts. Gibt es N Gewichte, so bewegt sich das Partikel<br />
in einem N -dimensionalen Raum. Auf gleiche Weise kann der Schwellenwert der Aktivierungsfunktion<br />
jedes Neurons bestimmt werden.<br />
Arbeitsweise<br />
In Abb. 3.1 wird der PSO-Algorithmus als Flussdiagramm dargestellt. Aufbauend auf der<br />
PSO-Metaheuristik (s. Tab. 3.1) wird er für den Trainingsprozess der Feed-Forward-<br />
Netzwerke genutzt. Zunächst wird einmalig die Schwarmgröße n bestimmt und jedes Partikel<br />
mit einer Zufallsposition initialisiert. Hierauf folgt die Berechnung der Fitness der<br />
Partikel durch die Fitnessfunktion31 - 9 -<br />
1<br />
f() i = , (3.5)<br />
Ei ()<br />
27 Vgl. KENNEDY, EBERHARD (1995), S. 1942-1948.<br />
28 Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 455 ff.<br />
29 Backpropagation ist ein auf Gradientenabstieg basierendes und häufig angewandtes Verfahren zur Parameterbestimmung<br />
in neuronalen Netzen.<br />
30 Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 455.<br />
31 Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 456.
- 10 -<br />
wobei E() i dem Fehler des Netzes entspricht. Ist kein Abbruchkriterium erreicht, wird mit<br />
dem Fitnesswert die kognitive Komponente i p , sowie die soziale Komponente p best bestimmt.<br />
Nach (3.1) wird die Geschwindigkeit v i aktualisiert und nach (3.4) die neue Position<br />
der Partikel errechnet, welche somit eine neue Generation darstellen. Dieser Vorgang<br />
wird für alle Partikel so oft wiederholt, bis eine Abbruchbedingung erfüllt ist.<br />
Neue<br />
Generation<br />
bestimmen<br />
pi und pbest<br />
bestimmen<br />
falsch<br />
Start<br />
Schwarm<br />
initialisieren<br />
Fitness und<br />
Fehler<br />
berechnen<br />
Abbruchbedingung<br />
wahr<br />
Ende<br />
Quelle: Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 457.<br />
Abb. 3.1: PSO für Feed-Forward-Netze Trainingsprozess<br />
Auswertung<br />
SHAO-ZHONG, LI-BIAO und SHU-HUA haben ein relativ simples und somit einfach zu implementierendes<br />
Verfahren zur Optimierung neuronaler Feed-Forward-Netze auf der<br />
Grundlage der PSO-Metaheuristik vorgestellt. Im Rahmen ihrer Untersuchungen vergleichen<br />
sie den PSO-Algorithmus mit dem klassischen BP-Verfahren. Als Vergleichsgrundlage<br />
dient das XOR-Problem, also das Training eines Netzes zum Erlernen der Entweder-<br />
Oder-Funktion. Sowohl die Iterationsdauer, als auch der erzielte Fehler sind im Test bei<br />
PSO geringer. Die Autoren kommen zu dem Schluss, dass PSO bei der Optimierung neu-
- 11 -<br />
ronaler Netze im Vergleich zu BP schneller und effizienter ist. 32 Dies kann so allerdings<br />
nicht auf alle Problemstellungen verallgemeinert werden, da das XOR-Problem einen geringen<br />
repräsentativen Charakter besitzt.<br />
3.3 PSO und rekurrente Netze<br />
PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006): Recurrent Neural Network Based<br />
Predictions of Elephant Migration in a South African Game Reserve<br />
Grundlagen<br />
PALANGPOUR, VENAYAGAMOORTHY und DUFFY stellen in „Recurrent Neural Network<br />
Based Predictions of Elephant Migration in a South African Game Reserve” eine Methode<br />
vor, um rekurrente neuronale Netze mit PSO zu optimieren. 33<br />
In südafrikanischen Wildreservaten werden seltene Vegetationsarten durch Elefantenpopulationen<br />
bedroht. Zum Schutz der Vegetation ist es wichtig, Aufenthaltsdauer und -orte der<br />
Herden zu kennen. Ziel der problemspezifischen Studie ist es, ein rekurrentes neuronales<br />
Netz zu trainieren, mit welchem die nächsten Positionen der Elefantenmigration vorhergesagt<br />
werden können. 34<br />
Ein Elman-Netz ist ein einfaches künstliches neuronales Netz, das durch vorhandene<br />
Rückkopplungen von Kanten zwischen den Neuronen in der Lage ist, zeitliche Abhängigkeiten<br />
von Eingaben implizit zu verarbeiten. In jedem Durchlauf wird der Zustand der versteckten<br />
Schicht in der Kontextschicht gespeichert. Wird dem Netzwerk ein Eingabemuster<br />
präsentiert, dient die Kontextschicht als zusätzlicher Input für die versteckte Schicht. Rekurrenten<br />
neuronalen Netzen wird es durch dieses Feedback ermöglicht, alle vorherigen<br />
Eingabemuster in den Funktionsablauf einzubeziehen. Die Gewichte von der versteckten<br />
Schicht zur Kontextschicht sind fest und auf 1 gesetzt. In den Untersuchungen werden<br />
zwei Netze verwendet. Eines dient zur Vorhersage der horizontalen, das andere zur Vorhersage<br />
der vertikalen Position der Herden. Die benutzte Topologie sieht 4 Eingangsneuronen,<br />
16 versteckte und 16 Kontextneuronen, sowie 1 Ausgangsneuron vor. Dem Netz<br />
32 Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 456.<br />
33 Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4084 ff.<br />
34 Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4084.
- 12 -<br />
werden die aktuelle Position Z() t und 3 zeitverschobene Positionen Zt− ( 1) , Zt− ( 2) und<br />
Zt− ( 3) präsentiert. 35<br />
Eingabeschicht<br />
(4)<br />
Z(t+1)<br />
Ausgabeschicht<br />
Versteckte<br />
Schicht<br />
(16)<br />
Z(t) Z(t-1) Z(t-2) Z(t-3)<br />
Kontextschicht<br />
(16)<br />
Quelle: Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4085.<br />
Abb. 3.2: Rekurrentes neuronales Netz<br />
Arbeitsweise<br />
Als Optimierungsmethode für die rekurrenten Netze wählen die Autoren den PSO-<br />
Algorithmus, da dieser nach EBERHART und SHI flexibel und effektiv auf eine Vielzahl von<br />
Problemen angewandt werden kann. 36 Jedes Partikel repräsentiert mit seinem Positionsvektor<br />
eine potentielle Lösung des Problems. Die Werte des Vektors entsprechen jeweils einem<br />
Gewicht im rekurrenten neuronalen Netz. Die Partikel werden an Zufallspositionen<br />
initialisiert. Bei jeder Iteration des PSO-Algorithmus wird der Geschwindigkeitsvektor<br />
(3.1) mit kognitiver und sozialer Komponente neu berechnet und die Position des Partikels<br />
(3.4) aktualisiert.<br />
Durch dynamische, mit der Zeit variierende Parameter kann in PSO die Konvergenzgeschwindigkeit<br />
erhöht und das Problem lokaler Optima verringert werden. 37 Die Geschwindigkeit<br />
wird mit einer großen Trägheit w initialisiert, welche eine stückweise Verringe-<br />
35 Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4085.<br />
36 Vgl. EBERHART, SHI (2001), S. 81-86.<br />
37 Vgl. LING et al. (2002), S. 997-1002.
- 13 -<br />
rung erfährt. Eine globale Erforschung des Suchraums geht damit sukzessive in feine Verbesserungen<br />
über38 (s. Kap. 3.1):<br />
⎧0,8<br />
falls Epochs < 0,75⋅<br />
MaxEpochs<br />
⎪<br />
w = ⎨ 0, 4 ⋅[ Epochs −0,75 ⋅MaxEpochs]<br />
⎪<br />
0,8 −<br />
sonst<br />
⎩<br />
0, 25⋅<br />
MaxEpochs<br />
(3.6)<br />
Die Trägheit wird für die ersten 75% der Iterationen konstant gehalten und danach linear<br />
mit der Anzahl Iterationen verringert. w max wurde auf 0,8 und w min auf 0,4 gesetzt.<br />
Die Gewichtung der kognitiven Komponente n 1 bleibt konstant, während die Gewichtung<br />
der sozialen Komponente n 2 zunächst gering ist und dann mit der Anzahl an Iterationen<br />
zunimmt. Die soziale Komponente hat somit zu Beginn wenig Einfluss auf die Geschwin-<br />
digkeit. Eine verfrühte Konvergenz hin zum global besten Partikel wird vermieden.<br />
Die Fitnessfunktion zur Bestimmung der Güte einer Partikelposition wird nach (3.5) mit<br />
P<br />
∑<br />
2<br />
(3.7)<br />
t 1<br />
1<br />
Ei () = ( Zt () −Pt<br />
())<br />
P =<br />
bestimmt39 , wobei P das Datenset der Trainingspositionen, Z( t ) die Ausgabeposition des<br />
neuronalen Netzes und Pt () die Zielposition darstellen.<br />
Auswertung<br />
PALANGPOUR, VENAYAGAMOORTHY und DUFFY stellen ein kurzfristiges Vorhersagesystem<br />
für die Bestimmung von Elefantenmigrationen in einem Wildreservat vor. Hierbei verwenden<br />
sie rekurrente neuronale Netzwerke und optimieren sie mit PSO. Die Netze werden<br />
180 Tage lang trainiert und sollen die folgenden 180 Tage die Herdenposition einen Tag<br />
im Voraus prognostizieren.<br />
In Abb. 3.3 werden beispielhaft die Vorhersageergebnisse des Netzes für die horizontale<br />
Herdenbewegung illustriert. Zielposition und Vorhersage werden als gepunktete und<br />
durchgezogene Linie dargestellt. Sie weisen keine deutlichen Abweichungen auf. Es ergibt<br />
sich ein quadratischer mittlerer Fehler (MSE) 40 von 0,67 km², welcher verdeutlicht, dass<br />
das vorgestellte Verfahren haltbar ist.<br />
38 Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4086.<br />
39 Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4086.<br />
40 Engl.: Mean Squared Error (MSE).
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
Ziel<br />
Vorhersage<br />
2<br />
180 200 220 240 260 280 300 320 340 360<br />
Zeit (Tage)<br />
- 14 -<br />
Quelle: Vgl. PALANGPOUR, VENAYAGAMOORTHY, DUFFY (2006), S. 4087<br />
Abb. 3.3: Vorhersage der horizontalen Herdenbewegung<br />
Da die Topologie der neuronalen Netzwerke bei den Untersuchungen vorherbestimmt war,<br />
lässt sich durch eine dynamische Strukturanpassung während des Optimierungsverfahrens<br />
die Vorhersagegenauigkeit wahrscheinlich zusätzlich verbessern.
3.4 Optimized-PSO und Feed-Forward-Netze<br />
- 15 -<br />
MEISNER, SCHMUKER, SCHNEIDER (2006): Optimized Particle Swarm Optimization<br />
(OPSO) and its application to artificial neural network training<br />
GRUNDLAGEN<br />
Seitdem die globalen Optimierungsfähigkeiten von PSO bekannt sind, wird das PSO Paradigma<br />
weiterentwickelt und verbessert. Eine ganze Reihe von Abwandlungen wurde bereits<br />
vorgeschlagen. 41 42 43 44 OPSO soll als Beispiel für eine Variation des in Kap. 3.2 und<br />
Kap. 3.3 instanziierten Standard PSO-Algorithmus (s. Tab. 3.1) eingeführt werden.<br />
Der Standard PSO-Algorithmus an sich beinhaltet Parameter, deren Initialisierung seine<br />
Performanz und sein Konvergenzverhalten während einer Problemlösung beeinflussen. 45<br />
Die beste Belegung der Parameter zu identifizieren ist ein eigenes Optimierungsproblem.<br />
MEISSNER, SCHMUKER und SCHNEIDER stellen in “Optimized Particle Swarm Optimization<br />
(OPSO) and its application to artificial neural network training” vor, wie die PSO-<br />
Heuristik für die Optimierung des PSO-Algorithmus genutzt werden kann. Es findet also<br />
eine Meta-Optimierung der Variablen des PSO-Algorithmus statt. Das OPSO-Konzept<br />
beruht auf einem übergeordneten Schwarm („Superschwarm“), der die Parameterbelegungen<br />
der untergeordneten Schwärme („Subschwarm“) bestimmt.<br />
Arbeitsweise<br />
Die Implementation von OPSO erweitert den Standard PSO-Algorithmus aus Kap. 3.1. Die<br />
Architektur wird in Abb. 3.4 illustriert:<br />
41 SHEN et al. (2004).<br />
42 CLERC, KENNEDY (2002).<br />
43 RASMUSSEN, KRINK (2003).<br />
44 VEERAMACHANENI ET AL. (2003).<br />
45 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 2.
Partikel<br />
aktualisieren<br />
falsch<br />
Start<br />
Superschwarm<br />
initialisieren<br />
Fitness für<br />
jeden Partikel<br />
evaluieren<br />
Abbruchbedingung<br />
1<br />
Ende<br />
wahr<br />
Abb. 3.4: OPSO Flussdiagramm<br />
wahr<br />
Subschwärme<br />
initialisieren<br />
Zielfunktion<br />
evaluieren<br />
Abbruchbedingung<br />
2<br />
falsch<br />
- 16 -<br />
Partikel<br />
aktualisieren<br />
Quelle: Vgl. MEISSNER, SCHMUKER, SCHNEIDER (2006) S.2.<br />
Zunächst werden sowohl Superschwarm, als auch ein Subschwarm für jedes Superschwarmpartikel<br />
initialisiert und die Fitness der jeweiligen Partikel ein erstes Mal evaluiert.<br />
Die Dimension des Superschwarms wird durch die Anzahl zu optimierender Parameter<br />
des Algorithmus bestimmt. 46 Dies sind die Gewichte der kognitiven und sozialen<br />
Komponente 1 n und 2 n aus (3.1), das Start- und Endgewicht w start und w end aus (3.2), so-<br />
wie die Geschwindigkeitsrestriktion V max aus (3.3). 47 Der Subschwarm ist entsprechend<br />
dem zugrunde liegenden Optimierungsproblem dimensioniert. Wenn sein Schleifendurch-<br />
lauf aus Partikelaktualisierung und -evaluierung entsprechend Tab. 3.1 durchgeführt ist,<br />
wird die Abbruchbedingung 2 getestet. Ist sie nicht erfüllt, wiederholt sich der innere<br />
Schleifendurchlauf des Subschwarms. Ist sie erfüllt, so wird in die äußere Schleife des Su-<br />
46 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 2.<br />
47 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 3.
- 17 -<br />
perschwarms gewechselt und die Abbruchbedingung 1 getestet. Meissner, Schmuker und<br />
Scheider schlagen für die Abbruchkriterien eine vorherbestimmte Anzahl an Schleifendurchläufen<br />
oder die Nichtverbesserung des MSE vor. 48 Ist die Abbruchbedingung 1 nicht<br />
erfüllt, so werden die Superschwarmpartikel aktualisiert und evaluiert, bevor der Algorithmus<br />
in den Subschwarm zurückwechselt. In jedem Durchgang des Superschwarms führen<br />
alle Subschwärme Optimierungsdurchläufe auf der Zielfunktion aus und geben ihre<br />
Fitnesswerte an den Superschwarm zurück. Die beste für den Superschwarm gefundene<br />
Lösung ist genau der Parametersatz, welcher die Subschwärme mit der höchstens Performanz<br />
für ihre Optimierungsaufgabe ausstattet.<br />
Die Autoren haben so die Gewichte und Biases von Feed-Forward-Netzen als Dimensionen<br />
im Subschwarm bestimmt. Zusätzlich zu diesen bereits in Kap. 3.2 beschriebenen Optimierungsaufgaben<br />
kann OPSO simultan andere problemabhängige Parameter bestimmen.<br />
Diese Eigenschaft wird genutzt, um Einfluss auf die Topologie der Netze zu nehmen. Zusammen<br />
mit den Subschwarm-Parametern wird die optimale Anzahl an versteckten Neuronen<br />
H im Netzwerk bestimmt. 49 Zur Optimierung von H ist eine weitere Dimension zum<br />
Superschwarm hinzuzufügen, wobei H auf die nächste Ganzzahl aufgerundet wird. Zusammen<br />
mit den bereits beschriebenen PSO-Parametern ergeben sich 6 Variablen, sodass<br />
sich die Partikel des Superschwarm während der Meta-Optimierung in einem 6dimensionalen<br />
Raum bewegen.<br />
Auswertung<br />
MEISSNER, SCHMUKER und SCHEIDER beschreiben eine Methode zur Parameteroptimierung<br />
des PSO-Algorithmus und ihre Anwendung zum Training neuronaler Netze. Um die Leistungsfähigkeit<br />
von OPSO zu analysieren wurden Untersuchungen auf einer Testsuite<br />
durchgeführt. 50 Im Gegensatz zu speziellen Optimierungsproblemen wie dem XOR-<br />
Problem (s. Kap. 3.2) erlaubt solch ein Satz von künstlichen Fitnessfunktionen eine stärkere<br />
Verallgemeinerung von Aussagen über die Performanz des Algorithmus. Es wurden<br />
zwei unimodale Funktionen (De Jong’s Sphere, Rosenbrock) und drei multimodale Funktionen<br />
(Rastrigin, Schaffer F6, Griewangk) zugrunde gelegt. Für die unimodalen Funktionen<br />
ergab sich ein im Vergleich zu den multimodalen Funktionen hohes n2 n1-Verhätnis. 51<br />
Die soziale Komponente wurde also durch die Optimierung stärker gewichtet als die kog-<br />
48<br />
Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 6.<br />
49<br />
Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 5 f.<br />
50<br />
Die genauen Untersuchungsaufbauten und Ergebnisse finden sich in MEISNER, SCHMUKER, SCHNEIDER<br />
(2006), S. 3-10.<br />
51<br />
Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 3.
- 18 -<br />
nitive Komponente. Dies ist darauf zurückzuführen, dass der Schwarm hier eine Konzentration<br />
hin zum global besten Partikel p best erfährt. Die Diversität der Population nimmt<br />
ab, sodass weniger globale Exploration stattfindet. Da die unimodalen Funktionen keine<br />
lokalen Optima haben, wird eine schnellere Konvergenz zum globalen Optimum erreicht.<br />
Bei den multimodalen Funktionen mit vielen lokalen Optima ist hingegen eine globalere<br />
Suche vorteilhaft. Ein höherer Wert von n 1 erlaubt hier einen stärkeren Einfluss der indivi-<br />
duell besten Position p i mit der Folge einer langsameren Konzentration der Partikel im<br />
Suchraum. 52<br />
Zum Leistungsvergleich wurden der Standard PSO-Algorithmus und der Constriction Type<br />
PSO (CPSO), eine weitere PSO-Variante, heranzogen. In der Testsuite war OPSO durchschnittlich<br />
sowohl gegenüber PSO, als auch gegenüber CPSO in den Kriterien benötigte<br />
Epochen und Anzahl Fehler überlegen. 53<br />
Am n2 n1-Verhältnis wird deutlich, dass unterschiedliche Fitnesslandschaften mit unterschiedlich<br />
eingestellten PSO-Algorithmen verschieden gut bearbeitet werden können.<br />
Mögliche Anwendungsfelder für OPSO beinhalten die Optimierung einer großen Anzahl<br />
Problemstellungen mit ähnlichen Fitnesslandschaften. Der Algorithmus kann exemplarische<br />
Probleminstanzen optimieren und die erhaltenen PSO-Parameter können für die verbliebenen<br />
Instanzen genutzt werden. 54<br />
Kritisch zu betrachten ist an der Meta-Optimierung durch PSO die Frage nach der richtigen<br />
Einstellung der Parameter auf Meta-Ebene. Werden PSO-Parameter durch einen übergeordneten<br />
PSO-Algorithmus optimiert, stellt sich die Frage, warum nicht auch jeweils die<br />
Parameter des übergeordneten PSO-Algorithmus in rekursiver Weise optimiert werden. 55<br />
52 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 3 f.<br />
53 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 5.<br />
54 Vgl. MEISNER, SCHMUKER, SCHNEIDER (2006), S. 8.<br />
55 Da hier ein exponentielles Wachstum von Schleifendurchläufen zu erwarten ist, muss bei solchen Überlegungen<br />
die Rechenkapazität berücksichtigt werden.
4 ACO - Ant Conlony Optimization<br />
4.1 Metaheuristik<br />
- 19 -<br />
ACO basiert auf dem kollektiven Verhalten realer Ameisen. Verteiltes Problemlösen geschieht,<br />
wie bei allen SI-Algorithmen, durch die Fähigkeit der Individuen, Informationen<br />
auszutauschen. Das kombinatorische Problem des Findens kürzester Wege stellt das<br />
Schlüsselproblem der Ameisenalgorithmen dar. Bei dem Problem kürzester Wege geht es<br />
darum, einen möglichst kurzen Weg zwischen Nest und Nahrungsquelle herzustellen, um<br />
effizient zur Quelle zu gelangen und die Nahrung ins Nest zu transportieren. 56<br />
Die Kommunikation zwischen den Mitgliedern der Ameisenpopulation findet bei ACO<br />
indirekt statt. Diese indirekte Kommunikation wird auch als Stigmergie bezeichnet. Ein<br />
Individuum in einem stigmergischen System nimmt über die Veränderung der Umwelt<br />
Einfluss auf andere Individuen. 57 Ameisen sondern entlang eines Weges Pheromon ab,<br />
welches sich auf diesem Weg ablagert und mit der Zeit verdunstet. Wege, auf denen sich<br />
aktuell höhere Pheromonkonzentrationen befinden, werden von Ameisen bevorzugt. 58<br />
Liegt zwischen Nest und Futterquelle ein kürzerer Weg, wird die Quelle in kürzerer Zeit<br />
erreicht. Die Ameisen befinden sich zeitlich früher auf dem Rückweg als Ameisen, welche<br />
andere Nahrungsquellen auf einem längeren Weg erreichen. Die höhere Traversierungsfrequenz<br />
bedingt eine stärkere Pheromonkonzentration und damit Attraktivität, während auf<br />
längeren Wegen durch die Verdunstung der Duftstoffe eine geringere Konzentration besteht.<br />
Hinzukommt, dass aufgrund der höheren Attraktivität mehr und mehr Ameisen den<br />
kürzeren Weg wählen, welche wiederum Pheromon absondern. Die zeitlichen Abstände<br />
zwischen den Absonderungen sinken weiter und der autokatalytische Prozess führt auf<br />
dem kürzesten Pfad zu der stärksten Pheromonkonzentration. Das Phänomen der Ameisenstraßen<br />
zwischen Nest und Nahrungsquelle als Lösung des Optimierungsproblems ent-<br />
steht. 59<br />
Die ACO-Metaheuristik wurde von DORIGO und DI CARO ausgehend vom dargestellten<br />
Verhalten der Ameisen zur Lösungskonstruktion entwickelt. 60 Sie gibt den Rahmen für<br />
sämtliche problemspezifischen Umsetzungen von Ameisenalgorithmen vor. Prinzipiell ist<br />
56 Vgl. DORIGO, STÜTZLE (2004), S. 1.<br />
57 Vgl. FISCHER (2008), S. 155.<br />
58 Vgl. MERLOTI (2004), S. 4 f.<br />
59 Vgl. DORIGO, BONABEAU, THERAULAZ (2000), S. 852-854.<br />
60 Vgl. DORIGO, DI CARO (1999), S. 1470-1477.
- 20 -<br />
ACO auf beliebige diskrete Optimierungsprobleme anwendbar, sofern sie bestimmten Eigenschaften<br />
genügen. 61 Allgemein können diese über folgende Problemdefinition beschrieben<br />
werden. Das Tripel ( ∏, F,<br />
Ω ) sei ein Minimierungsproblem und ∏ die Menge aller<br />
möglichen Lösungen. F( π , t)<br />
repräsentiere eine zu minimierende Zielfunktion für die Lösungen<br />
π ∈∏ und Ω ( t)<br />
die Menge an Nebenbedingungen. Der optionale Parameter t<br />
erlaubt die zeitabhängige Definition der Nebenbedingungen und der Zielfunktion. 62 Das<br />
Problem wird über die Definition eines Graphen G abgebildet. G besteht aus einer endlichen<br />
Anzahl von Komponenten { 1 } ,..., V = v vn,<br />
der so genannten Knotenmenge. Die Komponenten<br />
sind miteinander durch Kanten ei→ j der Kantenmenge E verbunden. Über G<br />
können Zustände x definiert werden, die Sequenzen in der Form x= vi, vj,..., vh,...<br />
aus<br />
den Komponenten von G darstellen, wobei die maximale Länge einer Sequenz durch eine<br />
Konstante n
ACO-Metaheuristik<br />
1: Initialisierung<br />
2: repeat<br />
3: Lösungskonstruktion<br />
4: Pheromonaktualisierung<br />
5: Daemon-Aktivitäten (optional)<br />
6: until Abbruchkriterium<br />
Tab. 4.1: ACO-Metaheuristik<br />
- 21 -<br />
Quelle: Vgl. FISCHER, S. 159.<br />
G bildet die Grundlage für die Konstruktion von Lösungen π durch die Ameisen. Die<br />
indirekte Kommunikation wird über die numerische Pheromonspur τ realisiert. Die Nach-<br />
k<br />
barschaft N einer Ameise k ist dabei von den bereits durch die Ameise getroffenen Ent-<br />
k<br />
scheidungen abhängig. Jede Ameise k besitzt zudem ein Gedächtnis M , in welchem alle<br />
Informationen über den von ihr bisher gewählten Pfad durch den Graphen abgelegt wer-<br />
den. 65<br />
k<br />
Die Lösungskonstruktion durch eine Ameise beginnt mit einem Startzustand x start . Danach<br />
bewegt sich die Ameise so lange zu einem Knoten j der jeweiligen Nachbarschaft, bis<br />
eine Abbruchbedingung erfüllt ist. Die stochastische Wahl des Knotens aus der Nachbarschaft<br />
wird mittels einer Übergangswahrscheinlichkeit bestimmt. 66 Im einfachen Fall entspricht<br />
die Entscheidungsregel Gleichung (4.1), bei welcher lediglich die Pheromonkonzentration<br />
Einfluss auf die Auswahl der Kanten aus der Nachbarschaft hat. 67<br />
p<br />
k<br />
ij<br />
⎧ τ ij k<br />
wenn j ∈ Ni<br />
⎪<br />
=<br />
τ il ⎨ ∑ (4.1)<br />
k<br />
l∈Ni ⎪⎪⎩ 0 sonst<br />
Die Pheromonaktualisierung ist die zweite Phase der ACO-Metaheuristik und setzt sich<br />
aus zwei Operationen zusammen. Zunächst verstärken Ameisen auf ihrem Weg die Pheromonkonzentration.<br />
Bewegt sich eine Ameise von einem Knoten zu einem anderen, fügt<br />
k<br />
sie diesen ihrem Pfadgedächtnis M hinzu und schüttet eine bestimmte Menge an Pheromon<br />
auf diesem Weg aus. Häufig wird erst nach Abschluss der vollständigen Lösungskonstruktion<br />
die Pheromonausschüttung durchgeführt. Wird die Pheromonmenge, die von<br />
65 Vgl. FISCHER (2008), S. 158 f.<br />
66 Vgl. DORIGO, STÜTZLE (2004), S. 36.<br />
67 Vgl. DORIGO, STÜTZLE (2004), S. 13.
einer Ameise auf einer Kante ei→ j abgelegt wird, durch<br />
die Aktualisierung des Pheromons aus 68<br />
- 22 -<br />
k<br />
Δ τ repräsentiert, so ergibt sich<br />
k<br />
τ : = τ +Δτ ∀e → ∈ Eπ. (4.2)<br />
ij ij i j<br />
Die zweite Operation der Phase Pheromonaktualisierung betrifft die Verdunstung des Phe-<br />
romons. Sie hängt von der Verdunstungsrate ρ ∈ [ 0,1]<br />
ab. Die Pheromonkonzentration<br />
nach der Verdunstung ergibt sich aus 69<br />
τ ij : = (1 −ρ) ⋅τij ∀ei→j∈ E . (4.3)<br />
Die optionalen Daemon-Aktivitäten erfolgen nach Abschluss der Pheromonaktualisierung.<br />
Beispiele für derartige Aktivitäten sind elitäre Strategien, welche eine zusätzliche Pheromonausschüttung<br />
für die aktuell beste Lösung veranlassen. 70<br />
4.2 ACO und Feed-Forward-Netze<br />
BLUM, SOCHA (2005): Training Feed-Forward Neural Networks With Ant Colony Optimization:<br />
An Application to Pattern Classification<br />
Grundlagen<br />
BLUM und SOCHA stellen in “Training Feed-Forward Neural Networks With Ant Colony<br />
Optimization: An Application to Pattern Classification” eine Methode vor, welche es erlaubt<br />
eine stetige Gewichtsoptimierung von Feed-Forward-Netzen zur Mustererkennung<br />
vorzunehmen. 71<br />
Feed-Forward-Netze zur Mustererkennung besitzen so viele Eingabeneuronen, wie es verschiedene<br />
Merkmale in einem Datensatz gibt. Die Anzahl der Ausgabeneuronen entspricht<br />
der Anzahl der Klassen, denen Eingabemuster zugeordnet werden können. Hierbei sind die<br />
Neuronen schichtenweise vollständig vernetzt. Ein Datensatz für die Klassifikation von<br />
Mustern besteht aus mehreren Mustern zusammen mit deren korrekter Klassifikation. Jedes<br />
Muster besitzt eine bestimmte Anzahl von Merkmalen und deren numerische Ausprägung.<br />
Ziel ist, das Netz so zu optimieren, dass bei Eingabe eines Musters dessen korrekte<br />
68 Vgl. DORIGO, STÜTZLE (2004), S. 14.<br />
69 Vgl. DORIGO, STÜTZLE (2004), S. 15.<br />
70 Vgl. FISCHER (2008), S. 160.<br />
71 Vgl. BLUM, SOCHA (2005), S. 1-6.
- 23 -<br />
Klassifikation ausgegeben wird. Diese wird durch das Ausgabeneuron bestimmt, welches<br />
das größte Ausgabesignal produziert. 72<br />
Die Anpassung der Gewichte, sodass das Netz eine hohe Performanz bietet, ist ein stetiges<br />
Optimierungsproblem, da die Gewichte reelle Zahlen darstellen. Folglich sind n Entscheidungsvariablen<br />
{ X1,..., X n}<br />
mit stetigen Definitionsbereichen gegeben. Die Variablen sind<br />
unabhängig. Gesucht ist eine Lösung zur Minimierung der Zielfunktion „Quadrierter Feh-<br />
leranteil“ ( SEP ) 73 :<br />
∑∑<br />
p n no<br />
o − o<br />
SEP = t −o<br />
max min<br />
p p 2<br />
100 ( i i )<br />
no<br />
p= 1 i=<br />
1<br />
, (4.4)<br />
wobei o max und o min der Maximal- und Minimalwert der Ausgabesignale sind. n p repräsentiert<br />
die Anzahl an Mustern. n ist die Anzahl der Ausgabeneuronen.<br />
o<br />
p<br />
p<br />
t i und o i sind<br />
die erwarteten und tatsächlichen Werte von Ausgabeneuron i und Muster p . 74<br />
Arbeitsweise<br />
Im Gegensatz zu diskreten Optimierungsproblemen nutzt der Algorithmus für stetige Optimierung<br />
eine stetige Wahrscheinlichkeitsdichtefunktion (PDF) 75 . Diese Dichtefunktion<br />
wird durch eine Population P von Lösungen gebildet. P besitzt die Größe k und wird vor<br />
dem Start des Algorithmus mit Zufallslösungen im Intervall [ − 1,1] initialisiert. Bei jeder<br />
Iteration werden m Lösungen generiert und zu P hinzugefügt. Gleichzeitig werden die m<br />
schlechtesten Lösungen aus P entfernt. Durch diesen Suchprozess werden die besten gefundenen<br />
Lösungen separiert. 76<br />
Für die Erstellung einer Lösung wird die Menge der Entscheidungsvariablen<br />
X = { X1,..., Xn} in temporäre Variablen Z = { Z1,..., Z n}<br />
überführt um eine Korrelation zu<br />
limitieren. Nach dem Algorithmus werden sie zurücktransformiert. In jedem Konstruktionsschritt<br />
i= 1,..., n wählt die Ameise einen Wert für die Variable Z i . Hierzu wird die in<br />
Abb. 4.1 dargestellte Gaußsche Kern PDF genutzt, welche eine gewichtete Überlagerung<br />
von mehreren Gaußfunktionen darstellt. 77<br />
72 Vgl. BLUM, SOCHA (2005), S. 2.<br />
73 Engl.: Square Error Percentage (SEP).<br />
74 Vgl. BLUM, SOCHA (2005), S. 2.<br />
75 Engl.: Probability Density Function (PDF).<br />
76 Vgl. BLUM, SOCHA (2005), S. 2 f.<br />
77 Vgl. SOCHA (2004), S. 4.
Abb. 4.1: Gaußsche Kern PDF aus fünf Gauß Funktionen<br />
- 24 -<br />
Quelle: Vgl. SOCHA (2004) S. 4.<br />
Für eine Entscheidungsvariable i Z ist der Gaußsche Kern G i gegeben durch78<br />
k<br />
i j<br />
j=<br />
1<br />
2<br />
j<br />
2<br />
j<br />
( z−μ<br />
)<br />
−<br />
2σ<br />
1<br />
G ( z) = ∑ w e , ∀ z∈R<br />
(4.5)<br />
σ 2π<br />
wobei die j -te Gaußsche Funktion vom j -ten Individuum der Population P stammt. j w<br />
ist die Gewichtung, μ j der Erwartungswert und σ j die Standardabweichung für das j -te<br />
Individuum.<br />
Für eine einfache Bestimmung der Gaußschen Kern PDF stellen BLUM und SOCHA eine zu<br />
(4.5) äquivalente Methode vor. Aus den j Gaußfunktionen wird eine Funktion j * mit der<br />
Wahrscheinlichkeit<br />
p j =<br />
wj<br />
k<br />
w<br />
∀ j = 1,..., k<br />
∑<br />
l=<br />
1<br />
l<br />
(4.6)<br />
ausgewählt. 79 w j ist das Gewicht, der Gaußfunktion j und wird wie folgt bestimmt. Alle<br />
Lösungen in P sind absteigend nach Qualität ( SEP -Wert) geordnet. Der Rang der j -ten<br />
Lösung in P sei r . Dann ist w j durch folgende Gleichung bestimmt:<br />
78 Vgl. BLUM, SOCHA (2005), S. 3.<br />
79 Vgl. BLUM, SOCHA (2005), S. 3.<br />
2<br />
2 2<br />
( r−1)<br />
−<br />
2qk<br />
1<br />
wj= e . (4.7)<br />
qk 2π
- 25 -<br />
Das Gewicht ist also ein Wert der Gaußfunktion mit Rang r , einem Erwartungswert von 1<br />
und einer Standardabweichung qk . Ist der Parameter q klein, werden die am höchsten<br />
angeordneten Lösungen stark bevorzugt. Ist er größer, wird die Wahrscheinlichkeit stärker<br />
verteilt. Da die Ränge anstatt der tatsächlichen Fitnessfunktionen genutzt werden, ist der<br />
Algorithmus unabhängig von der Skalierung der Fitnessfunktion. Das Sampling der ausgewählten<br />
Funktion j * kann mit Hilfe eines Zufallsnummerngenerators geschehen, welcher<br />
Zufallszahlen gemäß einer parametrisierten Normalverteilung generiert. Hierzu müssen<br />
der Erwartungswert und die Standardabweichung der j * -ten Gaußfunktion bestimmt<br />
werden. Als Erwartungswert μ j*<br />
wird der Wert der i -ten Entscheidungsvariablen in Lösung<br />
j * gewählt. Die Standardabweichung σ j*<br />
wird durch<br />
k<br />
( ) 2<br />
l j*<br />
z z<br />
σJ* = ρ ∑ i − i<br />
(4.8)<br />
l=<br />
1<br />
bestimmt. 80 Es wird die durchschnittliche Distanz der anderen Populationsteilnehmer von<br />
der j * -ten Lösung berechnet und mit ρ multipliziert, was die Konvergenz reguliert. Je<br />
höher der Wert von ρ ∈ [ 0,1]<br />
, desto geringer die Konvergenzgeschwindigkeit und folglich<br />
die Lernrate. Der gesamte Prozess wird für jede Dimension (Entscheidungsvariable)<br />
durchgeführt. Probleme, die in verschiedenen Richtungen verschieden skaliert sind, werden<br />
so berechenbar. 81<br />
Auswertung<br />
BLUM und SOCHA beschreiben in “Training Feed-Forward Neural Networks With Ant Colony<br />
Optimization: An Application to Pattern Classification” eine Methode, um mit der<br />
ACO-Heuristik ein stetiges Optimierungsproblem zu lösen.<br />
Wie genau das vorgestellte stetige Optimierungsverfahren allerdings verwendet werden<br />
kann, um es auf neuronale Netze anzuwenden wird von BLUM und SOCHA nicht beantwortet.<br />
Es wird nicht auf den Trainingsalgorithmus des Netzes in Zusammenhang mit dem<br />
vorgestellten ACO-Algorithmus eingegangen und es gibt wenig Hinweise auf den genauen<br />
Zusammenhang zwischen zu optimierenden Parametern des Netzes und deren Behandlung<br />
während des Algorithmus.<br />
Experimente werden auf drei verschiedenen Testdatensätzen zur Krebs-, Diabetes- und<br />
Herzkrankheiterkennung, durchgeführt. Im ersten und zweiten Fall war ACO dem zum<br />
80 Vgl. BLUM, SOCHA (2005), S. 3.<br />
81 Vgl. BLUM, SOCHA (2005), S. 3.
- 26 -<br />
Vergleich herangezogenen BP-Verfahren in Bezug auf den erzeugten Fehler unterlegen.<br />
Im dritten Fall wurden ähnliche Ergebnisse erzielt. 82 ACO als generelle Optimierungsmethode<br />
scheint beim Training neuronaler Netze schlechtere Resultate zu erreichen, da zusätzliche<br />
vorhandene Informationen wie der Gradient nicht genutzt werden. Vorteilhaft bei<br />
ACO gegenüber BP ist hingegen, dass die Übertragungsfunktion nicht bekannt und differenzierbar<br />
sein muss. Gegenüber anderen Allzweck-Optimierungsverfahren wie Genetische<br />
Algorithmen erzielt ACO in den Tests bessere Ergebnisse.<br />
4.3 ACO-Backpropagation und Feed-Forward-Netze<br />
YAN-PENG, MING-GUANG, JI-XIN (2006): Evolving Neural Networks Using the Hybrid of<br />
Ant Colony Optimization and BP Algorithms<br />
GRUNDLAGEN<br />
YAN-PENG, MING-GUANG und JI-XIN stellen in “Evolving Neural Networks Using the Hybrid<br />
of Ant Colony Optimization and BP Algorithms” eine hybride Methode aus ACO und<br />
Backpropagation vor, um Feed-Forward-Netzwerke zu optimieren. Dieser ACO-BP Algorithmus<br />
nutzt ACO um eine Lösung zu finden, die nahe am Optimum liegt und wechselt<br />
daraufhin zu BP, um das genaue Optimum zu bestimmen.<br />
BP ist die derzeit am öftesten genutzte Suchtechnik um neuronale Netze zu optimieren. 83<br />
Es handelt sich um ein Gradientenabstiegsverfahren, welches schnell in lokale Optima<br />
konvergiert. Der BP Algorithmus wurde 1986 von Rumelhart und Mc Chelland entwickelt84<br />
. Ziel ist die Quadratsumme des Fehlers<br />
∑∑<br />
p n no<br />
1<br />
( ) ( )<br />
p p 2<br />
JW = ti −o<br />
i<br />
(4.9)<br />
2 p= 1 i=<br />
1<br />
zu minimieren. W ist ein Vektor aus allen Gewichten und Biases. p<br />
t i und<br />
p<br />
o i sind Zielwert<br />
und tatsächliche Ausgabe des i -ten Ausgabeneurons. n o und n p stellen die Anzahl der<br />
Ausgabeneuronen und Trainingsmuster dar. Ein initialer Gewichtsvektor W 0 wird iterativ<br />
angepasst, um einen für das Netz optimalen Vektor zu finden85 :<br />
82 Vgl. BLUM, SOCHA (2005), S. 4 ff.<br />
83 RANDALL, SEXTON, DORSEY (2000), S. 11-22.<br />
84 RUMMELHART, HINTON, WILLIAMS (1986), S. 533-536.<br />
85 YAN-PENG, MING-GUANG, JI-XIN (2006), S. 715.
- 27 -<br />
∂JW<br />
( )<br />
Wk+ 1 = Wk<br />
−η<br />
. (4.10)<br />
∂W<br />
Zunächst werden die tatsächlichen Ausgaben des Netzwerks von der Eingabe bis zur Ausgabeschicht<br />
berechnet. Dann wird der Gradientenabstieg wie in (4.10) gezeigt, bestimmt<br />
und die Gewichte angepasst. Dies wird für alle Trainingsmuster wiederholt, bis alle Fehler<br />
ausreichend klein sind. 86<br />
Die Entwicklung des neuronalen Netzes kann als Prozess angesehen werden, die optimale<br />
Kombination der Parameter in W zu finden. Da die kombinatorische Optimierungsfunktion<br />
meist mehrgipflig verläuft, wird nun zunächst ACO verwendet. Im Gegensatz zu BP ist<br />
ACO sehr resistent gegen verfrühte Konvergenz in lokale Optima. 87<br />
Um ACO anzuwenden, wird der Definitionsbereich jedes Parameters in eine Menge an<br />
Abschnitten (genannt Punkte) aufgeteilt und somit diskret. Jeder Punkt ist ein Kandidat für<br />
den Wert des Parameters. Eine Ameise kann für einen Parameter nur einen Wert aus den<br />
Kandidaten auswählen. In einer Pheromontabelle (s. Tab. 4.2) werden alle Informationen<br />
für jeden Parameter festgehalten.<br />
Nummer 1 2 ... m + 1<br />
Punkte 1 a 2 a ... a m+<br />
1<br />
Pheromonintensität τ (1)<br />
τ (2)<br />
... τ ( m + 1)<br />
Tab. 4.2: Pheromontabelle für Parameter<br />
W i<br />
Quelle: YAN-PENG, MING-GUANG, JI-XIN, S. 716.<br />
w i ist der i -te zu optimierende Parameter. a i ist der i -te Punkt, in welchen der Parameterbereich<br />
aufgeteilt wurde. τ ( i ) repräsentiert die Pheromonintensität von a i und m ist die<br />
Anzahl an Aufteilungen des Definitionsbereichs, sodass es m + 1 Punkte für jeden Parameter<br />
gibt.<br />
Erreicht eine Ameise den Parameter w i , so wählt sie den Punkt i mit der Wahrscheinlichkeit<br />
Pi ( ) nach der Gleichung88 Pi () =<br />
τ () i<br />
τ ( j)<br />
. (4.11)<br />
+ 1<br />
∑<br />
= 1<br />
m<br />
j<br />
86 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 716.<br />
87 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 717.<br />
88 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 716.
- 28 -<br />
Eine Ameise beendet eine Tour, wenn sie für alle Parameter Werte gesammelt hat. Sie geht<br />
zurück zum Nest und aktualisiert die Pheromontabelle entsprechend der Gleichung89 wobei [ 0,1]<br />
τ ( i+ 1) = ρτ ( i) +Δτ(<br />
i ) , (4.12)<br />
ρ ∈ die Fortbestandsdauer des Pheromons beeinflusst. Δ τ () i = Q/ Err bestimmt<br />
den Anstieg der Pheromonintensität. Q ist eine Konstante während Err der Fehler<br />
zwischen Zielausgabe und tatsächlicher Ausgabe des Netzes ist.<br />
Arbeitsweise<br />
Da der Definitionsbereich der Parameter bei ACO in einen diskreten transformiert wurde,<br />
ist die Ausgabepräzision mit den Punkten als Parameterwerte nicht sehr hoch. BP als alleiniger<br />
Suchalgorithmus gefährdet das Auffinden eines globalen Optimums. Als zusätzlicher<br />
Suchalgorithmus kann BP allerdings die Ausgabepräzision von ACO verbessern. ACO-BP<br />
sucht mit ACO zunächst eine Parameterkombination nahe am globalen Optimum und nutzt<br />
dann BP um den genauen Wert für jeden Parameter zu bestimmen. 90 Der genaue Ablauf ist<br />
in Abb. 4.2 dargestellt.<br />
89 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 717.<br />
90 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 717.
Pheromon<br />
aktualisieren<br />
Beste<br />
Kombination<br />
suchen<br />
Abb. 4.2: ACO-BP Algorithmus<br />
1. Initialisierung<br />
Start<br />
Initialisierung<br />
Abbruchbedingung<br />
falsch<br />
Ameisen<br />
entsenden<br />
Ende<br />
wahr<br />
Gewichte und<br />
Biases für BP<br />
initialisieren<br />
BP<br />
durchführen<br />
- 29 -<br />
Quelle: YAN-PENG, MING-GUANG, JI-XIN, S. 717.<br />
Der Definitionsbereich jedes Parameters wird gleichmäßig in m + 1 Teile aufgespalten und<br />
eine Pheromontabelle erstellt. Jeder Punkt besitzt die gleiche Menge an Pheromon. N<br />
Ameisen verlassen das Nest.<br />
2. Touring<br />
Jede Ameise bewegt sich von einem Parameter zum nächsten. Abhängig von (4.11) wird<br />
für jeden dieser Parameter ein Wert gewählt. Hat die Ameise für alle Parameter Werte bestimmt,<br />
ist sie am Ziel angekommen und hat ein neuronales Netz festgelegt. Trainingsmuster<br />
werden in das Netzwerk gegeben und der Fehler bestimmt.<br />
3. Aktualisierung der Pheromontabelle<br />
Die Ameise geht den Weg zum Nest zurück, den sie gekommen ist und die Pheromonintensität<br />
der Punkte auf dem Weg wird nach (4.12) aktualisiert.
4. Stoppkriterium<br />
- 30 -<br />
Eine Iteration ist beendet, wenn alle Ameisen zum Nest zurückgekehrt sind. 2.-3. wird so<br />
lange wiederholt, bis alle Ameisen auf einen Pfad konvergiert sind oder ein anderes Stopp<br />
Kriterium erfüllt ist.<br />
5. Backpropagation<br />
Die besten Parameter, die von ACO gefunden wurden, werden als Initialgewichte und Biases<br />
des BP Algorithmus genutzt. Der Fehler zwischen Zielausgabe und tatsächlicher Ausgabe<br />
wird berechnet und von der Ausgabeschicht zu vorderen Schichten propagiert. Der<br />
Gewichtsvektor wird nach (4.10) modifiziert. Dieser Trainingsprozess wird so lange wiederholt,<br />
bis die gewünschte Fehlergenauigkeit oder maximale Iterationszahl erreicht ist.<br />
6. Netzwerktest<br />
Die Generalisierungsfähigkeit des Netzes wird mit Testmustern geprüft. Ist die gewünschte<br />
Fehlergenauigkeit erreicht, wird das Verfahren beendet. Falls nicht, wird mit Schritt 1 fort-<br />
gefahren. 91<br />
Auswertung<br />
BP, was gewöhnlich zum Training neuronaler Netze verwendet wird, ist wenig robust gegenüber<br />
lokalen Optima, besitzt aber eine hohe Konvergenzgeschwindigkeit. ACO ist gut<br />
geeignet das globale Optimum zu finden. ACO wird für eine Annäherung an die Netzwerkparameter<br />
genutzt und BP konvergiert schnell in die genauen Parameterwerte. 92 YAN-<br />
PENG, MING-GUANG und JI-XIN führen mit ACO-BP Tests zur nichtlinearen Systemidentifikation<br />
und im Bereich chemischer Anwendungen durch. In beiden Untersuchungen war<br />
ACO-BP dem zum Vergleich herangezogenen Standard-BP beim gemittelten Testfehler,<br />
als auch in der Rechenzeit überlegen. 93<br />
91<br />
Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 718.<br />
92<br />
Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 721.<br />
93<br />
Die genauen Untersuchungsaufbauten und Ergebnisse finden sich in YAN-PENG, MING-GUANG, JI-XIN<br />
(2006), S. 719 ff.
5 ABC - Artificial Bee Colony Optimization<br />
5.1 Metaheuristik<br />
- 31 -<br />
Artificial Bee Colony Optimization ist ein vergleichsweise neuer SI-Algorithmus, der das<br />
Verhalten von Honigbienen während der Nahrungssuche simuliert. Er wurde 2005 von<br />
KARABOGA eingeführt um multi-dimensionale und multi-modale Optimierungsprobleme<br />
zu lösen94 . Eine Kolonie besteht aus drei Gruppen von Bienen. Beschäftigte Bienen, Zuschauer<br />
und Späher. Beschäftigte Bienen werden mit einer bestimmten Nahrungsquelle<br />
assoziiert, welche von ihnen verwertet wird. 95 Sie besitzen Informationen über diese Quelle<br />
und teilen sie mit der Kolonie, indem ein Schwänzeltanz durchgeführt wird. Mit dem Tanz<br />
im Nest kommunizieren Bienen Informationen über Richtung, Distanz und Menge von<br />
Nektarvorkommen zu ihren Artgenossen im Bienenstock. 96 Durch diesen Mechanismus<br />
werden weitere Bienen rekrutiert um gute Nahrungsquellen auszuschöpfen. Während des<br />
Schwänzeltanzes indiziert die Position der Biene die Richtung zum Nektar. Die Intensität<br />
des Tanzes vermittelt die Entfernung und die Dauer gibt Auskunft über die Menge des<br />
Nektars in der Quelle97 . Nicht beschäftigte Bienen sind auf der Suche nach einer Nahrungsquelle.<br />
Von ihnen gibt es zwei Typen. Späher und Zuschauer. Späher durchsuchen<br />
ohne Anweisung die Umgebung nach neuen Nahrungsquellen. Zuschauer betrachten den<br />
Schwänzeltanz und wählen nach einem wahrscheinlichkeitsbasierten Auswahlprozess ein<br />
Nektarvorkommen als neue Nahrungsquelle. Ziel ist, die Nahrungsquelle mit dem größten<br />
Nektarvorkommen zu finden. 98<br />
94 Vgl. KARABOGA (2005), S. 1-10.<br />
95 Vgl. TERESHKO, LOENGAROV (2005), S. 2.<br />
96 Vgl. KARABOGA (2008).<br />
97 Vgl. SEELEY (1997), S. 1 ff.<br />
98 Vgl. BAYKASOGLU, ÖZBAKIR, TAPKAN (2007), S. 113 – 121.
5.2 ABC und Feed-Forward-Netze<br />
- 32 -<br />
KARABOGA, AKAY, OZTURK (2007): Artificial Bee Colony (ABC) Optimization Algorithm<br />
for Training Feed-Forward Neural Networks<br />
GRUNDLAGEN<br />
KARABOGA, AKAY und OZTURK führen in „Artificial Bee Colony (ABC) Optimization<br />
Algorithm for Training Feed-Forward Neural Networks” eine Methode ein, um mit dem<br />
ABC-Algorithmus Feed-Forward-Netzwerke zu optimieren. Ziel der Überlegungen ist,<br />
eine gegenüber traditionellen Trainingsalgorithmen wie Backpropagatoin überlegene Methode<br />
zu entwickeln. Während klassische Verfahren oft Probleme mit lokalen Minima oder<br />
Rechenkomplexität aufweisen, soll ABC diese Probleme überkommen und eine optimale<br />
Zusammensetzung der Gewichte von neuronalen Netzen bestimmen. 99<br />
Im ABC-Algorithmus definiert die Position einer Nahrungsquelle eine mögliche Lösung<br />
des Optimierungsproblems. Sie repräsentiert den Gewichtsvektor im Netzwerk. Die Nektarmenge<br />
der Nahrungsquelle korrespondiert zur Qualität (Fitness) der Lösung.<br />
Arbeitsweise<br />
Die Arbeitsweise des ABC-Algorithmus wird in Tab. 5.1 illustriert. Im ersten Schritt generiert<br />
ABC eine zufällig verteilte, initiale Population von SN Lösungen (Nahrungsquellen).<br />
Jede Lösung xi ( i = 1,2,..., SN)<br />
ist ein D -dimensionaler Vektor. D entspricht der Anzahl<br />
an Optimierungsparametern. Nach der Initialisierung unterzieht sich die Population<br />
MCN 100 Wiederholungen ( cycles ) von Suchprozessen.<br />
Beschäftigte Bienen verbleiben während der Nahrungssammlung nicht an einer einzigen<br />
Quelle. Sie testen mehrere Nektarvorkommen in ihrer Umgebung. Eine neue Kandidatenposition<br />
wird durch<br />
v = x + φ ( x −x<br />
)<br />
(5.1)<br />
ij ij ij ij kj<br />
aus der bisherigen generiert. k∈ { 1, 2,..., SN}<br />
und j { 1, 2,..., D}<br />
wobei k i φ ist eine Zufallszahl in [ − 1,1]<br />
.<br />
≠ . i, j<br />
99 Vgl. KARABOGA, AKAY, OZTURK (2007), S. 318.<br />
100 Engl.: Maximum Cycle Number (MCN)<br />
∈ sind zufällige Indizes,
- 33 -<br />
Ist die Nektarmenge höher, als die der Vorgängerquelle, wird die neue Position gespeichert<br />
und die alte vergessen. Anderenfalls bleibt die alte gespeichert. Es handelt sich also um<br />
einen gierigen Auswahlprozess, da ein opportunistisches Verhalten hin zur kurzfristig besseren<br />
Lösung vorliegt. Nachdem alle beschäftigten Bienen diesen Prozess durchlaufen haben,<br />
werden Informationen über Nektarmenge und -position mit den Zuschauern in der<br />
Tanzumgebung geteilt. Die Zuschauer bewerten die durch den Schwänzeltanz vermittelten<br />
Nektarinformationen der beschäftigten Bienen und wählen eine Nahrungsquelle mit einer<br />
Wahrscheinlichkeit abhängig von der Nektarmenge101 . Die Wahrscheinlichkeit berechnet<br />
sich durch<br />
p<br />
=<br />
i SN<br />
∑<br />
n=<br />
1<br />
fit<br />
i<br />
fit<br />
n<br />
, (5.2)<br />
wobei fit i der Fitnesswert der Lösung i ist und proportional zur Nektarmenge der Nahrungsquelle<br />
verläuft. SN ist die Anzahl von Nahrungsquellen, welche mit der Anzahl an<br />
beschäftigten Bienen übereinstimmt. Wie bei den beschäftigten Bienen modifizieren die<br />
Zuschauer die Positionsangabe nach (5.1) und testen die Nektarmenge der neuen Kandidatenquelle.<br />
Ist die Nektarmenge größer, so wird auch diese Position gierig gespeichert. 102<br />
Während Zuschauer und beschäftigte Bienen den Erschließungsprozess durchführen, erkunden<br />
Späher in ABC komplett neue Lösungen. 103 Kann eine Lösungsposition nach einer<br />
vorherbestimmten Anzahl an Wiederholungen (limit) nicht verbessert werden, so wird sie<br />
als verlassen deklariert. Verlassene Nahrungsquellen werden durch die Späher mit neuen<br />
ausgetauscht104 . Dies wird durch eine zufällig generierte Position simuliert, welche die neue<br />
Nahrungsquelle darstellt. Die verlassene Quelle sei x i und j ∈ { 1, 2,..., D}<br />
. Dann wird<br />
durch<br />
x = x + rand(0,1) ⋅( x − x )<br />
(5.3)<br />
j j j j<br />
i min max min<br />
eine neue Nahrungsquelle vom Späher gefunden und mit x i ausgetauscht.<br />
101 Vgl. SEELEY, CAMAZINE, SNEYD (1991), S. 279.<br />
102 Vgl. KARABOGA, AKAY, OZTURK (2007), S. 321.<br />
103 Vgl. KARABOGA, AKAY, OZTURK (2007), S. 321-322.<br />
104 Vgl. SEELEY, VISSCHER (1987), S. 229.
ABC-Algorithmus<br />
1: Initialisiere eine Population von Lösungen xi , i = 1... SN<br />
2: Evaluiere die Population<br />
3: Setze cycle = 1<br />
4: repeat<br />
5: Produziere neue Lösungen v i für die beschäftigten Bienen nach (5.1) und<br />
evaluiere sie<br />
6: Wende den gierigen Auswahlprozess an<br />
7: Berechne die Wahrscheinlichkeiten i p für die Lösungen x i nach (5.2)<br />
8: Produziere neue Lösungen i v für die Zuschauer aus den abhängig von i p<br />
gewählten Lösungen i x<br />
9: Wende den gierigen Auswahlprozess an<br />
10: Bestimme die verlassene Lösung für den Späher, falls vorhanden, und ersetze sie<br />
mit einer neuen zufälligen Lösung x i nach (5.3)<br />
11: Speichere die bisherige beste Lösung<br />
12: Setze cycle = cycle + 1<br />
13: until cycle = MCN<br />
Tab. 5.1: ABC-Algorithmus<br />
Auswertung<br />
- 34 -<br />
KARABOGA, AKAY und OZTURK wenden mit ABC einen jungen SI-Algorithmus aus dem<br />
Jahr 2005 zur Optimierung von neuronalen Netzen an.<br />
In Untersuchungen vergleichen die Autoren die Leistung von ABC mit Backpropagation<br />
und Evolutionären Algorithmen auf drei Problemen (XOR, 3-Bit Parity, 4-Bit Encoder-<br />
Decoder). Sowohl bei den Fehlerraten der trainierten Netzwerke, als auch bei den Erfolgsraten<br />
zum Auffinden des globalen Optimums weist ABC die besten Ergebnisse auf. 105<br />
Der Vorteil dieses Algorithmus ist seine Einfachheit. Er ist intuitiv verständlich, leicht implementierbar<br />
und es gibt lediglich drei Kontrollparameter, dessen Werte das Ergebnis<br />
beeinflussen. Die Anzahl Nahrungsquellen SN , der Wert von limit und die maximale<br />
Schleifenzahl MCN .<br />
Zusammengefasst ist ABC ein neuer, robuster und einfacher Optimierungsalgorithmus<br />
zum trainieren neuronaler Feed-Forward-Netzwerke.<br />
105<br />
Die genauen Untersuchungsaufbauten und Ergebnisse finden sich in KARABOGA, AKAY, OZTURK<br />
(2007), S. 322 ff.
6 Fazit<br />
- 35 -<br />
Es wurden drei verschiedene Metaheuristiken vorgestellt, die prinzipiell dazu geeignet<br />
sind, künstliche neuronale Netze zu optimieren.<br />
PSO ist der etablierteste Algorithmus. Er wurde sowohl für Feed-Forward-, als auch für<br />
rekurrente Netze implementiert. Optimierungen fanden auf den Gewichten, aber auch auf<br />
der Topologie der Netze statt. Die weite Verbreitung ist auf die Einfachheit von PSO zurückzuführen.<br />
Er ist leicht nachzuvollziehen und schnell zu implementieren. 106<br />
ACO wurde nur für Feed-Forward-Netze implementiert. Eine Instanz hat die Gewichte des<br />
neuronalen Netzes mit Hilfe von Wahrscheinlichkeitsdichtefunktionen optimiert, obwohl<br />
ACO ursprünglich nur für diskrete Problemstellungen gedacht war. Die zweite Instanz hat<br />
eine diskrete Optimierung vorgenommen und dann auf Backpropagation für eine schnelle<br />
Konvergenz zum Optimum zurückgegriffen. ACO gilt im Vergleich zu den anderen SI<br />
Verfahren als nicht sehr effizient. 107 Allerdings ist der Algorithmus aufgrund seiner Flexibilität<br />
enorm vielseitig und für alle kombinatorischen Probleme anwendbar. 108<br />
ABC ist ein noch sehr junger Algorithmus, zu welchem es nur wenige Quellen gibt. Er<br />
wurde ebenfalls nur für die Optimierung von Feed-Forward-Netzen implementiert, zeigt<br />
hier aber eine starke Performanz. Ähnlich wie PSO ist ABC ein recht simpler Algorithmus<br />
und darum vergleichsweise einfach zu implementieren. 109 Die Testresultate zeugen von<br />
großem Potential, sodass es in Zukunft vermutlich noch viele weitere Untersuchungen auf<br />
ABC geben wird.<br />
Insgesamt ist SI zur Optimierung von künstlichen neuronalen Netzen erst in den letzten<br />
Jahren stärker zum Einsatz gekommen. Die in der Literatur beschriebenen Experimente<br />
zeigen gute Ergebnisse im Vergleich zu etablierten, klassischen Verfahren wie Backpropagation<br />
und bieten Vorteile bei kritischen Problemen, wie dem der lokalen Optima. Während<br />
mit ACO-BP ein hybrider Ansatz zwischen SI- und klassischen Optimierungsverfahren<br />
demonstriert wurde, sind in Zukunft auch Kombinationen von SI-Techniken denkbar,<br />
bei welchen die Vorteile einzelner Methoden verknüpft werden.<br />
SI basiert auf simplen, einfach zu rekonstruierenden Verhaltensweisen, führt aber in der<br />
Summe der Individuen zu hochkomplexen Strukturen, die schwierigste Aufgaben bewälti-<br />
106 Vgl. SHAO-ZHONG, LI-BIAO, SHU-HUA (2007), S. 456.<br />
107 Vgl. BLUM, SOCHA (2005), S. 4.<br />
108 Vgl. YAN-PENG, MING-GUANG, JI-XIN (2006), S. 714.<br />
109 Vgl. KARABOGA, AKAY, OZTURK (2007), S. 320.
- 36 -<br />
gen. 110 Über Millionen von Jahren hat die Evolution diese emergenten Mechanismen perfektioniert.<br />
Hieran angelehnte Verfahren zur Optimierung neuronaler Netze sind ein weiterer<br />
Schritt hin zum gemeinsamen Ziel der künstlichen Intelligenz: die Natur von Intelligenz<br />
zu verstehen.<br />
110 Vgl. HEEREN (2006), S. 33.
Literaturverzeichnis<br />
- 37 -<br />
Beni, G.; Wang, J.: Swarm Intelligence. In: Proceedings of the Seventh Annual Meeting of<br />
the Robotics Society of Japan. (1989), S. 425-428.<br />
Blum, C.; Socha, K.: Training feed-forward neural networks with ant colony optimization:<br />
An application to pattern classification. In: Proceedings of the Fifth International<br />
Conference on Hybrid Intelligent Systems. (2005), S. 233-238.<br />
Bonabeau, E. et al.: Self-Organization in Social Insects. In: working paper, Nr. 12. 1997.<br />
Bonabeau, E.; Dorigo, M.; Theraulaz, G.: Swarm Intelligence: From Natural to Artificial<br />
Systems. New York 1999.<br />
Bonabeau, E.; Meyer, C.: Swarm Intelligence: A Whole New Way to Think About Business.<br />
In: Harvard Business Review. (2001), S. 106-114.<br />
Baykasoglu, A.; Özbakir, L.; Tapkan, P.: Artificial Bee Colony Algorithm and Its Application<br />
to Generalized Assignment Problem. In: Swarm Intelligence: Focus on Ant<br />
and Particle Swarm Optimization. Hrsg.: F. Chan, M. Tiwari. Wien 2007, S. 113-<br />
144.<br />
Clerc, M.; Kennedy, J.: The Particle Swarm – Explosion, Stability, and Convergence in a<br />
Multidimensional Complex Space. In: IEEE Transactions on Evolutionary Computation.<br />
(2002), S. 58-73.<br />
Dorigo, M.; Di Caro, G.: The Ant Colony Optimization Meta-Heuristic. In: New Ideas in<br />
Optimization. Hrsg.: D. Corne, M. Dorigo, F. Glover. London 1999, S. 11-32.<br />
Dorigo, M.; Bonabeau, E.; Theraulaz, G.: Ant algorithms and stigmergy. In: Future Generation<br />
Computer Systems. 16 (2000), S. 851-871.<br />
Dorigo, M.; Stützle T.: Ant Colony Optimization. Cambridge 2004.<br />
Eberhart, R.; Shi, Y.: Particle swarm optimization development, applications and resource.<br />
In: Congress on Evolutionary Computaion. (2001), S. 81-86.<br />
Engelbrecht, A.: Computational Intelligence. An Introduction. Chichester et al. 2005.<br />
Engelbrecht, A.: Computational Intelligence. An Introduction. 2. Aufl., Chichester et al.<br />
2007.
- 38 -<br />
Fischer, M.: Partnerauswahl in Netzwerken. Ein mehrkriterieller Optimierungsansatz zur<br />
Bestimmung effizienter Netzkonfigurationen basierend auf Ant Colony Optimization.<br />
Hamburg 2008.<br />
Heeren, M.: Swarm Intelligence als Strategie zur Lösung reaktiver Planungsprobleme in<br />
Wertschöpfungsketten. Dissertation, <strong>Universität</strong> Oldenburg, Berlin 2006.<br />
Karaboga, D.: An Idea Based on Honey Bee Swarm for Numerical Optimization. In: technical<br />
report, Nr. 6. 2005.<br />
Karaboga, D.; Akay, B.; Ozturk, C.: Artifial Bee Colony Optimization Algorithm for<br />
Training Feed-Forward Neural Networks. In: Modeling Decisions for Artificial Intelligence.<br />
Hrsg.: V. Torra, Y. Narukawa, Y. Yoshida. Berlin, Heidelberg 2007, S.<br />
318-329.<br />
Karaboga, D.: Artificial Bee Colony (ABC) Algorithm. 2005. http://mf.erciyes.edu.tr/abc/.<br />
2008-8-29.<br />
Kennedy, J.; Eberhard, R.: Particle Swarm Optimization. In: working paper. 1995.<br />
Kennedy, J.; Eberhard, R.; Shi, Y.: Swarm Intelligence. San Francisco 2001.<br />
Ling, H. et al.: Short-Term Daily Forecasting in an Intelligent Home with GA-Based Neural<br />
Network. In: Proceedings of the 2002 International Joint Conference on Neural<br />
Networks. (2002) 1, S. 997-1002.<br />
Meissner, M., Schmuker, M. Schneider, G.: Optimized Particle Swarm Optimization<br />
(OPSO) and ist application to artificial neural network training. In: BMC Bioinformatics,<br />
(2006) 7, S. 1-11.<br />
Merloti, P.: Optimization Algorithms Inspired by Biological Ants and Swarm Behavior.<br />
2004.<br />
http://wwww.merlotti.com/EngHome/Computing/AntsSim/AntOptimizationAlg.p<br />
df. Abrufdatum 2008-09-02.<br />
Palangpour, P.; Venayagamoorthy, G.; Duffy, K.: Recurrent Neural Network Based Predictions<br />
of Elephant Migration in a South African Game Reserve. In: International<br />
Joint Conference on Neural Networks. (2006), S. 4084-4088.<br />
Pham, D.; Sholedolu, M..: Using a Hybrid PSO-Bees Algorithm to train Neural Networks<br />
for Wood Classification. In: working paper, 2008.
- 39 -<br />
Randall, S.; Sexton, R.; Dorsey, E.: Reliable Classification Using Neural Networks: A Genetic<br />
Algorithm and Backpropagation Comparison. In: Decision Support Systems.<br />
30 (2000) 1, S. 11-22.<br />
Rasmussen, T.; Krink, T.: Improved Hidden Markov Model training for multiple sequence<br />
alignment by a particle swarm optimization-evolutionary algorithm hybrid. In:<br />
Biosystems. (2003) 72, S. 5-17.<br />
Rumelhart, D.; Hinton, G.; Williams, R.: Learning Representations by Backpropagating<br />
Errors. In: Nature. 323 (1986), S. 533-536.<br />
Russell, S.; Norvig, P.: Künstliche Intelligenz. Ein moderner Ansatz. 2. Aufl., München<br />
u. a. 2004.<br />
Seeley, T.; Visscher, P.: Assessing the benefits of cooperation in honeybee foraging:<br />
search costs, forage quality, and competitive ability. In: Behavioral Ecology and<br />
Socio-biology. (1987) 22, S. 229-237.<br />
Seeley, T.; Camazine, S.; Sneyd, J.: Collective decision-making in honey bees: how colonies<br />
choose among nectar sources. In: Behavioral Ecology and Socio-biology.<br />
(1991) 28, S. 277-290.<br />
Seeley, T.: Honigbienen. Basel u. a. 1997.<br />
Shao-zhong, S.; Li-biao, Z.; Shu-hua: The application of particle swarm optimization algorithm<br />
in training Forward Neural Network. In: Proceedings of the Eighth ACIS International<br />
Conference on Software Engineering, Artificial Intelligence, Networking,<br />
and Parallel/Distributed Computing. (2007) 2, S. 455-457.<br />
Shen, Q. et al.: Hybridized particle swarm algorithm for adaptive structure training of multilayer<br />
feed-forward neural networks: QSAR studiese of bioactivity of organic<br />
compounds. In Comput. Chem. (2004) 25, S. 1726-1735.<br />
Shi, Y.; Eberhart, R.: A modified particle swarm optimizer. In: Evolutionary Computation.<br />
(1998), S. 69-73.<br />
Socha, K.: ACO for Continuous and Mixed-Variable Optimization. In: ANTS 2004. Hrsg.:<br />
M. Dorigo et al.. Berlin, Heidelberg 2004, S. 25-36.<br />
Tereshko, V.; Loengarov, A.: Collective Decision-Making in Honey Bee Foraging Dynamics.<br />
In: Comput. Inf. Sys. J. (2005) 9, S. 1-7.
- 40 -<br />
Veeramachaneni, K. et al.: Optimization Using Particle Swarms with Near Neighbor Interactions.<br />
In: Proceedings of the Genetic and Evolutionary Computation Conference.<br />
(2003), S. 110-121.<br />
Yan-Peng, L.; Ming-Guang, W.; Ji-Xin, Q.: Evolving Neural Networks Using the Hybrid<br />
of Ant Colony Optimization and BP Algorithms. In: Lecture notes in computer<br />
science. Hrsg.: J. Wang et al.Berlin Heidelberg 2006, S. 714-722.
Anhang<br />
A Recherchierte Artikel<br />
Particle Swarm Optimization<br />
Titel Referenz<br />
A Comparison of PSO and Backpropagation for Training RBF Mohagheghi et al. (2005)<br />
Neural Networks for Identification of a Power System with<br />
STATCOM<br />
An Analysis Of PSO Hybrid Algorithms For Feed-Forward Neural Marcio Carvalho, Teresa B. Ludermir<br />
Networks Training<br />
(2006)<br />
An Evolutionary Race: A Comparison of Genetic Algorithms and Brian Clow, Tony White (2004)<br />
Particle Swarm Optimization Used for Training Neural Networks<br />
Augmentation of Elman Recurrent Network Learning with Particle Aziz, Hamed, Shamsuddin (2008)<br />
Swarm Optimization<br />
Combined Training of Recurrent Neural Networks with Particle Xiao, Venayagamoorthy, Corzine<br />
Swarm Optimization and Backpropagation Algorithms for Imped- (2007)<br />
ance Identification<br />
Comparison of Genetic Algorithm and Particle Swarm Optimizer Settles, Rodebaugh, Soule (2003)<br />
When Evolving a Recurrent Nerual Network<br />
Comparison of Quantum-Inspired Evolutionary Algorithm and Singhal, Venayagamoorthy (2004)<br />
Particle Swarm Optimization for Neural Network Training<br />
Comparison of Quantum-Inspired Evolutionary Algorithms and Venayagamoorthy, Singhal (2005)<br />
Binary Particle Swarm Optimization for Training MLP and SRN<br />
Neural Networks<br />
Extracting rules from fuzzy neural networks by particle swarm Zhenya et al. (1998)<br />
optimisation<br />
Modeling of Gene Regulatory Networks with Hybrid Differential Xu, Venayagamoorthy, Wunsch<br />
Evolution and Particle Swarm Optimization<br />
(2007)<br />
Optimized Particle Swarm Optimization (OPSO) and its<br />
Meisner, Schmuker, Schneider (2006)<br />
application to artificial neural network training<br />
Particle Swarm Optimization and Neural Network Application for Wang et al. (2004)<br />
QSAR<br />
Particle Swarm Optimization of Feed-Forward Neural Networks Marcio Carvalho, Teresa B. Ludermir<br />
with Weight Decay<br />
(2006)<br />
Particle swarms for feedforward neural network training Mendes et al. (2002)<br />
Recurrent Neural Network Based Predictions of Elephant Migra- Palangpour, Venayagamoorthy, Duffy<br />
tion in a South African Game Rerserve<br />
(2006)<br />
The application of particle swarm optimization algorithm in train- Shao-zhong, Li-biao, Shu-hua (2007)<br />
ing Forward Neural Network<br />
The Development of Neural Network Models by Revised Particle Wu1, Shieh, Kao (2006)<br />
Swarm Optimization<br />
Time Series Prediction with Recurrent Neural Networks Trained Cai et al. (2007)<br />
by a Hybrid PSO-EA Algorithm<br />
Time Series Prediction with Recurrent Neural Networks Using a Cai et al. (2004):<br />
Hybrid PSO-EA Algorithm<br />
Training feedforward neural networks using multi-phase particle Al-kazemi, Mohan (2002)<br />
swarm optimization<br />
Training MLP Neural Networks for Identification of a Small Del Valle et al. (2005)<br />
Power System<br />
Training product unit neural networks Engelbrecht, Ismail (1999)<br />
Using the particle swarm optimization technique to train a recur- Salerno (1997)<br />
rent neural model<br />
Tab. 6.1: PSO Artikel<br />
- 41 -
Ant Colony Optimization<br />
Titel Referenz<br />
ACO for Continuous and Mixed-Variable Optimization Socha (2004)<br />
Evolving Neural Networks Using the Hybrid of Ant Colony Opti- Yan-Peng, Ming-Guang, Ji-Xin<br />
mization and BP Algorithms<br />
(2006)<br />
Neural Network Based on Ant Colony Clustering Algorithm Ap- Liu, Sun, Feng (2006)<br />
plied to Predict the Stability of the Roof in Coal Mining<br />
Training feed-forward neural networks with ant colony optimization:<br />
An application to pattern classification<br />
Tab. 6.2: ACO Artikel<br />
Blum, Socha (2005)<br />
Artificial Bee Colony Optimization<br />
Titel Referenz<br />
An idea based on honey bee swarm for numerical optimization Karaboga (2005)<br />
Artificial Bee Colony (ABC) Optimization Algorithm for Training Karaboga, Akay, Ozturk (2007)<br />
Feed-Forward Neural Networks<br />
Using a Hybrid PSO-Bees Algorithm to train Neural Networks for<br />
Wood Defect Classification<br />
Tab. 6.3: ABC Artikel<br />
Pham, Sholedolu (2008)<br />
- 42 -<br />
Die recherchierten Artikel stellen jene speziellen Ausarbeitungen dar, welche ein SI-<br />
Verfahren zur Optimierung künstlicher neuronaler Netze beschreiben. Mit ihrer Hilfe wurden<br />
Kategorien identifiziert. Für jeden entstandenen Kategorietyp wird ein repräsentatives<br />
Beispiel (kursiv hervorgehoben) vorgestellt.
Abschließende Erklärung<br />
- 43 -<br />
Ich versichere hiermit, dass ich meine Bachelorarbeit Optimierung künstlicher neuronaler<br />
Netze mit Swarm Intelligence selbstständig und ohne fremde Hilfe angefertigt habe, und<br />
dass ich alle von anderen Autoren wörtlich übernommenen Stellen wie auch die sich an die<br />
Gedankengänge anderer Autoren eng anlehnenden Ausführungen meiner Arbeit besonders<br />
gekennzeichnet und die Quellen zitiert habe.<br />
<strong>Münster</strong>, den 02.10.2008