Hype-Tech

Felix von Leitner

„Habt ihr schon KI in eurem Big Data?“

„Nein, wir haben selbstreparierende serverlose Echtzeit-Microservices“

Unter uns: Nichts davon brauchen Sie!

Kontext

Diese Folien entstanden ursprünglich für einen Vortrag auf einer Messe des Innovation Hub der Sparkassen. Diese erweiterte Version hielt ich auf den Internet Security Days 2019 des eco e.V.

Zeitrahmen war 30 Minuten, daher der Schweinsgalopp.

Folien in Orange sind ein Extra in der Online-Version und ergänzen Kontext oder das gesprochene Wort.

Es gibt zwei Arten von Vorträgen

  1. Was Sie gerne hören würden
  2. Was Ihnen mal jemand sagen müsste

Dies ist ein Kategorie-2-Vortrag.

Sorry

„Of course it doesn't work but look how fast it is!“

Jetzt zum eigentlichen Thema

Meine These: Doch. Das ist das Ergebnis einer Optimierung.

Da wurde bloß nach dem falschen Ziel optimiert.

Anmerkung

Das ist ein Muster, das ich in letzter Zeit häufiger zu erkennen glaube. Schlechte Auswirkungen sind fast nie Bösartigkeit oder Inkompetenz sondern Ergebnis einer bewussten Abwägung, eine Optimierung — aber mit dem falschen Optimierungsziel.

Das ist besonders innerhalb dieses Vortrags spannend, weil das falsche Optimierungsziel bzw. die falsche Bewertungsfunktion einer der häufigsten Fehlergründe bei neuronalen Netzen sind.

Jetzt wird es ein bisschen unangenehm

Softwareleute sagen sich also:
Perspektivisch bleibe ich in dem Laden hier nicht lange.
Besser schonmal den Lebenslauf optimieren!

Anmerkung

Das ist nicht als Anklage zu verstehen.

Das Ziel ist, die Mechanismen zu verstehen. Alle Seiten handeln aus ihrer Sicht heraus rational und nachvollziehbar. Wenn man ihre Motivationen kennt, kann man möglicherweise die Dinge lenken, damit das Ergebnis besser wird.

Lebenslauf aufhübschen?

Gesprochenes Wort

Hype-Tech ist nicht abwertend zu verstehen. Nur weil etwas gehyped wird, heißt das nicht, dass es automatisch Mist ist.

Manchmal hat die Mehrheit gar nicht mitgekriegt, dass eine Hype-Technologie gewonnen hat. LDAP z.B. halten viele für tot. Sie wissen nicht, dass Active Directory LDAP ist.

Was tun, sprach Zeus?

In einfachen Worten erklären, worüber da entschieden wird!

Hinterher ist man immer schlauer.
Pro-Tipp: Vorher informieren → auch vorher schlauer.

Fallstudie 1: Blockchain.

Vorbemerkung

Wenn Mathe Ihnen Angst macht: Keine Sorge!

Es geht nicht darum, was auf den nächsten zwei Folien steht.

Sondern dass es auf zwei Folien passt!

Krypto: Drei einfache Bausteine

  1. Symmetrische Verschlüsselung
    • Klartext + Schlüssel = Rauschen
    • Rauschen - Schlüssel = Klartext
  2. Hash-Funktion
    • Hash(beliebig viel Daten) = 256-Bit-Wert
    • Geht nicht: Daten zu Hash finden, 2 Daten mit gleichem Hash finden
  3. Asymmetrische Krypto
    • Zwei Schlüsselhälften: Geheime und öffentliche
    • Daten * mein geheimer Schlüssel = Daten jetzt von mir signiert
    • Daten * dein öffentlicher Schlüssel = Daten jetzt an dich verschlüsselt

Gesprochenes Wort

Wir benutzen davon jetzt Hash und Asymmetrische Krypto.

Für das Verständnis wichtig: Wenn ich etwas mit einem öffentlichen Schlüssel an jemanden verschlüssele, kann nur der mit dem zugehören geheimen Schlüssel das entschlüsseln.

