„Spitzenforschung ganz einfach zu erklären, das ist so ziemlich das Schwierigste, was man im Fernsehen machen kann“ beginnt heute das heute Journal seinen Bericht über den Körberpreis für Bernhard Schölkopf und seine Arbeit zur künstlichen Intelligenz.

Und versucht es dann doch.
Es ginge darum, zwei Punktmengen durch eine Gerade zu trennen.

In der ersten Aufgabe ist das einfach.

Aber jetzt wird es mit einer Geraden schwierig.

„Die künstliche Intelligenz nutzt dafür Algorithmen und weitere Dimensionen.“

Und so kann man doch wieder einen klaren Schnitt machen.

„Erkennen, unterscheiden, sortieren: das macht Intelligenz eben aus.“

Das ist sicher eine ganz nette Erklärung, warum man in praktischen Anwendungen oft hochdimensionale Räume betrachten muß. Ich bin trotzdem nicht so sicher, wieviele Zuschauer diesen Punkt verstanden haben werden. (Zumal der Beitrag selbst dann nicht auf diesem Beispiel aufbaut.) Aber den Versuch war es sicher wert.

Kommentare (34)

  1. #1 rolak
    14. September 2019

    Erst Zweites: der clip.

    Zumal der Beitrag selbst dann nicht auf diesem Beispiel aufbaut

    Wie auch, in ihm kommt ja überhaupt nichts Konkretes zu Algorithmen…
    Wahrscheinlich sauberst getrennte Produktion Anmoderation/Film.

  2. #2 user unknown
    https://demystifikation.wordpress.com/2015/11/15/luegenmedien/
    14. September 2019

    Wieso “verstanden haben werden”? “Verstanden haben”.

    Jedenfalls: Nachdem natürliche Intelligenz Sache des Heute-Journals nicht so ist, ist verständlich, dass sie jetzt auf die künstliche hoffen. 🙂

  3. #3 Joseph Kuhn
    14. September 2019

    Ich bitte um Nachhilfe, ich verstehe es auch nicht. Wo ist denn in der letzten Grafik die trennende Gerade? Ich sehe nur eine trennende Fläche und einen Ring. Die Fläche trennt die Punktmengen zudem nur, wenn klar ist, dass die Aufgabe nicht im Zweidimensionalen gelöst werden muss, letzteres suggeriert aber die Zeichnung in der ersten Grafik mit dem Koordinatensystem.

  4. #4 Dirk
    München
    14. September 2019

    Was hat das denn mit künstlicher Intelligenz zu tun? Hat sich wine KI das Beispiel ausgedacht?

  5. #5 Thilo
    14. September 2019

    @Joseph Kuhn: die ursprüngliche Ebene ist zu einer Fläche im 3-dimensionalen Raum angehoben worden und deren Schnitt mit einer Ebene ist etwas 1-dimensionales. (Okay, keine Gerade, sondern ein Kreis, aber jedenfalls etwas 1-dimensionales. Es geht aber eigentlich nur darum, die blauen oder roten Punkte zu trennen, egal womit.)

  6. #6 Thilo
    14. September 2019

    @Dirk: Mit KI hat es insofern zu tun, dass es dort oft nützlich ist, Punktmengen als hochdimensionale Objekte zu betrachten.

  7. #7 rolak
    14. September 2019

    Das sind ja auch keine Grafiken, sondern Symbolbilder. Kontextfrei würde ich zu den beiden letzten moppern: Janu, da hamse halt nen neuen Meßwert/parameter (‘Höhe’) gefunden, bei dem wieder ein gerader Schnitt die beiden Parteien trennt. Und der gerade Schnitt steht für eine eindeutige Grenze, für den AschenputtelSort gut/schlecht.

    Doch eigentlich bemerkte SysOp Susan (oder die MamiKI?) irgendwann deutlich zeitlichvor dem Bild, daß die bisherige Bewertungsfunktion nicht funktionierte (‘Es lernt nicht’), erhöhte die Parameter bzw Dimensionalität der Bewertung und schmiß die nächsten 100.000 Trainingsläufe an.

    Und siehe da, es lernte.

  8. #8 jere
    14. September 2019

    @Dirk:
    Klassifikation ist eine der klassischen Aufgaben von KI. Ich habe irgendwelche Eigenschaften von irgendwas (“Länge des Films”, “Produktionskosten” oder “Größe”, “Schwanzlänge”) und ich versuche, etwas vorrauszusagen (“Wird der Film ein Kassenerfolg oder nicht?”, “Ist das ein Hund oder eine Katze?”).

    Und das macht man halt, in dem man viele Hunde und Katzen sucht, die Daten misst, in ein Koordinatensystem einträgt, die Hunde rot, die Katzen blau, und dann eine Gerade sucht wie in den Bildern oben. Hab ich dann eine Entscheidung für ein Tier zu treffen, trage ich das wieder ins Koordinatensystem ein und schaue, auf welcher Seite der Gerade es liegt.

    In der Realität benutzt man natürlich üblicherweise (deutlich) mehr als zwei Variablen, aber dann wird das mit Zeichnungen schwierig. Außerdem lässt sich das auch auf mehr als zwei Kategorien (“Der Film wird ein totaler Flop” vs. “Durchschnitt” vs. “Blockbuster” oder Hund/Katze/Hamster) verallgemeinern, indem man das einfach dreimal macht, je für die Entscheidung “Hund oder Katze?”, “Katze oder Hamster?”, “Hamster oder Hund?” und die Ergebnisse dann geeignet kombiniert (alternativ möglich wären auch drei Entscheidungen “Hund oder kein Hund?”, “Katze oder keine Katze?” etc.)

    Ausserdem zeichnet ein Computer diese Geraden natürlich nicht wirklich, die werden einfach durch ihren Normalenvektor repräsentiert und dann schaut man auf das Vorzeichen des Skalarprodukts.

    Das alles ist natürlich nur der Einstiegspunkt und die Problembeschreibung, davon ausgehend hat man hunderte Algorithmen entwickelt und Verbesserungen gefunden (z.B. den Trick, von dem der Beitrag handelt), aber so als Grundidee, wofür das alles gut ist, hilft es vielleicht ein bisschen weiter.

    Es gibt natürlich 1000 bessere Beispiele als meine Hund-oderKatze-KI; als Übungsaufgabe kann man sich ja mal etwas raussuchen, an das man bei KI denkt, und überlegen, wie man das als Klassifikationsproblem formulieren würde (das geht erstaunlich oft)

  9. #9 Herr Fessa
    14. September 2019

    Das mit der 3. Dimension verstehe ich hier auch nicht. Die roten Punkte wurde anscheinend mit einer rotationssymmetrischen Glockenkurve nach oben geschoben. Mit der Rotationssymmetrie habe ich den Kreis in der Ebene aber auch.

    Oder geht es so, dass man unter jeden roten Punkt eine Glocke legt, alle addiert und dann mit einer Ebene oberhalb der blauen Punkte schneidet? Wenn man die z-Werte nur groß genug wählt, könnte ich mir vorstellen, dass man da bei beliebigen Punktverteilung sinnvolle Grenzen findet.

  10. #10 Karl-Heinz
    14. September 2019

    @Thilo

    Geht es sich bei diesem Beispiel um die Support Vector Machine?

  11. #11 Thilo
    14. September 2019

    Ja, genau, darum geht es zunächst. Und weil man die gewünschte Gerade nicht findet, muß man eine Dimension höher gehen. (Äquivalent hätte man statt nur nach Geraden auch nach trennenden Kegelschnitten oder allgemeineren Kurven suchen können.) Ich weiß nicht, welchen Namen es dann für diesen Ansatz gibt.

  12. #12 jere
    14. September 2019

    Normalerweise läuft das unter “Kernel-Trick”.

  13. #13 Thilo
    14. September 2019
  14. #14 rolak
    14. September 2019

    Schönen Dank für die fachliche Einordnung/Verlinkung!

  15. #15 Karl-Heinz
    14. September 2019

    Wer sich austoben will. 😉
    https://agbs.kyb.tuebingen.mpg.de/lwk/

    Ich persönlich habe gar nicht gewusst, dass es so was gibt.

    @Thilo
    Danke für deinen Beitrag.

  16. #16 Kai
    14. September 2019

    Nice. Ich habe in meiner Dissertation selbst sehr viel mit Kernelmaschinen gearbeitet (und tue es immer noch). Schön zu sehen, dass die es mal in die Medien schaffen, und nicht immer nur die langweiligen neuronalen Netze 😉

  17. #17 Kai
    14. September 2019

    @Herr Fessa:

    “Das mit der 3. Dimension verstehe ich hier auch nicht. Die roten Punkte wurde anscheinend mit einer rotationssymmetrischen Glockenkurve nach oben geschoben.”

    Normalerweise würde man in so einem Beispiel einen quadratischen Kernel verwenden. Die dritte Dimension berechnet sich dann dem Produkt der beiden anderen Dimensionen. Die Punktwolke wird vorher zentriert, so dass in der Mitte der roten Punkte quasi der Koordinatenursprung ist und die Fläche, durch die quadratische Funktion, sozusagen nach oben oder unten gestülpt wird.
    Ich muss aber gestehen: das Fernsehbeispiel sieht schon eher wie eine Glockenkurve aus.

    “Oder geht es so, dass man unter jeden roten Punkt eine Glocke legt, alle addiert und dann mit einer Ebene oberhalb der blauen Punkte schneidet? Wenn man die z-Werte nur groß genug wählt, könnte ich mir vorstellen, dass man da bei beliebigen Punktverteilung sinnvolle Grenzen findet.”

    Exakt, dass ist dann der Gauss’sche Kernel. Wie Sie schon sagten, kann der quasi jede beliebige Punktverteilung sauber separieren (man sagt auch, er bildet in einen unendlich dimensionalen Raum ab, was allerdings wenig anschaulich ist ^^).

  18. #18 Dirk
    München
    14. September 2019

    Danke für die Erläuterungen. Das wäre im heute journal vielleicht auch klarer gewesen, wenn der Moderator kurz das Klassifikationsproblem als Standardaufgabe in der KI erklärt hätte. Und dass die dritte Dimension durch Betrachtung einer weitere Eigenschaft dazukommt, die dann eine Klassifikation ermöglicht.

  19. #19 Dirk
    München
    14. September 2019

    Jetzt habe ich das mit den Kernel-Funktionen erst gelesen. D.h. man braucht gar keine weiteren Eigenschaften, sondern transformiert die Punktemenge in höhere Dimensionen, wo man dann einen linearen Separator findet. Sehr interessant. Somit habe ich indirekt aus den Nachrichten was gelernt.

  20. #20 Kai
    15. September 2019

    @Dirk: “Und dass die dritte Dimension durch Betrachtung einer weitere Eigenschaft dazukommt,”

    Keine weitere Eigenschaft, sondern in dem man die bereits bestehenden Eigenschaften “neu kombiniert”.

    Im Prinzip kann man sich vorstellen, dass es egal ist, ob ich eine komplizierte Funktion suche, um meine Daten zu erklären, oder ob ich meine Daten über eine komplizierte Funktion transformiere und dann mit einer einfachen Funktion erkläre.

    Mal ein simples Rechenbeispiel: Ich hab eine Funktion f(x,y) = a*x + b*y + c * x * y
    x und y sind jetzt meine Eingabevariablen (x könnte z.B. für “Alter” und y für “Blutdruck” stehen, und meine Funktion soll das Risiko für einen herzinfakt bemessen). Gesucht ist also der richtige Wert für die Parameter a und b, so dass am Ende meine Funktion das bemisst was ich beobachte.
    Leider ist die obige Funktion nicht linear (weil der letzte Term die beiden variablen miteinander multipliziert). Nicht-lineare Funktionen sind oft aber sehr kompliziert zu optimieren. Und ich müsste quasi für jede Art von nicht-linearer Funktion einen neuen Optimierer schreiben. Über einen einfachen Substitionstrick kann ich die Funktion aber linear machen:

    Ich definiere: z := x*y
    Und schreibe eine neue Funktion
    g(x,y,z) = a*x + b*y + c*z
    Diese Funktion g ist linear. Das heißt, ich kann sie mittels Algorithmen lösen, die für lineare Funktionen optimiert wurden.

    Dieser Schritt z=x*y ist sozusagen die “neue Dimension” die du einfügst.

  21. #21 Dirk
    München
    15. September 2019

    @Kai
    Danke, so ist es verständlich.

  22. #22 Karl-Heinz
    15. September 2019

    @Kai

    Super erklärt. 😉

    Ein Frage hätte ich noch.
    Solche Kernelmaschinen finden die auch Verwendung in neuronale Netze? Oder ist das eher ausgeschlossen, da du gemeint hast, dass neuronale Netze langweilig sind.

  23. #23 Kai
    15. September 2019

    Eigentlich sind neuronale Netze nicht langweilig, sondern eher, dass nur noch über sie und nicht über all die anderen existierenden Verfahren berichtet wird.

    Kernelmaschinen sind extrem mächtig, aber sie skalieren schlecht auf den Trainingsdaten: Wenn ich die Anzahl meiner Trainingsdaten verdopple, verachtfacht sich die Rechenzeit der Kernelmaschine. In Anwendungen, wo man Millionen oder Milliarden von Beispieldaten hat, werden Kernelmaschinen daher nicht angewandt. Netterweise glänzen gerade in solchen Anwendungen die neuronalen Netze, so dass sich beide Methoden sehr schön ergänzen. Kernels werden stattdessen dort angewandt, wo man wenige Beobachtungen hat, diese aber sehr detailiert/komplex sind. Zum Beispiel in der Medizin: Da hat man oft nur wenige Patientendaten, aber über die weiß man dann eine ganze Menge z.B. das sequenzierte Genom. Solche Datenmengen in ein neuronales Netz zu stecken ist schwierig, insbesondere bei so wenigen Patienten. Aber einer Kernelmaschine ist die Dimensionalität des Raums weitgehend egal, die kann man also auch mit sehr komplexen Daten trainieren, solange die Anzahl der Beobachtungen gering ist.

    Ein anderes Anwendungsfeld sind Zeitreihen oder Funktionsfitting. Da nutzt man aus, dass man mittels Kernels auf der einen Seite jede beliebige Funktion, egal wie komplex, approximieren kann, auf der anderen Seite aber über die Wahl des Kernels sehr genau bestimmen kann, welche Funktionen sinnvoll und welche unpassend für das Problem sind.
    Hierzu würde ich den Blog-Eintrag von distill empfehlen, wo man interaktiv diese Eigenschaft von Kernels ausprobieren kann:
    https://distill.pub/2019/visual-exploration-gaussian-processes/
    (in dem Blog-Eintrag geht es um Gaussprozesse, eine andere Art von Kernelverfahren, also nicht die Kernel-Support-Vektormaschinen vom Tagesschau-Beitrag. Das Prinzip ist aber sehr ähnlich).

    Eine Kombinierte Anwendung von Kernels in neuronalen Netzen ist mir jetzt nicht bekannt (obgleich eigentlich nichts dagegen spricht, mMn). Allerdings tauschen sich beide Felder schon fleißig Ideen aus. So hab ich in letzter Zeit immer häufiger Paper über “Deep Kernels” gefunden, in denen man das Konzept der tiefen neuronalen Netze auf Kernels übertragen hat.

  24. #24 Karl-Heinz
    15. September 2019

    @Kai

    Danke für die Antwort. Für mich sind dadurch einige Dinge klarer geworden.

    KI (artifizielle Intelligenz) ist wirklich ein interessantes Gebiet. Ich vermute, dass in Bereiche wo KI von Nöten ist (Industrie 4.0, Industrielle Revolution in Smart Factories, Internet der Dinge, usw. ) sehr viele Jobs geschaffen werden. 😉

  25. #25 Fluffy
    16. September 2019

    Spitzenforschung ganz einfach zu erklären, das ist so ziemlich das Schwierigste, was man im Fernsehen machen kann“

    Es ginge darum, zwei Punktmengen durch eine Gerade zu trennen.

    Ich finde es sehr ärgerlich, dass Thilo als Mathematiker die Aufgabenstellung nicht verständlich erklärt.
    Jeder Laie sieht, dass die zweite Punktmenge nicht durch durch eine Gerade erklärt werden kann. Wenn man aber Kreise zulässt, kriegt das auch Jeder hin, und zwar ohne Künstliche Intelligenz.
    Was ist also die Aufgabe? Und warum ist sie kompliziert?

  26. #26 Fluffy
    16. September 2019

    @Karl-Heinz #24
    I

    Ich vermute, dass in Bereiche wo KI von Nöten ist (Industrie 4.0, Industrielle Revolution in Smart Factories, Internet der Dinge, usw. ) sehr viele Jobs geschaffen werden.

    Klar, und die werden dann von denen, die heute beim Bäcker Brötchen verkaufen, ausgeführt.

  27. #27 Karl-Heinz
    17. September 2019

    @Fluffy

    Klar, und die werden dann von denen, die heute beim Bäcker Brötchen verkaufen, ausgeführt.

    Äh, nöö …
    Es wird eine junge Generation herangezüchtet, die dann diese Aufgabe übernimmt. 😉

  28. #28 Karl-Heinz
    17. September 2019

    @Fluffy

    Was ist also die Aufgabe? Und warum ist sie kompliziert?

    Versuch mal einer dummen Maschine beizubringen, dass sie zwei unterschiedliche Punktwolken durch eine Gerade separiert. Also nicht du sollst die Aufgabe lösen, sondern deine dumme Maschine, der du ein Hauch an Intelligenz einflößt. 😉

  29. #29 Kai
    17. September 2019

    “Jeder Laie sieht, dass die zweite Punktmenge nicht durch durch eine Gerade erklärt werden kann. Wenn man aber Kreise zulässt, kriegt das auch Jeder hin, und zwar ohne Künstliche Intelligenz.”

    Was sie hier übersehen ist, dass man das in der Praxis eben nicht weiß und auch nicht so einfach sieht.

    Das Beispiel ist extra zweidimensional gewählt, weil man es dann schön aufmalen kann. Reale Probleme sind eher hundert- oder tausenddimensional (oder bei vielen kernel-basierten Problemen eher milliardendimensional). Einen Tausend-dimensionalen Raum kann ich eben nicht einfach so “zeichnen” und dann draufschauen und sagen “ja, da brauch ich einen Kreis”, oder “das geht mit einer kubischen Funktion”. Allein das Erkennen, was für eine Art Funktion ich bräuchte, ist bereits so schwer wie das Finden dieser Funktion.

  30. #30 Karl-Heinz
    17. September 2019

    @Fluffy

    Sogar die Ökologen verwenden dieses Konzept. und müssen bei der Prüfung auch ein bisschen Mathematik betreiben. 😉

    Ökologische Nische – 2. Konzept: n-dimensionales Hypervolumen
    • jede Art benötigt viele verschiedene Faktoren und Ressourcen
    • jeder Faktor und jede Ressource stellt eine Dimension dar
    • alle Faktoren und Ressourcen zusammen bilden den n-dimensionalen Hyperraum
    • die Nische wird durch die Grenzen bestimmt innerhalb derer die Art leben und sich reproduzieren kann (ökologische Potenz)
    Nischenbreite: Ausschnitt einer Nischendimension der von einer Art eingenommen wird.

    Anwendungsbeispiel dreidimensionale Nische

    Im Bild sehen Sie eine dreidimensionale Nische, das funktionale Hypervolumen von Baumarten in den gemäßigten (blau) oder tropischen (rot) Biomen der Neuen Welt. Das überlappende Hypervolumen ist orange. Wir sind jetzt in der Lage, genau zu bestimmen, welche Ressourcen und Strategien in verschiedenen Teilen der Welt einzigartig sind oder geteilt werden.

  31. #31 Fluffy
    17. September 2019

    @#17

    Es wird eine junge Generation herangezüchtet, die dann diese Aufgabe übernimmt.

    Karl-Heinz! Karl-Heinz!
    Du willst doch nicht etwa Menschen züchten?
    Wahrscheinlich meintest du dressieren.

  32. #32 Fluffy
    17. September 2019

    @Kai #29

    Reale Probleme sind eher hundert- oder tausenddimensional (oder bei vielen kernel-basierten Problemen eher milliardendimensional).

    Jetzt nenn mir doch mal ein halbwegs anschauliches tausenddimensionales Beispiel. Das könnte man dann zur Erklärung auf zwei Dimensionen projizieren. So bleibt obiges Textbeispiel eher abstrakt und sinnlos.
    Gut gemalt ist eben noch nicht gut erklärt.

  33. #33 Karl-Heinz
    17. September 2019

    @Fluffy

    Karl-Heinz! Karl-Heinz!
    Du willst doch nicht etwa Menschen züchten?
    Wahrscheinlich meintest du dressieren.

    Ich meinte natürlich herangezogen.
    Von mir aus auch dressieren. Mein Gott die armen Kinder. 😉

  34. #34 Kai
    20. September 2019

    @Fluffy: Wie will man ein tausenddimensionales Problem (z.B. Spamfilter in E-Mails) in einen zweidimensionalen Raum projezieren? Das ist für sich genommen bereits ein maschine learning problem (unsupervised learning oder dimension reduction). Sie wollen also ein bestimmtes Problem dadurch erklären, dass sie erstmal ein anderes Problem lösen und anwenden?
    Davon mal abgesehen: Projeziert man ein tausendimensionalen Raum in 2D und dann in 3D hat man nix gekonnt. Für die Lösung müsste man den Raum ja wieder in Millionen Dimensionen projezieren, die sich wieder nicht darstellen lassen.

    In der Informatik ist es ganz üblich, Probleme auf “Toy examples” herunterzubrechen und daran zu erklären.
    Das ist der Grund, warum ich Biologie-Vorlesungen oft nicht so gut fand wie Informatik-Vorlesungen: Biologen kamen mit ähnlichen Argumenten wie Sie und meinten, man dürfe Probleme nicht vereinfachen, weil sie ja dann verfälscht werden. Statt zu generalisieren, hat man lieber auf so konkreten und detailierten Beispielen gearbeitet, dass niemand mehr etwas gelernt und verstanden hat.