Wie die Frage, ob Machine Learning eine Black Box ist, wieder einmal nicht geklärt wurde

Dies ist Teil 2 eines Gesprächs, dessen erster Teil – Titel: „Rechenzentrumsarscombinatoria“ – sich hier befindet.

Kathrin Passig: Ich habe 2012 einen Artikel geschrieben über Algorithmenkritik und habe darin einen Text über den Netflix Prize erwähnt. Darin stand, dass die Entwickler des Empfehlungsalgorithmus oft selbst nicht rekonstruieren können, wie so eine Netflix-Empfehlung jetzt eigentlich zustande gekommen ist. 1 Ich habe leichtfertig in meinen Text reingeschrieben, dass das eben so ist, dass die Entwickler auch nicht mehr durchblicken, aber das ärgert mich seitdem immer wieder, weil ich bis heute nicht weiß, ob es stimmt. Insbesondere seit dann immer mehr Texte aufgetaucht sind, in denen kenntnislose Leute generell ‘Algorithmen’ als Black Box beschreiben. Ich habe dann immer ein schlechtes Gewissen, weil ich denke, ich habe selbst auf dieses Konto eingezahlt und wahrscheinlich stimmt das gar nicht, was ich da behauptet habe. Das wurde ja dann immer mehr, also auch mit der Ausbreitung dieses Algorithmusbegriffs, seit 2010 …

Arne Janning: Seit Schirrmacher …

K.P.: Genau, seit Schirrmacher, der an allem schuld ist. Da stecken so viele ungeklärte Fragen drin: Was bedeutet Black Box? Was bedeutet Unzugänglichkeit? Unzugänglich für uns Normalnutzer oder unzugänglich wirklich auch für die Entwickler selbst? Und Machine Learning ist der letzte Schritt in dieser Debatte, in der es jetzt wieder heißt: Bisher konnte man noch alles verstehen, aber jetzt kommt Machine Learning, jetzt kann man es nicht mehr verstehen. Alles vorher – also auch die bisher kritisierten Empfehlungsalgorithmen – gilt jetzt wieder als offene, transparente Software, in die man reinschauen konnte, aber jetzt … Jedenfalls habe ich die Hoffnung, dass du erklären kannst, ob das überhaupt stimmt.

A.J.: Ja, zunächst mal müsste man halt klären, was “verstehen” in diesem Kontext eigentlich heißt. Tatsächlich ist es so, dass man, wenn man auf neuronale Netzwerke schaut, im Nachhinein sehr gut erkennen kann, welche Neuronen wie gefeuert haben; also welche Neuronen für welche Entscheidungen zuständig waren. Das kann man sogar sehr schön visualisieren, es gibt auch Beispiele dafür, so dass man ex post, also im Nachhinein, sehr gut rekonstruieren kann, wie jetzt ein Ergebnis zustande gekommen ist, zum Beispiel ein Klassifizierungsergebnis. Es ist sogar so, dass man in neuronalen Netzwerken besser sehen kann, wie ein Ergebnis zustande gekommen ist, als mit den linearen Funktionen, die vorher benutzt wurden und die jetzt ersetzt werden durch Deep bzw. Machine Learning.

K.P.: Warum?

A.J.: Naja, wenn du auf so eine Formel schaust; oder auf mehrere solcher Funktionen draufschaust, dann siehst du auch nicht von vornherein, ich als Laie schon gar nicht …

K.P.: Aber es ist auch nicht grundsätzlich unrekonstruierbar.

A.J.: Es ist auch nicht grundsätzlich unrekonstruierbar, aber es wird jetzt nicht schlimmer durch Machine Learning. Im Gegenteil ist es in der Machine Learning Community eher so, dass es lesbarer wird.

K.P.: Ich habe dich, glaube ich, falsch verstanden, als wir da schon mal kurz drüber geredet hatten. Damals hast du gesagt, man müsse ja auch mal gucken, mit welchem wünschenswerteren Zustand man vergleicht. Und ich dachte, du meinst damit: Wenn zum Beispiel die Buchhändlerin eine Empfehlung erteilt, wissen wir noch weniger als bei einem Empfehlungsalgorithmus, wie sie dahin gelangt ist. Die Buchhändlerin ist noch viel mehr Black Box.

