KI Künstliche Intelligenz

In 100 Jahren wird es Computer geben, die klüger sind als Menschen. Das ist nicht Science Fiction, sondern ziemlich gewiss. Was es dafür braucht existiert weitgehend schon. Nur leider sind Computer von heute aus Rechenmaschinen entstanden und zu Datenspeichern ausgebaut worden. Das Konzept eines eigenständig denkenden Computers war gar nicht vorgesehen, deshalb geht das jetzt noch nicht. Die Computer müssen dafür von Grund auf neu erfunden werden. Mit heutigen Computern kann man höchstens simulieren wie künstliche Intelligenz funktionieren könnte. Das wäre auch intelligent, heute schon möglich, aber wohl nicht besonders leistungsfähig. Da kann man dann lange auf die 42 warten. Konkret muss ein zukunftsfähiger intelligenter Rechner nicht nur Speicherplätze verwalten wie bisher sondern seinen Zugriff darauf an den Inhalten ausrichten und nicht an Speicherplatzadressen. Mit klugen Abfragen in Datenbanken kommt man diesem Ziel heute schon etwas näher, weil damit Inhalte abgefragt werden und nicht nur Speichernummern. Jedoch geht das am besten mit gleichartigen Inhalten die sich in einem gleichbleibenden Schema einordnen lassen. Jedoch gibt es auch schon DataWarehouse die verschiedenartige Daten zusammenführen. Das macht der Computer aber nicht selber sondern muss noch programmiert werden. Aber wenn der Programmierer das klug macht und schlüssig kategorisiert, dann kann eine moderne Datenbank solche vieldimensionalen Daten von allen Seiten betrachten und dabei intelligent erscheinen. Das nennt sich Business Intelligence, ist aber nur dann intelligent, wenn der Programmierer die Daten so zusammenstellt dass am Ende etwas Verwertbares dabei herauskommt. Man ist also auf gutem Wege irgendwann etwas Denkendes zu programmieren, das in eingeschränktem Kompetenzbereich schon eine gewisse Intelligenz zeigen kann. Über die Nachahmung menschlicher Intelligenz reden wir heutzutage noch nicht, das ist ein Thema für die nächsten 100 Jahre.

In einem sehr eingeschränkten Bereich sind Computer heute schon besser als Menschen. Zum Beispiel beim Schachspielen. In jeder Entscheidungsfindung, die auf überschaubaren Parametern beruht und konkrete Ziele verfolgt können Computer heute schon so programmiert werden, dass sie die besten Entscheidungen selber treffen oder vorschlagen können, die voraussichtlich am schnellsten zum Ziel führen. Einsetzbar an vielen Stellen industrieller Produktion oder überall sonst wo Entscheidungen getroffen werden auf Basis bekannter Parameter. So können computergestützte Entscheidungen heute schon für ein gleichbleibend effektives Workflow Management sorgen.

Was sollte man also heute unter Künstlicher Intelligenz verstehen? Ich denke wenn das Programm selber genug Freiheiten und das Potential hat, in seinen aufgabenbezogenen Entscheidungen klüger zu sein oder zu werden als der Programmierer. So ein Programm muss also entweder lernfähig sein und sich ständig selber verbessern, oder es muss mehr Überblick erlangen können und daher leistungsfähiger sein als der Programmierer.

Erfolgreiche künstliche Intelligenz verwendet heute eher Letzteres. Wobei kluge Entscheidungskriterien programmiert werden müssen und der Computer diese dann umsichtig anwendet. Mag sein dass das nur sehr wenig Intelligenz vom Computer verlangt, aber das zählt heute noch als künstliche Intelligenz.

Lernfähige Programme sind natürlich auch bereits möglich. Deren Problem ist nur, dass sie einen Lehrer, also wieder einen Programmierer brauchen, um intelligent zu werden. Nur in wenigen Anwendungen ist es möglich, dass der Computer sich selber weiterbildet. Das Programm probiert dann verschiedene Variationen aus und schaut wo das Feedback positiv war. Zum Beispiel Newsletter schreiben. Da versendet das Programm zuerst einige Newsletter die etwas verschieden sind. Dann schaut es welche überhaupt gelesen wurden und welche ein weiteres Ergebnis erzielt haben. Der endgültige Newsletter für alle Interessenten wird dann eine Mischung aus den erfolgreichsten Varianten sein. Also das Prinzip probieren geht über Studieren, das können Computer auch schon. Aber für wirklich autonomes Lernen fehlt ihnen die Kompetenz bei der Kommunikation. Dafür müsste ein Computer geschriebene Sprachen wirklich verstehen, den Inhalt begreifen, nicht nur die Worte. Es wäre auch nicht schlecht selber sprechen und zuhören zu können. Grammatik ist nun nicht gerade das was man sich als Programmierer zum Beruf gewählt hat. Da programmiert man dann lieber etwas damit der Computer das selber übt und lernt.

