Modellbasierte Klassifikation von Hunderassen


Term Paper, 2019

30 Pages, Grade: 1,3


Excerpt


Inhaltsverzeichnis

Inhaltsverzeichnis

Abkürzungsverzeichnis

1 Einleitung

2 Neuronale Netze
2.1 Biologische neuronale Netze
2.2 Künstliche neuronale Netze
2.3 Funktionsweise eines KNN

3 Deep Learning
3.1 Supervised Learning
3.2 Reinforcement Learning
3.3 Unsupervised Learning
3.4 Semi-supervised Learning
3.5 Active Learning

4 Werkzeuge für Deep Learning
4.1 TensorFlow
4.2 Caffe-Framework
4.3 Python

5 Docker Installation
5.1 Beispiel Bildklassifizierungsmodell mit Caffe
5.2 Implementierung eines Bildklassifikationsmodells für Hunderassen
5.3 Ergebnisse der Bildklassifizierung

6 Schlussbetrachtung

7 Literaturverzeichnis

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

Jeden Tag entstehen unzählige digitale Fotos. Im Jahr 2013 wurden weltweit schätzungsweise 660 Milliarden Fotos aufgenommen. Vor allem durch die zunehmende Verbreitung von Mobiltelefone, in denen Kameras eingebaut sind, steigt die Anzahl an digitalen Bildern kontinuierlich. 2017 wurden geschätzt rund 1,2 Billionen Fotos geschossen, von denen 85 Prozent durch Handys entstanden sind.1 Smartphones stellen dabei nicht nur einen digitalen Fotoapparat zur Verfügung, sondern verarbeiten gleichzeitig die Bildinformationen mithilfe der Computerfunktionalitäten. Mit der Vernetzung können die Fotos über soziale Netzwerke oder auf Cloud Speicher versendet werden. Auf den Internetplattformen steuern Programme automatisch die An- und Neuordnungen von unzähligen Bildern durch unterschiedlichste Algorithmen.2 Solche bildverarbeitende Systeme können aus einer Menge von Bildern selbstständig zusammenhängende Fotos einer bestimmten Urlaubsreise als Album zu gruppieren oder Gesichter von Personen darauf zu erkennen.3

Wie solche Programme grundsätzlich funktionieren und auf welche Technologien diese basieren, soll mit dieser Seminararbeit dargestellt werden. Exemplarisch soll hierzu eine Anwendung entstehen, die in der Lage ist, eine Sammlung von Hundebildern selbstständig in deren jeweiligen Hunderassen zu kategorisieren.

Zunächst wird anhand diverser Literatur das Themengebiet Neuronale Netze mit einem kurzen geschichtlichen Hintergrund deren Idee sowie deren Funktionsweisen erörtert. Daraufhin folgt die Definition und Unterscheidung von Vorgehensweisen im Themengebiet des Machine Learning. Aufbauend wird in Kapitel 4 der Begriff Deep Learning dargelegt sowie existierende Werkzeuge vorgestellt, mit denen künstlich Neuronale Netze erstellt und trainiert werden können. In Kapitel 5 wird schrittweise die Vorgehensweise dokumentiert, mit der das Programm erstellt wurde und welche Ergebnisse dabei erzielt wurden.

2 Neuronale Netze

2.1 Biologische Neuronale Netze