A.J.: Das wäre aber eine andere Frage: ob nicht durch die Algorithmisierung tatsächlich Wissen eher sichtbar wird, was sonst einfach nur so implizit vorhanden ist. Ich habe ein Beispiel dafür: Es gibt tatsächlich in den USA den Fall, dass man probabilistisch, also wahrscheinlichkeitstheoretisch ausrechnet, wie viel Erfolg Einwanderer wohl haben könnten: also ob man sie nehmen sollte, oder nicht. Und tatsächlich gibt es diesen einen Fall, wo in die Rechnung eingegangen ist, welche Haarfarbe die Frau hat (sofern es um eine Frau geht). Denn wenn die Frau blond ist, besteht größere Wahrscheinlichkeit, dass sie auf dem Heiratsmarkt schneller einen einheimischen Mann finden wird. Nun kann man sagen, das ist ja grauenvoll, dass solche Variablen in so eine Rechnung eingehen. Man kann aber auch auf der anderen Seite sagen: das ist implizites Wissen, was in Entscheidungsprozessen vorher auch schon eine Rolle gespielt hat, nur jetzt wird das explizit gemacht, eben dadurch, dass man es in Software gegossen hat. Ich würde dann eher behaupten, dass es dadurch lesbarer, nachvollziehbarer, transparenter und diskutierbarer wird. Es ist nämlich, dadurch, dass es in Software gegossen worden ist, überhaupt erst diskutierbar geworden, was möglicherweise sonst behördeninternes, nicht zugängliches Wissen gewesen wäre, wonach immer schon entschieden wurde: Ist das jetzt eine schwarze, kraushaarige Frau oder ist das eine weiße, blonde Frau; das wird immer schon einen Unterschied gemacht haben.

K.P.: Womit vergleicht man eigentlich, wenn man sagt: Jetzt haben wir es mit einer Black Box zu tun, vorher war es nicht so? Würdest du sagen, es ist weder jetzt so, noch war es vorher so? Es ist nur in beiden Fällen kompliziert, den Weg nachzuvollziehen, und nicht unbedingt jetzt komplizierter als vorher? Hast du dir den HackerNewsLink angeschaut, den ich dir geschickt habe mit der Diskussion, wo diverse Entwickler sich in der Frage sehr uneinig sind: Kann man bei neural networks den Entscheidungsweg nachvollziehen oder nicht?

A.J.: Es ist halt wiederum die Frage, was heißt ‚verstehen’ und ‚nachvollziehen’ in diesem Moment? Natürlich werfe ich Daten in eine Machine Learning Engine rein und weiß oft nicht so genau, was da hinten bei rauskommt, das ist richtig. Aber im Nachhinein, wenn ich dann weiß, was rausgekommen ist, kann ich sehr wohl nachvollziehen, warum das rausgekommen ist, was rausgekommen ist.

K.P.: Okay, aber was heißt ‚nachvollziehen’? Also diese Daten fahren da ja je nach Komplexität der Software auf eine zumindest schwierig nachvollziehbare Weise ein paar Mal im Kreis, werden noch einmal mit unterschiedlichen Gewichtungen versehen und so weiter. Selbst wenn ich mich jetzt hinsetze, das alles nachverfolge und darüber nachdenke, werde ich ja nicht unbedingt klüger dadurch: Also ist das einerseits nicht grundsätzlich undurchschaubar, andererseits auch nicht in irgendeiner praktischen Weise verständlich, oder?

A.J.: Ja … ich weiß aber nicht genau, worauf du hinauswillst.

K.P.: Also, es ist keine Black Box, man kann sehen, was da passiert. Es ist aber zumindest in manchen Fällen, auch wenn du es aufgeschlüsselt hast, immer noch so komplex, dass es dir beim Verständnis nicht wirklich weiterhilft. Das wäre jetzt zumindest meine Vermutung. Und kommt das dann nicht de facto auf dasselbe raus? Hat der Kritiker dann an der Stelle nicht doch recht, wenn er sagt: Wir können es nicht mehr verstehen, auch wenn es prinzipiell möglich wäre, aber erstens macht sich niemand die Mühe, und zweitens hat man eigentlich nichts davon, selbst wenn man sich die Mühe macht. Aber natürlich ist das an vielen anderen technischen und gesellschaftlichen Stellen genauso.

A.J.: Naja, dann wäre halt eher so die Fragerichtung: Da werden ja Wissensansprüche gestellt. Es wird gesagt, wir haben jetzt über welches Verfahren auch immer, Machine Learning, Deep Learning, irgendwas, wir haben da jetzt Entscheidungen getroffen. Wenn man sich anschaut, wo jetzt die Hauptanwendungsgebiete von Machine Learning sind, dann ist das sowas wie Risikoberechnung im Finanzsektor, militärische Planung, Klassifizierungen; es resultieren ja Ergebnisse daraus. Also Leute werden klassifiziert: Du kriegst den Kredit oder du kriegst ihn nicht; du landest auf einer Kill-Liste oder du landest nicht auf einer Kill-Liste. Es werden Wissensansprüche gestellt, die aus dem Machine Learning resultieren. Wir haben jetzt über Machine Learning irgendetwas rausgefunden und dann ist eben die Frage, wenn das dann tatsächlich Auswirkungen hat – muss man dann nicht transparent machen, wie man zu diesen Ergebnissen gekommen ist, um das nachvollziehbar zu machen? Und da ist zumindest die Nachvollziehbarkeit technisch gesehen nicht geringer geworden als vorher.

K.P.: Aber das Problem bisher in der Debatte ist, dass es selten so spezifisch ausformuliert wird. Felix Stalder hat bei der Podiumsdiskussion zur Vorstellung von “Kultur der Digitalität” in Berlin gesagt, dass die Algorithmen von Google und Facebook auch prinzipiell undurchschaubar sind. Und ich glaube, das stimmt halt nicht. Bei Google schon gar nicht, denn es gibt noch andere Suchmaschinen als Google und du kannst vergleichen, was zeigen die dir, was zeigt Google dir nicht. Bei Facebook ist es ein bisschen mühsamer, weil es nur ein einziges Facebook gibt, aber auch da kannst du nachschauen: Was hat denn jemand anderer alles geschrieben und wie viel davon taucht in deiner eigenen Timeline auf? Wenn man es noch gründlicher angehen will, kann man von unterschiedlichen Accounts aus nachsehen und dann vergleichen. Es ist umständlich, aber nicht unmöglich.

A.J.: Also zunächst einmal wissen wir relativ genau wie Recommender Engines zum Beispiel funktionieren; da gibt es verschiedene Sorten davon, es gibt Lehrstühle für sowas, es gibt Fachliteratur dazu, es gibt Vernetzung dazu, da laufen auch Facebook-Mitarbeiter rum. Facebook publiziert mittlerweile auch relativ viele Papers, Facebook schreibt auch auf ihrem Entwicklerblog relativ detailliert, was die da eigentlich machen. Und es ist nicht so, dass man jetzt zunächst einmal grundsätzlich nicht verstehen könnte, erstens welche Technologien sie verwenden – das ist nämlich das, was derzeit alle verwenden, also nichts Besonderes –, und was sie da ganz grundsätzlich machen. Dass in einem Konzern wie Google oder Facebook dann ganz unterschiedliche Stakeholder an dem Prozess beteiligt sind, wie dann die genaue Ausformung der Software aussieht; also da sind natürlich Entwickler dran beteiligt, da sind Programm-Manager beteiligt, die eine bestimmte Funktion implementieren wollen, da sind die Frameworks dran beteiligt, mit denen sie arbeiten, dann sind da Rechenzentrumsleute beteiligt, die den Code dann nochmal wieder optimieren, damit der dann auch gut auf dem Server läuft. Da mögen auch politische Einflussnahmen mit drinnen sein; und ich glaube, dieses Geflecht bekommt man relativ schwer wieder entwirrt, weil es in so einem Konzern einfach zu viele Ebenen gibt und Konzerne wie Google oder Microsoft sind zunächst einmal riesige Bürokratien. Es ist ja nicht so, dass da irgendwo Entwickler sitzen und sich den Algorithmus ausdenken und der Algorithmus dann auf die Maschinen verlagert wird und die nur noch ausführen lässt, sondern da sind ja ganz viele Zwischenschritte mit ganz vielen unterschiedlichen Interessen und ganz unterschiedlichen Hintergründen dazwischen. Ich glaube, in dem Moment ist es schwierig, das alles wieder auseinanderzudröseln, es sei denn man ginge mal feldforschungshalber ins Facebook-Headquarter und schaute den Leuten auf die Finger, was die da genau tun. Ich kenne jedenfalls keine Forschung in der Richtung. Grundsätzlich wissen wir aber schon, welche Techniken dort verwendet werden.

K.P.: Man müsste sauberer trennen in der Diskussion zwischen “das ist für den Endanwender undurchschaubar” und – eine Behauptung, die in diesem Zusammenhang häufiger gemacht wird – “das ist schon für die Entwickler selbst undurchschaubar”. Ich weiß gar nicht, warum das gemacht wird, denn für das Argument müsste es ja eigentlich genügen, zu sagen, es ist für den Endanwender undurchschaubar. Warum geht man dann immer auch gleich einen Schritt weiter und behauptet, es sei für die Entwickler auch so?

Wir lesen gemeinsam eine Stelle in Felix Stalders “Kultur der Digitalität”:

“Kurz: Man setzt Algorithmen ein, um neue Algorithmen zu schreiben beziehungsweise deren Variablen zu bestimmen. Wird nun dieser reflexive Prozess wiederum in einen Algorithmus eingebaut, wird dieser »selbstlernend«: Die Programmierer legen nicht die Regeln für seine Ausführung fest, sondern Regeln, nach denen der Algorithmus lernen soll, ein bestimmtes Ziel zu erreichen. Seine Lösungsstrategien sind in vielen Fällen so komplex, dass sie sich nicht einmal im Nachhinein nachvollziehen lassen. Sie können nur noch experimentell, aber nicht mehr logisch überprüft werden. Solche Algorithmen sind im Grunde Black Boxes, Objekte, die nur über ihr äußeres Verhalten verstanden werden können, deren innere Struktur sich aber der Erkenntnis entzieht.”

A.J.: Ich verstehe schon seinen Punkt, ich glaube so ganz falsch ist das nicht. Die Frage ist nur, auf welcher Ebene diskutiert man dieses Problem? Man könnte jetzt ganz ganz tief runtergehen und sich verschiedene Typen von neuronalen Netzen anschauen. Da gibt es zum Beispiel einen bestimmten Typ, der sich Boltzmann Machines nennt, wo dann die Neuronen nicht mehr Nullen oder Einsen produzieren und sagen: feuern oder nicht feuern, sondern sozusagen Häufigkeitsverteilungen abbilden und dann kommen da Entropie- und Thermodynamik-Konzepte und stochastische Verteilungen mit rein und dann wird es wirklich schwieriger. Also wenn man das so ganz auf der untersten Ebene diskutieren möchte, dann wird es extrem technisch und dann müsstest du eigentlich einen Physiker dazuziehen oder einen Astrophysiker, der dir dann erklärt, was da dann genau passiert. Auf der anderen Seite sind nicht alle neuronalen Netzwerke heute Boltzmann-Maschinen: einige schon, andere weniger – und die Engines, über die wir da gerade reden, eher weniger; also die sind im Nachhinein zumindest durchaus verständlich. Schwieriges Problem.

K.P.: Welche Funktion, glaubst du, hat diese Behauptung “Nicht nur wir Endanwender können das nicht durchschauen, auch die Entwickler können das nicht durchschauen?”

A.J.: Puh. Ich weiß es nicht. Man müsste vielleicht weiter diese Spur der … Nein, kriege ich jetzt nicht zusammen.

K.P.: Ich habe voriges Jahr mal mit Philipp Theisohn geredet, nachdem der bei einer Diskussion in der Schweiz auch wieder sagte, dass der Algorithmus ein grundsätzlich undurchschaubares Ding ist. Ich habe hinterher mit ihm darüber geredet und da sagte er, er sei halt Kittler-Schüler und da gehöre das zu den Glaubensgrundsätzen. Dazu verstehe ich zu wenig von Kittler, gar nichts eigentlich. Weißt du da irgendwas über den Zusammenhang?

A.J.: Ich bin jetzt auch nicht der größte Kittler-Spezialist. Kittler ist, glaube ich, auch egal. [Kathrin lacht herzlich.] Das müsste man wissenschaftshistorisch wieder erst mal aufdröseln, wie er dazu kam. Das bringt uns aber, glaube ich, in der aktuellen Diskussion auch nicht weiter.

K.P.: Aus heutiger Sicht würde man ja sagen, damals zu Kittlers Zeiten konnte man ja noch wirklich alles bis zur untersten Ebene des Systems verstehen. Das seien die paradiesischen Zeiten gewesen, in denen jeder Entwickler seine Umgebung bis zum letzten Bit vollständig im Griff hatte. Angenommen, es ist wirklich so, wie ich Theisohn verstanden habe – auf welcher Basis konnte man denn damals behaupten, dass da etwas grundsätzlich nicht mehr Verstehbares passiert?

A.J.: Ja, müsste man mal nachschauen, weiß ich auch nicht. Aber es ist natürlich so, dass ich als Entwickler schon noch über meine Programmierweise, Software und die Bibliotheken, mit denen ich arbeite, Bescheid weiß – aber was dann so auf den unteren Ebenen passiert, da nimmt dann das Wissen normalerweise immer weiter ab. Und was dann eigentlich auf den Prozessoren genau passiert, das weiß der typische Java-Entwickler oder der typische C#-Entwickler  oder der typische PHP-Entwickler auch nicht. Das ist ja das Simple am Betriebssystem: das ich mich als Entwickler nicht darum kümmern muss, “mach jetzt mal die Festplatte an und mach mal, dass die Festplatte rotiert und dann positionier den Lesekopf und dann schreib mir diese meine Bits und Bytes irgendwohin”, sondern ich sag einfach nur: “Speicher mir eine Datei ab!” Und mir ist es ja als Entwickler dann schon egal, ob das dann überhaupt eine Festplatte ist, die sich dreht oder ob es eine SSD ist; das ist ja von meinem Standpunkt aus völlig abstrahiert, und ob die Datei dann bei mir auf meinem lokalen Rechner oder irgendwo in der Cloud liegt, ist mir dann eigentlich auch egal. Nur, welches Argument kann man damit machen? Es gibt natürlich ganz vieles, von dem man eigentlich so annimmt, dass es funktioniert und worauf man sich verlässt, wovon man aber auch als Entwickler nicht notwendigerweise etwas wissen muss. Viel wissen muss man in dem Moment, wo die Dinge schiefgehen. Dann lohnt es sich, dass man Wissen von darunter liegenden Ebenen hat, und das unterscheidet dann auch den Allerweltsprogrammierer von wirklich guten Programmieren, die halt wissen, was unten drunter passiert, was enorm hilft bei der Fehlerfindung.

K.P.: Aber auch dann nicht bis ganz unten.

A.J.: Auch dann nicht bis ganz unten.

K.P.: Heute hört man ja noch von Leuten in unserem Alter, damals in den Achtzigern hätte man noch alles verstanden. Ich vermute aber doch, dass es daran liegt, dass ich keinen der ganz alten Entwickler kenne, denn wahrscheinlich hätten die in den Achtzigern schon gesagt: „Ja, diese jungen Hüpfer von heute, die verstehen ja nur noch die Software, wir haben damals auch die Hardware bis ins letzte Atom verstanden.“

A.J.: Ja, aber letztendlich kann man die Hardware auch noch verstehen, man kann in Assembler programmieren; aber ob man die Halbleiterphysik versteht, die dann in diesem Chip implementiert wurde … wahrscheinlich dann auch nicht. Also irgendwann hört’s dann auch bei den alten Hasen auf. Aber ist das ein Problem?

K.P.: Die Frage ist ja, ob dieser ‚black box’-Diskurs überhaupt neu ist.

A.J.: Ich glaube ja eher nicht.

K.P.: Und wenn nein, wo er dann angefangen hat. Irgendwann wird er angefangen haben, aber ich glaube nicht, dass das jetzt erst mit Machine Learning war, und wahrscheinlich wird es auch nicht 2010 gewesen sein, als ‘der Algorithmus’ als Schreckgespenst aufgetaucht ist. Aber warum taucht er jetzt vermehrt im Feuilleton auf?

A.J.: Kann ich nicht viel zu sagen.

K.P.: Vielleicht ist der Grund für die neue Beunruhigung, dass da jetzt etwas passiert, wo die Maschine ‘eigenmächtig’ handelt.

A.J.: Mit dem Begriff Deep Learning soll eben diese Vielschichtigkeit angezeigt werden. Also dieser Begriff ist eigentlich bewusst, strategisch gewählt worden; man kann ziemlich genau sagen, wann und von wem. Das war um 2006, 2007 rum in einer Forschergruppe, die sich um Förderung bemüht hatte, aber nicht mehr über ‚neural networks’ sprechen wollte, weil es zu der Zeit keine Förderung dafür gab. Wir haben ja in der Geschichte des Machine Learnings mehrere so Hype-Phasen und mehrere ‚machine learning winters’ und wir waren da gerade mal wieder in so einer Winterphase. Es war damals so, dass Yann LeCun und Andrew Ng Probleme hatten, ihre Papers überhaupt irgendwo zu publizieren und das galt auch für ihre Schüler, die wirklich nirgendwo ihre Arbeiten untergebracht haben. Und dann haben sie sich strategisch überlegt: ‚Okay, wir müssen uns einen neuen Namen dafür ausdenken, das nennen wir jetzt Deep Learning’. Das ist alter Wein in neuen Schläuchen und sie haben es tatsächlich geschafft in Kanada von irgendeinem Research Council (Nachtrag: CIFAR ist gemeint) spärliche, aber immerhin gewisse Forschungsgelder zu sichern, die es ihnen überhaupt ermöglicht haben, weiterzuforschen. Sie haben dann dort in Kanada einige Durchbrüche erreicht. Aber die Begrifflichkeiten, die haben sie sich einfach erstmal so ausgedacht. 2 Der Begriff Deep Learning bezeichnet jetzt nicht etwas technisch vollkommen Neues. Man müsste nochmal einen historischen Durchgang machen, wie sich die letzten Entwicklungen so ergeben haben, um dann dort hinzukommen, wo wir heute sind: selbstfahrende Autos, Gesichtserkennung, Texte zu Bildern ausgeben, automatische Spracherkennung, Sprachgenerierung, usw. Und dann müsste man vielleicht nochmal diese Spur weiterverfolgen mit diesem kulturwissenschaftlichen Thema ‚Lesbarkeit der Welt’.

FUSSNOTEN & QUELLENANGABEN

  1. Die Stelle, auf die ich mich da bezogen habe, lautet: “As the teams have grown better at predicting human preferences, the more incomprehensible their computer programs have become, even to their creators. Each team has lined up a gantlet of scores of algorithms, each one analyzing a slightly different correlation between movies and users. The upshot is that while the teams are producing ever-more-accurate recommendations, they cannot precisely explain how they’re doing this. Chris Volinsky admits that his team’s program has become a black box, its internal logic unknowable.”
  2. Hier wird die Geschichte erklärt: https://www.thestar.com/news/world/2015/04/17/how-a-toronto-professors-research-revolutionized-artificial-intelligence.html

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *