Interview mit Andreas Eberle und Alexander Frank

Mobile neuronale Netze: „Es bieten sich große Potentiale zur Effizienzsteigerung“

Katharina Degenmann

© Shutterstock / Dmytro Vikarchuk

Neuronale Netze zählen zu den Trend-Themen der Entwicklerwelt und sind auch im Mobile-Bereich zur festen Größe geworden. Doch wie lassen sich neuronale Netze eigentlich auf dem Smartphone ausführen? Mit Alexander Frank und Andreas Eberle, Software-Entwickler bei Arconsis und Sprecher auf der MobileTech Conference, sprachen wir über den Einsatz von neuronalen Netzen auf dem Smartphone.

JAXenter: Warum lohnt sich der Einsatz von neuronalen Netzen in der Mobile-Entwicklung? Welche Vorteile hat das?

Andreas Eberle und Alexander Frank: Neuronale Netze sind ein weiteres Tool für Entwickler, um bessere Anwendungen für die Endnutzer bereitstellen zu können. So können unter anderem neue, intuitivere Wege zur Interaktion mit den Geräten ermöglicht werden. Zum Beispiel können händische Text-/Eingaben mit Sprachsteuerung oder Bildeingabe vermieden werden und nicht nur der Nutzerkomfort, sondern auch die Effizienz gesteigert werden. Dies ist insbesondere im Unternehmensumfeld wichtig, wo mobile Geräte und die dafür entwickelte Software den Arbeitsprozess erleichtern und beschleunigen sollen.

JAXenter: Gibt es verschiedene Arten von neuronalen Netzen, die dafür zum Einsatz kommen?

Andreas Eberle und Alexander Frank: Es gibt eine große Anzahl an unterschiedlichen Grundbausteinen für Neuronale Netzwerke, die für unterschiedliche Aufgaben eingesetzt werden können. Zum Beispiel sind Convolutional Neural Networks (CNN) sehr gut geeignet, Bilder zu verarbeiten. Recurrent Neural Networks (RNN) wiederum eigenen sich gut, um Sprache zu analysieren. Kombiniert man beide, kann man ein System bauen, um Texte in Bildern zu analysieren.

JAXenter: Welche Tools habt Ihr für die Erstellung von neuronalen Netzen verwendet?

Andreas Eberle und Alexander Frank: Hauptsächlich verwenden wir für das Erstellen und das Training von Neuronalen Netzen TensorFlow mit Python. Zum Debuggen und Visualisieren des Trainings setzen wir TensorBoard ein. Für kleinere Experimente kommen auch häufiger Jupyter Notebooks zum Einsatz. Darüber hinaus haben wir viele eigene Tools zur Aufbereitung der Trainingsdaten geschrieben.

JAXenter: Welche Best Practices haben sich beim Produktionseinsatz von neuronalen Netzen auf dem Smartphone herauskristallisiert?

Andreas Eberle und Alexander Frank: Als Erstes sollte man sich darauf fokussieren, einen funktionierenden, wenn auch nicht perfekten, Durchstich zu erarbeiten. Hierzu kann man zunächst ein sehr einfaches oder vorgefertigtes Neuronales Netz einsetzen. Dieses kann dann später weiter optimiert werden.

Neuronale Netze sind ein weiteres Tool für Entwickler, um bessere Anwendungen für die Endnutzer bereitstellen zu können.

Um jedoch das Gesamtsystem wirklich optimieren zu können, benötigt man Metriken zu dessen Evaluation. Meist werden zusätzlich Vorverarbeitungsschritte benötigt, welche auch im Training berücksichtigt werden müssen. Es reicht deshalb nicht nur, das Neuronale Netz zu evaluieren.

Hat man eine gute Erkennungsrate erreicht, besteht oftmals noch die Herausforderung, dass Mobilegeräte eine recht geringe Leistungsfähigkeit besitzen und man die Batterie des Nutzers schonen möchte. Hierzu kann man entweder die Netzarchitektur anpassen oder verschiedenste Optimierungsverfahren (z.B. Quantisierung) auf das Netzwerk anwenden. Es kann auch hilfreich sein, relevante Bereiche zunächst mit klassischen Computer-Vision-Verfahren zu identifizieren und nur diese mit dem Neuronalen Netz auszuwerten.

JAXenter: Es gibt verschiedene Möglichkeiten, neuronale Netze zu täuschen. Welche Bedeutung haben Angriffe für Smartphone-Anwendungen und wie wird sich dieser Aspekt entwickeln?

Andreas Eberle und Alexander Frank: In unseren bisherigen Anwendungsbereichen spielten aktive Angriffe keine Rolle. Im Allgemeinen sind Neuronale Netze sehr stabil gegenüber leichten Änderungen in den Eingabedaten. Jedoch ist es ein generelles Problem, dass sie teils auf kleinste Änderungen stark abweichend reagieren. Es gibt verschiedene Möglichkeiten, die Netze im Training gegen dieses Problem zu stärken (z.B. mittels Datenaugmentierung). Hierzu kann es helfen, gezielt diesen Fall zu prüfen, indem man in Tests Ergebnisse leicht unterschiedlicher Eingaben vergleicht.

In unseren bisherigen Anwendungs- bereichen spielten aktive Angriffe keine Rolle.

JAXenter: Wie seht Ihr die Zukunft von neuronalen Netzten im Bereich der Mobile-Entwicklung?

Andreas Eberle und Alexander Frank: In Zukunft werden die Anwendungen, die Neuronale Netze einsetzen, sicherlich zunehmen. Viele Convenience-Funktionen, wie Vorschläge oder Informationsextraktion aus Bildern, lassen sich damit sehr gut realisieren und bringen den Nutzern echte Vorteile. Besonders im Unternehmensumfeld sind hier große Potentiale zur Effizienzsteigerung, wenn Nutzer z.B. weniger eintippen müssen.

Vielen Dank für das Interview!

Alexander Frank arbeitet seit 2012 bei der arconsis IT-Solutions GmbH als Software Engineer. Er ist für die Entwicklung innovativer Applikation, mit bspw. Machine-/Deep-Learning-Unterstützung zuständig. Für die Erstellung und das Training von Modellen arbeitet er gerne mit Tensorflow. In der Frontend-Entwicklung zählt er zu den Androiden und gibt dafür auch regelmäßig Trainings am KIT. Des Weiteren bewegt er sich auch gerne im Backend mit Technologien wie JavaEE oder Go in der Entwicklung, aber auch Docker und Kubernetes im Betrieb.

 

Andreas Eberle arbeitet seit 2016 bei der arconsis. Er arbeitet hauptsächlich in der Entwicklung von Algorithmen und an Lösungen im Bereich des Machine Learning. Auch in seiner Masterarbeit widmete er sich dem Gebiet der Bildverarbeitung mit Neuronalen Netzen.
Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina Degenmann hat Politikwissenschaft und Philosophie studiert. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH und ist nebenbei als freie Journalistin tätig.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: