14.07.2013 Aufrufe

Diplomarbeit - Westfälische Wilhelms-Universität Münster

Diplomarbeit - Westfälische Wilhelms-Universität Münster

Diplomarbeit - Westfälische Wilhelms-Universität Münster

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!