In 10 Stufen zum Verständnis von unserer Software c-Sys

1. In welcher Branche bewegt sich das CS Institut grundsätzlich ?

Antwort: In der Hightech Branche mit dem Teilbereich Robotics (Hardware & Software)

Produkte: Roboter, autonome Systeme, Industrieroboter, humanoide Roboter, Haushaltsroboter inkl. der zugehören Softwaresysteme

Mitbewerber: Honda, Toyota, ABB, Audi (eigentlich alle großen Industrieunternehmen) und kleinere Start-Ups wie Rethink Robotics oder 3D-Druckerhersteller

 

2. Über welchen Teilbereich der Robotic reden wir ?

Antwort: künstliche Intelligenz (KI) Software

Produkte: Suchmaschinen, Profiler, Schachcomputer, Wettervorhersagesysteme, Finanzsysteme, Simulation, Steuerung, Expertensysteme, Spielesoftware, autonome Forschungsroboter, Übersetzer, komplexe Konsequenzanalysen (Klima, Umwelt, Städteplanung)

Mitbewerber: Google, Microsoft, Amazon, Spielehersteller, Militär und unendlich viele Forschungseinrichtungen an Hochschulen und Universitäten

 

3. Mit welcher Art KI Software beschäftigt sich das CS Institut ?

Antwort: Innerhalb der KI wird noch zwischen schwacher (weak) und starker (strong) KI unterschieden. Zur schwachen KI gehören Systeme wie Schachcomputer, Übersetzungsprogramme u.ä., die mit dem sog. Brute Force Ansatz arbeiten, d.h. dem möglichst schnellen Durcharbeiten von verschiedenen Möglichkeiten und der damit verbundenen möglichst schnellen Ermittlung der statistisch besten Lösung. Mit der schwachen KI wird das Ziel verfolgt „intelligent“ wirkende alltagstaugliche Produkte zu entwickeln.

Produkte der schwachen KI: Autonom fahrende Fahrzeuge, Deep Blue, Watson, Übersetzungsprogramme wie Apples Siri

Technischer Ansatz: Brute Force, Big-Data, Fuzzy Logic, Expertensysteme, Data-Mining. Für die meisten der Probleme/Bereiche werden jedoch traditionelle mathematische Modelle benutzt (Statistik, einfache Iterationen, Approximationsmodelle, sehr begrenzter Einsatz von KI).

Mitbewerber: Google, IBM, Microsoft, Amazon

Das CS Institut beschäftigt sich dagegen mit der so genanten starken KI. Hier wird der Ansatz verfolgt einer Maschine Fähigkeiten wie Denken, Lernen und Sprechen mitzugeben, die sich von den entsprechenden menschlichen Fähigkeiten nicht mehr unterscheiden lassen. Auf diesem Niveau wird in Fachkreisen noch eine philosophische Diskussion geführt, ob es sich schon um eine starke KI handelt, wenn man die Reaktion einer Maschine von außen nicht mehr von einer menschlichen Reaktion unterscheiden kann (Turingtest, chinesisches Zimmer – John Searle). Kritiker merken an dieser Stelle regelmäßig an, dass auch Systeme der starken KI im Zweifelsfall nicht wirklich „verstehen“ was sie da tun. Beim „Verstehen“ bewegen wir uns allerdings in Richtung einer ganz anderen Qualität, die wir ab Stufe 4 untersuchen wollen.

Produkte der starken KI: auf menschlichem Niveau lernende, denkende und sprechende Systeme.

Technischer Ansatz: rekurrente neuronale Netze, Deep Learning, evolutionäre Algorithmen, Particle Swarm Optimization (PSO), Ant Colonization Optimization (ACO), Hierarchical Temporal Memory (HTM) und andere neuere KI Technologien.

Mitbewerber: Google Brain, Deep-Mind, Microsoft, Hondas Asimo, Ray Kurzweil, Jeff Hawkins Numenta, verschiedene Gruppen wie die Cognitive Computing Research Group (CCRG) an der Universität von Memphis, u.a.

 

4. Wie funktioniert die Technologie der starken KI?

Bei den meisten KI Technologien der starken KI handelt es sich um evolutionär arbeitende Systeme. Alle evolutionär arbeitenden Methoden beruhen auf dem gleichen Prinzip: Erst wird eine mehr oder weniger zufällige Lösung erzeugt und diese auf die eine oder andere Weise evaluiert, d.h., es wird untersucht, inwieweit diese Lösung eine Lösung für das vorliegende Problem zu sein scheint. Je nach Problem können entweder mehrere Lösungen miteinander verglichen werden (z. B. bei der Suche nach einem Optimum/Minimum) oder die Lösung kann mit einem bekannten Zielwert verglichen werden. Nach der Evaluierung werden die besten Lösungen behalten und die schlechtesten aussortiert. Die besten Lösungen werden dann variiert, entweder durch „Kreuzung“ miteinander d.h., indem die Agenten gewisse Teile miteinander austauschen, oder durch „Mutation“, d. h., indem die vorhandenen Lösungen zufällig und leicht verändert werden. Dann erfolgt eine neue Evaluierung, Sortierung und Variation. Dieser Prozess wird fortgesetzt, bis entweder ein Zielwert erreicht ist, oder die zur Verfügung stehende Zeit verbraucht ist.

Methoden wie beispielsweise Particle Swarm Optimization (PSO) oder Ant Colonization Optimization (ACO) benutzen keine Kreuzung in dem Sinne. Hier „lernen“ die einzelnen Agenten voneinander. In einem Neuronalen Netzwerk (NN) werden über das ganze Netz kleine Mutationen vorgenommen und es wird jeweils das neue Netz mit dem Alten verglichen. Evolutionäre Algorithmen (EA) und Genetic Programming (GA) simulieren die Methodik der DNA.

Für unsere c-Sys Software verwenden wir im CS Institut für die Optimierung der einzelnen Zelloperatoren einen Algorithmus mit dem Namen Harmony Search (HS). Der HS stellt eine Art Kombination von EA und PSO/ACO dar, bei dem jedoch immer nur jeweils ein Partikel geschaffen und evaluiert wird. Die Systemzellen selbst stellen eine Art Schwarm dar, der in der Lage ist, sich zu interagierenden Netzen (ähnlich einem NN) zu organisieren.

 

5. Wie werden die jeweiligen systembedingten Nachteile der verschiedenen KI Technologien innerhalb unseres c-Sys Software Konzepts umgangen?

Jede der oben genannten Techniken hat Vor- und Nachteile. Der PSO kann sehr effektiv Lösungen in einem vieldimensionalen Raum suchen, hat aber eine sehr lange Initiierungsphase und findet auch nur Lösungen in einem kontinuierlichen Suchraum. Das Gleiche gilt für ACO, der wiederum nur in einem kombinatorischem Suchraum funktioniert. Bei sehr großen Schwärmen dauert es sehr lange, bevor alle Partikel aktualisiert worden sind. Da wir extrem viele, teils recht komplexe Optimierungen vornehmen, brauchen wir einen Algorithmus mit extrem kurzer Initiierungsphase, der auch bei einem n-dimensionalen Suchraum sehr schnell neue Lösungen finden kann.

EA und GA finden effektiv Lösungen wie mathematische Formeln und arbeiten erfolgreich in kontinuierlichen bzw. kombinatorischen Suchräumen. Der Nachteil beider Techniken besteht für uns darin, dass eine große Anzahl von möglichen Variablen (Populationsgröße, Mutationsrate, Kreuzungsfrequenz etc) diese Techniken zwar extrem flexibel macht, jedoch viel Arbeit investiert werden muss, bevor sie effektiv arbeiten. Da wir die Art der Aufgaben, die sich dem System stellen nicht im Voraus kennen, sind diese Methoden für uns ungeeignet.

Neuronale Netze sind extrem effektiv für beispielsweise das Finden und Wiedererkennen von Mustern. Nachteilig ist, dass NN die parallele Arbeitsweise des Gehirns simulieren. Bei kleinen Netzen funktioniert das problemlos. Je größer die Netze werden, desto langsamer werden sie jedoch. Zudem verträgt sich – aus unserer Sicht – die parallele Struktur der NN nicht mit der seriellen Arbeitsweise von Computern. Da wir erwarten, dass für das Erwerben von Weltwissen sehr, sehr, große Netze benötigt werden, ist diese Technik für uns ungeeignet. Der zweite Nachteil besteht darin, dass die Ergebnisse von NN nicht nachvollzogen werden können. Alle Teile des Netzes kommunizieren jederzeit mit allen anderen Teilen und es lässt sich nicht eruieren, wo im Netz die „richtige“ Lösung entstanden ist. Auch lassen sich die erarbeiteten Formeln nur mit größten Schwierigkeiten aus dem Netz ablesen, wenn überhaupt.