Ein Neuronales Netz ist ein Verbund von Nervenzellen wie es in einem Gehirn von Menschen und Tieren existiert. Dieses Netzwerk von winzigen und komplex verknüpften Nervenzellen befähigt Menschen unter anderem zu Wahrnehmungen, Assoziationen, Gedanken, Bewusstsein sowie zum Lernen.4 Ermöglicht wird dies durch rund 100 Milliarden Nervenzellen, die es in einem menschlichen Gehirn gibt. Sie übertragen und verarbeiten sowohl chemische als auch elektrische Signale. Bezeichnet werden diese als Neuronen. Sie bestehen aus einem Zellkern, Dendriten, einem Axon sowie Synapsen. Innerhalb der Nervenzellen findet eine bestimmte Abfolge von Handlugen statt. An den Dendriten werden Signale von benachbarten Neuronen empfangen und an den Zellkern weitergeleitet. Der Zellkörper stellt eine Art Speicher dar, der sich durch die eingehenden Impulse elektrisch auflädt. Dabei baut sich eine Spannung im Zellkern auf, die beim Erreichen eines gewissen Schwellwertes in Form eines elektrischen Impulses an das Axon, das wie ein Datenkabel fungiert, geleitet wird. Der Spannungsimpuls teilt sich wiederum an den Synapsen auf, welche am Axon hängen. Deren Enden sind mit den Dendriten benachbarter Nervenzellen verknüpft, die die Impulse wiederum entgegennehmen. Fortfolgend wiederholt sich der Prozess in ähnlicher Weise. Stark vereinfacht stellt ein Neuron eine Funktion dar, in der Signale empfangen, gespeichert und ausgegeben werden. Die Speicherung von Informationen, die in Folge eines Lernprozesses entstehen, wird durch Modifikation der Enden an den Synapsen im Gehirn erreicht. Ähnlich wie bei einem Muskel werden die Stränge je nach Beanspruchung dicker und gewinnen damit an Gewicht. Mit diesem neuronalen Netzwerk ist ein Mensch in der Lage, ihm bekannte Personen auf Bildern innerhalb von 0,1 Sekunden wieder zu erkennen und sich zu erinnern.5 Der Informatik dient diese organische Struktur als Vorbild, um komplexe Informationen zu verarbeiten. Die technische Simulation dieser Vorgänge wird vor allem dazu verwendet, kognitive Fähigkeiten eines Menschen, zu denen das selbstständige Erkennen, Wahrnehmen und Wissen gehören, rechnerisch nachzubilden. 6

2.2 Künstliche Neuronale Netze

Computer sind problemlos in der Lage, digitale Bilder zu drehen, spiegeln, verzerren oder eine Farbtonänderung vorzunehmen. Was oder wer auf einem Bild zu sehen ist und dabei zu identifizieren, stellt jedoch eine Herausforderung dar. Hierzu wurde in den vergangenen Jahren intensiv im Kontext der Künstlichen Intelligenz (KI) intensiv geforscht.7 KI ist ein interdisziplinäres Gebiet, das sich unter anderem aus den Bereichen der Mathematik, Informatik, Logik und Neurowissenschaften zusammensetzt.8 Eines der Themenbereiche, mit der sich die KI-Forschung beschäftigt, ist die rechnerische Nachahmung des menschlichen Vorgehens beim Lösen von komplexen Aufgaben.9 Ein Durchbruch dieser Bemühungen wurde durch die Schaffung von künstlichen neuronalen Netzen (KNN) erreicht.10 KNN stellen eine Methode innerhalb der KI dar.11 Im Gegensatz zu den ursprünglichen KI-Ansätzen basieren KNN nicht auf Prinzipien von rein mathematischen Algorithmen.12 Es werden zwar Algorithmen angewandt, deren Ergebnisse jedoch lediglich eine Folge von Zahlen darstellen, die für den menschlichen Programmierer zunächst nicht mehr logisch interpretierbar sind. In herkömmlichen prozeduralen Programmen sind die Lösungen einfacher nachzuvollziehen.13 KNN zielen auf eine Abbildung biologischen neuronalen Netze ab, vorzugsweise denen des menschlichen Gehirns. Die Konzepte zur Imitierung basieren aber lediglich auf einer Abstraktion der organischen Vorbilder, primär auf die Verschaltungsstärke bzw. der Informationsgewichtung sowie deren Schwellenwerte. Ähnlich der eines Zellkerns, bei dem ab einem bestimmten Spannungswert ein Impuls entsteht, der über das Axon an die Synapsen geleitet wird und deren Beanspruchung die Stärke verändert, aus der sich wiederum die Gewichtung der Information ergibt.14 Lerneffekte werden in einem KNN dadurch erzielt, in dem die synaptische Gewichtung erhöht wird, je häufiger diese genutzt wird, beispielsweise im Training zur Mustererkennung. Die Einsatzfelder einer KNN sind vielfältig. Unter anderem zur Umwandlung von Text in Sprache, dem Erkennen handschriftlicher Notizen oder bei Analysen von Börsenentwicklungen. 15

2.3 Funktionsweise eines KNN

Die Funktionsweise eines KNN ist im Wesentlichen in drei Phasen gegliedert. Bei einem Netzwerk, das Bilddaten klassifizieren soll, finden jeweils folgende Schritte statt. In der ersten Schicht befinden sich Eingabe-Neuronen, deren Aufgabe darin besteht, Eingabewerte, in diesem Fall in Form von Bilddaten, zu empfangen. Jeder einzelne Bildpixel entspricht einem Eingabeneuron, der dessen Werte annimmt. Diese Informationen werden anschließend an Neuronen, die sich in der zweiten Schicht befinden, weitergereicht. Bezeichnet wird diese als verdeckte Schicht (engl.: Hidden Layer). In dieser befindet sich ein Netzwerk an weiteren Neuronen, deren Anzahl frei wählbar ist. Jedes Neuron stellt einen Verarbeitungsschritt dar. Ergebnisse aus dem Schritt werden an ein darauffolgendes verknüpftes Neuron übermittelt. Dieses wiederum kann Daten von mehreren vorgeschalteten Neuronen empfangen. Anhand einer Gewichtung der Verknüpfung als auch einem Schwellwert werden neue Daten errechnet und weitergegeben. Der Vorgang wiederholt sich, bis die letzte Schicht, bestehend aus Ausgabeneuronen, erreicht wird. Diese stellen jeweils das Ergebnis in Form eines Wahrscheinlichkeitswertes dar. Aus dem kann die Klassifikationseinordnung abgeleitet werden. Etwa ob es sich bei dem Bild um eine Abbildung eines Hundes handelt oder kein Hund erkannt wurde.16 Um das leisten zu können, muss das KNN zunächst angelernt bzw. trainiert werden. Hierzu gibt es verschiedene Trainingsmethoden, um die Gewichtungen zwischen den Neuronen als auch Schwellwerte zur Aktivierung zu bestimmen. Grundlage der Trainingsabläufe stellt die Hebb'sche Lernregel dar, die je nach Anwendungsfall und Art der Problemlösung in unterschiedlicher Form angewendet wird. Unterschieden wird zwischen fehlerbasierten und ausgabebasierten Lernalgorithmen. Der fehlerbasierte Lernprozess wird auch als überwachtes Lernen bezeichnet. Mit diesem Verfahren werden die Gewichts- bzw. die Bias-Werte während dem Vorgang solange angepasst, bis die minimalste Fehlerquote erreicht wurde. Dies ist dann möglich, wenn das zu erwartende Ergebnis bekannt ist und durch Trainingsdatensätze verifiziert werden kann. Dem gegenüber stehen die ausgabebasierten Algorithmen, auch unüberwachte Lernmethoden genannt. Diese ermitteln die Gewichte anhand der initialen Trainingsdaten.17

3 Deep Learning

Maschinelles Lernen (ML) ist, wie auch das Thema KNN, ein Teilgebiet der Forschung zur KI. ML beschreibt selbstlernende Computeralgorithmen, welche selbstständig und ohne explizite Programmierung in digitalen Daten Muster und Zusammenhänge erkennen.18 Durch den Einsatz von KNN wird der Aufwand zur Datenaufbereitung, dem sogenannten Feature Engineering, der zur Anwendung von ML-Methoden notwendig ist, erheblich reduziert.19 Dabei wird ein mehrschichtiges KNN erzeugt, welches schrittweise Informationen aus Eingabedaten extrahiert und zur Berechnung von Vorhersagen nutzt. Ein solches Verfahren wird als Deep Learning (DL) bezeichnet. Genutzt wird DL vor allem im Bereich der Bild- und Spracherkennung. Es existieren unterschiedliche Methoden die im ML als auch im DL zum Einsatz kommen. Die eingesetzten Algorithmen lassen sich anhand der jeweiligen Funktionsweise in fünf Kategorien überwachte (engl.: supervised learning), bestärkende (engl.: reinforcement learning), unüberwachte (engl.: unsupervised learning), teilüberwachte Lernverfahren (engl.: semi-supervised Learning) sowie aktives Lernen (engl.: Active Learning) einordnen. 20

3.1 Supervised Learning

