Slides of my webinar from June 29 2017 (in german): We train a network oin a text categorization corpus and then proceed to improve the results by introducing semantic abstraction with Expert System Cogito, reducing the error rate by ~40%
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
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!)
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.