Image: Wie Forscher dem Computer beim Denken zusehenFERCHAUFERCHAUHenrik5000
TechnikLicht in die Black Box

Wie Forscher dem Computer beim Denken zusehen

Lesezeit ca.: 4 Minuten
Rüdiger Vossberg

Rüdiger Voßberg

freier Journalist

Niemand weiß so genau, wie neuronale Netze bei der Analyse von Big Data eigentlich zu ihren Ergebnissen kommen. Deshalb haben Berliner Wissenschaftler eine Software entwickelt, mit der sie die Arbeitsweise von Netzwerken visualisieren und deren Resultate überprüfen können. Das könnte auch für die künftige Qualität von Produkten bedeutend sein.

19. Juni 2017

Ein Mensch kann den Pariser Eiffelturm sofort von einem texanischen Ölbohrturm unterscheiden, eine gute Bilderken­nungs-Software vermutlich auch. Doch Algorithmen können vielmehr: Beispiels­weise analysieren Banken seit geraumer Zeit die Kreditwür­dig­keit von Bankkunden mithilfe neuronaler Netze. Aber wie machen sie das eigentlich? Höchste Zeit für ein aufhellendes Gespräch mit dem Leiter der Forschungs­gruppe Maschinelles Lernen am Fraunhofer Heinrich-Hertz-Institut (HHI) in Berlin, Wojciech Samek. Er hat gemeinsam mit Kollegen eine Methode entwickelt, die sichtbar macht, nach welchen Kriterien neuronale Netze entscheiden. Die Forscher sehen dem Computer beim Denken zu.

Ja, eine Kontrolle wäre unbedingt nötig. Aber es geht nicht nur um die Plausibi­lität der Ergebnisse, sondern auch um deren Nachvoll­zieh­bar­keit. Wenn man weiß, wie der Algorithmus zu seiner Entschei­dung kommt, könnte man nicht nur Sicherheit gewinnen, sondern von vornherein die Menge der Daten reduzieren, indem man nur die relevanten Parameter auswählt.

Gemeinsam mit unserem TU-Berlin-Kollegen Professor Klaus-Robert Müller haben wir ein mathemati­sches Verfahren entwickelt, das uns erlaubt, den gesamten Rechenweg eines neuronalen Netzes, von der Eingabe bis zur Schlussfol­ge­rung, zu analysieren. Damit können wir nachvoll­ziehen „wieso“ das Netz zu dieser oder jener Entschei­dung gekommen ist. Unsere Methode basiert auf der so genannten Taylor-Entwicklung, einem etablierten Werkzeug der Mathematik, mit dem man komplizierte nichtlineare Funktionen einander annähern kann.

Neuronale Netze funktionieren, wie der Name schon andeutet, nach dem Prinzip des menschli­chen Gehirns. So wie verschie­dene Areale von Nervenzellen, die Neuronen, miteinander kooperieren, arbeiten im künstlichen Neuronalen Netz mathemati­sche Einheiten miteinander. Wir verfolgen das Endergebnis quasi wieder zurück in dieses Berechnungs­system und schauen dabei auf die Verbindungen der neuronalen Netze: Je ausgeprägter diese Verbindungen sind, desto wichtiger ist ihr Beitrag zur Gesamtent­schei­dung. Der zweite wichtige Faktor ist die Aktivierung der Neuronen: Je stärker die Aktivierung ist, desto relevanter ist das Neuron. Für unsere Experimente haben wir unser Verfahren auf die im Internet verfügbaren neuronalen Netzen wie GoogleNet oder BVLC Reference CaffeNet getestet.

… ja, wir wollten wissen: Was „sieht“ das Netzwerk eigentlich? Ein Foto, das für den Computer zunächst nur eine ungeordnete Wolke aus Pixeln ist, wird von diesen Gruppen aus künstlichen Neuronen systematisch analysiert. Manche Neuronen erkennen Kanten, andere Ecken. So ergibt sich für den Computer Stück für Stück das Bild. Letztlich sind die Ergebnisse dieser neuronalen Rechenope­ra­tionen aber nur Wahrschein­lich­keits­werte.

Will man einem neuronalen Netz etwa beibringen, Katzen zu erkennen, dann lernt man das System an, indem man es mit Tausenden von Katzenbil­dern füttert. Wie ein kleines Kind, das langsam versteht, Katzen von Hunden zu unterscheiden, lernt auch das neuronale Netz automatisch. Mit unserer Methode können wir jetzt aber genau sehen, an welcher Stelle eine bestimmte Gruppe von Neuronen eine bestimmte Entschei­dung getroffen und wie stark diese zum Ergebnis beigetragen hat. Die Summe der Rechenak­ti­vi­täten visualisieren wir mit einer Heatmap.

Genau. In dem Beispiel­foto mit der Eisenbahn hat der Algorithmus gar nicht den Zug „erkannt“, sondern die Gleispixel zur Entschei­dung „Zug“ berücksich­tigt. Ein verblüffendes Ergebnis.

Ja, beim Test mit Pferdebil­dern. Das erste Programm erkannte tatsächlich den Körper der Pferde. Das zweite aber orientierte sich an den Copyright-Zeichen der Fotos, welche Hinweise auf Foren für Pferdelieb­haber oder Reit- und Zuchtver­eine gaben, sodass das Programm eine hohe Trefferquote erreichte, obwohl es gar nicht gelernt hatte, wie Pferde aussehen.

Richtig. Wir haben dieses Copyright­zei­chen dann in ein Foto mit einem roten Ferrari eingebaut, und es wurde von dem Programm prompt als „Pferd“ erkannt. Ohne unser Verfahren wären wir dieser Fehlentschei­dung nie auf die Spur gekommen, weil die Ergebnisse der Testreihen ja korrekt waren. Man sieht also, wie wichtig es ist, genau zu verstehen, wie ein solches Netzwerk arbeitet! Dann wäre es zum Beispiel auch möglich, aus den Betriebs­daten einer komplexen Produkti­ons­an­lage herauszu­lesen, welche Parameter die Qualität eines Produktes beeinflussen oder zu Schwankungen bei derselben führen.

Wir müssen die Black Box „neuronales Netz“ verstehen, um ihre Ergebnisse wirklich korrekt einzuordnen. Das ist beispiels­weise für die Erkennung von Krankheiten wichtig. Ein neuronales Netzwerk analysiert, mit welcher Wahrschein­lich­keit der Patient eine bestimmte genetische Erkrankung hat. Viel interessanter wäre es aber, zu wissen, an welchen Merkmalen das Programm seine Entschei­dungen festmacht. Das könnten bestimmte Gendefekte sein, die bei dem Patienten vorliegen – und die wiederum könnten ein möglicher Angriffs­punkt für eine individuell auf den Patienten zugeschnit­tene Krebsthe­rapie sein. Spätestens hier darf man sich Fehlentschei­dungen nicht mehr leisten.