Slide 1

Slide 1 text

JÖRG NEUMANN | ACANDO @JOERGNEUMANN APPS INTELLIGENTER MACHEN MACHINE LEARNING FÜR ENTWICKLER

Slide 2

Slide 2 text

JÖRG NEUMANN THEMEN ▪ Mobile, UX, Machine Learning ▪ Consulting, Coaching, Training KONTAKT ▪ Mail: [email protected] ▪ Twitter: @joergneumann ▪ GitHub: https://github.com/joergneumann ▪ Blog: http://www.headwriteline.blogspot.com

Slide 3

Slide 3 text

“AI is going to disrupt every single business app—whether an industry vertical like banking, retail and health care, or a horizontal business process like sales, marketing and customer support.“ —Harry Shum, Microsoft Executive VP, AI and Research

Slide 4

Slide 4 text

Neuronale Netzwerke sind die „Software 2.0“ —Andrej Karpathy, Director of Artificial Intelligence, Tesla

Slide 5

Slide 5 text

ImageNet DATASET ▪ Enthält ca. 14 Mio. Bilder ▪ http://www.image-net.org CHALLENGES ▪ ImageNet Large Scale Visual Recognition Challenge (ILSVRC) ▪ Jährlicher Wettbewerb ▪ Object Classification ▪ Object Localization ▪ Object Detection

Slide 6

Slide 6 text

ImageNet LSVRC 28,2% 25,7% 15,3% 14,8% 6,67% 3,57% 3% 2,3% ImageNet Classification top-5 error (%) NEC Xerox AlexNet ZFNet GoogleNet ResNet TSNet SENet 5-10% Human Performance 8 Layers 8 Layers 22 Layers 152 Layers Ensamble Ensamble

Slide 7

Slide 7 text

SPEECH RECOGNITION DATASET ▪ Switchboard Dataset ▪ Sammlung von Telefongesprächen ▪ 2016 wurde erstmals eine Fehlerrate von ~6% bei der Worterkennung erreicht ~6% Human Performance

Slide 8

Slide 8 text

NATURAL LANGUAGE PROCESSING (NLP) DATASET ▪ Stanford Question Answering Dataset (SQuAD) ▪ Fragen über Wikipedia-Artikel beantworten CHALLENGE ▪ Texte lesen und in Anschluss Fragen zu diesen beantworten ▪ 2018 wurde erstmals eine Rate von 82,6% erreicht (der Mensch schafft ~82,3%)

Slide 9

Slide 9 text

WANN MACHINE LEARNING? EINSATZSZENARIEN ▪ Komplexität: Man kann es nicht programmieren (z.B. Bilderkennung, Spracherkennung) ▪ Menge: Man kann es nicht skalieren (z.B. Spam & Betrugserkennung, Medizin) ▪ Personalisierung: Personenbezogene Lösungen entwickeln (z.B. Amazon, Netflix) ▪ Selbstlernend: Computer soll selbstständig Entscheidungen treffen (z.B. autonom fahrende Autos)

Slide 10

Slide 10 text

Entwickler ▪ Grundlegendes Verständnis von ML ▪ Verwendung von Tools & Libraries ▪ Nutzung von vorgefertigten Modellen ▪ Entwicklung mit Java, C# oder JavaScript Data Scientist ▪ Tiefes Verständnis von ML ▪ Aufbau neuronaler Netze ▪ Entwicklung und Optimierung von Modellen ▪ Entwicklung mit Python oder R

Slide 11

Slide 11 text

findet Muster erkennt Muster stellt Daten bereit, prüft auf Muster WAS IST MACHINE LEARNING? DEFINITION ▪ Muster in Daten erkennen ▪ Vorhersagen treffen App Model Daten Algorithmus enthalten Muster

Slide 12

Slide 12 text