Im Supervised Machine Learning, also dem überwachten Lernen, erfolgt das Lernen durch ein vorheriges Training. Dabei werden dem Computer eine ausreichend große Menge an Beispieldaten zur Verfügung gestellt, deren Interpretation bereits bekannt ist. Es handelt sich dabei um sogenannte gelabelte bzw. gekennzeichnete Datensätze. Das sind beispielsweise Bilder, auf denen Tiere abgebildet sind. Jedes Bild ist mit der Information, um welches Tier es sich handelt also Hund, Katze, Affe etc., gekennzeichnet. Aufgabe des Programms ist es, generelle Regeln aus den Trainingsdaten abzuleiten, aus denen das gewünschte Ergebnis, welches einer Sammlung von Zielwerten entspricht, abgeleitet werden kann. Nicht bekannte Daten sollen anschließend mit dem aus dem Training gewonnenen Wissen eigenständig vorhergesagt oder korrekt kategorisiert werden. Dazu gibt es im Wesentlichen zwei unterschiedliche Verfahren, die zur Anwendung kommen, das der Regression und das der Klassifikation. Durch das mathematische Verfahren der Regression sind Vorhersagen von metrischen Werten möglich, beispielsweise die Einkommensentwicklung einer Person. Anhand der Klassifikation wird der

Algorithmus dahingehend trainiert, unterschiedliche Werte in Klassen zu unterteilen. Beispielsweise um eine Person in die Klassen kreditwürdig und nicht kreditwürdig einzuordnen.21 Bei Klassifizierungen werden sogenannte Feedforward Neuroal Networks (FFNN) verwendet. Diese verarbeiten die Daten jeweils nur in eine Richtung von der Eingabeschicht über die verdeckte Schicht an die Ausgabeschicht.22 Es existieren aber auch sogenannte Recurrent Neural Networks (RNN), in denen die Verarbeitung durch Rückkopplungen an vorhergehende Knoten und somit entgegen dem Datenfluss geleitet wird.23

3.2 Reinforcement Learning

Problemstellungen, bei denen das gewünschte Ergebnis nicht klar erkennbar ist, sondern lediglich in wünschenswert oder nicht wünschenswert unterteilen lässt, ist keine Vorabmarkierung von Datensätzen möglich. Somit ist es auch nicht möglich, ein Modell auf eine bestimmte Ausgabe zu trainieren. In einem solchen Fall wird Reinforcement Machine Learning, das bestärkende Lernen angewendet. Der Lernprozess erfolgt durch die Interpretation kontinuierlicher Rückmeldungen, die als Belohnung oder Bestrafung interpretiert werden. Ziel ist es eine optimale Strategie zu entwickeln, wodurch die Höhe der Belohnung maximiert wird. Im Laufe der Zeit erlernt das System, welche Aktionen zum besten Ergebnis führen. Diese Optimierungsaufgabe wird auf Basis der Werte sowie Techniken aus dem überwachten Lernen durchgeführt.24

3.3 Unsupervised Learning

Während bei den zuvor beschriebenen maschinellen Lernverfahren dem System beigebracht werden kann, was mit den zur Verfügung stehenden Daten gemacht werden soll, wird Unsupervised Learning, das unüberwachte Lernen, auf Daten angewendet, in denen der Mensch zunächst keine Zusammenhänge bewusst entnehmen kann. Daher ist es auch nicht möglich, die Datensätze zu beschriften oder die Ergebnisse zu bewerten.25 Ziel ist es, Strukturen und Muster in den Daten zu identifizieren sowie anhand der strukturellen Übereinstimmung von Eigenschaften bzw. Merkmalen darin vorkommende Datensätze automatisch zu gruppieren. Aus diesem Vorgang, der im Allgemeinen als Clustern bezeichnet wird, werden unterschiedliche Aspekte und Gruppierungen erkennbar.26 Wird das Verfahren beispielsweise auf eine Menge von Tierbildern angewendet, ergibt sich nicht zwingend eine Kategorisierung der Bilder nach der Tierart, jedoch wären Cluster von schwarzen, braunen oder weißen Tieren ein vorstellbares Resultat. Der Prozess wird auch oft dazu verwendet, um irrelevante Informationen zu eliminieren und damit die Datenbasis zu komprimieren.27 In der Praxis werden mit dem unüberwachten Modell in der Regel Vorauswahlen von Daten generiert und anschließend durch überwachte bzw. bestärkende Lehrmethoden genutzt, da deren Erkennungsraten deutlich besser sind.28 Ein KNN für unsupervised Learning stellt beispielsweise der Deep Autoencoder dar. Dieser reduziert zunächst nach und nach die Dimensionen der Eingabedaten mithilfe eines Encoders. In einem weiteren Schritt lernt der Autoencoder aus den reduzierten Informationen auf die Ursprungsdimension zurückzuschießen.29

