Tag Archives: maschinelles Lernen

Von der Datentransaktion zur Datenemission

Datenschutz ist regelmäßig ein Thema in diesem Blog, denn seine Schutzziele und Mechanismen überschneiden sich mit denen der IT-Sicherheit oder stehen mit ihnen in Wechselwirkung. Datenschutz ist auch regelmäßig der Gegenstand öffentlicher Debatten. Das ist einerseits verständlich, denn wir sind heute überall von vernetzter IT umgeben. Andererseits verlaufen solche Debatten oft bizarr, weil der Datenschutz politisch instrumentalisiert und mit sachfremden Aspekten vermischt wird. Dabei ist die Frage für sich und ohne Ballast schon schwer genug: Was soll, was kann, was bedeutet Datenschutz heute und in Zukunft?

Mit einem Aspekt dieser Frage habe ich mich zusammen mit Jürgen Geuter und Andreas Poller in einem Beitrag zur Konferenz Die Zukunft der informationellen Selbstbestimmung des Forums Privatheit Ende 2015 beschäftigt, der jetzt endlich im Konferenzband erschienen ist. Wir beschäftigen uns darin mit der Frage, wie sich die Paradigmen der Informationstechnologie seit der Entstehungszeit des deutschen Datenschutzrechts verändert haben und unter welchen Bedingungen Persönlichkeitsrechte im Zusammenhang mit der Datenverarbeitung heute geschützt werden sollen.

Der Datenschutz hat seine Wurzeln in den 1970er und 1980er Jahren. Das vorherrschende Verarbeitungsparadigma der EDV, wie man die IT damals nannte, war das der Datenbank. Darauf sind die Regeln des BDSG erkennbar zugeschnitten; sie geben der Datenerfassung und -verarbeitung ein Gerüst aus expliziten Transaktionen zwischen Betroffenen und verarbeitenden Stellen, mit denen die Betroffenen ihr Recht auf informationelle Selbstbestimmung wahrnehmen.

Heute prägen andere Paradigmen die Informationstechnik: die allgegenwärtige Vernetzung, die eine detaillierte Kontrolle durch explizite Transaktionen unpraktikabel macht, und das maschinelle Lernen, welches das Verständnis der Verarbeitungsvorgänge und die Einflussnahme darauf erschwert. Die Vorstellung einer expliziten Datenerhebung nebst informierter Einwilligung passt deshalb nicht mehr zur Technik und ihren vielfältigen Anwendungen.

Wir haben die neuen Bedingungen in eine Emissionsmetapher gepackt: Jeder von uns sendet fortlaufend Daten aus, die sich im Netz verbreiten und dort von verschiedenen Akteuren aufgefangen und verarbeitet werden, vergleichbar der Art und Weise, wie sich Licht von einer Lichtquelle im Raum ausbreitet. Das schließt Eingriffe nicht aus, aber sie müssen auf diese Verhältnisse zugeschnitten sein. Eine umfassende Lösung dafür können wir nicht präsentieren, aber wir diskutieren einige Ansätze.

Der ganze Beitrag:

Sven Türpe; Jürgen Geuter; Andreas Poller: Emission statt Transaktion: Weshalb das klassische Datenschutzparadigma nicht mehr funktioniert. In: Friedewald, M.; Roßnagel, A.; Lamla, J. (Hrsg.) (2017): Informationelle Selbstbestimmung im digitalen Wandel. Wiesbaden: Springer Vieweg DOI: 10.1007/978-3-658-17662-4_14, © Springer. [BibTeX]

Advertisements

Datenkrake Google (5/7): Daten besiegen die Logik

[InhaltTeil 1 Teil 2 – Teil 3 – Teil 4 – Teil 5 – Teil 6 (+Nachtrag) – Teil 7]

Die vorige Folge dieser Artikelserie behandelte die Frage, wie Maschinen lernen können. Diese Technik ist für Google ein zentrales und dienstübergreifendes Paradigma (freies PDF). Im Vorbeigehen bekommen wir damit eine Erklärung, warum die Metapher von Google+ als Facebook-Konkurrenz  nicht funktioniert (vgl. Teil 1). Facebook (der Dienst) ist für Facebook (die Firma) der Kern des Geschäftsmodells. Für Google dagegen ist maschinelles Lernen aus allen Daten dieser Welt der Kern des Geschäftsmodells – und Google+ vor allem eine weitere Quelle interessanter Daten. Wer interagiert wie mit wem? Welche Inhalte verbreiten sich in welchen Kreisen? Wie reagieren Nutzer auf personalisierte Suchergebnisse? Welche Transformationen durchläuft ein Gerücht? Welche Merkmale unterscheiden ein Mem von einem Shitstorm? Alleine die Liste der Fragen, zu denen man mit Googles Philosophie der Datenverarbeitung in Google+ nach Antworten suchen könnte, scheint endlos. Mit Facebook hat Google+ deshalb nur einige oberflächliche Funktionen gemeinsam, es dient aber – mutmaßlich – einem ganz anderen Zweck.

