ChatGPT

Was ist ChatGPT?

ChatGPT beschreibt einen sogenannten Chatbot, welcher auf Basis künstlicher Intelligenz mit Menschen interagieren kann. Chatbots sind grundsätzlich in der Lage, eine Kommunikation zwischen einem Menschen und einer Maschine aufzubauen.

Veröffentlicht wurde ChatGPT von dessen Entwickler OpenAI im November 2022 und gilt als Nachfolger der InstructGPT-Modelle. OpenAI ist ein amerikanisches Unternehmen, welches sich mit der Erforschung von künstlicher Intelligenz beschäftigt und unter anderem von Elon Musk sowie Microsoft unterstützt wird. Die 2015 gegründete Non-Profit-Organisation veröffentlichte unter anderem auch die Sprachmodule GPT-2 und GPT-3 sowie das Programm DALL-E und dessen Nachfolger DALL-E 2, welche in der Lage sind, mithilfe von maschinellem Lernen auf Basis von Textbeschreibungen Bilder zu erzeugen.

Wie funktioniert das Sprachmodell?

Während ChatGPT als Schwestermodell vom erwähnten InstructGPT gehandelt wird, baut der Algorithmus auf einem Modell von GPT-3, konkret der GPT-3.5-Serie, auf.

Das Sprachmodell nutzt das sogenannte „Reinforcement Learning from Human Feedback (RLHF)“, wobei die Grundlagen des Modells durch überwachtes Lernen (supervised learning) gelegt werden. Dafür wurden menschliche Trainer eingesetzt, um Trainingsdaten zu generieren, indem sie sowohl die Rolle des Benutzers als auch jene des KI-Assistenten einnahmen.

Im zweiten Schritt unterstützten sie bei der Erstellung von Belohnungsmodellen für das bestärkende Lernen (reinforcement learning) des Modells durch Bewertung der erzeugten Antworten durch die Trainer. Darauf basierend konnten die Belohnungsmodelle durch Optimierung der Proximalpolitik verfeinert werden.

Online-Zugang

ChatGPT kann aktuell auf der Website von OpenAI aufgerufen und verwendet werden. Nach Registrierung mittels eines OpenAI-Accounts und erfolgter Anmeldung kann das Modell aktuell während des sogenannten „research preview“ kostenlos verwendet und getestet werden.

OpenAI erhofft sich in dieser Phase Feedback von Nutzern zu erhalten sowie die Erprobung der Stärken und Schwächen des Tools durch die Anwender. Die Nutzungsvereinbarungen stellen klar, dass das Sprachmodell nicht für Zwecke verwendet werden darf, welche die Rechte von Personen verletzen, um den Quellcode zu ermitteln, andere groß angelegte Modelle zu entwickeln, welche mit OpenAI konkurrieren oder die Datenausgabe damit zu deklarieren, dass diese von Menschen generiert wurde, obwohl dies nicht der Fall ist.

Das Sprachmodell ist darauf ausgelegt, im Dialogformat mit Anwendern zu kommunizieren. Dabei soll es auch in der Lage sein, auf Folgefragen innerhalb einer Konversation korrekt zu antworten. Dies ist möglich, da ChatGPT zustandsbehaftet ist und sich an frühere Eingabeaufforderungen erinnert, wodurch sich der Anwender darauf beziehen kann und dies vom Sprachmodell auch verstanden wird.

ChatGPT soll auch in der Lage sein, unangemessene und illegale Anfragen abzulehnen und Antworten zu verweigern. Limitierungen in der Funktion gibt das Unternehmen in jener Weise an, indem darauf hingewiesen wird, dass der Chatbot teilweise plausibel klingende, aber falsche und unsinnige Antworten generiert. Es wird auf die Ursachen dieses Verhaltens eingegangen und damit begründet, dass während des bestärkenden Lernens keine Quelle der Wahrheit vorhanden ist, beim überwachten Lernen das Wissen des menschlichen Trainers ausschlaggebend ist sowie eine konservative oder vorsichtigere Antwortpolitik dazu führt, dass Fragen unbeantwortet bleiben, obwohl das System diese richtig beantworten könnte. Des Weiteren können geringfügige Änderungen der Eingabe zu einer Änderung der ausgegebenen Antwort führen bzw. versucht das Modell bei mehrdeutigen Anfragen die beabsichtigte Fragestellung zu erraten und zu beantworten, anstatt eine Rückfrage zu stellen.

ChatGPT liefert oft sehr umfangreiche Antworten, da diese von den Trainern bevorzugt wurden und daher höher belohnt werden. Obwohl das Sprachmodell auf das Unterbinden von unangemessenen Anfragen trainiert ist, kann dies nicht zur Gänze verhindert werden.

Chatbot

Was ist ein Chatbot?

Unter einem Chatbot versteht man ein Dialogsystem, welches eine Kommunikation zwischen einem Menschen und einer Software aufbauen kann. Dabei besteht die Funktionsweise darin, dass ein Mensch eine Nachricht als Texteingabe oder mittels gesprochener Sprache eingibt und der Chatbot mittels einer sinnvollen Antwort darauf reagiert. In dieser Form soll eine Konversation aufgebaut werden, in welcher der Bot auf Datenbanken zurückgreift bzw. durch maschinelles Lernen oder Deep Learning trainiert wird und so die Antworten optimieren kann.

Um den Anschein einer Kommunikation mit einem realen Gegenüber zu verstärken, werden Chatbots oft gemeinsam mit sogenannten Avataren eingesetzt. Dabei handelt es sich um eine virtuelle Person bzw. Identität mit Foto, Namen und fiktiven menschlichen Eigenschaften.

Grundsätzlich werden 2 Arten von Chatbots unterschieden. Jene, welche eine Freitexteingabe erlauben und jene, welche auf Regeln basieren. Bei regelbasierten Bots werden Eingabeoptionen vorgeschlagen, welche ausgewählt werden können, um so eine Kommunikation aufzubauen. Freitext-Bots erlauben hingegen eine freie Eingabe und basieren auf dem sogenannten Natural Language Processing (NLP). Hierbei handelt es sich um eine Methode, bei welcher Maschinen die menschliche Sprache verstehen und interpretieren können.

Die Schwierigkeit besteht in der richtigen Deutung der Grammatik sowie der Herausforderung den Sinn und Zusammenhang von Sätzen richtig zu verstehen. Für diesen Fall wird maschinelles Lernen eingesetzt, während dies bei der Anwendung von regelbasierten Bots nicht erforderlich ist.

Programmierung und technische Grundlagen

Chatbots können in vielen verschiedenen Programmiersprachen wie beispielsweise Python, Java oder PHP umgesetzt werden. Python bietet mit einer Bibliothek namens „Chatterbot“ ein vorgefertigtes Rahmenkonstrukt, in welchem Trainingsdaten in sogenannten Korpora hinterlegt sind, welche Bots zum selbstständigen Lernen nutzen.

Neben der Möglichkeit des selbstständigen Aufbaus eines Chatbots, bestehen am Markt auch eine Vielzahl von vorgefertigten Open Source Chatbot-Entwicklungsframeworks wie beispielsweise „Microsoft Bot Framework“, „IBM Watson“ oder „Botpress“, welche oft ohne Programmierkenntnisse erstellt werden können und darüber hinaus auch Schnittstellen zu sozialen Diensten sowie Analysemöglichkeiten bieten.

Alle Lösungen (egal, ob selbst programmiert oder mittels Open Source Modulsystem zusammengestellt) basieren auf demselben Prinzip, indem sie auf eine menschliche Eingabe mit einer Ausgabe mit dem höchsten Konfidenzniveau der vorhandenen Daten antworten und die Qualität der Antwort für folgende Konversationen miteinbeziehen.

Anwendungsbereiche von Chatbots

Die Anwendungsgebiete für Chatbots sind sehr weitreichend. Sie können beispielsweise in folgenden Gebieten eingesetzt werden:

  • Helpdesk: Bei diesem Anwendungsfall interagiert der Kunde mit dem Chatbot, um eine Problem- oder Fragestellung zu beantworten. Diese Methode soll im ersten Schritt eine Kontaktaufnahme per Mail oder Telefon ersetzen und bringt dem Kunden den Vorteil, dass ihm im Erfolgsfall (rund um die Uhr) eine sofortige Lösung bzw. Antwort präsentiert wird. Sollte die Konversation mit dem Bot zu keinem Erfolg führen, besteht oft die Möglichkeit, im Nachgang über konventionelle Möglichkeiten in Kontakt zu treten. Durch die automatische Datensammlung lernt der Bot mit jeder Fragestellung eines Kunden hinzu und kann dieses Erlernte in Zukunft ausgeben.
  • Kaufberatung/Produktempfehlung: In Onlineshops wird diese Art von Bots, auch Service Bot genannt, oftmals eingesetzt, um eine „persönliche“ Beratung aufgrund individueller Vorlieben anzubieten. Dabei filtert der Bot aufgrund der gestellten Fragen und gegebenen Antworten passende Produkte oder Dienstleistungen und bietet diese dem Kunden an. Somit soll gewissermaßen der persönlichen Beratung im Internet entsprochen und durch das sofortige Kundenfeedback Daten bezüglich Vorlieben und Trends gesammelt werden.
  • Interne Anwendung im „Backoffice“: Unternehmen können Bots auch innerhalb des eigenen Unternehmens ohne externen Kundenkontakt einsetzen. Hierbei eignen sie sich beispielsweise als Anlaufstelle für interne Fragestellungen sowie auch zum Klassifizieren und Kategorisieren von Nachrichten, Beiträgen oder Anträgen. Auch die Verteilung von Nachrichten an zuständige Mitarbeiter kann durch Bots übernommen werden.

Computational Neuroscience

Was ist Computational Neuroscience?

Mit Computational Neuroscience wird erforscht, wie Nervensysteme ihre Informationen verarbeiten. Die computergestützte Simulation des Nervensystems und eine naturgetreue Abbildung von Vorgängen im Gehirn bilden die Grundlagen der Computational Neuroscience. Dabei werden die Verarbeitung von Sinneseindrücken beobachtet.

Neuro-Forscher entwickeln auf Basis von experimentell gewonnenen Daten mathematische Modelle, die schließlich durch neuronale Funktionen am Computer simuliert werden. Dabei werden Vorhersagen von Modellen für das neuronale Verhalten experimentell überprüft und optimiert.

Viele innovative Technologien profitieren bereits von Forschungserfolgen auf diesem Gebiet. Mit dem Wissen über Hirnfunktionen können inzwischen intelligente technische Hilfsmittel entworfen werden, wie etwa Fahrerassistenz-Systeme, selbstlernende Computer, Roboter und auch intelligente Prothesen. Ein zentrales Ziel besteht darin, dass Computermodelle dabei helfen, Fehlfunktionen des Gehirns und Ursachen für Krankheiten frühzeitig zu erkennen und zu heilen. Therapieansätze können mithilfe der Computational Neuroscience virtuell erprobt werden und helfen somit bei der stetigen Weiterentwicklung von realen Therapien und Studien.

Auf welche Modelle und Grundlagen stützt sich die Computational Neuroscience?

Die Grundlage der Computational Neuroscience baut auf die Weiterentwicklung von Künstlicher Intelligenz und dem Modell der künstlichen neuronalen Netze. Die künstlichen neuronalen Netze (KNN) kann man als mathematische Nachbildungen der Reizverarbeitung im Gehirn betrachten. Diese Nachbildungen sind untereinander verbundene künstliche Neuronen. Es werden anstelle von elektrischen oder chemischen Signalen der biologischen Systeme nun Algorithmen mit Zahlenwerten verarbeitet.

Auf diesem System baut zum Beispiel maschinelles Sehen auf. Die mathematische Modellierung leitet sich aus den Erkenntnissen der Neurowissenschaften, Biophysik und Theorie von dynamischen und von komplexen Systemen ab. Solche Modelle können wegen ihrer Komplexität meist ausschließlich computergestützt simuliert werden. Experimentelle Daten sind häufig Grundlage dieser Berechnungen, wie etwa der elektrophysiologischen Eigenschaften von Nervenzellen und Synapsen und den Netzwerkstrukturen in realen Nervennetzen.

Computational Statistics

Was sind Computational Statistics?

Das Feld Computational Statistics ist der Kontaktpunkt zwischen Informationstechnik und Statistik. Hinter dem Begriff steht ein wesentlicher Bereich der Data Science, der aktuell und sicherlich auch in Zukunft große Aufmerksamkeit in unterschiedlichsten Anwendungsfeldern genießt, sei es für den Google PageRank, Spamfilter im E-Mail-Postfach oder im Rahmen von Big-Data-Analysen.

Untergeordnet wird Computational Statistics neben der Datenwissenschaft auch der Simulationswissenschaft; hierbei geht es generell um das Nachstellen von Experimenten, um den Arbeitsaufwand beim Forschen zu minimieren oder Versuche überhaupt erst möglich zu machen.

Computational Statistics wird oft gleichgesetzt mit Statistical Computing. Tatsächlich geht es bei ersterem jedoch hauptsächlich um die Implementierung von Algorithmen in Anwendungen; beim Statistical Computing ist es umgekehrt und Konzepte der Informatik werden auf die Statistik angewandt.

Wichtige Methoden:

  • Die Markow-Kette ist ein stochastischer Prozess, der Anwendung in unterschiedlichsten Bereichen findet: Wirtschaftswissenschaftlern hilft sie dabei, Verkehrssysteme zu optimieren, in der Finanzmathematik werden damit Aktienkurse modelliert und Onlinemarketer erstellen damit Texte; auch das beliebte Brettspiel Monopoly ist als Markow-Kette zu verstehen. Vereinfacht ausgedrückt wird in diesem mathematischen Verfahren nämlich die zeitliche Entwicklung von zufallsabhängigen Systemen betrachtet. Eine Aneinanderreihung von Würfelwürfen also, deren jeweiliges Würfelergebnis natürlich unabhängig vom Würfelwurf davor ist. Am Beispiel Monopoly könnte mit diesem Prozess nun ermittelt werden, wie wahrscheinlich bestimmte Spielszenarien sind.
  • Die Monte-Carlo-Simulation ermöglicht es, statistische Studien durchzuführen, die auf anderen Wegen nicht umsetzbar oder sehr aufwendig wären. Soll etwa die Durchschnittsgröße eines Menschen ermittelt werden, so könnte man alle Erdenbürger messen und die Summe durch die Weltpopulation teilen – das ist ein unmögliches Unterfangen. In der Monte-Carlo-Simulation wird eine kleinere Anzahl von Menschen zufällig ausgewählt, was den Arbeitsaufwand gering hält. Je mehr Messungen durchgeführt werden, desto mehr nähert man sich dem realen Ergebnis an – der Grund dafür ist das Gesetz der großen Zahlen. Auch die Monte-Carlo-Simulation wird in vielen Bereichen eingesetzt: Klimamodelle sagen bspw. das Wetter voraus, Firmen wägen damit Risiken ab und Produktionsprozesse in Fertigungsstätten werden mithilfe dieses Verfahrens optimiert.
  • Die Maximum-Likelihood-Methode ist ein universell einsetzbares Schätzverfahren – in der Bioinformatik gilt es als Standardverfahren. Wie auch die Monte-Carlo-Simulation wird die Maximum-Likelihood-Methode eingesetzt, um den Aufwand möglichst gering zu halten. Das bedeutet: Möchte man für eine Statistik verschiedene Parameter ausprobieren, für die es jedoch keine Messungen gibt, so wird mit der Maximum-Likelihood-Methode der Parameter bestimmt, der am wahrscheinlichsten zum erwünschten Ergebnis führt.

Welche Rolle spielen Computational Statistics in der Entwicklung neuer Technologien?

Die computergestützte Statistik setzt sich aus verschiedenen Bestandteilen zusammen. Auf Basis der mathematischen Grundlagen Wahrscheinlichkeit, Verteilung, Schätzung und Folgerung werden Methoden (wie u.a. die Markow-Kette) eingesetzt, um Daten aufzubereiten. Wer sich innerhalb dieses Gebiets bewegt, beherrscht die Vorgehensweisen der Statistik und deren digitale Umsetzung.

In Zukunft wird die Arbeit mit Computational Statistics mehr denn je eine Rolle spielen. Gerade Bereiche der Digitalisierung werden meistens durch computergestützte Statistik ergänzt. Auf dem Gebiet des autonomen Fahrens besteht bspw. dringender Bedarf an Statistiken; da es im öffentlichen Straßenverkehr vorrangig um die Sicherheit geht, wird die computergestützte Statistik essenziell benötigt. Die Nanotechnologie sowie der medizinische Sektor im Allgemeinen werden weiterhin auf Verfahren wie die Maximum-Likelihood-Methode setzen, um an DNA-Fäden zu forschen.

Die Felder der Technologisierung erfordern die Analyse durch computergestützte Statistik, sei es die virtuelle Realität, Blockchain oder die künstliche Intelligenz.

Ein Beispiel für die computergestützte Statistik in der Entwicklung neuer Technologien ist eine Onlineplattform für Mietwohnungen. Seit der Firmengründung bestand das Problem der unzähligen Variablen, die den Vermietern die Preisgestaltung erschweren. Daher setzten sie von Anfang an auf Data Science, um für ihre Kunden Preisvorschläge zu errechnen. Diese Vorschläge vermindern den Arbeitsaufwand für den Vermieter und machen es damit niedrigschwelliger, ein Inserat für die leerstehende Wohnung aufzugeben. Dadurch steigende Umsätze werden wiederum statistisch aufgearbeitet. Die computergestützte Statistik ist mit der Entwicklung neuer Technologien eng verwoben; das erkennt man an diesem Beispiel.

Condition Monitoring

Condition Monitoring bezieht sich auf die kontinuierliche Überwachung des Gerätezustands durch Sensoren. Ziel ist es, Veränderungen zu erkennen, die auf mögliche Schäden hinweisen, sodass Reparaturen durchgeführt werden können, bevor es zu einem Ausfall kommt.

Die Hauptidee besteht darin, Maßnahmen zu ergreifen, wenn Komponenten einer Maschine bestimmte Verhaltensweisen zeigen, die in der Regel zu einem Abwärtstrend der Produktqualität, einer Verschlechterung der Maschine oder einem Ausfall führen. Es zeigt die Notwendigkeit von Wartungsmaßnahmen an, bevor der eigentliche Schaden eintritt oder sich die Produktqualität drastisch verändert. Die Grundlage dieses Ansatzes ist die Sammlung einer großen Menge von Maschinendaten und die Methoden zur Erkennung von Anomalien.