Künstliche Intelligenz mit Excel – Grenzen und Potentiale von KI

b2btalks 27
B2BTalks.de
Künstliche Intelligenz mit Excel - Grenzen und Potentiale von KI
Loading
/

Schön das Sie auch beim zweiten Teil zuhören. Ich gehe davon aus, dass Sie den ersten Teil dieser Podcast Serie „Künstliche Intelligenz mit Excel“ kennen und verstanden haben, wie neuronale Netze Muster erkennen können. Das hatte ich ja am Beispiel der Zeichen „+“ und „-“ und anhand einer Exceldatei erläutert.

Verlassen wir nun die Grundlagen und schauen uns erste Anwendungen an, die man auf Basis dieser Technologie erstellen kann. Beginnen wir mit maschinellem Lernen.

Man unterscheidet beim maschinellen Lernen zwischen

  • Überwachtem Lernen – In diesem Fall kennt man das Ergebnis
  • Unüberwachtem Lernen – Hier muss die künstliche Intelligenz eigenständig Zusammenhänge in Daten erkennen
  • Verstärkendem Lernen – Hier werden die Ergebnisse, die man erhalten möchte und die, die man nicht erhalten möchte von Menschen bewertet.

Das überwachte Lernen kennen Sie bereits, das haben wir nämlich bei der ersten Folge verwendet. Auf das Verstärkende Lernen gehe ich im folgenden auch nicht weiter ein. Es sei hier nur erwähnt, dass man das vor allem für das Feintuning nutzt, um z.B. rassistische oder diskriminierende Aussagen in Chatbots zu verhindern. Aber nun geht’s los und wir steigen ein in das Thema unüberwachtes Lernen.

 

Unüberwachtes Lernen mit künstlicher Intelligenz

Um hier direkt zu Anfang mit einem Mythos aufzuräumen. Nein, ein neuronales Netz lernt nicht irgendwas und geht dabei schon gar nicht selbstmotiviert vor. Der ein oder andere mag die IBM Künstliche Intelligenz Anwendung AlphaGo kennen. AlphaGo ist eine Künstliche Intelligenz Anwendung die erfolgreich gegen die besten menschlichen Go Spieler gewonnen hat. Das ist in sofern bemerkenswert, da Go, im Gegensatz zu Schach, so viel mehr erlaubte Kombinationen hat, das man durch einfaches Ausprobieren nicht zum Ziel kommt. Darüber hinaus gibt es keine heuristischen Methoden um eine Spielstellung zu bewerten. 2017 kam dann als Verbesserung AlphaZero heraus. Diese künstliche Intelligenz erlernte innerhalb weniger Stunden nacheinander die Spiele Schach und Go und war dann besser als jede Software, die bislang entwickelt wurde. AlphaZero ist ein Beispiel für unüberwachtes Lernen. Bei diesem Ansatz geht man so vor, dass man lediglich Regeln vorgibt. Z.B. um festzustellen, ob man ein Schachspiel gewonnen hat oder nicht. Danach „spielt“ die Künstliche Intelligenz solange gegen sich selbst und lernt dabei was funktioniert und was nicht, bis sie für Menschen nicht mehr zu schlagen ist.

Wohlgemerkt, AlphaZero kann Spiele, wie Schach erlernen, wenn man die Regeln dafür definiert. Aber AlphaZero wird niemals Auto fahren oder Bücher schreiben. Dafür ist die Applikation nicht konzipiert.

Aber wie funktioniert das unüberwachte Lernen denn genau? Dazu wieder ein Beispiel. Stellen Sie sich vor, Sie haben von einem Schuhgeschäft die Aufgabe bekommen das Kaufverhalten von Kunden vorherzusagen. Dafür stellt Ihnen das Schuhgeschäft historische Umsatzdaten zu Verfügung.

Machen wir es ganz einfach. Das Geschäft hat erst 3 Verkäufe getätigt. Einmal kam eine Person in den Laden und hat für 100 Euro gekauft, dann kamen zwei Personen in den Laden und kauften für 200 Euro und als letztes betraten vier Personen das Geschäft und haben für 400 Euro gekauft. Nun betreten 3 Personen das Geschäft. Welcher Umsatz ist zu erwarten? Natürlich erkennen wir sofort das vermutlich jede Person für 100 Euro kauft. Algorithmisch ist das leicht zu formulieren, den das Muster ist für Menschen sofort erkennbar: Anzahl Personen * 100 Euro = Umsatz in Euro. Aber auch ein neuronales Netz erkennt diesen Zusammenhang. Allerdings nicht wie wir Menschen. Das neuronale Netz passt Gewichte zwischen Neuronen an, bis es die gleichen Ergebnisse für unsere 3 Trainingsdaten ermittelt. Wenn das Training absolviert wurde, sollte unser neuronales Netz auch mit unbekannten Daten gut zurecht kommen.

Aus dem letzten Beitrag wissen Sie ja bereits, wie neuronale Netze funktionieren um handgeschrieben Zeichen zu erkennen. Verlassen wir die Ebene 0 und 1 und machen es etwas abstrakter. Für das Training nennt man die eingehende Information „Feature“ und die bekannte Ausgabe „Label“. Unsere Trainingsdaten, bzw. unser „Labeled Dataset“, bestehen somit aus den drei Features 1, 2 und 4 und den Labels 100, 200 und 400. Als Ergebnis des Training wird das Gewicht auf 10 gesetzt. Die Summe der Gewichte, in unserem Beispiel nur eins, nennt man Modell. Dann haben Sie zumindest einmal die wichtiges Begriff der künstliche Intelligenz gehört.

Aber es sollte allen Zuhörern und Lesern klar sein, dass das neuronale Netz nach der Trainingsphase nicht wirklich etwas verstanden hat. Es weiß weder was Schuhe, Kunden oder Euro sind. Eine Ausgangssituation wurde in einen Vektor aus 0 und 1 übersetzt und das Neuronale Netz hat solange Gewichte angepasst, bis das Ergebnis, wieder ein Vektor aus 0 und 1, in ein korrektes Ergebnis kodiert werden kann. Dieses Ergebnis wiederum können Menschen verstehen. Dieses Prinzip der Kodierung und Dekodierung habe ich ja bereits in meiner ersten Folge an Hand der Zeichenerkennung „+“ und „-“ erläutert.

Was neuronale Netze hervorragend können, ist, wenn ich die Kodierung der Daten einmal vorgenommen habe, Muster in diesen Daten zu erkennen und diese Muster für Vorhersagen auf unbekannte Daten zu nutzen.

Denn je größer und komplexer meine Daten sind, umso schwierig wird es für Menschen Muster zu erkennen bzw. es existieren mehrere Muster und es ist dann unklar, welches das am besten passende Muster ist, um eine gestellte Frage zu beantworten. Ein neuronales Netz lernt aber nicht wirklich etwas, sondern es transformiert einen Eingangsvektor in einen Ausgangsvektor. Der Ausgangsvektor ist nach der Dekodierung mit einer gewissen Wahrscheinlichkeit korrekt. Was aber sich hinter dem Vektor verbirgt, das versteht das neuronale Netz im menschlichen Sinne nicht.

Wie hilfreich das Verfahren aber für viele Probleme ist, die Menschen immer wieder lösen müssen, dazu jetzt ein weiteres Beispiel. Das stammt zwar nicht von mir, passt an dieser Stelle aber perfekt, denn es zeigt ganz genau welches Potential im maschinellen Lernen steckt. Für die Podcast Hörer ist meine dringende Empfehlung aber parallel das Transkript zu diesem Podcast anzuschauen.

Für dieses Beispiel möchte ich auf die Quelle – visuelle Einführung ins maschinelle Lernen hinweisen, die das Beispiel sehr ausführlich und interaktiver darstellt als ich das hier machen werde und darüber hinaus sogar auf Deutsch verfügbar ist.

Hier das Beispiel: Sie haben Daten über Wohnungen aus San Francisco und New York vorliegen. Pro Wohnung verfügen Sie über die Informationen Höhe über dem Meeresspiegel, Baujahr, Bad, Anzahl Zimmer, Preis, Quadratmeter und Preis pro Quadratmeter. Die zu lösende Aufgabe besteht daran anhand dieser Daten Regeln zu erstellen, mit denen man herausfinden kann, ob eine Wohnung in New York oder in San Francisco liegt. In der Sprache der künstlichen Intelligenz heißt diese Aufgabe eine Klassifikation.
So sehen die Daten aus:

Datenlage Höhe - Wohnungen San Francisco u. New York

Datenlage Höhe – Wohnungen San Francisco u. New York

Die Striche entsprechen Wohnungen, grüne Striche sind Wohnungen in San Francisco und blaue Striche Wohnungen in New York. Je dicker oder farbintensiver ein Strich ist, umso mehr Wohnungen verbergen sich dahinter. Je höher ein Strich ist, um so höher liegt die Wohnung. San Francisco ist sehr hügelig, deshalb könnte man die Regel oder Klassifikation ableiten, das Wohnungen die über 73 Meter hoch liegen in San Francisco sind. Das ist aber sicherlich keine perfekte Klassifikation.

Nehmen wir noch eine Dimension dazu, nämlich den Preis pro Quadratmeter. Beide Städte sind teuer, aber New York ist teurer als San Francisco.

Datenlagen Höhe / Preis - Wohnungen San Francisco u. New York

Datenlagen Höhe / Preis – Wohnungen San Francisco u. New York

Aus den Attributen „Preis pro Quadratmeter und „Höhe“ könnte man jetzt eine erste Klassifikation vornehmen.

Erster Klassifikationsansatz

Erster Klassifikationsansatz

Es gibt aber immer noch viele Fehler bzw. Wohnungen, wo diese Klassifikation uns nicht hilft eine Entscheidung zu treffen.

Doch wir wollten ja nicht selber eine Lösung finden, sondern ein neuronales Netz soll das für uns tun, indem es maschinelles Lernen verwendet, um Muster zu erkennen. Maschinelles Lernen kann man sich am besten als Baumstruktur vorstellen. Die Eingangsdaten, die als Vektor in das neuronale Netz kommen, werden pro Vektorelement gewichtet und danach, je nach Gewicht, werden andere Wege im neuronalen Netz genutzt.

Lernphase 1

Lernphase 1

Nach der Trainingsphase hat sich im Netz ein Entscheidungsbaum gebildet der beginnend mit einem Attribut, z.B. der Höhe der Wohnung, unterschiedlich verzweigt und nach einem vollständigen Durchlauf durch den Entscheidungsbaum entscheiden kann, in welcher Stadt die Wohnung liegt.

Lernphase 2

Lernphase 2

Wenn man jetzt Wohnungsinformationen von Wohnungen bei denen nicht klar ist, ob sie in New York oder in San Francisco sind, zur Entscheidung stellt, können wir prüfen, wie gut das neuronale Netz diese Aufgabe gelernt hat. Ich möchte aber nochmal darauf hinweisen, dass das neuronale Netz den Entscheidungsbaum nicht „kennt“ oder man ihn irgendwie dort wiederfindet. Den Entscheidungsbaum kann ich nur ermitteln, wenn ich alle Testdaten analysiere. Die Lernphase führt nämlich lediglich zu Veränderungen an Gewichten, so wir wir es auch bei der Erkennung von „+“ und „-“ im ersten Podcast gesehen haben. Wenn somit alle Testdaten korrekt zwischen New York und San Francisco aufgeteilt werden, dann hat das neuronale Netz Muster gefunden. Es weiß aber niemand welche.

Lernphase 3

Lernphase 3

Häufig stellt man nach Ablauf der Trainingsphase fest, dass nicht alle Fälle korrekt klassifiziert werden. Das neuronale Netz kann schnell die Bedeutung von Attributen überinterpretieren. Das nennt man auch Overfitting oder bei ChatGPT Halluzination. Das ist ein echtes Problem in der künstlichen Intelligenz, denn es gibt in Daten Muster die nicht real sind. Zur Verdeutlichung, es gibt eine tolle Webseite (tylervigen.com), die sich genau über dieses Problem lustig macht. Eigentlich gar nicht aus der Perspektive der künstlichen Intelligenz, sondern die Webseite führt sinnlose statistische Korrelationen auf.

Die eben genannten Halluzinationen entstehen, wenn das neuronale Netz Muster oder Zusammenhänge erkennt, wo eigentlich gar keine sind. Als Beispiel habe ich mir von dieser Webseite die folgende Grafik genommen, die aufzeigt, dass es eine Korrelation zwischen der Scheidungsrate und dem Verbrauch von Margarine im US Bundesstaat Maine gibt.

Scheidungsrate Margarineverbrauch im US Bundesstaat Maine

Scheidungsrate Margarineverbrauch im US Bundesstaat Maine

Für uns Menschen ist sofort klar, dass das Unsinn ist. Ein neuronales Netz kann das nicht erkennen und genau das führt zu diesen Halluzinationen, wie z.B. der Antwort von ChatGPT auf die Frage „Ist die Milch vom Vogel Strauß trinkbar“. Danke an dieser Stelle an Stephan Klapper für das Beispiel.

Frage an ChatGPT - Ist Straußenmilch trinkbar?

Frage an ChatGPT – Ist Straußenmilch trinkbar?

Aus den Datentraining hat sich vermutlich eine Korrelation zwischen der Tatsache, das Menschen die Milch vom Nutztier Kuh trinken und der Tatsache das ein Strauß ein Nutztier sein kann, ergeben. Die formulierte Antwort ist dann letztlich ein Folgefehler.

Trotzdem, die Vorhersage auf der Basis von Trainingsdaten ist die Domäne von neuronalen Netzen bzw. künstlicher Intelligenz Anwendungen. Sofern die Antwort auf eine Frage bereits bekannt ist, setzt man aber keine künstliche Intelligenz Anwendung ein, sondern schaut es einfach nach. Die Frage wer 2015 Bundeskanzlerin in Deutschland war, würde man somit nicht einer künstlichen Intelligenz Anwendung stellen, denn die Antwort könnte, wie wir vorhin gesehen haben, falsch sein, denn die Antwort einer künstlichen Intelligenz Anwendung ist lediglich eine Wahrscheinlichkeit. Wenn ich aber die Frage beantworten möchte, welcher Kandidat bei der nächsten Bundestagswahl eher gewinnt und mir liegen Daten über Stimmungsveränderungen, Wählerwanderungen, etc. vor, dann kann mir ein künstliches Intelligenz System, basierend auf diesen Daten, eine Prognose erstellen.

 

Bilderzeugung mit Künstlicher Intelligenz

Doch wie kann man mit künstlicher Intelligenz neuen Content, wie Bilder erzeugen? Schauen wir uns das man an. Ich habe mir als Beispiel mal von Dall-E ein Bild durch folgende Vorgabe erzeugen lassen: „impressionist painting of a steel factory around 1920 showing workers in the front“. Im Transkript können Sie sich das Bild anschauen.

Dall-e Bild

Ein Bild erzeugt von der Künstlichen Intelligenz Anwendung Dall-e

Die Bilderzeugung funktioniert im Prinzip erschreckend einfach. Die neuen Daten, in unserem Fall Bilder, sind lediglich optimierte Zufallsergebnisse. Bildgenerierung besteht aus 3 Komponenten. Die erste Komponente übersetzt die Textbeschreibung so in Tokens, das der Sinn des Texts erhalten bleibt. Anschließend werden die Tokens in numerische Vektoren überführt. Das Verfahren der Vektorisierung kennen Sie ja schon. Anschließend findet der eigentliche Bilderzeugungsprozess in 2 Schritten statt:

Image Information Creator – Erstellt einen Konstruktionsplan für das Bild
Image Decoder – Erstellt das eigentliche digitale Bild

Die meiste Arbeit geschieht im „Image Information Creator“. Der startet mit einem Zufallsbild und der Beschreibung aus dem ersten Schritt. Der finale Bild-Konstruktionsplan wird jetzt in mehreren Schritten erzeugt, bei denen der „Image Information Creator“ immer mehr Informationen in das Bild hinzufügt.

Gehen Sie davon aus, dass der „Image Information Creator“ 50 – 100 Schritte durchführt, bevor der finale Bild-Konstruktionsplan fertig ist. Und 50 – 100 Schritte heißt, jeder Schritt erzeugt im Ergebnis einen vollständigen Bild-Konstruktionsplan auf dem wiederum der nächste Schritt aufsetzt. Wenn man sich alle Zwischenergebnisse als Bild erzeugen und anschauen würde, dann könnte man erkennen wie aus einem zufälligen Bild das Ergebnis entsteht.

Das kann man sich auch so vorstellen, als wenn Sie durch eine Kamera schauen und ein unscharfes Bild langsam scharf stellen, allerdings hierbei noch den Bildausschnitt verändern. Wenn Sie z.B. eine Berliner Sehenswürdigkeit sehen wollen, erscheint vielleicht zunächst ein Wohnhaus bevor das Bild dann beim Brandenburger Tor stehen bleibt und sich scharf stellt.

Wichtig ist dabei noch, dass die „Image Information Creator“ Komponente keine Bilder, sondern lediglich Daten oder Befehle für die Bilderzeugung liefert. Das eigentliche Bild erzeugt dann die „Image Decoder“ Komponente. Die läuft auch nur einmal und zum Schluss. Dann ist das Bild fertig.

Vereinfacht formuliert geschieht Bilderzeugung mit künstlichet Intelligenz, indem man ein zufälliges Bild als Eingangsvektor in ein neuronales Netz gibt und den Ausgangsvektor wieder als Bild anzeigt.
Das ist im Prinzip aber nichts anderes als für eine zufällig erzeugte Wohnung die Eigenschaften so zu verändern, dass sie in New York liegt.

 

Textverständnis mit Künstlicher Intelligenz

Textverständnis einer künstlichen Intelligenz beizubringen, die den Inhalt nicht verstehen kann, sondern nur mit Zahlen umgehen kann, ist viel komplexer als die Mustererkennung oder die Bilderzeugung. Man muss zum einen Sprache verstehen und zum anderen Text erzeugen können.

Beschäftigen wir uns zunächst mit Sprachverständnis. Der erste Schritt ist das ein Text, z.B. ein Satz in Token umgewandelt wird. Anschließend normalisiert man die Wörter. Z.B. die Worte „Beeinflussungen“, „beeinflusst“ und „beeinflussen“ könnte man auf „Beeinflussung“ normalisieren.

Als nächster Schritt findet die sogenannte Lemmatisierung statt. Hier gruppiert man Begriffe logisch. „Hilfsangebot“ und „Unterstützung“ wird auf ein „Hilfe“ gemappt. Dazu benötige ich ein Wörterbuch oder Begriffsverzeichnis, auf das ich die Begriffe logisch mappen kann.

Dieses Vorgehen der semantischen Analyse von Text nennt man Natural Language Processing, kurz NLP, und hat erstmal nichts mit künstlicher Intelligenz zu tun. Das Verfahren gibt es schon länger und wird z.B. bei computerbasierten Übersetzungsprogrammen verwenden.

Das Problem das man lösen muss, nachdem die Semantik eines Satzes vorliegt, ist, dass man Wörter und Eigenschaften in Beziehung setzen will. Dazu wandelt man Wörter in Vektoren um, aber damit man nicht unendlich vielen Vektoren bekommt, reduziert man den Vektor auf Eigenschaften der Worte. Das nennt man Worteinbettungen. Wenn ein solcher Wortvektor z.B. 50 Werte beinhaltet, kann man damit 50 eindeutige Eigenschaften darstellen.

Die Grund dahin ist ganz einfach. Man möchte auf den Vektoren Operationen ausführen können.
Hierzu ein Beispiel: König – Mann + Frau = Königin

Das Wort „König“ wird als Vektor so dargestellt, das der Vektor u.a. auch Eigenschaften beinhaltet, die identisch sind mit den Eigenschaften die das Wort „Mann“ hat, aber nicht Eigenschaften hat, die das Wort „Frau“ hat. Nicht haben und haben kann man sich hier einfach als 0 oder 1 vorstellen.

Wenn ich das schaffe, kann aus König – Mann + Frau das neue Wort „Königin“ ableiten und „Königin“ hat dann die Eigenschaften von König, ohne die Eigenschaften von „Mann“ aber mit denen von „Frau“.

Anschließend ist klar, dass eine „Königin“ kein Vater sein kann, aber eine Mutter.

Mit diesem Verfahren transformiert man Text in Vektoren und mit diesen trainiert man anschließend neuronale Netze.

ChatGPT benutzt ein neuronales Netz mit einer besonderen Architektur, ein sogenanntes GPT-3 Netz. Das ist ein sogenanntes „Large Language Modell“, welches auf einer festen Datenmenge basiert, also „Pretrained“ ist. Large Language Modells funktionieren nach dem Prinzip, das sie das nächste folgende Wort anhand von Wahrscheinlichkeit ermitteln. Hierzu ein Beispiel:

Stellen wir uns folgenden Satz vor: „Stefan Koshold ist ein“. Das nächste Wort könnte jetzt sein:

  • Vater
  • Freund
  • Unternehmer
  • Informatiker
  • usw.

Jetzt haben Sie schonmal viel über mich erfahren, aber was ist das wahrscheinlichste nächste Wort um den Satz fortzuführen? Genau um das zu beurteilen, kommt es zum einen auf die Datenmenge an. Wenn die Daten keine Informationen darüber beinhalten, das ich Kinder habe, wird das Wort „Vater“ sehr unwahrscheinlich der erste Treffer sein.

Wenn Sie jetzt bei Google „Wer ist Stefan Koshold?“ eingeben, dann finden Sie als erster Treffer, das Stefan Koshold Unternehmer ist. Da finden Sie u.a. Hinweise auf mein LinkedIn Profil. Das ich Kinder habe und Informatiker studiert habe, steht da aber nicht. Das soll auch bitte schön so bleiben.

Die Suchmaschine ermittelt Webseiten, die zu einer Fragen passen. Im Unterschied dazu ermittelt ChatGPT das nächste Wort und nimmt danach wieder den ganzen Satz um das nächste Wort zu ermitteln.

Die Frage „Wer ist Stefan Koshold?“ führt bei ChatGPT zu folgendem Verhalten:
„Wer ist Stefan Koshold?“ – „Stefan“
„Wer ist Stefan Koshold?“ – „Stefan Koshold“
„Wer ist Stefan Koshold?“ – „Stefan Koshold ist“
„Wer ist Stefan Koshold?“ – „Stefan Koshold ist ein“
„Wer ist Stefan Koshold?“ – „Stefan Koshold ist ein Unternehmer“

Wenn man ChatGPT ausprobiert, kann man diesem Verhalten auch quasi zugucken, denn die Ausgabe geschieht leicht verzögert, Wort für Wort. Das ist genau der Grund dafür.

Ohne jetzt beleidigt zu wirken, sind keine Informationen über mich in die Trainingsdaten von ChatGPT eingeflossen. Deshalb kennt ChatGPT Stefan Koshold nicht. Hätte man aber die im Internet verfügbaren Informationen über mich in die Lernphase mit einbezogen, würde die Antwort aller Wahrscheinlichkeit nach „Stefan Koshold ist ein Unternehmer“ lauten.

Im Gegensatz zu einem Standard GPT-3 Modell wurde ChatGPT feingetuned. Da bedeutet, es wurden Menschen damit beauftragt das Training zu überwachen und die Ergebnisse zu optimieren. In einem nicht unerheblich Umfang sind dazu z.B. kenianische Firmen engagiert worden..

Warum ist Feintuning erforderlich? Ein neuronales Netz kennt 0 und 1. Moral oder Werte aber nicht. Wenn man vermeiden möchte, dass ein Chatbot zur Revolution aufruft oder Menschen diskriminiert, muss man dafür sorgen, dass solche Informationen, die ja unweigerlich auch in einer großen Datenbasis stecken, sich nicht durchsetzen. Tut man das nicht, dann geht es einem schnell wie Microsoft mit Ihrem Chatbot TAY.

Für das Finetuning von ChatGPT wurde das System mit bestehenden Antworten auf Fragen optimiert. Dabei wurde drei Methoden verwendet:

  1. Direkte Fragen – „Erzähle mir etwas über…“
  2. Vergleiche – „Erstelle aus zwei Texten einen neuen zum gleichen Thema“
  3. Fortsetzungen – „Führe den folgenden Text zu ende“

Danach war aber noch nicht Schluss, sondern es wurden verschiedene Ergebnisse von ChatGPT auf die gleiche Aufgabe von Menschen gegeneinander bewertet und das Ergebnis dieser Bewertung floss wieder in ChatGPT zurück. Dadurch erreichte man ein Belohnungssystem. In diesem Schritt ging es also nicht mehr darum eine korrekte Antwort zu gegeben, sondern aus den Bewertung zu lernen, welches die beste Antwort ist.

Anschließend wurde die Belohnungen genutzt um die gewünschten Ausgaben zu verstärken. Dadurch wurden die gewünschten Antworten von unerwünschten Antworten unterschieden, um Hass, Pornografie oder Diskriminierung zu verhindern.

Eine genauere Beschreibung findet sich bei OpenAI, dem Hersteller von ChatGPT, auf der Webseite von ChatGPT.

Jetzt ist es aber so, das ChatGPT nicht immer die gleichen Antworten auf eine Frage generiert. Bei Suchmaschinen ist das auch der Fall, da sich Webseiten ändern, neue kommen dazu, alte fallen weg und der Algorithmus von Google ändert sich.

Bei ChatGPT ändert sich die Datenlage und der Algorithmus aber nicht, denn es ist eine „Pretrained“ Applikation. Das bedeutet, die KI Anwendung wurde trainiert und das Trainingsergebnis festgehalten.
Hier wirkt sich jetzt der Zufall aus und da das andauernd passiert, die vorherigen Ergebnisse aber wiederum die Auswahl des nächsten Wortes beeinflussen, wirkt sich eine kleine Änderung am Anfang einer Antwort deutlich auf den gesamten Text aus.

Für uns Menschen wirkt das wie Kreativität. Ist es streng genommen aber nicht. Es ist ein neuronales Netz das darauf trainiert wurde, die Wahrscheinlichkeit des nächsten Wortes einer Wortfolge zu ermitteln, kombiniert mit ein bisschen Zufall. Die Wahrscheinlichkeitsberechnung funktioniert dabei ähnlich, wie die Erkennung von „+“ und „-“ aus dem ersten Teil.

 

Autonomes Autofahren mit künstlicher Intelligenz – Warum das noch lange dauern wird

Schauen wir uns jetzt aber auch mal autonomes Fahren an, denn hier kommt schließlich auch künstliche Intelligenz zum Einsatz und das hatte ich ja auch versprochen. Hier ein Screenshot aus einem Video von Tesla, der zeigt, wie das autonome Fahren bei Tesla zumindest funktioniert hat.

Tesla - Ansicht autonomes Fahren

Tesla – Ansicht autonomes Fahren

Für die Podcast Zuhörer, man sieht eine Straßensituation und man erkennt nach welcher Klassifikation die Situation vom Tesla Auto interpretiert wird. Es sind z.B. Fahrbahnbegrenzungen und stehende sowie sich bewegende Objekte zu sehen.

Beim autonomen Fahren sind zwei zentrale Probleme zu lösen. Das erste ist die Geschwindigkeit. Bei 120 km/h bedeutet 1 Sekunde 33,3 Meter zurückgelegte Fahrstrecke. Ein Standard Fernsehbild beinhaltet 25 Bilder pro Sekunde, wenn ich diese Datenmenge schnell genug analysiert bekomme, dann hätte ich für jeden Fahrmeter ungefähr ein Bild. Eine solche Verarbeitung ist anspruchsvoll aber lösbar. Da man in unübersichtlichen Verkehrssituationen auch keine 120 km/h schnell fährt, sollte das reichen, um nichts zu übersehen.

Das zweite Problem ist das Unangenehmere, nämlich die Interpretation der Verkehrssituation. Sie wissen ja bereits, dass alle KI Lösungen darauf basieren, Eingangsinformationen in einen Vektor zu wandeln. Dabei ist der Vektor nicht gleich der Eingangsinformation, sondern gruppiert und verdichtet diese. Ansonsten kann man ein neuronales Netz nicht trainieren, denn für ein Training benötige ich eine definierte und endliche Trainingsmenge. Eine Verkehrssituation besteht aber aus unendlichen vielen Kombinationsmöglichkeiten von Einflussfaktoren, wie Wetter, Verkehrsregeln, Baustellen, Fußgänger, Radfahrer, Kinder, Tiere, andere Verkehrsteilnehmer usw.

Aufgrund dieser unendlich vielen Kombinationsmöglichkeiten kann keine künstliches Intelligenz Modell die Kausalität zwischen allen möglichen Kombinationen dieser Einflussfaktoren berücksichtigen. Solange ich Handschrifterkennung mache, ist das auch nicht schlimm, denn ein Fehler hat nur geringe Konsequenzen. Beim Autofahren ist das aber anders.

Laut KBA sind in Deutschland 67,7 Mio. Autos angemeldet, die pro Jahr ca. 6.000 KM fahren. Das macht pro Tag ca. 1,1 Mrd. Kilometer. Bei einer Fehlerfreiheit von autonomen Fahren von 99,9% tritt statistisch täglich bei 1,1 Millionen gefahrenen Kilometern pro Tag ein Fehler auf. Freuen Sie sich da noch auf die nächste autonome Autofahrt?

Für alle künstlichen Intelligenz Ansätze, die wir heute haben, funktionieren Autofahren nur dann, wenn es gelingt Komplexität zu reduzieren. Am einfachsten gelingt das, wenn man Einflussfaktoren entfernen kann. Bei einer Autobahnfahrt gibt es eben keine Zebrastreifen oder Ampeln. Oder wenn man eine definierte Strecke zwischen zwei Orten betrachtet, auch hier sind die Einflussfaktoren begrenzt.

Tesla, die ja immer wieder als Wegbereiter für autonomes Fahren genannt werden, standen Anfang 2023 noch intensiv in der Presse, da sie ein Video zum autonomen Fahren von 2016 ganz offensichtlich gefälscht haben und müssen sich dafür vor Gericht verantworten.

Ohne einen komplett neuen Ansatz in der künstlichen Intelligenz wird autonomes Fahren nicht möglich sein. Das hat auch nichts mit der Menge an Daten zu tun, die wir in künstliche Intelligenz Systeme pressen. Das Ergebnis von heutiger künstlicher Intelligenz sind immer Wahrscheinlichkeiten. Das funktioniert, wenn man ein kausales Modell hat, welches alle Möglichkeiten beinhaltet. Wie z.B. die Spiele Schach oder Go. Hier gibt es endliche Regeln.

Wenn man einem Amazonas Indianer zum ersten Mal ein Fahrrad zeigt, erkennt er es wieder, auch wenn man es umschmeißt oder auf den Kopf stellt. Eine künstliche Intelligenz muss dafür erst trainiert werden. Der Indianer weißt auch nicht, wofür ein Fahrrad gut ist, aber eine künstliche Intelligenz Komponente eben auch nicht. Selbst wenn man Ihr 1000 Bilder von Fahrrädern zeigt. Klassifikation ist eben nicht gleich mit verstehen.

 

Wie könnte eine Lösung aussehen?

Hubert Dreyfus, ein künstlicher Intelligenz Kritiker und Philosoph, sagt: „Die Welt ist ihr eigenes Modell“ bzw. „Das beste Model der Welt ist die Welt selber“. Das basiert auf dem deutschen Philosoph Martin Heidegger, der sagt „Ein intelligentes System muss die Welt direkt und kontinuierlich wahrnehmen, wie sie sich ändert. Existieren heißt „In der Welt sein“.

Martin Heidegger hat das Konzept einer kontextbezogenen Intelligenz entwickelt, die die Welt in jedem Moment ständig wahrnimmt. Das ist nach meinem Verständnis genau das, worum es geht. Das Entwerfen eines intelligenten Systems, das die Welt als eigenes Modell nutzt, ist die richtige Vorgehensweise. Sicher, das Gehirn hat ein hochstufiges „Modell“, wie die Welt im Gedächtnis gespeichert wird, aber dieses Modell entspricht nicht dem, was wir kontinuierlich wahrnehmen. Andernfalls hätten wir die Fähigkeit, ohne Augen, Ohren und andere sensorische Organe zu funktionieren.

Die Unfähigkeit von heutiger künstlicher Intelligenz zu verallgemeinern ist der Hauptgrund, warum die Automobilindustrie bis heute kein vollständig selbst fahrendes Auto hervorgebracht hat. Einige in der künstlichen Intelligenz-Community bestehen darauf, dass die mangelnde Verallgemeinerung von künstlicher Intelligenz durch Skalierung umgangen werden kann, aber dies ist offensichtlich nicht wahr. Die Skalierung ist genau das, was Forscher im selbst fahrenden Autosektor gemacht haben. Es funktioniert nicht. Die Kosten und die vielen langen Jahre, die es dauern würde, genügend Daten zu sammeln, werden unhaltbar, da die Grenzfälle unendlich sind.

Und Verallgemeinerungsfähigkeit hat nichts mit Skalierung zu tun. Es ist eine angeborene oder eingebaute Fähigkeit. Sogar kleine Insekten verallgemeinern. Sie müssen, weil ihr kleines Gehirn unmöglich Millionen von erlernten Darstellungen aller Objekte und Muster speichern kann, denen sie möglicherweise in ihrem Leben begegnen könnten. Trotz der Einschränkungen können Insekten in hochkomplexen 3D-Umgebungen navigieren und überleben.

Die Fähigkeit zu Verallgemeinern kann deshalb kein nachträgliches Add-On für vorhandene Modelle sein. Unsere Intelligenz ist dazu da, das sie uns hilft am Leben zu bleiben und das ist nicht einfach da wir, wie alle Lebewesen, einen verletzlichen Körper haben. Darüber hinaus besitzen wir, wie die meisten Lebewesen, ein hohes Maß an Flexibilität. Das müssen wir auch, da wir nicht wissen, welches Problem wir morgen lösen müssen. Dadurch erkennen wir Risiken und handeln sofort, indem wir selbst gewohnte Tätigkeiten mehr Aufmerksamkeit geben. Ich erinnere mich, als ich das erste Mal in den USA vom Flughafen nach Seattle Innenstadt gefahren bin, da ist die Abfahrt Downtown auf der linken Fahrspur. Die Entscheidung die Autobahn links zu verlassen, kostet enorme Überwindung. Oder wenn man das erste Mal in England links in den Kreisverkehr einbiegt. Ein Mensch empfindet unbekannte Situationen und ändern sofort den Fokus und erhöht seine Aufmerksamkeit.

 

Fazit

Künstliche Intelligenz ist geeignet Entscheidungen auf unbekannten Daten zu treffen. Allerdings sind diese Entscheidung, da sie nur auf Wahrscheinlichkeiten beruhen, nicht fehlerfrei. Darüber hinaus kann man künstliche Intelligenz auch sehr gut einsetzen, wenn es um kreative Aufgaben geht, denn eine künstliche Intelligenz schaut eben nicht in eine Datenbank und eine bestimmte Stelle, um den dort vorhandenen Wert zu ermitteln. Bei solchen Aufgaben lässt sich künstliche Intelligenz hervorragend zum „veredeln“ nutzen oder als Ideengeber, da künstliche Intelligenz sehr schnell verschiedenste Dinge mit einander in Beziehung setzen kann, die wir nicht miteinander verbinden.

„Schreibe ein Gedicht über eine Autobahn aus der Perspektive eines Seefahrers im Stil von Schiller und unter Berücksichtigung eines Marienkäfers“. Eine solche Aufgabe wird widerspruchlos angenommen, umgesetzt und führt zu einem bemerkenswerten Ergebnis. Das finde ich beeindruckend. Für die Entscheidung, ob z.B. ChatGPT für eine Aufgabe geeignet ist, oder nicht, möchte ich auf folgende Entscheidungshilfe von Aleksandr Tiulkanov weisen:

Ist es sicher ChatGPT für eine Aufgabe zu nutzen?

Ist es sicher ChatGPT für eine Aufgabe zu nutzen?