Bibliographic Metadata

Title
Image Recognition: Convolutional Neural Networks am Smartphone
Additional Titles
Image Recognition: Convolutional Neural Networks on Smartphones
AuthorAnderka, Karin
Thesis advisorSchefer-Wenzl, Sigrid
Published2018
Date of SubmissionMarch 2018
LanguageGerman
Document typeBachelor Thesis
Keywords (DE)Convolutional Neural Network / Deep Learning / Image Recognition / Inferenz / Mobile Geräte / Optimierung / Smartphone
Keywords (EN)Convolutional Neural Network / Deep Learning / Image Recognition / Inference / Mobile Devices / Optimization / Smartphone
Restriction-Information
 _
Classification
Abstract (German)

Convolutional Neural Networks können Aufgabenstellungen der künstlichen Intelligenz, wie die Bilderkennung heute genausogut und teilweise sogar besser lösen als Menschen. Der Einsatz und insbesondere das Training dieser Netze ist jedoch aufgrund der hohen Anzahl komplexer Rechenoperationen, sowie des benötigten Arbeitsspeichers nur auf hochperformanten Rechnerverbunden möglich. Um die Möglichkeiten von Convolutional Neural Networks auch Nutzern der heute allgegenwärtigen Smartphones zu ermöglichen, bietet sich bisher die Abfrage über eine Internetverbindung an. Aus Gründen der Privacy, Übertragungslatenz, Unabhängigkeit von einer Internetverbindung sowie der Energieeffizienz ist es jedoch wünschenswert Convolutional Neural Networks auch lokal und offline ausführen zu können.

Die vorliegende Arbeit beschäftigt sich daher mit den Möglichkeiten einer lokalen Umsetzung von Convolutional Neural Networks zur Bilderkennung am Smartphone. Nach einem Überblick über den Aufbau und die grundsätzliche Funktionsweise Künstlicher Neuronaler Netze, wird mittels einer Literaturrecherche dargestellt, welche Möglichkeiten es bereits gibt, um Convolutional Neural Networks am Smartphone lokal umzusetzen. Dabei werden auch die zu berücksichtigenden Limitierungen verdeutlicht, welche sich aus dem begrenzten Platzangebots auf mobilen Geräten ergeben und hauptsächlich Arbeitsspeicher und Energieverbrauch betreffen.

Es werden verschiedenen Ansätze in wissenschaftlichen Arbeiten betrachtet, die den Einsatz von Deep Learning am Smartphone ermöglichen sollen und dabei die Anforderungen für eine erfolgreiche Umsetzung dargestellt. Dabei zeigt sich, dass derzeit nur Arbeiten zum Inferenzieren am Smartphone existieren. Dabei werden häufig Komprimierungsalgorithmen wie etwa Weight Pruning oder Faktorisierung der Gewichtsmatrizen, angewendet, mit denen die Modellgröße und die Anzahl der Rechenoperationen beziehungsweise die Aufwendigkeit der Rechenoperationen reduziert wird. Damit einher geht eine geringere Laufzeit und Verringerung des Energieaufwandes, sowie eine effizientere Nutzung des vorhandenen Speicherplatzes. Im Hardwarebereich verfolgt sowohl die Optimierung vorhandener Architekturen wie mobiler GPUs, sowie die Entwicklung spezieller Prozessoren für Deep Learning Anwendungen, beispielsweise Neuromorphic Processing Units, das Ziel, Bilderkennung mit Deep Convolutional Neural Networks auch lokal am Smartphone zu ermöglichen. Zum lokalen Training von CNNs am Smartphone konnten keine Arbeiten gefunden werden, da Größe und Komplexität von CNN-Anwendungen die Kapazitäten am Smartphone zum heutigen Stand der Technik bei weitem übertrifft.

Abstract (English)

Convolutional Neural Networks nowadays solve problems of artificial intelligence, such image recognition, with the same or better results than humans. However, deployment and especially training of these networks requires high performance computing clusters, due to the high number of complex arithmetic operations and its required memory. To provide users of today’s ubiquitous smartphones with the possibilities of Convolutional Neural Networks‘ applications, cloud-based inference is used. Yet, for reasons of privacy, transmission latency, independence from an Internet connection and energy efficiency, it would be desirable to run Convolutional Neural Networks locally and offline on smartphones.

Therefore, the present work deals with the possibilities of a local implementation of Convolutional Neural Networks for image recognition on smartphones. After an overview of artificial neural networks, a literature review is conducted to learn the possibilities already available to locally implement Convolutional Neural Networks on smartphones. It also states the limitations, which result from the limited space available on mobile devices which mainly concern memory and energy consumption. Different approaches in scientific papers are considered, which include software as well as hardware solutions, and clarify the requirements for a successful implementation. The literature review finds that currently only publications for inference on smartphones exists. Compression algorithms, such as weight pruning or factorization of the weight matrices, are used to reduce model size and the number of arithmetic operations or the complexity of the arithmetic operations. This also reduces runtime and energy consumption, and leads to a more efficient use of available memory. To enable image recognition with CNNs locally on mobile hardware, existing processor architectures, such as mobile GPUs, are optimized and specialized processors for deep learning applications, like Neuromorphic Processing Units or Tensor Processing Units, are developed. As the size and complexity of sophisticated CNN applications far outweigh the capacity of smartphones at the current state of the art, no papers could be found on the training of CNNs locally on smartphones.