Successfully reported this slideshow.
Your SlideShare is downloading. ×

Machine Learning mit TensorFlow.js

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
KI und Architektur
KI und Architektur
Loading in …3
×

Check these out next

1 of 60 Ad

Machine Learning mit TensorFlow.js

Download to read offline

Machine Learning ist eine Art von Software-Entwicklung, bei der man nicht direkt Code schreibt, sondern ein Modell anhand von Daten trainiert. Das kann in Situationen von Vorteil sein, in denen man keinen passenden Code schreiben kann oder dieser extrem komplex werden würde. TensorFlow ist das bekannteste Framework im Bereich Neuronaler Netzwerke mit dem man solche Modell erzeugen und nutzen kann. TensorFlow.js (https://js.tensorflow.org/api/latest/) implementiert die volle API von TensorFlow mit JavaScript und erlaubt sowohl die Ausführung, als auch das Training von Neuronalen Netzwerken auf jeder GPU.

Im ersten Teil des Workshops werden wir ein Modell zur Bilderkennung in einer grafischen Webanwendung trainieren und in einer eigenen Anwendung zum Laufen bringen. Hier geht es um die Grundlagen von Machine Learning und den Teil der TensorFlow.js API zum Ausführen eines Modells.

Im zweiten Teil werden wir ein eigenes Modell mit der TensorFlow.js API trainieren und als Teil einer JS-Anwendung integrieren.

Es sind keine Vorkenntnisse nötig und zur Teilnahme wird lediglich eine beliebige IDE zur Entwicklung von JavaScript benötigt.

Machine Learning ist eine Art von Software-Entwicklung, bei der man nicht direkt Code schreibt, sondern ein Modell anhand von Daten trainiert. Das kann in Situationen von Vorteil sein, in denen man keinen passenden Code schreiben kann oder dieser extrem komplex werden würde. TensorFlow ist das bekannteste Framework im Bereich Neuronaler Netzwerke mit dem man solche Modell erzeugen und nutzen kann. TensorFlow.js (https://js.tensorflow.org/api/latest/) implementiert die volle API von TensorFlow mit JavaScript und erlaubt sowohl die Ausführung, als auch das Training von Neuronalen Netzwerken auf jeder GPU.

Im ersten Teil des Workshops werden wir ein Modell zur Bilderkennung in einer grafischen Webanwendung trainieren und in einer eigenen Anwendung zum Laufen bringen. Hier geht es um die Grundlagen von Machine Learning und den Teil der TensorFlow.js API zum Ausführen eines Modells.

Im zweiten Teil werden wir ein eigenes Modell mit der TensorFlow.js API trainieren und als Teil einer JS-Anwendung integrieren.

Es sind keine Vorkenntnisse nötig und zur Teilnahme wird lediglich eine beliebige IDE zur Entwicklung von JavaScript benötigt.

Advertisement
Advertisement

More Related Content

More from open knowledge GmbH (20)

Recently uploaded (20)

Advertisement

Machine Learning mit TensorFlow.js

  1. 1. #WISSENTEILEN Machine Learning mit TensorFlow.js
  2. 2. #WISSENTEILEN @DJCordhose Head of AI OPEN KNOWLEDGE Oliver Zeigermann Dev AI & ML Architecture MLOps < < < <
  3. 3. #WISSENTEILEN Zeit für Fragen? Immer!
  4. 4. Teil I Grundlagen von Machin Learning
  5. 5. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  6. 6. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  7. 7. Klassische Entwicklung OK tu das
  8. 8. Klassische Entwicklung Machine Learning - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tu das finde ein abstraktes Konzept OK Ich tue mein Bestes.
  9. 9. künstliche Intelligenz starke KI schwache KI echte Nachbildung des menschlichen Bewusstseins (bis heute nicht existent) Maschine, die menschliches Verhalten (teilweise) imitiert
  10. 10. künstliche Intelligenz starke KI schwache KI Machine Learning echte Nachbildung des menschlichen Bewusstseins (bis heute nicht existent) Teilgebiet der künstlichen Intelligenz: lernt mittels statistischer Methoden und kann sich anhand von Erfahrungen verbessern Maschine, die menschliches Verhalten (teilweise) imitiert
  11. 11. Teilgebiet des Machine Learnings: bedient sich mehrschichtiger neuronaler Netze zum Lernen/Entscheiden künstliche Intelligenz starke KI schwache KI Deep Learning Machine Learning echte Nachbildung des menschlichen Bewusstseins (bis heute nicht existent) Teilgebiet der künstlichen Intelligenz: lernt mittels statistischer Methoden und kann sich anhand von Erfahrungen verbessern Maschine, die menschliches Verhalten (teilweise) imitiert
  12. 12. Machine Learning • KI ist keine Magie • KI ist eher "künftig Informatik" • Machine Learning is die zur Zeit wichtigste Technik im Bereich KI • Machine Learning ist eine alternative Art, Software zu entwickeln • KI/ML ist Digitalisierung 2.0
  13. 13. Wann ist KI/ML sinnvoll? • Die Lösung des vorliegenden Problems ist unbekannt oder schwer zu spezifizieren • Es liegen Daten mit einer klaren, einfachen Eingabe und bestenfalls auch passender Ausgabe vor • Es gibt Muster in der Eingabe, die zur Vorhersage verwendet werden können • Die Lösung des Problems kann Fehler oder Unsicherheiten tolerieren • 80% Genauigkeit werden selten übertroffen • Wir sind bereit und in der Lage, in einer initialen Phase Experimente mit offenem Ausgang durchzuführen
  14. 14. @nsthorat @jsconfeu 2019
  15. 15. TensorFlow.js • https://www.tensorflow.org/js • Die API entspricht im wesentlichen der High-Level Keras API von TensorFlow https://www.tensorflow.org/js
  16. 16. @nsthorat @jsconfeu 2019 Abstraktionen in TF.js
  17. 17. Unser erstes Programm in TF.js const model = tf.sequential(); model.add(tf.layers.dense({units: 1, inputShape: [1]})); model.compile({loss: 'meanSquaredError', optimizer: 'sgd'}); const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]); const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]); await model.fit(xs, ys, {epochs: 100}) model.predict(tf.tensor2d([6], [1, 1])).print(); https://js.tensorflow.org/api/latest/
  18. 18. Wie funktionieren „normale“ Schichten https://playground.tensorflow.org/
  19. 19. Ideenfindung Überprüfung/ Konzeption Umsetzung Verwendung Der besondere Prozess in einem KI-Projekt
  20. 20. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  21. 21. Ideenfindung Überprüfung/ Konzeption Umsetzung Verwendung Phase 0 Ideenfindung
  22. 22. Die Anwendung heute: Bilderkennung • Was ist auf einem Bild? • Imitationslernen (aka Supervised Learning) • Der Maschine werden viele paare von Beispielen gegeben • Die Hoffnung ist, dass die Maschine darüber auf die Gemeinsamkeit der Beispiele generalisiert • Klassifikation: eine oder mehrere Kategorien erkennen • Ist ein Hund auf dem Bild? • Regression: eine kontinuierliche Zahl vorhersagen • Wie viel eines Bergs ist (noch) mit Eis bedeckt
  23. 23. Beispiel: Erkennung von Bauteilen https://play.google.com/store/apps/details?id=de.geberit.pr oapp
  24. 24. Das geht natürlich nicht nur für Drückerplatten • Welches Kfz-Bauteil hab ich vor mir und was ist darin? • Welches Haustier hab ich vor mir und was braucht es? • Welche Pflanze hab ich vor mir • Vorsicht bei Pilzen • Was für eine Situation liegt vor bei Personen • Pflegebedürftige Personen • Gruppen von Menschen Die Herangehensweise ist unabhängig von der Domäne immer dieselbe
  25. 25. Fertige AWS Services • Typische Objekte erkennen • Wird Schutzausrüstung getragen? • Texte aus Bildern extrahieren • Prominente erkennen • Erkennung unsicherer Bilder (Gewalt, Nackheit, Drogen) • Gesichtsvergleich: stellen zwei Bilder dieselbe Person dar? • Gesichtsanalyse: Lokalisierung von Augen etc, sind Augen offen, Stimmung • Gesichtserkennung: ist ein Gesicht in einer Liste von bekannten Gesichtern? https://aws.amazon.com/de/rekognition/image-features/
  26. 26. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  27. 27. Ideenfindung Überprüfung/ Konzeption Umsetzung Verwendung Phase I Überprüfung / Konzeption
  28. 28. Teachable Machine https://teachablemachine.withgoogle.com/ • Basiert auf TensorFlow.js • Grafische Schnittstelle, um schnell einen Eindruck in die Konzepte von ML zu bekommen • Tauglich, um schnell eine Idee auszuprobieren • Erlaubt den export des TF.js Modells und spuckt Code aus, mit dem man das Modell laden und benutzen kann • Nutzt eine vordefinierte Modell-Architektur (mehr dazu später)
  29. 29. Umsetzung mit Teachable Machine https://teachablemachine.withgoogle.com/train/image
  30. 30. Aufgabe 1: Training eines Modells Sammele Daten, trainieren damit ein Modell und bewerte die Ergebnisse • Bleibt gern im Team mit deinem Nachbarn • Ins WLAN einloggen (wir brauchen Internet) • Trainiere ein Modell zur Bilderkennung mit Teachable Machine 1. https://teachablemachine.withgoogle.com/train/image 2. Wie viele Klassen? 3. Modell trainieren 4. Modell ausprobieren 5. Bei Bedarf iterieren • Finde Schwächen und Stärken deines Modells 30 Minuten
  31. 31. Wie funktioniert das?
  32. 32. Deep Learning: Abfolge von Schichten
  33. 33. Faltungen als Basis von Feature- Erkennung https://setosa.io/ev/image-kernels/
  34. 34. Deep Learning: Schichten im Live-Betrieb https://transcranial.github.io/keras-js/#/mnist-cnn
  35. 35. Überblick Architekturen für Bilderkennung https://towardsdatascience.com/neural-network- architectures-156e5bad51ba
  36. 36. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  37. 37. Ideenfindung Überprüfung/ Konzeption Umsetzung Verwendung Phase II Umsetzung
  38. 38. Einbindung / Interaktion • Korrektur • Vorschlag • Automatisierung • Arten • komplett • teilweise (anhand von Sicherheit der Vorhersage) • Impact vs Genauigkeit bestimmt, in welchem Maße dies möglich ist • Erklärbarkeit wichtig
  39. 39. Vertrauen kalibrieren https://pair.withgoogle.com/worksheet/explainability-trust.pdf
  40. 40. Typisches Deployment eines Machine Learning Services ML-Service Model (ML) Adapter (Code) Prediction Request • Pre-Process • Route • Circuit breaker • Post-Process • Filter • Circuit breaker HTTP-Service (Flash, FastAPI, …)
  41. 41. TensorFlow ist großzügig im Deployment- Modell
  42. 42. Aufgabe 2: Eine Anwendung mit dem Modell erstellen Überlege wie du dein Modell in eine Anwendung bringen könntest und lade das passende Modell herunter • Bleibt gern im Team mit deinem Nachbarn • Welche Art von UX passt zu deinem Anwendungsbeispiel? • Welche Genauigkeit solltest du erreichen, damit die Anwendung sinnvoll ist? • Wie betreibst du deine Anwendung? Im Frontend oder Backend? • Welche Architektur-Entscheidung ist jetzt zu treffen? • Hier reicht die Idee, die Umsetzung ist natürlich aufwändig 10 Minuten
  43. 43. Agenda 1. ML Basics 2. Phase 0: Ideenfindung 3. Phase 1: Überprüfung / Konzeption 4. Phase 2: Umsetzung / Eine Anwendung erstellen 5. Phase 3: Verwendung / Betrieb
  44. 44. Ideenfindung Überprüfung/ Konzeption Umsetzung Verwendung Phase III Verwendung
  45. 45. Zeit Qualität Machine Learning Anwendungen brauchen Wartung
  46. 46. Zeit Qualität Modell Anpassung Zeit Qualität Machine Learning Anwendungen brauchen Wartung
  47. 47. Drift-Monitoring im Betrieb
  48. 48. Wenn sich die Welt verändert sich, müssen wir uns mit anpassen https://docs.seldon.io/projects/alibi- detect/en/stable/cd/background.html#what-is-drift
  49. 49. Aufgabe 3: Drift Wie kannst du die Aktualität deines Modells überprüfen? • Bleibt gern im Team mit deinem Nachbarn • Ist eine Veränderung deiner Domäne zu erwarten? • Kannst du nach einer Vorhersage das korrekte Label bekommen? • Durch Feedback vom Menschen • Durch eingetretene Realität • Mit welcher Verzögerung? • Wie könnte man so etwas monitoren? 10 Minuten
  50. 50. Zusammenfassung • Machine Learning kann einen großen Vorteil gegenüber klassischer Entwicklung haben • Man kann ein Machine Learning Projekt in Phasen modellieren • Es müssen viele Dinge so wie oder so ähnlich wie bei einem klassischen Projekt durchdacht werden • Das Monitoring erfordert besonderes Augenmerk
  51. 51. Teil II TensorFlow.js API
  52. 52. Ein Modell von 0 mit der TensorFlow-API • Dieses Mal konzentrieren wir uns nicht auf die Daten, sondern auf API von TensorFlow.js • Wir gehen gemeinsam Schritt für Schritt durch ein TensorFlow CodeLab • Wir erarbeiten uns auf dem Weg die Notwendigen Grundlagen • Am Ende haben wir lauffähigen Code für komplettes Training und Vorhersage • Wir brauchen wieder die IDE deiner Wahl https://js.tensorflow.org/api/latest/
  53. 53. Aufgabe 3: Wir bauen Training und Vorhersage direkt mit JavaScript Schritte für das Training 1. Daten laden und für das Training vorbereiten 2. Die Architektur des Modells festlegen 3. Modell trainieren und Qualität bewerten 4. Vorhersagen mit dem Modell machen https://codelabs.developers.google.com/codelabs/tfjs-training- regression
  54. 54. Typische ML-Anwendungen • Bilderkennung • Ähnlichkeits- und Anomalie-Erkennung • Text-Klassifikation • Vorhersage
  55. 55. AI/ML Show-Cases: Berechnen von Eisflächen
  56. 56. AI/ML Show-Cases: Qualitätssicherung in der Produktion
  57. 57. AI/ML Show-Cases: Sales Prediction
  58. 58. https://huggingface.co/facebook/bart-large-mnl AI/ML Show-Cases: Kategorisierung von Texten
  59. 59. Was könnt ihr tun für eurer erstes ML Projekt? • Machine Learning ist kein Selbstzweck • Geschäftsnutzen ist immer Ziel • Oft liegen Schätze aber im verborgenen und warten auf Entdeckung • Sensibilität für das Thema schaffen, insbesondere bei Managern • Eine Liste sinnvoller Anwendungen kann hilfreich sein • Die TensorFlow.js API ist relativ einfach • Die Herausforderung liegt in den dahinter liegenden Konzepten
  60. 60. #WISSENTEILEN Vielen Dank! #WISSENTEILEN by open knowledge GmbH @_openKnowledge | @DJCordhose Oliver Zeigermann, Head of AI

×