FRAGESTELLUNGEN BEISPIELE ▪ Ist etwas A oder B? ▪ Ist da etwas ungewöhnlich? ▪ Wie viel oder wie viele ▪ Wie ist das organisiert? ▪ Was soll ich als nächstes tun?

Slide 13

Slide 13 text

ALGORITHMEN IST ETWAS A ODER B? ▪ Classification Algorithmen BEISPIELE ▪ „Geht die Maschine in den nächsten 3 Monaten kaputt?“ ▪ „Hat der Patient Lungenkrebs?“ ▪ „Bekomme ich mehr Kunden durch einen 5€ Gutschein oder ein Rabatt von 20%?“ ▪ Gibt es mehr als zwei Antwortmöglichkeiten? → Multiclass Classification ▪ „In welche Kategorie gehört dieser Artikel?“

Slide 14

Slide 14 text

ALGORITHMEN IST DA ETWAS UNGEWÖHNLICH? ▪ Anomaly Detection Algorithmen BEISPIELE ▪ „Ist diese Kreditkartentransaktion ungewöhnlich?“ ▪ „Ist die Motortemperatur im normalen Bereich?“ ▪ „Ist der Zugriff auf meinen Shop außergewöhnlich hoch?“

Slide 15

Slide 15 text

ALGORITHMEN WIE VIEL ODER WIE VIELE? ▪ Regression Algorithmen BEISPIELE ▪ „Wie wird die Temperatur am Dienstag sein?“ ▪ „Wie hoch ist der durchschnittliche Preise für ein Haus mit 120m2?“ ▪ „Wie hoch wird mein Umsatz im März sein?“

Slide 16

Slide 16 text

ALGORITHMEN WIE IST DAS ORGANISIERT? ▪ Clustering Algorithmen BEISPIELE ▪ „Welche Kundengruppen kaufen meine Produkte?“ ▪ „Welche Zuschauer mögen die gleiche Art von Filmen?“ ▪ „Welche Drucker fallen aus den gleichen Gründen aus?“

Slide 17

Slide 17 text

ALGORITHMEN WAS SOLL ICH ALS NÄCHSTES TUN? ▪ Reinforcement Learning Algorithmen BEISPIELE ▪ Staubsauger-Roboter orientiert sich anhand von Hindernissen ▪ Selbstfahrende Autos entscheiden selbständig wann sie bremsen

Slide 18

Slide 18 text

WIE MÜSSEN DIE DATEN AUSSEHEN? SCHLÜSSELFAKTOREN ▪ Relevanz Habe ich die richtigen Daten um eine Vorhersage treffen zu können? ▪ Vollständigkeit Haben alle Spalten meines Datasets Werte? ▪ Qualität Sind die Werte realistisch und decken Sie die Skala an Möglichkeiten ab? ▪ Menge Habe ich genügend Daten um sichere Vorhersagen treffen zu können?

Slide 19

Slide 19 text

FRAGESTELLUNG VORGEHEN ▪ Stelle eine möglichst konkrete Frage ▪ Beziehe mögliche Einflussfaktoren mit ein BEISPIEL ▪ „Wieviel kostet ein Haus mit 100m2“ ▪ „Wieviel kostet ein Haus mit 100m2 und 5 Zimmern?“ ▪ „Wieviel kostet ein Haus mit 100m2 und 5 Zimmern in Hamburg?“

Slide 20

Slide 20 text

FRAGESTELLUNG FORMULIERUNG ▪ Ist entscheidend für die Auswahl des Algorithmus BEISPIEL ▪ „Welche Bücher sind für den Kunden interessant?“ → Classification ▪ „Wie interessant sind die folgenden Bücher für den Kunden?“ → Regression

Slide 21

Slide 21 text

DATENSTRUKTUR FEATURES ▪ Daten die für die Vorhersage benötigt werden LABELS ▪ Reale Werte aus der Vergangenheit BEISPIEL ▪ Ein Haus mit 100 m2 und 4 Zimmern kostet € 350.000 Sqft Rooms Price 90 3 180.000 100 4 350.000 200 6 450.000 320 10 580.000