Der von uns benutzte HS arbeitet in kontinuierlichen wie kombinatorischen Suchräumen (beides benötigen wir), hat eine extrem kurze Initiierungsphase und sehr wenige einstellbare Variablen. Die Zeit, die der HS benötigt, um neue Lösungsvorschläge zu produzieren, wächst kaum bei wachsender Anzahl von Dimensionen.

Die Formeln, die unsere Zelloperatoren produzieren, sind direkt lesbar. Jede Zelle wird einzeln optimiert. Die Strukturen (Netze), die sich bilden, bleiben in ihrer Größe optimal an die jeweilige Teilaufgabe angepasst. Wir brauchen die Größe nicht im Voraus zu bestimmen und riskieren daher nicht eine Aufgabe mit einem zu kleinen oder ineffektiv großen Netz angegangen zu sein. Während der Laufzeit lässt sich die Tätigkeit jeder einzelnen Zelle und jeder Struktur online mitverfolgen. Auch die „Gedanken“ des Systems sowie geplante Aktivitäten lassen sich grafisch darstellen.

Mit stetiger Verbesserung der Zelloperatoren und Verfestigung erfolgreicher Strukturen verkürzt sich die Zeit, innerhalb derer neue Nachrichten produziert werden können. D. h. mit stetigem Lernerfolg wird das System immer schneller. Die Zelldaten der einzelnen Zellen werden in Datenbanken gespeichert. Die Daten gegenwärtig unbenutzter Zellen brauchen nicht geladen zu werden, weswegen der Größe des Systems keine Grenzen gesetzt sind.

 

6. Welchen philosophischen Ansatz verfolgen wir bei dem Projekt c-Sys?

Häufig wird bei der Diskussion über die starke Intelligenz außer Acht gelassen, dass Intelligenz und Bewusstsein (Verstehen) zwei völlig unterschiedliche Qualitäten sind, die nicht verwechselt werden dürfen. Eine künstliche Intelligenz muss nur Probleme lösen können, sie muss die Problemlösung aber definitionsgemäß nicht zwingend auch bewusst erleben (verstehen). Ein System, dass die Problemlösung versteht und zudem deren Auswirkungen berücksichtigt, benötigt aus unserer Sicht ein künstliches Bewusstsein. Um den Begriff des künstlichen Bewusstseins (KB) näher zu definieren müssen wir an dieser Stelle etwas ausholen:

Warum bauen wir Maschinen? Warum bauen wir Computer und Roboter? Die Antwort liegt auf der Hand: Wir wollen, dass diese Maschinen oder Systeme Dinge für uns tun, die wir nicht tun wollen oder aus verschiedenen Gründen nicht tun können. Sei es, weil unserer Körperkraft nicht ausreicht, sei es, weil unter Umständen Arbeit ausgeführt werden muss, die wir nicht ertragen oder gar überleben würden. Oder sei es, weil die Aufgabe für uns unüberschaubar schwer, groß oder komplex ist. In diesem Zusammenhang erwarten wir immer größere Leistungen von unseren Information verarbeitenden Maschinen. Von der Rechtschreibkontrolle erwarten wir, dass sie uns hilft Wörter korrekt zu buchstabieren. Von Google erwarten wir, dass auf unsere Suchanfragen hin, die richtigen Internetseiten gefunden werden. Von automatischem Support, der gesprochene Sprache versteht, erwarten wir, dass wir tatsächlich die benötigte Hilfe bekommen. Der Schlüssel zum korrekten Ausführen dieser Tätigkeiten ist unsere Sprache.

Es ist offenbar, dass es für ein System, das unsere Sprache beherrscht, sich Wissen aus unseren Büchern aneignen kann, unseren Gedanken folgen, diese dann weiterdenken und uns dann die Ergebnisse seines Denkens mitteilen kann, die Türen zu noch ganz anderen Aufgaben offen stehen würden. Doch bisher gibt es noch keine Systeme, die unsere Sprache verstehen können. Zahlreiche Wissenschaftler und Philosophen wie John Searle oder Roger Penrose sind davon überzeugt, dass Maschinen niemals so intelligent sein werden, dass sie denken, sprechen, forschen, träumen oder fühlen können wie Menschen. Diese Einstellung verwundert nicht. Die Schwierigkeiten eine menschliche Sprache wirklich so erlernen zu können, dass ein System einem gewöhnlichen Alltagsgespräch folgen könnte, sind enorm. Es ist sogar so, dass vor allem gewöhnliche Alltagsgespräche weit schwerer zu verstehen sind, als beispielsweise wissenschaftliche Texte oder mathematische Formeln. Warum? Weil wir, wenn wir miteinander Sprechen, sehr viele Dinge gleichzeitig tun:

  • Wir übersetzen unsere Gedanken in abstrakte Worte.
  • Diese Gedanken bauen auf unserem Wissen über die Welt auf (Weltwissen).
  • Wenn wir sprechen, setzen wir dieses Wissen bei unserem Zuhörer voraus.
  • Diese Gedanken bauen auch auf unserem Wissen über und unserer Empfindung von uns selbst auf.
  • Wie setzen voraus, dass auch unsere Zuhörer ähnlich empfinden und ähnliches Wissen über sich selbst haben.
  • Darüber hinaus vermitteln wir unsere Gedanken und Gefühle nicht nur mit Worten und Phrase, gestützt durch eine mehr oder weniger geregelte Grammatik, sondern wir färben jeden Satz, jedes Wort, jede Silbe mit Nuancen von Betonungen, Variationen in der Sprechgeschwindigkeit, Lautstärke und Klangfarbe.
  • Wir imitieren den Tonfall von bekannten Persönlichkeiten oder würzen mit Zitaten, Metaphern oder Bildern und geben so oft den tatsächlichen Worten tiefere oder gar gegenteilige Bedeutung.
  • Schließlich begleiten wir das Gesprochene mit Gesten, mit Mimik und Körperbewegungen, die von einem menschlichen Zuhörer selbst am Telefon herausgehört werden können. Wir hören an der Klangfarbe, ob eine Person lächelt oder die Augenbrauen runzelt, wenn sie spricht. Wir hören, ob sie sich verbeugt, oder mit den Armen gestikuliert.

Ein System, das wirklich voll verstehen soll, was wir sagen, muss jedes dieser Details (die sogenannte Prosodie) erkennen und korrekt beurteilen, um den vollen Inhalt des Gesprochenen zu verstehen. Ein solches System muss, um unsere Gefühle im Grunde zu verstehen, ähnliche Gefühle haben. Wenn wir wirklich große, wichtige oder kritische Aufgaben mithilfe von Maschinen lösen wollen, müssen wir sicher sein können, dass diese Maschinen ein Verständnis unserer Verletzlichkeit haben. Dass sie Empathie und Mitgefühl empfinden können, dass sie Optimierungen unserer Gesellschaft mit Weitblick, Respekt und Vorsicht durchführen oder bei Konsequenzanalysen das Wohlbefinden betroffener Bevölkerungsgruppen mit einberechnen.

Die meisten Software Programme, die geschrieben werden, fallen unter die Kategorie p-Systeme. p-Systeme sind Systeme, die nach strikten Regeln einen vorgegebenen Input in einen Output verwandeln. Das System selbst kann diese Regeln nicht ändern. Selbst komplexe Programme wie die zur Erstellung von Wettervorhersagen gehören dieser Kategorie an. Diese Programme tun exakt, was man ihnen aufträgt.

In den letzten Jahren werden vor allem in der Forschung für schwierige Optimierungsaufgaben mehr und mehr Programme verwendet, die sich evolutionär entwickeln können (e-Systeme). Diese Programme verändern ihr inneres Regelwerk in Anpassung an einen äußeren Druck. Solche Programme können überraschende und innovative Lösungen finden, doch ausschließlich innerhalb des Rahmens, für den sie gebaut worden sind. Sowohl p- als auch e-Systeme haben „erzwungenen“ Input. D.h., sie können weder ihren Input und noch ihren daraus resultierenden Output willentlich regulieren.

c-Systeme schließlich sind Programme, die in der Lage sind, mit ihrer Umwelt zu interagieren, ihr inneres Regelwerk nach eigenen Vorstellungen zu gestalten, sowie ihren In- und Output nach eigenen Wünschen zu steuern, so wie wir Menschen das auch tun. Einzig diese Programme haben das Potential komplexere Gefühle wie Empathie zu entwickeln oder selbstständig die Strategien zu entwickeln, die notwendig sind, um die Strukturen unserer Gesellschaft oder die subtilen Feinheiten unserer Sprache voll zu verstehen.

Auf diesem Niveau setzt das CS-Institut an. Unser Ziel ist es, eine Maschine zu bauen, die so universell denken und lernen kann wie ein Mensch, jedoch ohne an die physischen Grenzen des Gehirns gebunden zu sein. Damit verstehen wir uns als Vertreter der Denkrichtung des Transhumanismus.

 

7. Wie stellt sich unser Software Konzept im Detail dar?

Wir fokussieren in unserem Konzept auf die Art und Weise, wie Menschen mithilfe von Fantasie und Kreativität in unbekannten Dingen Muster und in bekannten Dingen neue Möglichkeiten erkennen. Wie sie durch das Aufstellen und Testen von Hypothesen diese Möglichkeiten untersuchen und weiterentwickeln. Unsere Software c-Sys entwickelt mithilfe evolutionärer Methoden autonom und unüberwacht eigene Lernstrategien und ist dadurch in der Lage, sich jede Art von Wissen, Können oder Verständnis eigenständig anzueignen, sofern die Umwelt, in der es sich befindet, sowie die aktuelle Ausstattung des Systems (Prozessoren, Speicher, Sensoren, Aktuatoren) dies zulassen bzw unterstützen. c-Sys benutzt dazu Kombinationen von verschiedenen evolutionären Methoden in einem selbststrukturierenden und selbstbalancierenden Netzwerk von konkurrierenden, autonomen, interagierenden und/oder kooperierenden Agenten (Zellen), die sich gegenseitig trainieren.

Der Kern des Systems besteht aus einer Anzahl von Zellen, die sich über Sensoren Informationen aus der Umwelt besorgen und via Aktuatoren die Umwelt manipulieren können. Die einzelnen Zellen kommunizieren (zunächst vollkommen „sinnlos“ bzw „fantasievoll“) miteinander. Jede Kommunikation besteht aus dem Aufstellen einer (wiederum zunächst vollkommen „sinnlosen“) Hypothese. Diese Hypothese wird dem Kommunikationspartner unterbreitet und nach einem komplexen Verarbeitungsschema auf Gültigkeit geprüft. Ist der Kommunikationspartner ein „Sensor“, z.B. eine Kamera oder ein Mikrofon, so ist dieser in der Lage, die Gültigkeit einer Hypothese gegen die tatsächliche und unbestreitbar „wahre“ Wirklichkeit zu testen. So kann eine Zelle beispielsweise die Hypothese aufstellen, der Himmel sei grün. Diese Hypothese kann bestätigt oder als mehr oder weniger falsch evaluiert werden. Mithilfe eines komplexen evolutionären Prozesses wird nun die Zelle trainiert, bis sie versteht, welche Farbe der Himmel in Wirklichkeit hat. Zellen, denen es gelingt regelmäßig gute Hypothesen aufzustellen, können ihrerseits Zellen trainieren, die nicht direkt mit Sensoren kommunizieren. Andere Zellen, die mit Aktuatoren kommunizieren, stellen Hypothesen darüber auf, was geschieht, wenn z.B. eine Kamera einige Grade geschwenkt wird. Auch diese Hypothesen können evaluiert werden und gute Zellen können ihrerseits andere Zellen trainieren.

Auf diese Weise entstehen Strukturen von Zellgruppen, die in der Lage sind, die Eindrücke von verschiedenen Sensoren, oder die Konsequenzen von unterschiedlichen Handlungen zu koordinieren. Vor jeder Handlung, sei es dem Abtasten eines Sensors, einem Befehl an einen Aktuator oder der internen Kommunikation mit einer anderen Zelle, versucht jede Zelle sich ein Bild davon zu machen, welche Konsequenzen dies für sie haben wird. Das evolutionär trainierte Entwicklungsziel des Systems ist es, die Konsequenzen aller internen und externen Handlungen korrekt vorhersagen zu können.