3.4 Semi-supervised Learning

Das teilüberwachte Lernen ist eine Mischform aus überwachtem und unüberwachtem Lernen. KNN dieser Form werden als Ladder-Netzwerke bezeichnet. Zur Anwendung kommen diese, wenn nur wenige gekennzeichnete Trainingsdaten vorhanden sind.30

3.5 Active Learning

Beim aktiven Lernen handelt es sich um eine Sonderform des teilüberwachten Lernens. Um weitere Daten für das Training zu erhalten, wird bei dieser Vorgehensweise zusätzlich eine Interaktion mit weiteren Datenquellen, anderen Systemen oder einem Nutzer ermöglicht.31

[...]


1 Vgl. Kroker, M., 1,2 Billionen digitale Fotos werden allein 2017 geschossen – davon 85 Prozent per Smartphone | Kroker's Look @ IT, 2017

2 Vgl. Gerling, W./Holschbach, S./Löffler, P., Bilder verteilen, 2018, S. 8 f.

3 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 2

4 Vgl. Ertel, W., Grundkurs Künstliche Intelligenz, 2016, S. 264

5 Vgl. Dörn, S., Programmieren für Ingenieure und Naturwissenschaftler, 2018, S. 90 f.

6 Vgl. Mainzer, K., Künstliche Intelligenz - Wann übernehmen die Maschinen?, 2016, S. 99

7 Vgl. Wolff, D./Göbel, R., Digitalisierung, 2018, S. 241

8 Vgl. Dörn, S., Programmieren für Ingenieure und Naturwissenschaftler, 2018, S. 14

9 Vgl. Karrenberg, U., Signale - Prozesse - Systeme, 2017, S. 441

10 Vgl. Wolff, D./Göbel, R., Digitalisierung, 2018, S. 242

11 Vgl. Dörn, S., Programmieren für Ingenieure und Naturwissenschaftler, 2018, S. 18

12 Vgl. Osterhage, W. W., IT-Kompendium, 2017, S. 10

13 Vgl. Wolff, D./Göbel, R., Digitalisierung, 2018, S. 243

14 Vgl. Dörn, S., Programmieren für Ingenieure und Naturwissenschaftler, 2018, S. 31

15 Vgl. Osterhage, W. W., IT-Kompendium, 2017, S. 11 f.

16 Vgl. Dörn, S., Programmieren für Ingenieure und Naturwissenschaftler, 2018, S. 93 f.

17 Vgl. Styczynski, Z. A./Rudion, K./Naumann, A., Einführung in Expertensysteme, 2017, S. 148–150

18 Vgl. Welsch, A./Eitle, V./Buxmann, P., Maschinelles Lernen, 2018, S. 370 f.

19 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 2

20 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 22f

21 Vgl. Wittpahl, V., Künstliche Intelligenz, 2019, S. 25 f.

22 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 23

23 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 29

24 Vgl. Frochte, J., Maschinelles Lernen, 2018, S. 23 f.

25 Vgl. Gentsch, P., Künstliche Intelligenz für Sales, Marketing und Service, 2018, S. 38

26 Vgl. Hooffacker, G./Kenntemich, W./Kulisch, U., Die neue Öffentlichkeit, 2018, S. 48

27 Vgl. Buxmann, P./Schmidt, H., Künstliche Intelligenz, 2019, S. 10

28 Vgl. Engemann, C./Sudmann, A., Machine Learning - Medien, Infrastrukturen und Technologien der Künstlichen Intelligenz, 2018, S. 253

29 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 31

30 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 33

31 Vgl. Wartala, R., Praxiseinstieg Deep Learning, 2018, S. 34

Excerpt out of 30 pages

Details

Title
Modellbasierte Klassifikation von Hunderassen
College
University of Applied Sciences Stuttgart
Grade
1,3
Author
Year
2019
Pages
30
Catalog Number
V468593
ISBN (eBook)
9783668944015
ISBN (Book)
9783668944022
Language
German
Keywords
KI, python
Quote paper
Luis Marques (Author), 2019, Modellbasierte Klassifikation von Hunderassen, Munich, GRIN Verlag, https://www.grin.com/document/468593

Comments

  • No comments yet.
Look inside the ebook
Title: Modellbasierte Klassifikation von Hunderassen



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free