Stellen Sie sich vor, Sie wollen eine Software erstellen, die eine Aufgabe erfüllt. Es gibt zwei Hauptwege und einen Zwischenweg.
Die Code-Methode
Die erste Möglichkeit besteht darin, die Software so zu programmieren, dass sie die Aufgabe erfüllt, was ich als "Code-Methode" bezeichnen möchte. In diesem Fall kennen Sie alle Wechselwirkungen, die auftreten können, und nehmen sie in Ihrem Programm vorweg. Das einfachste Beispiel dafür ist die "Wenn-dann"-Sequenz, in der Sie dem Computer sagen: "Wenn dies geschieht, dann tue dies". Zum Beispiel: Wenn diese Schaltfläche angeklickt wird, dann zeige diesen Bildschirm.
Die Code-Methode verwendet keine Daten und erfordert kein Training. Die programmierte Sequenz läuft deterministisch ab, unabhängig von den Daten. Um das klarzustellen: Programme können mit der Code-Methode erstellt werden, indem sie mit echtem Code oder mit visuellen oder ähnlichen Tools geschrieben werden.
Die Zugmethode
Die zweite Möglichkeit besteht darin, die Software so zu trainieren, dass sie die Aufgabe mit Hilfe von Big Data erledigen kann, was ich als "Trainingsmethode" bezeichnen möchte. In diesem Fall schreibt man einen Algorithmus, z. B. ein neuronales Netz, damit die Software auf den Daten trainiert werden kann. Dann lässt man die Software auf die Daten los, und der Computer lernt über eine Rückkopplungsschleife, wie er die Aufgabe erledigen soll. So kann man der Software beispielsweise beibringen, Katzen zu erkennen, indem man sie mit Katzenbildern trainiert.
Die Trainingsmethode ist natürlich die Essenz der künstlichen Intelligenz. Sie ist als Big-Data-Ansatz bekannt, denn je mehr hochwertige Trainingsdaten zur Verfügung stehen, desto besser ist das Ergebnis. Es ist ein Minimum an Trainingsdaten erforderlich, um vernünftige Ergebnisse zu erzielen.
In ihrer reinsten Form kann die Trainingsmethode unstrukturierte Daten verwenden, und das Lernen selbst erfolgt auf unüberwachte Weise. Das bedeutet, dass der Mensch der Software beim Training überhaupt nicht hilft.
Der Algorithmus lernt aus dem impliziten Kontext (nicht aus der expliziten Kennzeichnung), ob ein bestimmtes Bild eine Katze zeigt oder nicht. Normale Nutzer einer Plattform könnten beispielsweise ad hoc und spontan das Wort "Katze" in die Beschreibung ihres Fotos schreiben, das Wort "Katze" könnte in dem Artikel vorkommen, in dem das Bild erscheint, oder wenn es sich um ein Video handelt, könnten die Leute das Wort "Katze" sagen, wenn die Katze erscheint. All diese Nutzerdaten sind natürlich völlig unstrukturiert (d. h. chaotisch), und der Algorithmus müsste aus diesen chaotischen Daten herausfinden, was eine Katze ist.
Natürlich hat ein Algorithmus, der nicht überwacht wird, potenziell große Vorteile. Dies bedeutet, dass der Mensch bei der Beschriftung und Kategorisierung der Daten eine Menge Arbeit einsparen kann. Es ist nicht trivial (und auch nicht anregend), hunderttausend Bilder von Katzen genau zu beschriften.
Die Probleme
Ein großes Problem bei der unstrukturierten Trainingsmethode ist, dass sie sehr viel mehr Daten benötigt. Wenn die Daten nicht verfügbar sind, kann sie nicht auf diese Weise trainiert werden. Überwachte Ansätze benötigen ebenfalls viele Daten und leiden daher unter demselben Problem.
Das ist natürlich der Grund, warum die Menschen nach Möglichkeiten suchen, KI anzuwenden, anstatt KI auf alles anzuwenden. Die KI-Algorithmen funktionieren am besten, wenn viele Daten für das Training zur Verfügung stehen (oder sie können viele Daten generieren - im Fall von Spielen).
Ein weiteres Problem beim unstrukturierten, unüberwachten Ansatz ist, dass es viel schwieriger ist, den Algorithmus für die vorliegenden Daten zu schreiben und zu testen. Der Algorithmus muss ausgefeilter sein, um mit unstrukturierten Daten umzugehen, als er es sein müsste, wenn die Daten ordentlich und kategorisiert sind.
Ein überwachter Ansatz fügt dem Prozess menschliche Intentionalität in Bezug auf die Kategorisierung der Daten hinzu, aber es ist immer noch sehr stark eine Trainingsmethode, ein Big-Data-Ansatz. Menschen, die die Algorithmen verstehen, können die Daten beschriften und so die Arbeit des Algorithmus reduzieren.
Die Methode der kleinen Daten
Es gibt eine Methode, die eine Mischung aus der Code- und der Trainingsmethode darstellt und die ich als "Methode der kleinen Daten" bezeichnen möchte. Dies ist der Ansatz mit kleinen Daten, auf den ich im Titel anspielte. Es ist möglich, sowohl die Code- als auch die Train-Methode zu kombinieren, um die für das Training eines Algorithmus erforderliche Datenmenge massiv zu reduzieren.
Bei der Small-Data-Methode erstellt ein Entwickler ein Interaktionsmodell, das dann auf einem viel kleineren Datensatz trainiert wird, als dies bei der Big-Data-Methode erforderlich wäre. Dies führt dazu, dass das Modell viel schneller trainiert wird, als es bei der reinen Trainingsmethode erforderlich wäre.
Dieser Ansatz mit kleinen Datenmengen ist natürlich sinnvoll, wenn der Zeitaufwand für die Programmierung des Modells und das Training der Daten viel geringer ist als die Zeit, die für das Sammeln der Daten und das Training des Algorithmus benötigt wird.
Es gibt Szenarien, in denen die "Small Data"-Lösung uns Dinge ermöglichen würde, die derzeit nicht machbar sind. Die Methode mit kleinen Daten ist die einzige Methode, die zur Verfügung steht, wenn die für die Trainingsmethode erforderlichen Daten gar nicht existieren. In diesem Fall muss der Algorithmus mit Daten trainiert werden, die manuell erstellt wurden. Es ist normalerweise nicht praktikabel, Zehntausende von Datensätzen von Hand zu erstellen.
Der Small-Data-Ansatz wird derzeit von KI-Unternehmen wie botpress.io erforscht, und ich gehe davon aus, dass er sich in den kommenden Jahren zu einer Mainstream-Technik entwickeln wird.
Teilen Sie dies auf:
Erstellen Sie kostenlos Ihren eigenen personalisierten AI-Chatbot
Beginnen Sie mit der Erstellung eines personalisierten GPT-Bots mit unserer intuitiven Drag & Drop-Oberfläche.
Legen Sie los - es ist kostenlos! 🤖Keine Kreditkarte erforderlich
Bleiben Sie auf dem Laufenden über AI chatbots