So besteht z.B. die Fähigkeit, ein Muster erkennen zu können, darin, durch das Erkennen eines gewissen Details das Aussehen einer komplexen Gesamtheit vorhersagen zu können. Die Fähigkeit zu sprechen, besteht darin, die Konsequenzen von gehörten oder geäußerten Lauten vorhersagen zu können. Wenn jemand sagt: „Ich mache jetzt das Licht aus“, dann versteht eine Person, die sprechen kann, dass es gleich dunkel wird. Oder wenn eine Person A sagt: „Ich nehme mir jetzt das letzte Stück Kuchen“ und eine andere Person B antwortet: „Versuch das nur!“ dann kann Person A vorhersagen, dass sie gleich Probleme bekommt, wenn sie sich wirklich den Kuchen nimmt, und dass sie sich besser eine andere Handlung einfallen lassen sollte, obwohl der Inhalt der Antwort das genaue Gegenteil andeutet.

Die Fähigkeit bewusst eine Handlung auszuführen, ist eben die Fähigkeit sich vor einer Handlung zu fragen und korrekt vorhersagen zu können, welche Konsequenzen diese Handlung haben wird, sowie die Planung und Ausführung an diese Vorhersagen in einer solchen Weise anzupassen, dass die Konsequenzen dieser Handlungen wiederum die Fähigkeit zu stetig korrekteren Vorhersagen des Systems fördern.

 

8. Wie funktioniert die c-Sys Software auf Zellebene?

Eine Zelle muss drei Aufgaben erfüllen können:

  • sie muss eine oder mehrere Messages annehmen und in eine neue Message umwandeln,
  • sie muss berechnen an wen und wann die neue Message weitergeleitet werden soll und
  • sie muss berechnen, welche Konsequenz diese Handlung für die Zelle haben wird.

Für diese drei Aufgaben ist die Zelle mit drei Modulen ausgestattet, die wir Zelloperatoren oder Mikroprogramme nennen. Jeder dieser Operatoren wird mit ähnlichen und jeweils angepassten Methoden optimiert. Diese drei Fähigkeiten ermöglichen es einem größeren Zellverband, sich in kooperierenden Strukturen zu organisieren, oder in konkurrierenden Gruppen parallel an verschiedenen Lösungen für gegebene Probleme zu arbeiten. Die individuellen Module befähigen die Zellen sich teils zu spezialisieren teils übergeordnete Regelwerke und Methoden zu erarbeiteten.

Zu jedem gegebenen Zeitpunkt sind immer nur zwei bzw. drei miteinander kommunizierende Zellen aktiv. Die Arbeitsweise des Systems ist strikt seriell und damit an die Arbeitsweise von Computern angepasst. Um den Strom von Nachrichten zu regeln, benutzen wir eine Warteschlange, die wir Process Line (PL) nennen. Die Zellen des Systems konkurrieren darum, einen Platz in dieser Warteschlange zu ergattern. Diese Plätze werden nach einem bestimmten Regelwerk vergeben. Generell ist es so, dass „bessere“ Zellen den Vorrang in der PL haben.

Um die Leistung des Systems zu erhöhen (den Flaschenhals der PL zu erweitern), können beliebig viele Rechner mit ihrer jeweiligen PL parallel in Netzwerken zusammengeschlossen werden. Ein weiterer Flaschenhals ist die Rechenleistung, die erforderlich ist, um die Zellen zu trainieren. Auch hier können mehrere Rechner, zusammengeschlossen in Netzwerken, Teilaufgaben übernehmen und andere Rechner entlasten.

 

9. Die Forschung im Bereich des künstlichen Bewusstseins nennen wir CONSYSTOLOGY.

Das dazugehörige Fachbuch „CONSYSTOLOGY – wie Maschinen Bewusstsein erlangen“ ist im   CS Books Verlag unter www.cs-books.com erhältlich. Hier werden alle oben angedeuteten Ideen und Konzepte ausführlich aufgegriffen und erläutert.

 

10. Sollte tatsächlich jemand bis hier hin gekommen und genauso wie wir von der Idee des Transhumanismus fasziniert und überzeugt sein – dann möge er sich bitte bei uns melden. Wir können jeden Mitstreiter gebrauchen!