SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Expert System Webinar:
„Deep Learning noch ein wenig tiefer machen mit Cogito“
Stefan Geißler, 29.6.2017
Beginn ca
15:30!
Willkommen!
Expert System Webinar
• Monatliche Veranstaltung
• Jeweils letzter Donnerstag im Monat
• 15:30
• Ankündigungen / Informationen unter
http://www.expertsystem.com/de/news-de/event-
und-webinar/
• Überblick über zurückliegende Sessions unter
http://www.expertsystem.com/de/video/
▪ Expert System ist der größte europäische
Anbieter für Cognitive-Computing-Software
und Lösungen zur Analyse von Textinhalten
▪ Börsennotiertes Unternehmen (EXSY) mit
Niederlassungen in Europa und
Nordamerika; F&E-Labore in Italien,
Frankreich, Spanien und den USA
▪ Preisgekrönte patentierte Technologie:
Cogito!
▪ Die Cognitive-Computing-Technologie der
Wahl für Unternehmen und Behörden in den
unterschiedlichsten Branchen
Expert System: Ein weltweit
tätiges Unternehmen
Unsere Vision
Wir entwickeln
Technologien, die die Art
und Weise revolutionieren,
wie Nutzer Informationen
finden, begreifen und
nutzen
Inhalt
▪ Deep Learning: kurze Begriffsklärung
▪ Beispiel: Ziffernerkennung MNIST
▪ Beispiel: Reuters Dokumentenkategorisierung
▪ Verbesserung/Tuning?
▪ (Rückblick: Dokumentenkategorisierung mit Cogito Testbench)
▪ Beispiele: Cogito auf Reuters Texten
▪ Sensigrafo: Syncons: Klassen von semantisch ähnlichen Wörtern
▪ Vergleich: Deep Learning mit und ohne Cogito
▪ Fazit
Deep Learning: In aller Munde …
Einige Fakten
▪Online-Kurs „Machine Learning“ (Stanford) Nummer 2 auf der Liste der
meistbesuchten Online-Kurse überhaupt (cf.
http://www.onlinecoursereport.com/the-50-most-popular-moocs-of-all-time/)
▪Deep Learning Library „TensorFlow“ (Google) wurde >1mio mal von Github
heruntergeladen. (cf. Jeff Dean, Google)
▪ Harvard Business Review: „Data Scientist: The Sexiest Job of the 21st Century“ (cf.
https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century)
▪ Machine Learning ist in unserer Tageszeitung, unserer Tagesschau, unserem
Smartphone
Deep Learning?
▪ Ansatz des Maschinellen Lernens mit Neuralen
Netzen, organisiert in vielen Schichten („deep“)
▪ Viele Grundlagen sind bereits viele Jahre alt aber
zuletzt Durchbrüche wegen:
▪ Massiv verbesserter Rechnerleistung: Rechenintensive
Operationen auf kostengünstigen Grafikkarten
▪ Massiv angestiegene Volumina an verfügbaren Daten
▪ Aber auch Algorithmische Verbesserungen,
Verfügbarkeit von Libraries
▪ Seit Jahren Erfolge von Deep Learning Ansätzen bei
vielen Benchmarks
▪ Bilderkennung, Spracherkennung, Maschinelle
Übersetzung, …
▪ Medienwirksame Erfolge wie Sieg über Go-Weltmeister
…
▪ Hype?
▪ Hochfliegende Erwartungen der Öffentlichkeit, massives
Interesse von Studierenden, Medien, Investoren, …
▪ Aber jenseits des Hypes auch reale Ergebnisse auf
vielen unterschiedlichen Daten / Problemen
▪ Namen? Die „Canada Mafia“: Geoffrey Hinton,
Yoshua Bengio, Yan LeCun
▪ und Jürgen Schmidhuber und viele andere
Neuronale Netze: Grundlagen
▪ Neuronale Netze = kein „Modell des menschlichen Gehirns“, aber
inspiriert durch einige Eigenschaften des Gehirns
▪ Keine zentrale Verarbeitungseinheit, sondern viele vergleichsweise einfache
Neuronen / Knoten
▪ Lernen / Erinnerungen durch Optimierung der Verbindungen zwischen den
Neuronen
▪ Versprechen / Vision
▪ Ein Werkzeug / Ansatz für unterschiedlichste Probleme (speech, vision,
robotics, …)
▪ Aufwändiges manuelles „feature engineering“ weitgehend ersetzt durch
datengetriebenes Selbstlernen der relevanten Features.
Neuronale Netze: Grundlagen
▪ Es gibt zahlreiche hervorragende Einführungen in das Thema.
▪ Hier nehme ich Anleihen aus dem hervorragenden Kurs von Nick Locascio,
Harini Suresh et al. (MIT, cf. http://introtodeeplearning.com/)
▪ Historie: „Perceptron“ (Rosenblatt, 1954!)
Neuronale Netze: Grundlagen
cf. http://introtodeeplearning.com/
Achtung: Kann
Spuren von
Mathematik enthalten
Neuronale Netze: Grundlagen
▪ Essentiell: Aktivierungsfunktion muss non-linear sein, sonst können nur
linear separierbare Probleme gelernt werden
cf. http://introtodeeplearning.com/
Neuronale Netze: Grundlagen
▪ Ein solches „Perceptron“
▪ Vereinfachte Darstellung
▪ Viele Perceptrons und deren
Verbindungen zwischen Schichten
(„layers“)
▪ Wenn es mehr als eine verborgene
Schicht zwischen Eingabe und Ausgabe
gibt, spricht man oft von „deep“
networks.
▪ Komplexe Netze können Hunderte von
Schichten tief sein … cf. http://introtodeeplearning.com/
Neuronale Netze: Grundlagen
▪ Anwendung: Vier Datensätze mit
jeweils zwei Werten durchlaufen
das Netz. Am output Neuron wird
verglichen, was ist die
Aktivierung, was hätte die sein
sollen.
▪ Diesen Wert (die summierte
Abweichung) wollen wir
minimieren.
▪ Wie? cf. http://introtodeeplearning.com/
▪ Gradient Descent
▪ Es wird die Ableitung der
Loss-Funktion J gebildet
▪und die Gewichtungen
werden so modifiziert,
dass sie sich hin zum
Minimum bewegen
cf. http://introtodeeplearning.com/
Neuronale Netze: Grundlagen
▪ Training: (Modifizieren der Gewichtungen der Verbindungen):
Backpropagation!
▪ Fehler wird an Ausgabeschicht gemessen. Entsprechende Änderungen der
Gewichte werden nach links bis zur Eingabeschicht zurück berechnet
cf. http://introtodeeplearning.com/
Neuronale Netze: Grundlagen
▪ Eine tiefgehende Einführung der formalen Grundlagen ist hier nicht
möglich und nicht beabsichtigt.
▪ Existierende Bibliotheken zum Arbeiten mit Neuronalen Netzen (Theano,
TensorFlow, …) handeln viele Details hinten den Kulissen ab und erlauben
es, sich auf die Modellierung des Problems zu konzentrieren
▪ Z.B. werden die partiellen Ableitungen der Loss-Funktion automatisch gebildet
Erstes Beispiel: Der MNIST-Datensatz
▪ Handschrift-Erkennung
▪ Das „Hello World“ für
Maschinelles Lernen: Großer, frei
verfügbarer Datensatz an dem
neuen Algorithmen, neue
Architekturen oft zuerst erprobt
werden.
▪ Erfolg von Geoffrey Hinton et al.
2012 ILSVRC Konferenz ein
Durchbruch für das neu erwachte
Interesse an Neuronalen Netzen
 ?
MNIST
Demo!
▪ Training auf 60000 Beispielsziffern
▪ Auf Intel i7-6700k CPU, 32 GB RAM mit NVIDIA GeForce GT 730: ca 90 sek
pro Durchlauf
▪ Accuracy auf ungesehenen Daten nach 10 Durchläufen („epochs“): > 99%
▪ Quasi-menschliche Leistung: Die fehl-klassifizierten Ziffern sind auch für
den Menschen schwer zuzuordnen
▪ Aber: Natürlich ist das ein künstlich vereinfachtes Problem: Alle Beispiele
im selben Format, alle sind Ziffern und nur Ziffern, ausreichend
Trainingsdaten, …
Einige MNIST Beispiele
Result 0 = 4.48786e-16
Result 1 = 2.05184e-11
Result 2 = 3.36106e-11
Result 3 = 1.18375e-10
Result 4 = 5.07586e-16
Result 5 = 1.32442e-15
Result 6 = 5.10969e-19
Result 7 = 1.0
Result 8 = 4.09796e-14
Result 9 = 1.69599e-09
Result 0 = 5.48458e-14
Result 1 = 7.8186e-11
Result 2 = 1.0
Result 3 = 7.59854e-18
Result 4 = 8.17818e-17
Result 5 = 7.76375e-22
Result 6 = 4.69628e-11
Result 7 = 5.93906e-15
Result 8 = 5.66657e-18
Result 9 = 7.63453e-20
Result 0= 2.36919e-07
Result 1 = 7.33314e-12
Result 2 = 2.69698e-12
Result 3 = 1.22766e-09
Result 4 = 8.25329e-09
Result 5 = 0.837236
Result 6 = 0.162605
Result 7 = 3.6823e-13
Result 8 = 0.000157777
Result 9 = 5.39372e-07
Beispiel 2: Dokument-Kategorisierung
▪ Klassisches NLP-Problem
▪ Datensatz hier: „Reuters“: Nachrichtentexte
▪ Training mit einfachem Neuronalen Netz: ca. 87% accuracy
GIANT BAY <GBYLF> DETAILS GORDON LAKE DEPOSIT
Giant Bay Resources
Ltd said a metallurgical study of its Gordon Lake gold deposit
indicated an overall recovery of 95 pct to 96 pct of the gold
can be achieved by either direct cyanidation of ore or
flotation followed by cyanidation of concentrate.
Continuation of an underground program on the property will
begin in June, extending an existing drift along the
200-foot-level where the main ore zone was encountered, Giant
Bay said.
The company did not elaborate on production figures for the
property.
Reuter

 Kategorie: „Gold“
Ein einfaches neuronales Netz
Layer (type) Output Shape Param #
=================================================================
dense_1 (Dense) (None, 512) 512512
dropout_1 (Dropout) (None, 512) 0
dense_2 (Dense) (None, 75) 38475
dropout_2 (Dropout) (None, 75) 0
dense_3 (Dense) (None, 46) 3496
=================================================================
Total params: 554,483
Eingabeschicht: die 1000 häufigsten
Wörter im Korpus (+1 für alle anderen),
vollständig verbunden mit 512
Neuronen im ersten „hidden“ layer
Dropout: Netz „vergisst“ in jedem
Durchlauf eine zufällig ausgewählte
Menge von Neuronen (hier 40%)
Ausgabe: 46 Neuronen (eine pro
Kategorie), Aktivierungsfunktion
“softmax“ erzeugt
Wahrscheinlichkeitsverteilung
(Ergebnisse summieren sich zu 1)
Weiterer „hidden“ layer: 75 Neuronen,
wieder mit Dropout
Dropout?
▪ Herausforderung: Vermeiden von „overfitting“ (Überangepasstheit an das Trainingsset)
▪ Mit großen Netzen (=viele Neuronen) lassen sich die Trainingsdaten ggfs vollständig lernen
(accuracy=100%) aber die Übertragbarkeit auf neue Daten sinkt dabei.
▪ Hinweis: Im Training steigt die „Training accuracy“ weiter an, aber die „validation accuracy“ auf
ungesehenen Daten stagniert oder sinkt.
▪ Was tun?
▪ Mehr Daten!
▪ Kleineres Netz: „Zwingt“ den Algorithmus, Optimierung mit weniger Parametern zu versuchen
▪ Dropout: Künstliche Verknappung während des Trainings
▪ …
underfitting overfittingok
(Welches Netz für welches Problem?)
▪ Suche nach der besten Architektur oft noch Handwerk/Kunst, viel
Erfahrung und Fingerspitzengefühl gefordert
▪ … wie vielleicht beim Schmid oder Geigenbauer …
Resultate weiter verbessern?
▪ Erinnerung: In unserem April-Webinar
(https://vimeo.com/215208800) hatten wir
beschrieben, dass ein mit Cogito gelerntes Modell
durch den Menschen einsehbar, verstehbar und
verbesserbar ist.
▪ Bei einem Deep Learning Model (siehe rechts) kann
nicht direkt in die „Regeln“ eingegriffen werden (es
gibt keine), mehr Daten sind ggfs nicht verfügbar, …
was tun?
▪ Überlegung: Algorithmus versucht, Ähnlichkeiten
und Zusammenhänge zu lernen.  Wir lassen a
priori verfügbares Wissen in den Prozess einfließen,
das nicht mehr eigens gelernt werden muss.
(ReutersCategorization in Cogito Studio)
Sensigrafo !
▪ Mehrsprachige, große, breit angelegte
Datenbank von Wörtern und deren
Bedeutungen
▪ Bestandteil von Cogito, Teil jeder
Analyse mit Cogito
▪ Ein Wort, viele Bedeutungen
▪ Eine Bedeutung („syncon“), viele
Wörter
▪ Desambiguierung: Cogito kennt nicht
nur die unterschiedlichen Bedeutungen
eines Wortes sondern wählt auch die
dem jeweiligen Kontext angemessene
aus
Syncon
104830453
Company
Firm
Enterprise
Business
organisation
Co.
Zwischenschritt
▪ Wir bilden die Wörter im Reuters-Korpus ab auf Ihre Syncon ID
▪ Synonyme erhalten die jeweils selbe ID.
▪ Dies muss das Netz nicht mehr eigens lernen
▪ Beispiele:
▪ 89237: likely; probable
▪ 100182859: GNP; gross national products; gross national product
▪ 67264: STEPS UP; stepping up; escalating
▪ Lernbarkeit?
▪ “likely” ist im Reuters corpus 1281 mal vertreten, “probable” nur 35 mal
▪ “STEPS UP” 7 mal, “stepping up” 13, “escalating” 10 mal.
▪ Häufigkeiten sind also oft nicht ausreichend um semantische Relationen
zuverlässig zu lernen. (Und in der Realität sind Korpora oft viel kleiner als der
Reuters-Korpus)
Semantische Abstraktion
U.S. GOLD PRODUCTION ROSE IN DECEMBER
U.S. mine production of gold rose to
244,900 troy ounces in December from 244,749 ounces in
November, the U.S. Interior Department's Bureau of Mines said.
U.S. imports of gold in December were 692,700 ounces, vs
2,011,754 ounces in November and 611,811 ounces in December,
1985.
Gold exports totaled 243,191 ounces in December, vs
November's 374,468 ounces and 350,078 ounces in December a
year
earlier.
Mine production of gold in the 12-month period Jan-Dec,
1986, totaled 2,951,151 ounces, vs 2,475,436 ounces over the
same period in 1985.
Gold imports in Jan-Dec, 1986, totaled 15,749,447 ounces,
vs 8,225,999 ounces for the same period in 1985, while exports
stood at 4,612,919 ounces and 3,966,678 ounces over the
respective periods, the bureau said.
Reuter

syncon97785 syncon100000897 syncon3716 syncon160704 IN
syncon100000126
syncon97785 syncon151010 syncon3716 of syncon100000897
syncon66651 to 244,900 syncon101323615 in
syncon100000126 syncon214191 244,749 ounces in
syncon100000125 , the syncon97785 syncon100608427 s
Bureau of Mines syncon167507 .
syncon16223392 syncon76315 of syncon100000897 in
syncon100000126 syncon77408 692,700 ounces ,
syncon286756 2,011,754 ounces in syncon100000125 and
611,811 ounces in syncon100000126 , 1985 .
syncon100000897 syncon76316 syncon85400 243,191 ounces
in syncon100000126 , syncon286756 syncon100000125 s
374,468 ounces and 350,078 ounces in syncon100000126 a
syncon100000577 syncon85807 . Mine syncon3716 of
syncon100000897 in the 12-month syncon100011471
syncon100000108 - syncon100000126 , 1986 , syncon85400
2,951,151 ounces , syncon286756 2,475,436 ounces over the
syncon92997 syncon100011471 in 1985 . syncon100000897
syncon76315 in syncon100000108 - syncon100000126 , 1986 ,
syncon85400 15,749,447 ounces , syncon286756 8,225,999
ounces for the syncon92997 syncon100011471 in 1985 ,
syncon293695 syncon146860 syncon72824 at 4,612,919
ounces and 3,966,678 ounces over the syncon84012
syncon100011471 , the syncon138659 syncon167507 . Reuter
& #3 ;
Auswertung / Vergleich
▪ Ergebnisse auf Original-Korpus
▪ 87,1% accuracy
▪ Ergebnisse auf Cogito-
angereichertem Korpus
▪ 92,8% accuracy
▪  eine ca. 44% Reduktion der
Fehlerrate!
Überblick
Reiner Lernansatz:
• Accuracy: ~87%
• Schnell, kein manueller
Aufwand
• Keine direkte Möglichkeit
zum weiteren Verbessern
des Ergebnisses
Cogito :
• Accuracy: ~85%
• Aber: Bei Bedarf:
Erzeugtes Modell ist
verstehbar und durch
manuelles Eingreifen
optimierbar
• Manuelles Eingreifen
möglich, dadurch evtl.
Aufwände
Cogito + Lernen :
• Accuracy: ~93%
• Schnell, ohne zusätzlichen
manuellen Aufwand
• Nutzung sowohl von a
priori Wissen (Sensigrafo +
Desambiguierung) als auch
automatischen
Lernverfahren
Achtung: Ergebnisse deuten lediglich eine Tendenz an und wurden auf einem bestimmen
Datensatz erzeugt. Vorsicht bei Generalisierung!
Diskussion
▪ Deep Learning erzeugt gute Ergebnisse bei ausreichender Verfügbarkeit
von Daten
▪ Aber die resultierenden Modelle können nicht mehr durch den menschl.
Experten verfeinert (getunt) werden
▪ Eine semantische Anreichung der Texte durch Cogito erreicht eine weitere
Reduktion der Fehlerrate von ~44% „out of the box“
▪ Die Basis-Verarbeitung durch Cogito (Tokenisierung / Lemmatisierung /
Desambiguierung / Zusammenfassung zu Bedeutungen / …) liefert
wertvolle Informationen, von denen reine Lernansätze profitieren.
linkedin.com/company/expert-system
twitter.com/Expert_System
info@expertsystem.com
www.linkedin.com/in/stefangeissler
@stefangeissler
sgeissler@expertsystem.com
Vielen Dank!
www.expertsystem.com
https://www.linkedin.com/company/expert-system
Contacts

Weitere ähnliche Inhalte

Ähnlich wie Expert system webinar 29.6.2017 cogito und deep learning

Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)nwilbert
 
Workshop Artificial Intelligence
Workshop Artificial IntelligenceWorkshop Artificial Intelligence
Workshop Artificial IntelligenceJürg Stuker
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
OptaPlanner hilft bei verteilten Schulstandorten
OptaPlanner hilft bei verteilten SchulstandortenOptaPlanner hilft bei verteilten Schulstandorten
OptaPlanner hilft bei verteilten SchulstandortenTorsten Fink
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...OPITZ CONSULTING Deutschland
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtKaj Arnö
 
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)Stefan ROOCK
 
Gamification infosession für den #cl20
Gamification infosession für den #cl20Gamification infosession für den #cl20
Gamification infosession für den #cl20Thomas Jenewein
 
Slideshare AutoEncoder
Slideshare AutoEncoderSlideshare AutoEncoder
Slideshare AutoEncoderDatamics
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschAndreas Koop
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarschenpit GmbH & Co. KG
 
Slideshare reinforcement learning
Slideshare reinforcement learningSlideshare reinforcement learning
Slideshare reinforcement learningDatamics
 
Slideshare TensorFlow Grundlagen
Slideshare TensorFlow GrundlagenSlideshare TensorFlow Grundlagen
Slideshare TensorFlow GrundlagenDatamics
 
AdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionAdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionUlrich Krause
 
Machine Learning - Eine Einführung der COMLINE Business Consulting
Machine Learning - Eine Einführung der COMLINE Business ConsultingMachine Learning - Eine Einführung der COMLINE Business Consulting
Machine Learning - Eine Einführung der COMLINE Business ConsultingChristian Guenther
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 

Ähnlich wie Expert system webinar 29.6.2017 cogito und deep learning (20)

Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
 
Fallstricke im Maschinellen Lernen
Fallstricke im Maschinellen Lernen Fallstricke im Maschinellen Lernen
Fallstricke im Maschinellen Lernen
 
Workshop Artificial Intelligence
Workshop Artificial IntelligenceWorkshop Artificial Intelligence
Workshop Artificial Intelligence
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
OptaPlanner hilft bei verteilten Schulstandorten
OptaPlanner hilft bei verteilten SchulstandortenOptaPlanner hilft bei verteilten Schulstandorten
OptaPlanner hilft bei verteilten Schulstandorten
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni Frankfurt
 
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)
Agile Planung (Vortrag beim QS-Tag 2014 in Nürnberg)
 
Gamification infosession für den #cl20
Gamification infosession für den #cl20Gamification infosession für den #cl20
Gamification infosession für den #cl20
 
Slideshare AutoEncoder
Slideshare AutoEncoderSlideshare AutoEncoder
Slideshare AutoEncoder
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Slideshare reinforcement learning
Slideshare reinforcement learningSlideshare reinforcement learning
Slideshare reinforcement learning
 
Slideshare TensorFlow Grundlagen
Slideshare TensorFlow GrundlagenSlideshare TensorFlow Grundlagen
Slideshare TensorFlow Grundlagen
 
Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
AdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionAdminCamp2010, Closing General Session
AdminCamp2010, Closing General Session
 
Machine Learning - Eine Einführung der COMLINE Business Consulting
Machine Learning - Eine Einführung der COMLINE Business ConsultingMachine Learning - Eine Einführung der COMLINE Business Consulting
Machine Learning - Eine Einführung der COMLINE Business Consulting
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
Reactive Programming
Reactive ProgrammingReactive Programming
Reactive Programming
 

Expert system webinar 29.6.2017 cogito und deep learning

  • 1. Expert System Webinar: „Deep Learning noch ein wenig tiefer machen mit Cogito“ Stefan Geißler, 29.6.2017 Beginn ca 15:30!
  • 2. Willkommen! Expert System Webinar • Monatliche Veranstaltung • Jeweils letzter Donnerstag im Monat • 15:30 • Ankündigungen / Informationen unter http://www.expertsystem.com/de/news-de/event- und-webinar/ • Überblick über zurückliegende Sessions unter http://www.expertsystem.com/de/video/
  • 3. ▪ Expert System ist der größte europäische Anbieter für Cognitive-Computing-Software und Lösungen zur Analyse von Textinhalten ▪ Börsennotiertes Unternehmen (EXSY) mit Niederlassungen in Europa und Nordamerika; F&E-Labore in Italien, Frankreich, Spanien und den USA ▪ Preisgekrönte patentierte Technologie: Cogito! ▪ Die Cognitive-Computing-Technologie der Wahl für Unternehmen und Behörden in den unterschiedlichsten Branchen Expert System: Ein weltweit tätiges Unternehmen
  • 4. Unsere Vision Wir entwickeln Technologien, die die Art und Weise revolutionieren, wie Nutzer Informationen finden, begreifen und nutzen
  • 5. Inhalt ▪ Deep Learning: kurze Begriffsklärung ▪ Beispiel: Ziffernerkennung MNIST ▪ Beispiel: Reuters Dokumentenkategorisierung ▪ Verbesserung/Tuning? ▪ (Rückblick: Dokumentenkategorisierung mit Cogito Testbench) ▪ Beispiele: Cogito auf Reuters Texten ▪ Sensigrafo: Syncons: Klassen von semantisch ähnlichen Wörtern ▪ Vergleich: Deep Learning mit und ohne Cogito ▪ Fazit
  • 6. Deep Learning: In aller Munde …
  • 7. Einige Fakten ▪Online-Kurs „Machine Learning“ (Stanford) Nummer 2 auf der Liste der meistbesuchten Online-Kurse überhaupt (cf. http://www.onlinecoursereport.com/the-50-most-popular-moocs-of-all-time/) ▪Deep Learning Library „TensorFlow“ (Google) wurde >1mio mal von Github heruntergeladen. (cf. Jeff Dean, Google) ▪ Harvard Business Review: „Data Scientist: The Sexiest Job of the 21st Century“ (cf. https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century) ▪ Machine Learning ist in unserer Tageszeitung, unserer Tagesschau, unserem Smartphone
  • 8. Deep Learning? ▪ Ansatz des Maschinellen Lernens mit Neuralen Netzen, organisiert in vielen Schichten („deep“) ▪ Viele Grundlagen sind bereits viele Jahre alt aber zuletzt Durchbrüche wegen: ▪ Massiv verbesserter Rechnerleistung: Rechenintensive Operationen auf kostengünstigen Grafikkarten ▪ Massiv angestiegene Volumina an verfügbaren Daten ▪ Aber auch Algorithmische Verbesserungen, Verfügbarkeit von Libraries ▪ Seit Jahren Erfolge von Deep Learning Ansätzen bei vielen Benchmarks ▪ Bilderkennung, Spracherkennung, Maschinelle Übersetzung, … ▪ Medienwirksame Erfolge wie Sieg über Go-Weltmeister … ▪ Hype? ▪ Hochfliegende Erwartungen der Öffentlichkeit, massives Interesse von Studierenden, Medien, Investoren, … ▪ Aber jenseits des Hypes auch reale Ergebnisse auf vielen unterschiedlichen Daten / Problemen ▪ Namen? Die „Canada Mafia“: Geoffrey Hinton, Yoshua Bengio, Yan LeCun ▪ und Jürgen Schmidhuber und viele andere
  • 9. Neuronale Netze: Grundlagen ▪ Neuronale Netze = kein „Modell des menschlichen Gehirns“, aber inspiriert durch einige Eigenschaften des Gehirns ▪ Keine zentrale Verarbeitungseinheit, sondern viele vergleichsweise einfache Neuronen / Knoten ▪ Lernen / Erinnerungen durch Optimierung der Verbindungen zwischen den Neuronen ▪ Versprechen / Vision ▪ Ein Werkzeug / Ansatz für unterschiedlichste Probleme (speech, vision, robotics, …) ▪ Aufwändiges manuelles „feature engineering“ weitgehend ersetzt durch datengetriebenes Selbstlernen der relevanten Features.
  • 10. Neuronale Netze: Grundlagen ▪ Es gibt zahlreiche hervorragende Einführungen in das Thema. ▪ Hier nehme ich Anleihen aus dem hervorragenden Kurs von Nick Locascio, Harini Suresh et al. (MIT, cf. http://introtodeeplearning.com/) ▪ Historie: „Perceptron“ (Rosenblatt, 1954!)
  • 11. Neuronale Netze: Grundlagen cf. http://introtodeeplearning.com/ Achtung: Kann Spuren von Mathematik enthalten
  • 12. Neuronale Netze: Grundlagen ▪ Essentiell: Aktivierungsfunktion muss non-linear sein, sonst können nur linear separierbare Probleme gelernt werden cf. http://introtodeeplearning.com/
  • 13. Neuronale Netze: Grundlagen ▪ Ein solches „Perceptron“ ▪ Vereinfachte Darstellung ▪ Viele Perceptrons und deren Verbindungen zwischen Schichten („layers“) ▪ Wenn es mehr als eine verborgene Schicht zwischen Eingabe und Ausgabe gibt, spricht man oft von „deep“ networks. ▪ Komplexe Netze können Hunderte von Schichten tief sein … cf. http://introtodeeplearning.com/
  • 14. Neuronale Netze: Grundlagen ▪ Anwendung: Vier Datensätze mit jeweils zwei Werten durchlaufen das Netz. Am output Neuron wird verglichen, was ist die Aktivierung, was hätte die sein sollen. ▪ Diesen Wert (die summierte Abweichung) wollen wir minimieren. ▪ Wie? cf. http://introtodeeplearning.com/
  • 15. ▪ Gradient Descent ▪ Es wird die Ableitung der Loss-Funktion J gebildet ▪und die Gewichtungen werden so modifiziert, dass sie sich hin zum Minimum bewegen cf. http://introtodeeplearning.com/
  • 16. Neuronale Netze: Grundlagen ▪ Training: (Modifizieren der Gewichtungen der Verbindungen): Backpropagation! ▪ Fehler wird an Ausgabeschicht gemessen. Entsprechende Änderungen der Gewichte werden nach links bis zur Eingabeschicht zurück berechnet cf. http://introtodeeplearning.com/
  • 17. Neuronale Netze: Grundlagen ▪ Eine tiefgehende Einführung der formalen Grundlagen ist hier nicht möglich und nicht beabsichtigt. ▪ Existierende Bibliotheken zum Arbeiten mit Neuronalen Netzen (Theano, TensorFlow, …) handeln viele Details hinten den Kulissen ab und erlauben es, sich auf die Modellierung des Problems zu konzentrieren ▪ Z.B. werden die partiellen Ableitungen der Loss-Funktion automatisch gebildet
  • 18. Erstes Beispiel: Der MNIST-Datensatz ▪ Handschrift-Erkennung ▪ Das „Hello World“ für Maschinelles Lernen: Großer, frei verfügbarer Datensatz an dem neuen Algorithmen, neue Architekturen oft zuerst erprobt werden. ▪ Erfolg von Geoffrey Hinton et al. 2012 ILSVRC Konferenz ein Durchbruch für das neu erwachte Interesse an Neuronalen Netzen  ?
  • 19. MNIST Demo! ▪ Training auf 60000 Beispielsziffern ▪ Auf Intel i7-6700k CPU, 32 GB RAM mit NVIDIA GeForce GT 730: ca 90 sek pro Durchlauf ▪ Accuracy auf ungesehenen Daten nach 10 Durchläufen („epochs“): > 99% ▪ Quasi-menschliche Leistung: Die fehl-klassifizierten Ziffern sind auch für den Menschen schwer zuzuordnen ▪ Aber: Natürlich ist das ein künstlich vereinfachtes Problem: Alle Beispiele im selben Format, alle sind Ziffern und nur Ziffern, ausreichend Trainingsdaten, …
  • 20. Einige MNIST Beispiele Result 0 = 4.48786e-16 Result 1 = 2.05184e-11 Result 2 = 3.36106e-11 Result 3 = 1.18375e-10 Result 4 = 5.07586e-16 Result 5 = 1.32442e-15 Result 6 = 5.10969e-19 Result 7 = 1.0 Result 8 = 4.09796e-14 Result 9 = 1.69599e-09 Result 0 = 5.48458e-14 Result 1 = 7.8186e-11 Result 2 = 1.0 Result 3 = 7.59854e-18 Result 4 = 8.17818e-17 Result 5 = 7.76375e-22 Result 6 = 4.69628e-11 Result 7 = 5.93906e-15 Result 8 = 5.66657e-18 Result 9 = 7.63453e-20 Result 0= 2.36919e-07 Result 1 = 7.33314e-12 Result 2 = 2.69698e-12 Result 3 = 1.22766e-09 Result 4 = 8.25329e-09 Result 5 = 0.837236 Result 6 = 0.162605 Result 7 = 3.6823e-13 Result 8 = 0.000157777 Result 9 = 5.39372e-07
  • 21. Beispiel 2: Dokument-Kategorisierung ▪ Klassisches NLP-Problem ▪ Datensatz hier: „Reuters“: Nachrichtentexte ▪ Training mit einfachem Neuronalen Netz: ca. 87% accuracy GIANT BAY <GBYLF> DETAILS GORDON LAKE DEPOSIT Giant Bay Resources Ltd said a metallurgical study of its Gordon Lake gold deposit indicated an overall recovery of 95 pct to 96 pct of the gold can be achieved by either direct cyanidation of ore or flotation followed by cyanidation of concentrate. Continuation of an underground program on the property will begin in June, extending an existing drift along the 200-foot-level where the main ore zone was encountered, Giant Bay said. The company did not elaborate on production figures for the property. Reuter   Kategorie: „Gold“
  • 22. Ein einfaches neuronales Netz Layer (type) Output Shape Param # ================================================================= dense_1 (Dense) (None, 512) 512512 dropout_1 (Dropout) (None, 512) 0 dense_2 (Dense) (None, 75) 38475 dropout_2 (Dropout) (None, 75) 0 dense_3 (Dense) (None, 46) 3496 ================================================================= Total params: 554,483 Eingabeschicht: die 1000 häufigsten Wörter im Korpus (+1 für alle anderen), vollständig verbunden mit 512 Neuronen im ersten „hidden“ layer Dropout: Netz „vergisst“ in jedem Durchlauf eine zufällig ausgewählte Menge von Neuronen (hier 40%) Ausgabe: 46 Neuronen (eine pro Kategorie), Aktivierungsfunktion “softmax“ erzeugt Wahrscheinlichkeitsverteilung (Ergebnisse summieren sich zu 1) Weiterer „hidden“ layer: 75 Neuronen, wieder mit Dropout
  • 23. Dropout? ▪ Herausforderung: Vermeiden von „overfitting“ (Überangepasstheit an das Trainingsset) ▪ Mit großen Netzen (=viele Neuronen) lassen sich die Trainingsdaten ggfs vollständig lernen (accuracy=100%) aber die Übertragbarkeit auf neue Daten sinkt dabei. ▪ Hinweis: Im Training steigt die „Training accuracy“ weiter an, aber die „validation accuracy“ auf ungesehenen Daten stagniert oder sinkt. ▪ Was tun? ▪ Mehr Daten! ▪ Kleineres Netz: „Zwingt“ den Algorithmus, Optimierung mit weniger Parametern zu versuchen ▪ Dropout: Künstliche Verknappung während des Trainings ▪ … underfitting overfittingok
  • 24. (Welches Netz für welches Problem?) ▪ Suche nach der besten Architektur oft noch Handwerk/Kunst, viel Erfahrung und Fingerspitzengefühl gefordert ▪ … wie vielleicht beim Schmid oder Geigenbauer …
  • 25. Resultate weiter verbessern? ▪ Erinnerung: In unserem April-Webinar (https://vimeo.com/215208800) hatten wir beschrieben, dass ein mit Cogito gelerntes Modell durch den Menschen einsehbar, verstehbar und verbesserbar ist. ▪ Bei einem Deep Learning Model (siehe rechts) kann nicht direkt in die „Regeln“ eingegriffen werden (es gibt keine), mehr Daten sind ggfs nicht verfügbar, … was tun? ▪ Überlegung: Algorithmus versucht, Ähnlichkeiten und Zusammenhänge zu lernen.  Wir lassen a priori verfügbares Wissen in den Prozess einfließen, das nicht mehr eigens gelernt werden muss.
  • 27. Sensigrafo ! ▪ Mehrsprachige, große, breit angelegte Datenbank von Wörtern und deren Bedeutungen ▪ Bestandteil von Cogito, Teil jeder Analyse mit Cogito ▪ Ein Wort, viele Bedeutungen ▪ Eine Bedeutung („syncon“), viele Wörter ▪ Desambiguierung: Cogito kennt nicht nur die unterschiedlichen Bedeutungen eines Wortes sondern wählt auch die dem jeweiligen Kontext angemessene aus Syncon 104830453 Company Firm Enterprise Business organisation Co.
  • 28. Zwischenschritt ▪ Wir bilden die Wörter im Reuters-Korpus ab auf Ihre Syncon ID ▪ Synonyme erhalten die jeweils selbe ID. ▪ Dies muss das Netz nicht mehr eigens lernen ▪ Beispiele: ▪ 89237: likely; probable ▪ 100182859: GNP; gross national products; gross national product ▪ 67264: STEPS UP; stepping up; escalating ▪ Lernbarkeit? ▪ “likely” ist im Reuters corpus 1281 mal vertreten, “probable” nur 35 mal ▪ “STEPS UP” 7 mal, “stepping up” 13, “escalating” 10 mal. ▪ Häufigkeiten sind also oft nicht ausreichend um semantische Relationen zuverlässig zu lernen. (Und in der Realität sind Korpora oft viel kleiner als der Reuters-Korpus)
  • 29. Semantische Abstraktion U.S. GOLD PRODUCTION ROSE IN DECEMBER U.S. mine production of gold rose to 244,900 troy ounces in December from 244,749 ounces in November, the U.S. Interior Department's Bureau of Mines said. U.S. imports of gold in December were 692,700 ounces, vs 2,011,754 ounces in November and 611,811 ounces in December, 1985. Gold exports totaled 243,191 ounces in December, vs November's 374,468 ounces and 350,078 ounces in December a year earlier. Mine production of gold in the 12-month period Jan-Dec, 1986, totaled 2,951,151 ounces, vs 2,475,436 ounces over the same period in 1985. Gold imports in Jan-Dec, 1986, totaled 15,749,447 ounces, vs 8,225,999 ounces for the same period in 1985, while exports stood at 4,612,919 ounces and 3,966,678 ounces over the respective periods, the bureau said. Reuter  syncon97785 syncon100000897 syncon3716 syncon160704 IN syncon100000126 syncon97785 syncon151010 syncon3716 of syncon100000897 syncon66651 to 244,900 syncon101323615 in syncon100000126 syncon214191 244,749 ounces in syncon100000125 , the syncon97785 syncon100608427 s Bureau of Mines syncon167507 . syncon16223392 syncon76315 of syncon100000897 in syncon100000126 syncon77408 692,700 ounces , syncon286756 2,011,754 ounces in syncon100000125 and 611,811 ounces in syncon100000126 , 1985 . syncon100000897 syncon76316 syncon85400 243,191 ounces in syncon100000126 , syncon286756 syncon100000125 s 374,468 ounces and 350,078 ounces in syncon100000126 a syncon100000577 syncon85807 . Mine syncon3716 of syncon100000897 in the 12-month syncon100011471 syncon100000108 - syncon100000126 , 1986 , syncon85400 2,951,151 ounces , syncon286756 2,475,436 ounces over the syncon92997 syncon100011471 in 1985 . syncon100000897 syncon76315 in syncon100000108 - syncon100000126 , 1986 , syncon85400 15,749,447 ounces , syncon286756 8,225,999 ounces for the syncon92997 syncon100011471 in 1985 , syncon293695 syncon146860 syncon72824 at 4,612,919 ounces and 3,966,678 ounces over the syncon84012 syncon100011471 , the syncon138659 syncon167507 . Reuter & #3 ;
  • 30. Auswertung / Vergleich ▪ Ergebnisse auf Original-Korpus ▪ 87,1% accuracy ▪ Ergebnisse auf Cogito- angereichertem Korpus ▪ 92,8% accuracy ▪  eine ca. 44% Reduktion der Fehlerrate!
  • 31. Überblick Reiner Lernansatz: • Accuracy: ~87% • Schnell, kein manueller Aufwand • Keine direkte Möglichkeit zum weiteren Verbessern des Ergebnisses Cogito : • Accuracy: ~85% • Aber: Bei Bedarf: Erzeugtes Modell ist verstehbar und durch manuelles Eingreifen optimierbar • Manuelles Eingreifen möglich, dadurch evtl. Aufwände Cogito + Lernen : • Accuracy: ~93% • Schnell, ohne zusätzlichen manuellen Aufwand • Nutzung sowohl von a priori Wissen (Sensigrafo + Desambiguierung) als auch automatischen Lernverfahren Achtung: Ergebnisse deuten lediglich eine Tendenz an und wurden auf einem bestimmen Datensatz erzeugt. Vorsicht bei Generalisierung!
  • 32. Diskussion ▪ Deep Learning erzeugt gute Ergebnisse bei ausreichender Verfügbarkeit von Daten ▪ Aber die resultierenden Modelle können nicht mehr durch den menschl. Experten verfeinert (getunt) werden ▪ Eine semantische Anreichung der Texte durch Cogito erreicht eine weitere Reduktion der Fehlerrate von ~44% „out of the box“ ▪ Die Basis-Verarbeitung durch Cogito (Tokenisierung / Lemmatisierung / Desambiguierung / Zusammenfassung zu Bedeutungen / …) liefert wertvolle Informationen, von denen reine Lernansätze profitieren.