Künstliche Intelligenz, diesmal richtig

Doch funktioniert das überhaupt? Ist die KI nicht tot? Das ist sie, aber Google macht gerade keine klassische KI. Anfangs versuchte man in der KI, alle wesentlichen Aspekte eines Problems in nachvollziehbare Regeln zu fassen. Man versuchte also, Gehirne sich selbst beschreiben zu lassen. Das war ungefähr so schlau wie der Versuch, eine Turing-Maschine Aussagen über Turing-Maschinen machen zu lassen, aber irgendwo musste man ja anfangen und das Internet als reichhaltige Datenquelle gab es auch noch nicht.

Letztlich geht es auch im Google-Ansatz um Regeln, aber formuliert werden sie nun unter Verwendung aller verfügbaren Daten und ohne die Notwendigkeit, dass ein Mensch diese Regeln nachvollziehen kann. Dass dabei bessere Regeln herauskommen können als aus menschlichen Gehirnen, gerade wenn das Problem kompliziert ist, zeigt ein Beispiel aus der IT-Sicherheit.

Bozorgi et al. beschäftigen sich in ihrem Paper Beyond Heuristics: Learning to Classify Vulnerabilities and Predict Exploits (freies PDF) mit der Vorhersage der Exploit-Wahrscheinlichkeit aus Verweundbarkeitsmeldungen. Gefundene Verwundbarkeiten in Software dokumentiert die Security-Community in Datenbanken, zum Beispiel der CVE oder der OSVDB. Ein Bewertungsschema für Verwundbarkeiten ist der CVSS-Score, ein Wert zwischen 0 und 10, der die Schwere des Problems angibt. 10 ist ganz schlimm, 0 völlig harmlos. Dieser Score wird auf eine nachvollziehbare und sinnvoll erscheinende Weise aus einer Reihe von Parametern gebildet. Für eine gegebene Verwundbarkeit in einer Software oder in einem System kann man sich den Score aus einigen Einschätzungen zusammenklicken und das Ergebnis stimmt meistens mit der Intuition des Fachmanns überein.

Computer schlägt Experten

Man sollte meinen, dass dieser Wert einen Anhaltspunkt liefert, ob ein Security-Bug nach seiner Entdeckung auch für Angriffe ausgenutzt wird – die mit dem Score 10 oft, die mit dem Score 0 nie. Bozorgi et al. zeigen jedoch, dass der CVSS-Score darüber wenig voraussagt, und stellen dem ihm einen angelernte Klassifikatoren gegenüber. Diese Klassifikatoren benutzt die gesamte Verwundbarkeitsdokumentation und liefert weit bessere Vorhersagen darüber, ob und wie schnell eine Verwundbarkeit ausgenutzt wird oder nicht.

Der verwendete Merkmalsraum hat 93.578 Dimensionen, die meisten abgeleitet aus Textfeldern wie den Namen der betroffenen Produkte oder den Freitextbeschreibungen des jeweiligen Sicherheitsproblems. Viele Dimensionen sind binär und geben einfach an, ob bestimmte Worte, zum Beispiel Buffer, in bestimmten Teilen eines Berichts vorkommen. Klassifikator lernt Cluster für ausgenutzte sowie für nicht ausgenutzte Verwundbarkeiten. Nebenbei liefert dieser Klassifikator noch einen Score, der sich daraus ergibt, wie weit eine Verwundbarkeitsmeldung nach der Merkmalsextraktion von der Clustergrenze entfernt liegt. Was tief im Cluster liegt, ist den anderen Punkten dort sehr ähnlich; was nahe der Grenze liegt, könnte nach kleinen Änderungen auch auf der anderen Seite, im anderen Cluster landen.