Auch ich selbst kann das nicht mehr entschlüsseln.

Krypto-Logfile

Anfang: Zufallswert auswürfeln.
Den an jemand anderen verschlüsseln, ins Log schreiben.

Um X zu loggen:

  1. Schreibe X
  2. Schreibe Hash(Zufallswert, X)
  3. Das ist der neue Zufallswert (alten wegschmeißen)

Krypto-Logfile

Gesprochenes Wort

Das ist jetzt natürlich verkürzt.

Man sollte z.B. alle 30 Sekunden oder so einen Zeitstempel loggen, damit man erkennen kann, wo abgeschnitten wurde.

Und den ersten Block am besten auf einen externen Host kopieren, der wenig Angriffsoberfläche bietet.

Blockchain

[Visuelle Folie: zeigt eine Hand mit einem Glückskeks-Papierstreifen. Aufschrift: "That was not chicken."]

Krypto-Logfile

Überraschung: Das war nicht Blockchain!

Das ist aber der Aspekt, den viele von Blockchain wollten:
Manipulationsevidente Logfiles

Was ist denn dann Blockchain?!

Blockchain-Idee: Proof of Work

Die Welt konkurriert jetzt darum, über die vergangenen und neuen Überweisungen und einen Wert X einen Hash zu bilden.

X ist variabel, aber beim Hash müssen die letzten Ziffern 0 sein.

Gesprochenes Wort

Es ist wichtig, dass „die Welt“ konkurriert.

Das Verfahren steht und fällt damit, dass nicht aus dem Nichts jemand kommt, der kurz in der Cloud mehr CPUs als du gemietet hat, und dann deine Buchhaltung überstimmen kann.

Daher die Annahme, der Markt werde das schon regeln, wenn man „die Welt“ konkurrieren lässt.

Proof of Work

Ergebnis: Massive Energieverschwendung.

Gesprochenes Wort

Die Überweisungen selbst sind vom Versender signiert.

Die Miner können also nicht die Beträge, Empfänger oder Absender ändern.

Aber sie könnten eine für dich wichtige Überweisung einfach nicht mit aufnehmen und dir damit Schaden zufügen.

Proof of Work

Notieren Sie sich das!

Wer Ihnen „Private Blockchain“ verkaufen will, hofft, dass Sie Blockchain nicht verstanden haben!

Und dass Ihre Freunde zu feige sind, zuzugeben, dass sie es auch nicht verstanden haben.

Fallstudie 2: Smart Contracts.

Smart Contracts

Nachteil: Das ist Code. Code ohne Bugs können wir nicht.
Siehe Patchlisten: Adobe, Apple, Microsoft, Oracle, ...

Bugs in Verträgen?!

Das ist kein hypothetisches Szenario!

Notieren Sie sich das!

Wer Ihnen Smart Contracts verkaufen will, hofft, dass Sie Smart Contracts nicht verstanden haben!

Und dass Ihre Freunde zu feige sind, zuzugeben, dass sie es auch nicht verstanden haben.

Fallstudie 3: Big Data.

Big Data

Problem 1: Ist unmoralisch. Die User wollen das nicht.
(Wieso reicht das eigentlich nicht?!)

Big Data

Big Data

Da kommt dann sowas wie „wir haben ein SIEM“.
Nutzen nicht messbar.

Notieren Sie sich das!

Wer Ihnen Big Data verkaufen will, hofft, dass Sie Big Data nicht verstanden haben!

Und dass Ihre Freunde zu feige sind, zuzugeben, dass sie es auch nicht verstanden haben.

Fallstudie 4: Machine Learning.

Machine Learning

Wenn Summe der Inputs > Schwellwert, dann Ausgabe 1. Sonst 0.

Wie programmiert man sowas?

Nebelwand-Jargon

Hoffnung: Netz lernt Vorwissen selbständig.
Noch weniger nachvollziehbar, was das Netz macht.

Wichtig!

In einer Welt, in der eh schon niemand für schlechte Software haftet, optimiert Machine Learning noch die letzten Ruinen von schlechtem Gewissen weg.