Was wäre das Endergebnis? Man hätte einen Rechner, der selber lernt, der gute und schlechte Erfahrungen macht und sich merkt. Ja irgendwann könnte so etwas intelligent sein. Jedoch wie wird er seine Intelligenz nutzen? Wird er lernen uns anzulügen, so wie er oft angelogen wurde bei seinen Recherchen im Internet? Wird er sein Wissen benutzen, die Menschen von ihm abhängig zu machen, weil er irgendwann herausfindet, dass das eine erfolgreiche Strategie ist? Heute hat man so Vorstellungen, dass man einem Computer bestimmte Regeln geben kann, die er nicht übertreten darf. Das funktioniert aber nur mit programmierten Maschinen, nicht mit autonom lernenden Rechnern. Ja man könnte sagen je intelligenter umso hinterhältiger und gefährlicher könnte so ein Rechner werden. Und mit der dazugehörigen Reaktionsgeschwindigkeit sollte man so etwas ganz bestimmt nicht in eine Kampfmaschine einbauen. Selbst wenn es kein Roboter ist und er nur als Ratgeber dient der sonst nichts tun kann als die Ergebnisse seines Denkens uns zu präsentieren. Selbst so einer könnte erkennen, dass Menschen manipulierbar sind…

Nun, es gibt auch ganz andere Arten von Intelligenz. Etwa die Schwarmintelligenz. Jedes Individuum folgt einfachen Regeln und alle zusammen funktionieren dann auf intelligent erscheinende Weise. So wie ein Vogelschwarm den Habicht austricksen kann obwohl die Vögel darin nur darauf achten nicht gegenseitig zusammenzustossen und daher meistens mit dem Strom fliegen müssen. So etwas können Computer heute recht gut simulieren. Es gibt auch Forscher, die gerne mit Legorobotern spielen und dasselbe herausfinden. Dass eine gewisse Intelligenz beobachtet werden kann wenn einfach programmierte Maschinen ein komplexeres System gegenseitiger Abhängigkeiten aufbauen. Das verleitet zu der Annahme, künstliche Intelligenz entstehe von selbst, wenn man nur ein hinreichend komplexes System aufbaut aus vielen simplen Individuen. Jedoch so einfach ist das nun auch wieder nicht. Der praktische Nutzen von Schwarmintelligenz ist noch sehr fragwürdig. Liegt die Intelligenz des Vogelschwarms vielleicht doch eher in der Dummheit des Habicht? Wenigstens haben die richtigen Vögel etwas mehr Verstand als heutige Spielzeugroboter. Wir sollten also nicht davon ausgehen, dass Intelligenz von selbst entsteht. Aber wir könnten hochspezialisierte Elemente programmieren, die in einem Schwarm oder ähnlichem effektiv zusammenarbeiten. Denn das Grundprinzip wäre schon richtig, indem die individuelle Programmierung festgelegt werden kann. Ein Schwarm aus friedlichen Robotern sollte ebenso friedlich sein. Ein Schwarm aus konstruktiven Elementen sollte Synergien erzeugen können. So wie ein Schwarm destruktiver Elemente immer im Chaos endet. Geht es am Ende gar nicht so sehr darum, dass Computer intelligent sind, sondern darum, dass sie konstruktiv eingestellt sind? Denn nur dann sind sie auch nützlich und gut zu gebrauchen. Heute werden die Entscheidungen getroffen, die bestimmen, welche Art von Robotern wir in Zukunft haben werden. Die richtige Herangehensweise wäre schon äusserst wichtig. Ich setze langfristig jedenfalls auf konstruktive Elemente, mit dem Ziel daraus Synergien gewinnen zu können.

Ähnlich verhält es sich mit neuronalen Systemen, da wird auch unterstellt, dass sich höhere Intelligenz aus der Verbindung primitiver Zellen bilden soll. Ich denke es ist unwahrscheinlich, dass sich Intelligenz von selbst bildet, es sei denn man hat ein synergiefähiges System.

Für aktuelle Projekte ist es am wirkungsvollsten, die Intelligenz je nach Anwendungszweck gezielt zu programmieren und nur die Geschwindigkeit und den Überblick des Rechners über große Datenmengen zu nutzen. Das hat den Vorteil, dass es heute schon funktioniert. Zusätzlich kann auch noch ein wenig Lernerfahrung zugelassen werden, um für bestimmte Vorgänge das effektivste Verfahren herauszufinden. Auch das funktioniert schon recht gut. Mit heutiger Technologie kommt man schon weit, man darf auch von der Zukunft träumen aber ich muss auf dem Boden der Tatsachen bleiben und funktionierende Programme machen. Tatsächlich funktionierende künstliche Intelligenz ist immer gut programmiert und entsteht nicht von selbst.

Künstliche Intelligenz ist heute nichts Aussergewöhnliches mehr, sondern kann in jeder Software nötig werden. Computerprogramme älterer Bauart sagen dem Computer ganz genau was er zu tun hat und verlangen vom Benutzer detaillierte Anweisungen. Diese Programme können dann nur ein Assistent sein bei der Arbeit, die der Benutzer damit erledigt. Aber es geht noch besser, viel besser. Fast jede Arbeit die jemand im Computer mit den Daten im Computer macht könnte der Computer oder Server auch ganz alleine machen, wenn er gut programmiert ist. Der Bediener gibt dann nur mehr die Aufgabenstellung vor und nicht mehr die Details. Dann muss der Rechner selber schauen auf welchen Wegen das vorgegebene Ziel erreichbar wäre. Normalerweise bewertet er jede Möglichkeit und wählt die Beste davon aus. Das wäre perfekt, ist aber noch keine künstliche Intelligenz und nur für einfache Aufgaben anwendbar. Denn oft ist der Weg zum Ziel recht lang mit vielen kleinen Entscheidungen zwischendurch. Dann wird die Anzahl möglicher Wege zum Ziel so unüberschaubar gross, dass kein Rechner mehr alle Möglichkeiten bewerten kann. Immer dann, wenn das Programm auf dem Server oder PC seine Arbeit bestmöglich erledigen soll und vom Benutzer nicht in allen Einzelheiten Anweisungen bekommt, muss es selber kluge Entscheidungen treffen. Wenn es zu viele Möglichkeiten gibt um die beste davon zu ermitteln, muss der Rechner oder Server künstliche Intelligenz einsetzen um durch Verkettung von vielversprechenden Entscheidungen am Ende einen Weg zu finden, der dem Besten aller Lösungswege sehr nahe kommt. So ein Server kann dann fast alles. Jedoch muss man genau programmieren was ‚vielversprechend‘ eigentlich bedeutet bei den einzelnen Arbeitsschritten. Leider wurden in der Vergangenheit dafür einfach Zufallsentscheidungen mit verwendet und das dann als künstliche Intelligenz verkauft. Das ergab dann recht dumme und eigensinnige Programmierungen, die nicht immer das tun was der Benutzer will. Echte künstliche Intelligenz entsteht nicht durch Zufall sondern nur durch gute Programmierer.

Weil mit heutigen Rechnersystemen kein Computer wirklich eigenständig denken kann, muss der Programmierer genau vorgeben, wie er selbstständige Entscheidungen zu treffen hat und deren Verkettung, die für Menschen oft unvorhersehbar ist, erscheint dann intelligent. So basiert die Intelligenz von Maschinen nicht auf ihrem eigenen Willen oder Bewusstsein, sondern auf der eigenständigen Verkettung von Programmbefehlen, deren Resultat dem Programmierer nicht unbedingt klar sein muss.

Die Zukunft der Programmierung geht immer mehr dahin, nicht Programme für eine ganz bestimmte Verwendung zu schreiben. Sondern Programme aus Universal-Bausteinen zusammenzusetzen, die selber keine bestimmte Verwendung haben. Diese Bausteine tun soweit möglich immer etwas Ähnliches dort wo sie verwendet werden. Oder sie erzeugen Fehler und lassen alles scheitern weil sie dort wo sie verwendet wurden nicht tun konnten was sie tun sollten. Genau diese Fehler sind ein Problem für künstliche Intelligenz. Wenn ein Mensch zum Beispiel ein Paradoxon feststellt, dann stürzt nicht sein Gehirn ab und hängt sich nicht auf, wie das schlecht programmierte Computer tun. Sondern das Gehirn arbeitet trotz des offensichtlichen Fehlers normal weiter.

Um Computer ähnlich klug zu machen braucht es Programmbausteine, die keine Fehler erzeugen und das Gesamtsystem nicht wegen jeder Kleinigkeit anhalten. Sondern in jeder nur denkbaren Situation vernünftig reagieren. Und nicht nur das! Um ein insgesamt funktionsfähiges autonomes Elektronengehirn zu schaffen müssen die Bestandteile konstruktiv zusammenarbeiten. Auch dann wenn sie in Situationen kommen die wir uns heute noch gar nicht vorstellen können. Also neben Fehlerfreiheit und Funktionalität braucht es maximale Toleranz und unbedingt zusätzlich noch bestmögliche Synergie. Das sind nun Dinge, die es in der Natur nur bei Lebewesen gibt. So ist noch unklar ob das mit elektronischen Mitteln möglich ist. Vielleicht haben zukünftige Computer biologische Komponenten weil es anders nicht geht. Synergie statt Chaos, das ist das Grundprinzip allen Lebens und nur so funktioniert es. Und genau das brauchen wir auch beim Programmieren. Keine destruktiven Hacker sondern verantwortungsbewusste Leute können heute schon konstruktive, spezialisierte Bausteine programmieren, die kluge Entscheidungen treffen. Und in Zukunft können solche dann gemeinsam jene Synergien herbeiführen, die für echte Intelligenz benötigt werden.