Das wirkt alles ein wenig wie Zauberei. Im Grunde genommen tut Google aber nichts anderes als unser Gehirn, nur ohne den Filter unserer Sinnesorgane, ohne Abgleich mit Lehrbuchwissen und mit viel mehr Daten und Aspekten dieser Daten als uns normalerweise bewusst werden. Google lernt Sprachen – oder Expertenintuition – wie wir, nur schneller und ohne den Umweg über Übungen und explizite Regeln direkt aus Beispielen und Feedback. Und wir sind die Lehrer.

Im nächsten Artikel werden wir uns damit beschäftigen, wie man mit lernenden Maschinen Werbeeinblendungen optimiert.

Datenkrake Google (4/7): Lernende Maschinen

[InhaltTeil 1 Teil 2 – Teil 3 – Teil 4 – Teil 5 – Teil 6 (+Nachtrag) – Teil 7]

In der dritten Folge der Artikelserie haben wir betrachtet, dass Google aus Crowdsourcing und Statistik nützliche Funktionen und Dienste baut und dabei aus dem Netz und von seinen Nutzern lernt. Wie funktioniert dieses Lernen?

Eine globale Tankstelle

Stell Dir vor, wir wären die Tankstelle der Welt. Wir verkaufen jede Sorte Treibstoff, die jemals irgendwo entwickelt, benannt und angeboten wurde, jeweils an einer eigenen Zapfsäule. Bei uns tanken deutsche Autofahrer Diesel, Super und Super Plus, Spanier 95 sin plomo und gasóleo, Japaner Hai-oku und Keiyu, Ossis in alten Trabis ihr Zweitaktgemisch VK 88 1:33 und afghanische Taliban brennbare Flüssigkeit aus Fässern und Flaschen.

Unsere Tankstelle ist riesig und unübersichtlich. Wie schicken wir jeden Fahrer mit seinem jeweiligen Fahrzeug an die richtige Säule? Wir könnten unsere Kunden nach ihren Wünschen fragen, aber dazu müssten wir all ihre Sprachen sprechen. Manche Kunden wüssten auch gar nicht, was sie tanken wollen, weil sie gerade in einem geliehenen Fahrzeug sitzen oder weil sie vergesslich sind oder weil ihre robuste russische Technik alles schluckt, was flüssig ist und brennt.

Unsere Kunden hätten zudem unterschiedliche Präferenzen, die teils mit ihren Fahrzeugen zusammenhängen, teils aber auch nicht. Während Mutti ihren Kleinwagen immer genau so betanken möchte, wie es ihr der nette Mann in der Werkstatt schon dreimal aus gegebenem Anlass erklärt hat, ist das Verhalten von Top-Verkäufer Johannes E. komplizierter. Gewohnheitsmäßig kippt er Super++ in seinen Audi, geht eh’ auf Spesenrechnung und man gönnt sich ja sonst nichts. Ist er aber spät dran und ein Kunde wartet, nimmt er die erstbeste freie Säule, an der er sein Auto nicht kaputtmacht. Dann ist 95 sin plomo eine Alternative zur Schlange an der Super++-Säule, das kennt er aus seinem Urlaub auf Mallorca. Wenn Du mit Johannes E. redest, wirst Du davon allerdings nichts erfahren, weil ihm das selbst nicht so bewusst ist. Seine Bedürfnisse zeigen sich erst, wenn Du sein Verhalten beobachtest. Seine Verhaltensmuster können sich übrigens jederzeit ändern, zum Beispiel weil Johannes E. die Firma und damit den Firmenwagen gewechselt hat. Plötzlich sitzt Johannes E. in einem Mercedes und ein anderer in seinem Audi.

Eine Datenbank hilft uns nicht

Eine klassische Datenbank hilft uns in dieser Situation wenig. Führen wir sie über Fahrzeuge oder Fahrezugtypen, verlieren wir die Fahrerpräferenzen; führen wir sie über Fahrer, bekommen wir deren Wechsel vom Diesel zum Erdgas nicht mit. Bilden wir Paare von Auto und Fahrer, haben wir lauter Spezialfälle in der Datenbank und scheitern jedesmal, wenn eine unbekannte Paarung vorfährt, etwa weil Johannes E. eine Panne hatte und heute einen Mietwagen betankt. Was wir stattdessen haben wollen, ist ein Klassifikator, der fast immer die richtige Entscheidung trifft und dabei vorhandene Informationen generalisiert. Außerdem möchten wir, dass sich unser Klassifikator anpasst, wenn sich die Welt verändert. Wir möchten ihm nicht jede Woche die neuesten Gerüchte aus der Auto BILD und deren Auswirkungen auf seine Tätigkeit einprogrammieren, das soll er schön selbst lernen.

Merkmalsextraktion

Solch einen Klassifikator können wir bauen, und wir können ihn lernfähig machen. Dazu überlegen wir uns zunächst, welche beobachtbaren Merkmale ein Auto nebst Fahrer hat: Farbe, Kennzeichen, Abmessungen, Motor- und Fahrgeräusche, Felgen- und Reifentyp, Anhängerkupplung, Dachgepäckträger, Sauberkeit, Anzahl der Türen, Spoiler, Spracheinstellung des Navigationssystems, eingestellter Radiosender; beim Fahrer Hautfarbe, Körpergröße, Haarschnitt, Gesichtsbehaarung, Kleidung, Gesichtsausdruck und so weiter. Wir sammeln also erst mal alle Merkmale ein, die wir messen können. Welche dieser Daten wir am Ende wirklich brauchen, wissen wir noch nicht genau, voraussichtlich von allen ein bisschen.

Jedes messbare Merkmal liefert uns eine Dimension in einem vieldimensionalen Raum. Fährt ein Auto an unserer Tankstelle vor, können wir es in allen Dimensionen messen und danach als Punkt in diesem Raum darstellen. Kleine Abweichungen, zum Beispiel durch den Wechsel von Winter- zu Sommereifen, führen zu kleinen Verschiebungen im Raum. Große Unterschiede, etwa zwischen Muttis Kleinwagen und Bennos Umzugslaster mit ihren jeweiligen Fahrern, führen zu großen Abständen.

Merkmalsraum in den Dimensionen Farbe und Länge mit Datenpunkten für einige Fahrzeuge. In Wirklichkeit würde man die Farbe als Hue/Saturation/Value darstellen und zur Länge noch die Breite und die Höhe nehmen. Das wären bereits sechs Dimensionen und immer noch ein vereinfachtes Modell.

Unser Klassifikator soll uns zu jeder Eingabe – einem Punkt im Raum, der unsere Messwerte zu einem Fahrzeug repräsentiert – eine oder mehrere wahrscheinlich passende Zapfsäulen ausgeben.

Feedback

Wenn unsere Kunden mitdenken und ohne Einweisung oder nach einer falschen Empfehlung selbständig eine für sie richtige Zapfsäule aufsuchen, können wir ihr Verhalten beobachten und daraus lernen. Jedesmal wenn jemand bei uns tankt, bekommen wir ein Datensample, einen Punkt im Raum und die für diesen Punkt richtige Entscheidung. Diese Samples sammeln wir sortiert nach richtigen Entscheidungen. Diese Sammlung könnten wir uns noch als Datenbank vorstellen, in der für jede Zapfsäule sämtliche Merkmale der dort beim Tanken gesehenen Auto-Fahrer-Paare hinterlegt sind. Das sind aber nur Rohdaten und wir werden gleich sehen, dass wir sie gar nicht auf Vorrat in einer Datenbank speichern müssen.

Automatische Verallgemeinerung

Unser Klassifikator soll diese Rohdaten generalisieren können, das heißt auch für solche Datenpunkte gute Entscheidungen treffen, für die bisher keine Beobachtungen vorliegen. Repräsentiert unser Datenraum alle oder die meisten für die Klassifikation relevanten Merkmale, so bilden die Rohdaten zu jeder möglichen Entscheidung einen Cluster: sie liegen näher beieinander als sie zu den Datenpunkten anderer Cluster liegen. In den Randbereichen kann es zu Überschneidungen kommen. Das liegt entweder an verrauschten Daten aufgrund von Messfehlern, oder an fehlenden Merkmalen. Beispielsweise könnten uns einige Parameter fehlen, die das Verhalten unseres Tankchaoten Johannes E. erklären würden, weil wir seinen Terminkalender nicht kennen.

Die maßgebliche Nachbarschaft zwichen den Datenpunkten eines Clusters besteht dabei oft nur in ausgewählten Merkmalsdimensionen, da nicht alle Merkmale gleichermaßen relevant sind. Welche Dimensionen das sind, kann sich von Cluster zu Cluster unterscheiden. Wir könnten an unserer Tankstelle zum Beispiel beobachten, dass rote deutsche Sportwagen fast immer Super tanken, während Lkw sowie silbergraue und schwarze Mittelklassewagen Diesel bevorzugen. Dieser Cluster ließe sich mit den Merkmalen Farbe und Größe recht genau beschreiben. Gleichzeitig könnten wir beobachten, dass Japaner unabhängig von Autotyp und Farbe stets die Säule Hai-oku bevorzugen, weil es ihnen als unhöflich gilt, öffentlich billigen Diesel zu tanken. Daraus ergibt sich wiederum für die anderen Cluster, dass dort das Merkmal Nationalität eine Rolle spielt, und sei es nur die, Japaner aus dem Cluster auszuschließen.

Repräsentanten für Cluster

Damit unser Klassifikator gut funktioniert, benötigt er Beschreibungen der einzelnen Cluster, ihrer Clustergrenzen und ggf. der Überschneidungen mehrerer Cluster. Um einen Datenpunkt zu klassifizieren, also eine Entscheidung zu treffen, müssen wir ihn dem passendsten Cluster zuordnen. Erweist sich eine Klassifikation als falsch, so wollen wir außerdem die betroffenen Clusterbeschreibungen anpassen, ohne uns jedoch von einzelnen Ausreißern unsere Statistik kaputtmachen zu lassen. Anstelle der Rohdaten im Datenbankformat verwendet man dafür Repräsentanten: für jeden Cluster bestimmt man einen Satz von Punkten, der diesen Cluster gut repräsentiert. Diese Repräsentanten liegen irgendwo zwischen den Rohdatenpunkten; ihre Anzahl ist in der Regel geringer.

Für das Beispiel von eben bekämen wir als Repräsentanten des Clusters zur Zapfsäule Hai-Oku gemittelte Erkennungsmerkmale japanischer Fahrer, für Super die gemittelten Merkmale von Sportwagen mit Fahrern, in deren Land Sportwagen Super tanken, und für Diesel gemittelte Merkmale von Lastern sowie von langweilig kolorierten Mittelklassewagen. Die Cluster können komplizierte Formen haben und müssen nicht zusammenhängen, deswegen mehrere Repräsentanten.

Repräsentanten der Klassen Diesel und Super im vereinfachten Merkmalsraum. Datenpunkte – durch Kreuze dargestellt – lassen sich anhand ihrer Entfernung zu den Repräsentanten einer Klasse zuordnen. Ein roter Kleinbus mit Anhänger würde an der Diesel-Säule landen.

Um einen neuen Datenpunkt zu klassifizieren, suchen wir uns den oder die n nächstgelegenen Repräsentanten zu diesem Punkt und bestimmt daraus die Wahrscheinlichkeit der Clusterzugehörigkeit. Wir schicken das Fahrzeug an die Zapfsäule, deren Cluster die höchste Wahrscheinlichkeit hat. Klasse (d.h. Zapfsäule) und  Wahrscheinlichkeit die Ausgaben des Klassifikators. Erweist sich die Entscheidung als falsch, analyisieren wir den Fehler und berechnen Korrekturen für die betroffenen Repräsentanten. Diese Korrekturen halten wir klein, Repräsentanten werden nur ein Stückchen in die richtige Richtung verschoben. Das macht unseren Klassifikator robust gegen einzelne statistische Ausreißer. Erst wenn systematische Fehler auftreten, akkumulieren sich viele gleichartige Korrekturen zu einer nennenswerten Verschiebung der Repräsentanten und Clustergrenzen. Beginnen können wir mit zufällig verteilten Repräsentanten; unser Klassifikator wird dann anfangs viele Fehler machen und schnell lernen.

Die Nutzerdaten werfen wir weg

Die ursprünglich erfassten Rohdaten, die gemessenen Merkmalswerte, können wir nach Verwendung wegwerfen. Dass Mutti beim Betanken ihres Kleinwagens immer eine Alditüte mit Einkäufen auf dem Beifahrersitz liegen hat, geht vielleicht als Merkmal in die Klassifikation ein – steht am Ende aber in keiner Datenbank. Wir brauchen diese Information nicht, unseren Klassifikator interessiert nur, ob der das Merkmal Alditüte berücksichten muss und falls ja, was es über die Clusterzugehörigkeit aussagt.

Wer genauer wissen möchte, wie statistische Inferenz und maschinelles Lernen funktioniert, und sich von Formeln nicht abschrecken lässt, findet im Buch Information Theory, Inference, and Learning Algorithms von David MacKay eine hervorragende und umfangreiche Einführung; das komplette Buch mit seinen 600 Seiten gibt es online als PDF-Datei. [Bevor Ihr jetzt anfangt zu drucken: die Amazon-Lieferung dauert auch nicht viel länger.]

In der nächsten Folge schauen wir uns die Leistungsfähigkeit und einige Implikationen dieses Ansatzes an.