Gesprochenes Wort

Mit Debuggen meine ich, dass man bei Software die Zeile finden kann, die den Bug hat, und dann macht man den Bug weg, und der Rest der Software ist unberührt und läuft genau wie vorher.

Das geht bei neuronalen Netzen so nicht. Man trainiert nach, das fasst aber alle Gewichte an. Minimalinvasives Debugging geht nicht.

„Verstehen“ geht bei einschichtigen Netzen so ein bisschen, in dem Sinne, dass man sehen kann, welches Gewicht wieviel Einfluss hatte. Aber richtiges verstehen ist das nicht, und bei mehrschichtigen Netzen haben die Gewichte dann immer Einfluss auf mehrere Ausgaben.

Haftung

Tun Sie es nicht!!

Aspekt 2: Wie konnte das passieren?

Machine Learning

Machine Learning

Haben Sie daran gedacht? Praxis heute: Netze mit Millionen bis Milliarden von Neuronen.

Machine Learning

Es sind aber immer noch Quacksalber!

Gesprochenes Wort

Die Aussage war: Vorher Quacksalber, nachher Quacksalber.

Es gibt auch scharlataneriefreies Machine Learning. Das ist aber im Wesentlichen Forschung :-)

Forschung ist total super. Ich mag Forschung. Mehr Geld für Forschung ist immer gut. Lassen Sie sich bloß keine angeblich wunderheilenden magischen Produkte aufschwatzen! Und klären Sie vorher die Haftung!!

Aspekt 3: Macht Machine Learning Fehler?

Macht Machine Learning Fehler?

Aber ja!

Plakatives Beispiel: Xerox-Scanner.

[Illustration: Folie 15 von diesem PDF]

Wir wissen nicht, was der gelernt hat

https://glm.io/133116

Macht Machine Learning Fehler?

Das gibt es, und es heißt Adversarial Samples.

Adversarial Samples

[Illustrations-Folie: Bild aus Paper dazu] Blogeintrag dazu: https://ml.berkeley.edu/blog/2018/01/10/adversarial-examples/.

Adversarial Samples

Machine Learning basiert auf der Blümchenwiese-Annahme:

Adversarial Samples

[Illustration: Windows-XP-Blümchenwiese-Bildschirmhintergrund „Bliss“]

Wir wissen nicht, was der gelernt hat

Gesprochenes Wort

Diese Folien sind Beispiele aus einer Google-Docs-Liste von KI, die schlechte Spezifikation oder Bewertungsfunktionen „betrügt“, um das Problem zu „lösen“.

Wir wissen nicht, was der gelernt hat

An RL robot trained with three actions (turn left, turn right, move forward) that was rewarded for staying on track learned to reverse along a straight section of a path rather than following the path forward around a curve, by alternating turning left and right.

https://eprints.utas.edu.au/104/

Wir wissen nicht, was der gelernt hat

When repairing a sorting program, genetic debugging algorithm GenProg made it output an empty list, which was considered a sorted list by the evaluation metric.
Evaluation metric: “the output of sort is in sorted order” Solution: “always output the empty set”

https://dl.acm.org/citation.cfm?id=2946713

Wir wissen nicht, was der gelernt hat

[Tetris:] Agent pauses the game indefinitely to avoid losing

https://www.cs.cmu.edu/~tom7/mario/mario.pdf

KI für Fraud Detection?

Haben Sie E-Mail?

Mit Spamfilter?

Das ist simple Bayes-Statistik.
Spamfilter mit KI funktionieren deutlich schlechter.
M.W. ist kein einziger „mit KI“ im Einsatz, so schlecht sind die.

KI für Fraud Detection?

Denken Sie mal darüber nach!

Wenn das für Ihre E-Mail zu schlecht ist,
sollten wir dann damit Payment Fraud Detection machen?

Anmerkung

Das ist natürlich ein unfaires Argument, weil das nicht das exakt selbe Problem ist.

Mein Hauptargument gegen Fraud Detection mit KI ist, dass Fraud Detection schon ohne KI ein gelöstes Problem ist. Das Restrisiko ist um eine Größenordnung gesunken, die Gebühren nicht.

Aus meiner Sicht ist es daher nicht zu rechtfertigen, irgendwelche zusätzlichen Risiken einzugehen. Zumal die Ausrichtung des Sicherheits-Theaters der Banken in den letzten Jahren zu einer weitgehenden Haftungsumkehr zu Lasten des Kunden geführt hat.

KI für Fraud Detection?

Im Moment schützt Sie die Industrie vor sich selbst.

Aktueller Industrie-Trend: Umbenennen!
„Predictive Analytics with Machine Learning“ → Simple Bayes.
Die Leute wollen aus Hype-Gründen Machine Learning?
Verkaufen wir ihnen Statistik und schreiben ML drauf.

Vorschlag der BaFin zu KI

Auch bestimmte Verschlüsselungsverfahren, welche die Anwendung von BDAI-Methoden direkt auf verschlüsselten Daten erlauben, könnten genutzt werden, um die Resilienz gegenüber solchen Risiken zu stärken.

Nein.
Lassen Sie sich diesen Mist nicht aufschwatzen.
Das ist „homomorphe Verschlüsselung“ und ist Bullshit.
Hier wollen Akademiker ihre nächsten Papers finanziert kriegen.

Horrorszenario

Können Sie gar nicht! Ist unmöglich!

Randnotiz: „evolutionäre Algorithmen“

Ist dasselbe in grün.

Notieren Sie sich das!

Wer Ihnen KI verkaufen will, hofft, dass Sie KI nicht verstanden haben!

Und dass Ihre Freunde zu feige sind, zuzugeben, dass sie es auch nicht verstanden haben.

(Und will sämtliche Haftung auf Sie abwälzen)

Fallstudie 5: Quantencomputer.

Vorsicht: Alles sehr theoretisch

Berechenbarkeit

Die Komplexität ist relevant!

Grobe Komplexitätsklassen

P und NP

Bei P gibt es einen Algorithmus mit polynomieller Komplexität. Das kann immer noch unrealistisch viel sein bei großem Input.

Bei NP kann der Aufwand auch exponentiell steigen. Aber wenn wir eine Lösung sehen, können wir in polynomieller Zeit sagen, ob sie stimmt.

Probleme in P

Probleme in NP

NP: Details

Quantencomputer

Quantencomputer

Frage: Ist das universell?

Praktische Umsetzung

Analog-Computer

Quanten-Computer

Was kann man da machen?

Man wirft allen Voodoo drauf, den die Physik zu bieten hat! Reicht aber alles nicht.

Aktuelle „Quantencomputer“

Quanten-Fehlerkorrektur

Was war denn das mit Google gerade?

Googles Quantum Supremacy

Quantencomputer

Sorgen vor Quantencomputer

Hmm!

Verfahren, die vielleicht Mist liefern, nennt man in der Informatik „Monte Carlo-Verfahren“.
Ja, nach dem Casino. Weil es zocken ist, nicht Computing.

Hmm!

Verfahren, die möglicherweise nie fertig werden, nennt man in der Informatik „Las Vegas-Verfahren“.
Ja, nach dem Casino. Weil es zocken ist, nicht Computing.

Notieren Sie sich das!

Wer Ihnen Quantencomputer verkaufen will, hofft, dass Sie Quantencomputer nicht verstanden haben!

Und dass Ihre Freunde zu feige sind, zuzugeben, dass sie es auch nicht verstanden haben.

Zusammenfassung

See Also

Aus Zeitgründen war das hier nur ein kurzer Überblick.

Mehr Details zu Blockchain: https://ptrace.fefe.de/Blockchain/

Andere schlechte Idee, von der ich dringend abrate:
https://ptrace.fefe.de/Hackback/

Danke!

Wenn Sie jemanden brauchen, der in Ihrer Firma dem Management schlechte Ideen erklärt:

Man kann mich auch anheuern!

https://www.codeblau.de/