Slide 22

Slide 22 text

ALGORITHMEN Neural Networks Decision Trees Bayesian K-means

Slide 23

Slide 23 text

ALLES HÄNGT VON DEN DATEN AB! Lineare Regression Principal Component Analysis Descision Trees Logistic Regression Support Vector Machines Neuronal Networks

Slide 24

Slide 24 text

NEURONALE NETZE DEFINITION ▪ Vom Gehirn inspirierte Lernalgorithmen ▪ Lösen zwei- oder mehrklassige Klassifizierungsprobleme ▪ Inputs werden durch mehrere Layer weitergegeben ▪ In jedem werden Inputs in verschiedenen Kombinationen gewichtet, summiert und an den nächsten Layer übergeben ▪ Der letzte Layer enthält ein oder mehrere Outputs ▪ Diese Kombination aus einfachen Berechnungen resultiert in der Fähigkeit, komplexe Klassengrenzen und Datentrends lernen zu können ▪ Netzwerke mit vielen Schichten führen „Deep Learning“ aus

Slide 25

Slide 25 text

Quelle: MachineLearningMastery.com

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

DER MACHINE LEARNING PROZESS Data Store 1 Data Store 2 Dataset vorläufiges Model finales Model Daten vorbereiten Algorithmus zuweisen Model testen Daten anpassen Algorithmus anpassen

Slide 28

Slide 28 text

TRAINING Labels 75% Trainings- daten 25% Test- daten Feature A Feature B Feature C Algorithmus erzeugt Vorläufiges Model Trainings- daten

Slide 29

Slide 29 text

TESTING Labels 75% Trainings- daten 25% Test- daten Feature A Feature B Feature C Ergebnisse generiert Ergebnisse vergleicht Ergebnisse mit Labels Test- daten vorläufiges Model anwenden

Slide 30

Slide 30 text

ANPASSUNGEN Labels 75% Trainings- daten 25% Test- daten Feature A Feature B Feature C Parameter ändern o. Algorithmus wechseln erzeugt Finales Model Trainings- daten

Slide 31

Slide 31 text

DEMO Models trainieren

Slide 32

Slide 32 text

CONFUSION MATRIX True positives (TP) False positives (FP) False negatives (FN) True negatives (TN) 1 2 0 2 Tatsächlich Vorhersage

Slide 33

Slide 33 text

EVALUIERUNGSMETRIKEN Accurancy Precision Recall / Sensitivity F1 Score TP + TN P + N = 2 + 2 2 + 0 + 1 +2 = 0,8 TP TP + FP = 2 2 + 1 = 0,66 TP TP + FN = 2 2 + 0 = 1 Precision ∙ Recall Precision + Recall = 2 ∙ 0,66 ∙ 1 0,66 + 1 ≈ 0,79 2 ∙

Slide 34

Slide 34 text

RECEIVER OPERATING CHARACTERISTIC (ROC CURVE) besser schlechter Area under the curve (AUC)

Slide 35

Slide 35 text

OVERFITTING UND UNDERFITTING underfitting overfitting Modellkomplexität (Iterationen) Vorhersagefehler Trainingsdaten Testdaten Beispiel: ▪ Score Training: 0,97 ▪ Score Test: 0,75 Gut oder schlecht?

Slide 36

Slide 36 text

FRAMEWORKS & TOOLS

Slide 37

Slide 37 text

AZURE MACHINE LEARNING STUDIO DEFINITION ▪ Web-basierte Umgebung für Entwicklung, Training und Bereitstellung von ML-Modellen ▪ Drag & Drop statt Programmierung ▪ Keine Installation – Bedienung über den Browser FEATURES ▪ Viele Algorithmen ▪ Einfache Bereitstellung von Modellen als Services ▪ Kollaboration mit anderen Entwicklern ▪ Support für R Studio, Python, Jupyter Notebook ▪ Fertige Modelle in der Azure AI Gallery https://studio.azureml.net/

Slide 38

Slide 38 text

MACHINE LEARNING LIBRARIES FRAMEWORKS ▪ TensorFlow ▪ Cognitive Toolkit (CNTK) ▪ Apache MXNet ▪ PyTorch ▪ Keras ▪ Caffe2 ▪ Theano ▪ Torch ▪ Gluon

Slide 39

Slide 39 text

JUPYTER NOTEBOOKS DEFINITION ▪ Interaktive Dokumentation / Arbeitsmappe ▪ Quelle: https://Jupyter.org AZURE NOTEBOOKS ▪ Quelle: https://notebooks.azure.com ▪ Zur Zeit kostenlos GOOGLE COLAB ▪ Quelle: https://colab.research.google.com ▪ Zur Zeit kostenlos ▪ Direkte Verlinkung zu GitHub https://colab.research.google.com/github/UserName/Repo/blob/master/myFile.ipynb

Slide 40

Slide 40 text

MACHINE LEARNING LIBRARIES FOR JAVA LIBRARIES ▪ JavaML ▪ Deeplearning4j ▪ JSAT ▪ MALLET ▪ Mahout ▪ Weka ▪ …

Slide 41

Slide 41 text

MACHINE LEARNING LIBRARIES FOR .NET LIBRARIES ▪ ML.NET ▪ Microsoft Cognitive Toolkit ▪ TensorFlowSharp ▪ SharpLearning ▪ Accord.NET Machine Learning Framework ▪ Sharpkit.Learn

Slide 42

Slide 42 text

MACHINE LEANING SERVICES SERVICES MIT VORTRAINIERTEN MODELLEN ▪ Microsoft Cognitive Service ▪ Google Cloud Machine Learning ▪ AWS Machine Learning ▪ DeepAI

Slide 43

Slide 43 text

Microsoft Cognitive Services

Slide 44

Slide 44 text

COGNITIVE SERVICES – COMPUTER VISION Berühmte Personen/Orte erkennen Bilder analysieren Text in Bildern lesen Miniaturansichten generieren Handschriftlichen Text lesen Videos analysieren https://azure.microsoft.com/de-de/services/cognitive-services/face

Slide 45

Slide 45 text

COGNITIVE SERVICES – GESICHTSERKENNUNG Gesichtsvergleich Emotionserkennung Gesichtserkennung Gesichtsbestimmung ähnliche Gesichter suchen Gesichtsgruppierung https://azure.microsoft.com/de-de/services/cognitive-services/face

Slide 46

Slide 46 text

CUSTOM VISION HINTERGRUND ▪ Benutzerdefinierte Bild-/Objekterkennung ▪ Konfiguration über Web Site ▪ Training in der Cloud ▪ Export des Models QUELLE ▪ https://customvision.ai

Slide 47

Slide 47 text

CUSTOM VISION EXPORT ▪ iOS (CoreML) ▪ Android (TensorFlow) ▪ Windows (ONNX) ▪ Azure (Docker File) VERWENDUNG ▪ iOS Sample ▪ Android Sample ▪ ONNX Sample ▪ Xamarin iOS Sample

Slide 48

Slide 48 text

DEMO Custom Vision

Slide 49

Slide 49 text

FAZIT MÖGLICHKEITEN ▪ Bietet Möglichkeiten jenseits einfacher Logik ▪ Software kann echte Intelligenz enthalten ▪ Datenbasis, Fragestellung und Algorithmen spielen eine entscheidende Rolle TOOLS UND LIBRARIES ▪ Leichter Einstieg über Azure ML Studio ▪ Frameworks und Libraries für Java und .NET vereinfachen den Einstieg ▪ Komplexere ML-Entwicklung findet in Python statt ▪ Die Cognitive Services bieten vortrainierte Modelle und spezialisierte Dienste