Chapter Content
Okay, also, lass mal überlegen, Kapitel... Kapitel sieben, genau. "Going Meta". Boah, klingt erstmal kompliziert, aber eigentlich... eigentlich ist es total logisch, wenn man's mal so ein bisschen von außen betrachtet, haha, passend, ne?
Also, "Meta", das ist ja so ein Begriff, der im Moment echt überall rumschwirrt. Aber was bedeutet das eigentlich genau? Im Grunde genommen ist etwas "meta", wenn es über sich selbst redet. Also, wenn es selbstreferenziell ist, verstehst du? Das beste Beispiel ist wahrscheinlich Metadata, also Daten über Daten. Stell dir vor, du hast 'ne Audiodatei. Die Datei selbst ist die Musik, oder was auch immer. Aber die Metadata, das ist dann so'n Zeug wie der Titel, der Interpret, das Albumcover, die Länge des Songs und so. Also, Informationen, die die eigentliche Datei beschreiben. Und das hilft uns dann, die Datei besser zu verwalten und so.
Und das gleiche Prinzip, das gibt's auch in der Wissenschaft, zum Beispiel bei der Meta-Analyse. Da gucken die Forscher nicht nur eine einzelne Studie an, sondern sie kombinieren die Ergebnisse aus ganz vielen Studien. Warum? Na ja, jede Studie hat ja so ihre eigenen Schwächen und Verzerrungen, nicht wahr? Aber wenn man die Ergebnisse aus vielen Studien zusammennimmt, dann kann man 'ne viel robustere, also stabilere, Schlussfolgerung ziehen.
Und genau darum geht's beim "Going Meta". Es geht darum, etwas tiefergehendes und universell Gültiges zu finden, als das, was man durch einzelne Beispiele sehen kann. Jede einzelne Studie, jede einzelne Beobachtung, das ist ja nur ein kleiner Ausschnitt der Wahrheit, oder? Und "Going Meta" ist der Versuch, eine verborgene, latente Wahrheit aufzudecken, die irgendwo im Herzen des Systems steckt. "Latent" bedeutet so viel wie verborgen oder unbeschriftet. Also, Strukturen, die wir nicht sofort erkennen oder in Schubladen stecken können. Aber sie sind da, ganz bestimmt, und jede spezifische Ausprägung, also jedes Beispiel des Systems, ist nur eine Facette dieser tieferliegenden Wahrheit. Nur wenn wir viele Instanzen, also Beispiele, zusammenbringen, können wir uns der wahren Natur des Ganzen annähern. Krass, oder?
Und jetzt kommt's: "Going Meta" ist der einzige Weg, wie Abstraktionen überhaupt entstehen können. Denk mal drüber nach, wie wir Menschen so im Kopf Abstraktionen bilden. Im Prinzip, indem wir Ähnlichkeiten zwischen Dingen erkennen, die oberflächlich betrachtet total unterschiedlich sind. Wenn wir dann diese tieferen Gemeinsamkeiten erkennen, dann können wir 'ne neue, übergeordnete Kategorie bilden. Und das geht eben nur, wenn wir von außen draufschauen. Wenn wir nur innerhalb des Systems bleiben, dann können wir das System nicht in 'ne Kategorie einordnen. Nur wenn wir von oben draufgucken, dann sehen wir die Gemeinsamkeiten zwischen den Teilen des Systems. Deswegen muss man "meta" gehen, um Abstraktionen zu erschaffen. Das ist wie... wie Klebstoff für unterschiedliche Dinge, irgendwie.
Und das gilt nicht nur für so mentale Abstraktionen, sondern auch für physische Abstraktionen, also so greifbare Sachen. Wir hätten niemals die nächste Stufe der physischen Abstraktion in unseren Werkzeugen entwickeln können, wenn wir nicht in der Lage gewesen wären, Ähnlichkeiten von oben zu erkennen. Der Schalthebel im Auto zum Beispiel, das ist ja 'ne Schnittstelle, die auf 'ner höheren Ebene der physischen Abstraktion existiert als die inneren Teile, die er koordiniert. Den hätte es nie geben können, wenn wir nicht hätten erkennen können, wie die verschiedenen internen Teile zusammenarbeiten, um das gleiche Ziel zu erreichen. Das sieht man aber eben nicht, wenn man mitten drin steckt, sondern nur von außen. Verrückt, oder?
Und ganz wichtig: "Meta" ist nicht einfach nur 'ne weitere Ebene der Abstraktion. Das wird nämlich oft falsch verstanden. Abstraktionen an sich reden nicht über sich selbst. Sie existieren als übergeordnete Konstrukte, die untergeordnete Teile zusammenfassen. Aber die Erschaffung einer Abstraktion, das ist ein Prozess, der außerhalb des Systems stattfindet, auf das er sich bezieht. Abstraktion ist immer noch innerhalb des Systems, aber "Meta", das ist außerhalb des Systems. Wenn wir mehrere Teile zu 'ner Gruppe zusammenfassen und 'ne Schnittstelle nach außen schaffen, dann konnte diese neue Ebene der Abstraktion nur entstehen, indem wir aus dem System selbst rausgegangen sind.
Klar, "Going Meta", um physische Abstraktionen zu erschaffen, das klingt erstmal einleuchtend, wenn man an menschliche Aktivitäten denkt. Aber was hat das mit den anderen Abstraktionen zu tun, die die Natur so hervorbringt? Ich hatte ja vorher schon argumentiert, dass Fortschritt durch Abstraktion absolut ist. Das heißt, jedes System, das sich weiterentwickelt, um schwierigere Herausforderungen zu meistern, muss immer höhere Ebenen der physischen Abstraktion schaffen. Und ich hatte auch gesagt, dass die Natur das durch Emergenz erreicht hat. Emergent Strukturen, das sind Ebenen der physischen Abstraktion, die Informationen komprimieren, um natürlich schwierige Probleme zu lösen. Aber wie geht die Natur "meta", um ihre physischen Abstraktionen zu erschaffen? Das ist ja die Frage!
Denk mal an Deep Learning Modelle. Deep Learning funktioniert ja nicht wegen expliziter, regelbasierter Programmierung, sondern weil irgendetwas in diesen komplexen Modellen passiert, das erfolgreich Inputs in Outputs umwandelt. Das sind ja diese Black Box Ansätze, also was da drin genau abgeht, das können wir nicht analytisch verstehen. Aber wir wissen, dass da verschiedene Ebenen der Abstraktion entstehen, die bei dieser Umwandlung helfen.
Bei der Gesichtserkennung zum Beispiel, da verwendet Deep Learning immer höhere Ebenen der Abstraktion, um immer komplexere und aussagekräftigere Merkmale aus den Input Daten zu extrahieren. Das System extrahiert zuerst so einfache Sachen wie Kanten, Ecken und Texturen. Dann kombiniert es diese einfachen Merkmale, um komplexere Muster zu erkennen, wie Augen, Nase und Mund. Und dann geht's immer weiter, bis das System irgendwann die Essenz eines Gesichts erfasst hat.
Und das alles ist möglich, dank des selbstreferenziellen Aspekts von Deep Learning. Diese Selbstreferenzialität kommt daher, dass die Deep Learning Systeme ihre internen Einstellungen immer wieder anpassen, basierend auf den vorherigen Durchläufen durch das Netzwerk. Das Modell macht also Schätzungen, die mehr oder weniger gut sind, und dann nutzt es diese Fehlerinformationen, um seine nächste Schätzung zu verbessern. Und immer wieder macht das Netzwerk Schätzungen und passt seine Einstellungen an, je nachdem, wie nah seine Schätzungen am Ziel sind. Um ein gutes Modell zu entwickeln, muss man also nicht unbedingt wissen, wie es im Detail funktioniert, sondern man muss einen guten Rahmen für die Selbstreferenzialität schaffen.
Deswegen ist Deep Learning auch 'ne Art "Going Meta". Es ist ein System, das Feedback Schleifen nutzt, um sich selbst zu überprüfen und zu schauen, ob die Dinge gut laufen. "Going Meta" ist also was komplett anderes, als Parameter explizit festzulegen oder Systeme mit Regeln zu programmieren. Egal welche Regeln am Ende in der fertigen Lösung existieren, sie wurden automatisch erreicht, nicht durch bewusste Programmierung. Und deswegen ist so ein selbstreferenzieller Ansatz zum Erschaffen von Dingen so grundlegend anders. Er gesteht sozusagen eine epistemische Bescheidenheit ein, indem er die internen Details ignoriert und sich stattdessen auf Variation, Iteration und Selektion verlässt, um die richtigen internen Einstellungen zu finden. Es ist das Gegenteil von Design.
Da die internen Parameterwerte in einem KI Modell automatisch gefunden werden, findet bewusste Programmierung nur außerhalb dieser statt. Hyperparameter, das sind die Entscheidungen, die wir Menschen treffen, um die Deep Learning Trainingsphase so gut wie möglich zu gestalten. Das ist nochmal 'ne ganz andere Baustelle, die innerhalb des Möglichkeitsraums aller möglichen Hyperparameterwerte stattfindet. Und auch diese Ebene muss unter der gleichen Prämisse von ausschließlich externen Aktionen operieren. Wir können nicht wissen, wie wir die besten Hyperparameterwerte bewusst einstellen können. Um diese zu finden, müssen wir Menschen "meta" gehen und viele verschiedene Hyperparameterwerte ausprobieren, bis wir gute finden. Wir müssen mit verschiedenen Lernraten, Batchgrößen, Anzahl der Epochen und Netzwerkarchitekturen experimentieren, bis die richtige Kombination bessere Outputs produziert. Wenn wir "meta" gehen, dann lernen wir, wie man lernt. Das ist echt abgefahren, oder?
In der KI Version von "Going Meta" werden Methoden wie Hyperparameteroptimierung (HPO), Meta-Learning und Neural Architecture Search (NAS) verwendet. Die Unterschiede zwischen diesen Methoden sind jetzt nicht so wichtig. Wichtig ist nur, dass sie alle Varianten davon sind, aus dem Problemraum rauszugehen und extern zu operieren, um zu finden, was funktioniert.
So wie die Meta-Analyse verschiedene Studien synthetisiert, um etwas tiefergehendes zu lernen als das, was eine einzelne Studie zeigen kann, versucht das Meta-Learning in der KI, etwas zu finden, das kein einzelnes Modell haben wird. Irgendeine latente Struktur, die Input in Output auf hochverallgemeinerte und mächtige Weise umwandelt. Und auch hier liegt der Fokus darauf, zu lernen, wie man lernt, anstatt etwas spezifisches zu lernen.
Damit Deep Learning Systeme gut funktionieren, müssen sie Abstraktionen innerhalb ihrer Modelle manifestieren. Und diese Abstraktionen können nicht realisiert werden, ohne immer wieder Wege zu finden, aus dem System herauszutreten. Und das gilt nicht nur für Deep Learning. Das gilt für jede komplexe Lösung, die wir bauen. Es ist der Akt des "Going Meta", der zu Abstraktionen führt, die Inputs auf flexibel deterministische Weise in Outputs umwandeln. Schwierige Probleme können nicht ohne "Going Meta" gelöst werden.
Jetzt mal zu was ganz anderem: Die Struktur von Problemen. Probleme haben Struktur. Diese Struktur kommt von den Ebenen der Abstraktion, die ein bestimmtes Problem definieren. Das ultimative Problem in der Natur ist das Überleben. Das Leben muss versuchen, seine Existenz gegen 'ne Flut von Zufällen und Belastungen zu bewahren. Aber das Überleben ist ja nur die oberste Version aller Herausforderungen im Leben. Auf 'ner Ebene der Abstraktion, die niedriger ist als das Überleben, sind dann so Sachen wie Nahrung, Wasser und Unterkunft. Und wenn wir noch tiefer in der Abstraktion gehen, dann finden wir die Aktivitäten, die versuchen, die höheren Ebenen zu lösen. Um Nahrung zu beschaffen, müssen Tiere jagen, sammeln, nach Aas suchen, filtern, grasen, graben, sich verstecken und manchmal sogar Werkzeuge herstellen. Um Wasser zu finden, wandern Tiere, erkennen Vegetation, nutzen Niederschläge und zeigen eine Reihe von Erkundungsverhalten. Unterkünfte werden entweder gefunden oder geschaffen. Der Kaninchenkauz zum Beispiel, der macht's sich in verlassenen Bauten gemütlich, die von anderen Tieren gegraben wurden, wie zum Beispiel Erdhörnchen. Und so könnten wir immer weiter immer tiefere Ebenen definieren.
Alle Herausforderungen, die dem Leben gestellt werden, haben also 'ne Struktur. Eine Art Hierarchie. Das erinnert vielleicht an Maslows sogenannte Bedürfnispyramide, aber hier geht's mir speziell um die Ebenen der Abstraktion und ihre Beziehung zur Berechnung der Natur. Wir können ein Problem immer in verschachtelte Ebenen der Abstraktion zerlegen, wobei die unteren Ebenen in die höhere Ebene der Herausforderung subsumiert werden, also eingeordnet werden.
Da alle Lösungen in der Natur Konfigurationen von Materie sind, die die Probleme lösen, mit denen sie konfrontiert werden, können wir die Lösungen der Natur als Spiegelbilder der Problemstruktur betrachten. Und das meine ich nicht nur so im übertragenen Sinne, sondern in den spezifischen Mustern, die sich bilden. Die Muster, die wir im Farn, im Seestern und im Korallenriff sehen, nehmen die unvermeidliche Struktur an, die aussieht wie das Problem, das sie lösen. Alle Muster, die wir in der Natur sehen, wie Fraktale, Spiralen, Wellen, hexagonale Packungen, Tessellationen, dendritische Verzweigungen usw., sind Spiegelbilder der Problemstruktur.
Lass uns noch konkreter werden. Wenn wir uns den verschachtelten Fraktal eines Romanesco-Brokkolis oder die spiralförmige Anordnung der Samen in einem Sonnenblumenkopf ansehen, dann sehen wir, wie die Gesamtheit der Umwelt Herausforderungen dieses Organismus durch Abstraktion angeordnet sind. Die Umwelt fordert die Sonnenblume nicht nur auf, zu überleben, sie fordert, dass tiefere Ebenen der Herausforderung gelöst werden, so dass das oberste Ziel des Überlebens erreicht wird.
Die Objekte, die wir in der Natur sehen, sind die Folge von Überschneidungen zwischen Konfigurationen von Materie und Problemstruktur. Stell dir vor, du ziehst 'ne Linie zwischen den verschiedenen Ebenen des Romanesco-Brokkolis und den verschachtelten Ebenen der Abstraktion in dem Problem, das dieser Organismus löst. Und das gilt für anorganische Materie genauso wie für Lebewesen. Salze, Metalle, Felsen, Flüsse und Berge sind allesamt Konfigurationen, die sich um die Strukturen kümmern, die den Problemen, die sie lösen, innewohnen. In diesem Sinne sind die Lösungen der Natur nicht so verschieden von ihrer Umwelt, sondern Teil der ganzheitlichen Überschneidung zwischen Problem und Lösung.
Wie ich schon gesagt habe, ist die Definition von Problemen auf diese Weise keine Verdinglichung der mentalen Wahrnehmung. Es ist keine Fantasietheorie, die mentale Konstrukte auf die physische Welt projiziert. Wenn der Reduktionismus gültig wäre, dann wäre das vielleicht der Fall. Aber unter Komplexität ist er es nicht. Ich lege keine kausale Menge von deterministischen Schritten dar, die 'ne Geschichte darüber erzählen, wie sich Materie von kleinen Teilen zu großen Teilen bewegt, um die Muster zu erzeugen, die wir in der Natur sehen, sondern ich argumentiere für die unvermeidliche Problemlösung, die die Natur vollbringt. Das steht voll und ganz im Einklang mit dem, was wir über Informationen, Berechnung und Evolution wissen. Es ist nur allzu vernünftig, die Muster in der Natur als unvermeidliche Spiegelbilder der Problemstruktur zu betrachten.
Das alles ist ein Beweis für die Verbindung zwischen informationaler und physischer Abstraktion. Die Struktur von Problemen präsentiert uns 'ne informationelle Version der Abstraktion, die Art, die unser Verstand nutzt, um unsere Welt zu definieren und uns durchs Leben zu manövrieren. Die physischen Strukturen, die wir in der Natur sehen, präsentieren uns die physische Version dieser Abstraktionen. Damit die Natur ihre Felsen, Flüsse, Berge, Seesterne, Eulen und Biber hervorbringen kann, muss sie physische Ebenen der Abstraktion manifestieren, die sich mit den informationellen Abstraktionen, die ihre Umgebung ausmachen, überschneiden.
Und die Natur, die kann noch mehr! Die Natur ist 'ne viel mächtigere Rechenmaschine als alles, was wir Menschen uns ausdenken können. Unsere KI Systeme haben zwar auch Aspekte von Selbstreferenzialität und Abstraktion, aber die Natur treibt das auf die Spitze. Und bevor wir uns mit der Version des "Going Meta" der Natur beschäftigen, lass uns nochmal über unsere Versuche mit KI Technologie nachdenken. Wie gesagt, wir können die internen Parameter nicht bewusst einstellen, also operieren wir von außen, indem wir Werte festlegen, die sich auf das Training beziehen. Wir wählen die Lernrate, die Batchgröße, die Anzahl der Epochen, die Anzahl der Schichten, die Neuronen pro Schicht usw. Das lenkt nichts im Inneren des Modells, sondern hilft nur, den Lernprozess zu strukturieren. Wir können uns diese Werte als die erste Ebene des "Going Meta" vorstellen, da sie außerhalb des Systems existieren. Die besten Werte sollen die bestmöglichen Abstraktionen im Inneren hervorbringen.
Aber wie sollen diese Werte sein? Das ist ja nochmal 'n eigenes Problem, ein Meta-Problem. Hier sind wir weniger daran interessiert, die besten Parameter für ein einzelnes Modell zu kennen, sondern vielmehr daran, zu lernen, wie man die besten Parameter für jedes Modell lernt. Wie schon erwähnt, wird dieses Meta-Problem mit Techniken wie Hyperparameteroptimierung (HPO), Meta-Learning und Neural Architecture Search (NAS) angegangen. Nur eine davon trägt zwar den Titel "Meta-Learning", aber sie alle versuchen, das Meta-Problem zu lösen, die bestmöglichen externen Werte zu finden, innerhalb eines vernünftigen Zeitraums.
Ein Ansatz ist es, viele verschiedene Modelle zu kombinieren, um ein einzelnes besseres Modell zu lernen und einzusetzen, das Meta-Learner genannt wird. Die Idee ist, dass ein einzelnes Modell zu eng gefasst ist, um verallgemeinerte Intelligenz zu zeigen, aber viele Modelle vielleicht etwas mehr Latentes lernen und so 'ne mächtigere Einheit bilden. Aber es gibt nur so viele Modelle, die wir zu 'ner Gruppe zusammenfassen können, bevor die Herausforderung unüberschaubar wird. Jedes Modell muss einzeln mit Daten trainiert werden, was 'ne Reihe von Experimenten und Validierungen erfordert. Aber auch das übergeordnete Problem des Meta-Learning muss mit Experimenten und Validierungen gelöst werden, um zu sehen, welche Kombination von Modellen am besten funktioniert. Dieses höhere Problem hat seine eigenen Parameterwerte, die bestimmt werden müssen. Aber warum sollten wir da aufhören? Wir könnten verschiedene Meta-Learning Frameworks zu neuen Kombinationen zusammenfügen, die ihre eigenen externen Parameter hätten, mit denen wir wieder experimentieren und validieren könnten.
Der Möglichkeitsraum, der mit der Kombination von Dingen zu immer größeren Gruppen verbunden ist, explodiert in Größenordnungen, die jenseits des Astronomischen liegen. Das wirft die Frage auf, ob es überhaupt möglich ist, "meta" zu gehen, um komplexe Dinge zu konstruieren. Selbst wenn wir die grundlegende Einschränkung des Designs akzeptieren, ist Design dann nicht unsere einzige Chance, die Bauvorhaben machbar zu machen? Klar, wir wollen vielleicht massive Mengen an Trial-and-Error einsetzen, nur um zu sehen, was funktioniert, aber so viele Experimente zu machen, das hat Rechenanforderungen, die diesen Ansatz letztendlich unmöglich erscheinen lassen.
Aber Design kann diese extreme kombinatorische Explosion der Möglichkeiten nicht durchbrechen. Design basiert auf 'ner grundlegend ungültigen Prämisse, wenn es um komplexe Dinge geht, wie in diesem Buch schon oft diskutiert. Design kann nicht die Antwort sein. Aber auf den ersten Blick scheint es, dass das Operieren auf der Meta-Ebene die Rechenanforderungen für die interne Lösung von Problemen nicht lindern kann. Nur weil wir aus dem System heraustreten, heißt das ja nicht, dass die niedrigeren Probleme nicht gelöst werden müssen. Das gibt zu denken. Wie kann "Going Meta" ein Weg sein, um Dinge zu bauen?
Wie immer hat die Natur die Antwort. Die Natur kann extrem hohe Meta-Ebenen erreichen, um ganze Ökosysteme zu formen. Wenn wir das taxonomische Klassifizierungssystem verwenden, dann können wir sagen, dass die Natur Organismen zusammenbringt, um Arten zu bilden, Arten, um Gattungen zu bilden, Gattungen, um Familien zu bilden, Familien, um Ordnungen zu bilden, Ordnungen, um Klassen zu bilden, Klassen, um Stämme zu bilden, Stämme, um Reiche zu bilden, und Reiche, um Domänen zu bilden. All das sind verschiedene Ebenen der physischen Abstraktion, also Gruppen von Lebewesen, die zusammenarbeiten, um ein bestimmtes Problem zu lösen. Und jede davon wird automatisch geformt, durch den Mechanismus der Selbstreferenzialität und Abstraktionserzeugung der Natur.
Die Natur kann viel effektiver "meta" gehen als menschliche Konstruktion. Die Rechenlast, die die Natur bewältigt, ist erstaunlich. Die Natur tritt immer wieder aus 'ner bestimmten Ebene heraus und findet die Parameter, die funktionieren, um die nächste Ebene zu erschaffen.
Klar, die Rechenressourcen der Natur sind im Vergleich zu dem, was uns Menschen zur Verfügung steht, nahezu unendlich. Die Natur hat 'ne extreme Version von verteilter Parallelverarbeitung, dank Milliarden von Prozessoren, die gleichzeitig innerhalb 'ner Gruppe arbeiten. Jedes Teil eines natürlichen Systems, wie zum Beispiel 'ne Zelle oder 'n Neuron, führt zwar nur einfache Berechnungen durch, aber ihr kollektives Verhalten löst fantastisch komplexe Funktionen. Und die Natur arbeitet auch mit viel größeren Zeitskalen als die menschliche Innovation. Die Evolution braucht Millionen von Jahren, um ihre Lösungen durch natürliche Selektion zu formen. Die Natur kann einen riesigen Möglichkeitsraum erforschen, mit massiver Variation, Iteration und Selektion, alles hochgradig parallel.
Und es gibt auch 'nen großen Unterschied in Bezug auf die Energieeffizienz, wobei biologische Systeme unglaublich energieeffizient sind im Vergleich zu allem, was Menschen erschaffen. Das menschliche Gehirn verbraucht nur etwa 20 Watt Leistung, während moderne Supercomputer und Deep Learning Systeme 'nen Energieverbrauch haben, der um mehrere Größenordnungen höher ist. Denk mal darüber nach, wie effektiv das menschliche Gehirn bei Sehen, Motorsteuerung und Denken ist, verglichen mit KI, obwohl es nur 20 Watt verbraucht. Biologische Effizienz ist 'ne ganz eigene Kategorie.
Die Biologie ist auch tief in die physische Welt integriert. Alle Ebenen der Abstraktion kommunizieren direkt mit ihrer Umgebung. Die Berechnungen, die Inputs in Outputs umwandeln, finden als physische Prozesse innerhalb des Systems selbst statt, nicht als Proxy Modelle des Verhaltens. Es ist also nicht so überraschend, dass die Natur viel effektiver "meta" gehen kann als wir Menschen. Die Natur hat die Parallelität, die Zeit, die Energieeffizienz und die tiefe physische Integration zur Verfügung, um aus mehreren Ebenen eines bestimmten Systems herauszutreten und ihre verschachtelten emergenten Abstraktionen zu erschaffen.
Also, wie können wir Menschen so operieren wie die Natur, ohne annähernd die Rechenressourcen zu haben, die sie hat? Wie können wir wirklich komplexe Objekte formen, die so lösen, wie die Natur löst, wenn wir die natürlichen Rechenanforderungen nicht erfüllen können?
Eine naheliegende Antwort ist, die Natur dort zu hacken, wo sie steht. Die synthetische Biologie zum Beispiel, die versucht, das genetische Material von Organismen, wie Viren und Bakterien, so zu verändern, dass sie wünschenswerte Eigenschaften haben. Das wurde in Bereichen wie Bioremediation, Bioproduktion von Pharmazeutika, Biokraftstoffen und sogar der Veränderung von Bakterien zur Durchführung einfacher logischer Operationen für die Datenverarbeitung oder als biologische Aktoren in winzigen Maschinen gemacht. Die synthetische Biologie umgeht die Notwendigkeit, Emergenz zu entwickeln, weil wir bereits entwickelte Merkmale nutzen.
Das Kernproblem hier ist aber 'ne Fehlinterpretation. Es wird zwar einige Erfolge beim Hacken der bestehenden Lösungen der Natur geben, aber die Realität ist, dass sich die Natur aus gutem Grund so entwickelt, wie sie es tut. Und dieser Grund lässt sich nicht in einfachen reduktionistischen Begriffen definieren. Wir können nur sagen, dass die Lösungen der Natur so sind, wie sie sind, weil das ist es, was überlebt hat. Die Zusammensetzung eines natürlichen Objekts ist ein fantastisch komplexes Objekt, das seine Probleme auf 'ne Art und Weise löst, die wir niemals verstehen werden. Der Versuch, irgendein Teil einer natürlichen Lösung zu kapern, kann zwar 'nen schmalen Nutzen bringen, aber er wird alle Probleme des Designs unter Komplexität mit sich bringen. Sie werden garantiert unvorhergesehene Nebenwirkungen haben, die die Wirksamkeit der Lösung langfristig wahrscheinlich verringern werden.
Wie ich schon gesagt habe, müssen wir die Emergenz selbst entwickeln, und nicht nur die Natur für Probleme umfunktionieren, für die sie nicht gedacht war. Unsere Kreationen müssen ihre eigene Komplexität entwickeln und ihre eigenen emergenten Strukturen und Verhaltensweisen entwickeln, basierend auf der Umgebung, in der wir sie platzieren. Es gibt tiefe interne Abhängigkeiten, die nicht sichtbar sind, die es natürlichen Lösungen ermöglichen, effektiv zu funktionieren. Diese Interna müssen als physische Abstraktionen Gestalt annehmen, die durch automatische Selbstreferenzialität aufgebaut werden.
Um Emergenz selbst zu entwickeln, müssen wir versuchen, die Parallelität, die Energieeffizienz und die tiefe physische Integration zu maximieren, die wir in der Natur sehen. Unter Design ist das nicht möglich. Design zwingt uns, spezifische, detaillierte Entscheidungen zu treffen, die zu stark eingeschränkten und unnatürlichen Versionen der Parallelität, der Energieeffizienz und der tiefen physischen Integration werden, die wir brauchen.
Denk mal darüber nach, wie der KI Forscher oder Ingenieur bewusst Systeme gestalten will, indem er explizite Entscheidungen darüber trifft, wie diese Systeme funktionieren, arbeiten und mit ihrer Umgebung interagieren sollen. Sie wollen relevante Datenquellen für Training und Auswertung identifizieren und sammeln. Sie versuchen, Algorithmen auszuwählen und zu entwerfen, die auf bestimmten Rechenanforderungen basieren. Sie wollen die Architekturen der neuronalen Netze entwerfen und Entscheidungen über Schichten, Aktivierungsfunktionen, Verbindungen und Optimierungstechniken treffen, die alle auf Designprinzipien, Best Practices und mathematischer Theorie basieren.
Aber die Wahrheit ist, dass die größten Fortschritte im Deep Learning nicht durch bestimmte Designentscheidungen erzielt wurden, sondern durch das Hineinwerfen von mehr Daten und Rechenleistung in das Problem. Tatsächlich ist die spezifische Architektur viel weniger wichtig, als das aktuelle Paradigma vermuten lässt. Es ist nicht so, dass bestimmte Strukturen nicht wichtig wären, sondern dass sie nicht aus bewusstem Denken und Design entstehen, wie in Forschungsartikeln suggeriert wird. Die Strukturen, die am Ende funktionieren, sind größtenteils ein Nebenprodukt von mehr Daten und mehr Rechenleistung.
Und das ist genau das, was man erwarten sollte, wenn man komplexe Dinge baut. Die KI Forschung ist aus Gründen effektiv, die die meisten KI Forscher anscheinend nicht verstehen. Das mag für viele komisch klingen, aber wir sehen dieses Muster immer wieder. Es ist für die Leute leicht zu glauben, dass ihre Designentscheidungen für den Fortschritt verantwortlich sind, wenn der Fortschritt unter Komplexität viel mehr mit Zufall und Glück zu tun hat als mit Design. Das ist sogar 'ne rigorose Aussage, die voll und ganz mit den unbestreitbaren Eigenschaften der Evolution komplexer Systeme übereinstimmt.
Design unter Komplexität wird richtig verstanden als etwas, das die Entstehung guter Lösungen behindert. Designentscheidungen berauben komplexe Systeme ihrer natürlichen Feinheiten und undurchsichtigen Abhängigkeiten. Sie stören die Art der internen Kommunikation zwischen den Teilen, die stattfinden muss, damit sich das materialisiert, was funktioniert. Design schränkt auch unsere Fähigkeit ein, riesige Möglichkeitsräume zu erforschen, weil die Unflexibilität, die Design in unsere Lösungen erzwingt.
Klar, das Design von KI Systemen ist nicht wie das Design traditioneller Ingenieurskunst. KI ist wieder mal unser bestes Beispiel dafür, wie man aus Systemen heraustritt und Dinge konvergieren lässt. Aber unsere Meta-Ebene ist viel zu nah an den Eingeweiden unserer Lösungen. Während die Natur bis zur Domäne unter taxonomischer Klassifizierung reicht, operieren wir immer noch knapp außerhalb des einzelnen Organismus. Wenn wir nur 'n einfaches Modell wollten, das eng definierte Dinge vorhersagt, dann wäre das vielleicht in Ordnung. Aber bei dem Versuch, etwas zu erreichen, das der allgemeinen Intelligenz ähnelt, kann das nicht funktionieren. Je ausgefeilter und mächtiger unsere beabsichtigte Lösung ist, desto mehr echte Komplexität müssen wir erzeugen.
Um die Art von Parallelität, Energieeffizienz und tiefer physischer Integration zu erreichen, die wir brauchen, müssen wir auf Ebenen operieren, die viel "meta" sind als die Lösung, die wir suchen. Wenn wir 'n Gehirn bauen wollen, dann werden wir das nicht erreichen, indem wir versuchen, ein Gehirn zu entwerfen. Auch wenn es bequem erscheint, die menschliche Intelligenz als etwas zu definieren, das im Kopf eines Individuums stattfindet, sind wir 'ne zutiefst vernetzte soziale Spezies. Es gibt keine Intelligenz ohne Aggregationsebenen, die ein einzelnes biologisches neuronales Netzwerk bei weitem übertreffen. "Meta" muss viel höher reichen als der Organismus, um den besten Organismus zu erschaffen. Design hält uns zu nah am Organismus.
Wenn wir zu nah an dem bleiben, was wir bauen, wie beim Design, dann wird Trial-and-Error unüberschaubar. Das liegt daran, dass die Dinge, die wir bei Experimenten zu mischen und abzugleichen versuchen, zu definiert sind. Aber wenn wir unseren Fokus auf die Oberfläche verlagern und nur die allgemeinsten und übergeordneten Problemstellung verwenden, dann müssen die Interna selbst herausfinden, wie sie funktionieren. So funktioniert Komplexität.
Je schwieriger das Problem, desto größer und komplexer ist sein Möglichkeitsraum, und dieser Raum muss durchsucht werden. Und je schwieriger die Probleme werden, desto softer muss unsere Problemlösung werden und desto weniger analytisch können wir sein.
Wir können uns Heuristiken und Mustererkennung als Werkzeuge vorstellen, die es uns ermöglichen, Dinge in riesigen Möglichkeitsräumen zu finden, ohne viel suchen zu müssen. Aber das funktioniert nur, wenn wir sie auf die übergeordneten Signale anwenden, die 'ne komplexe Situation aussendet. Aber Design zwingt uns, das Suchen in übermäßig expliziten Begriffen zu definieren. Es nutzt nicht das, was die Natur uns bereits gibt. Design lässt uns versuchen, Trial-and-Error an niederfrequenten Konstrukten durchzuführen, die in Wirklichkeit nicht die Bedeutung haben, die wir ihnen beimessen. Es ist nicht an uns zu wissen, wie die Dinge interagieren, sondern nur, dass Interaktionen bei Bedarf stattfinden, wenn mehr vom System gezwungen wird, Stressoren zu überleben. Höher in unseren Meta-Bemühungen zu greifen, bedeutet, die Natur auf natürliche Weise arbeiten zu lassen.
Also, wie können wir auf der höchsten Meta-Ebene operieren, ohne an rechnerische Grenzen zu stoßen? Die Antwort ist: 1) Problemstellungen so allgemein wie möglich halten (an der Oberfläche operieren) und 2) hochflexible Interna schaffen, anstatt Spezifikationen zu entwerfen.
Wir halten die Problemlösung an der Oberfläche, indem wir nur das höchstmögliche Ziel beibehalten, mit dem wir durchkommen. Ein Beispiel in der KI wäre die Definition unserer Probleme als die Erschaffung einer Einheit, die realistische und nützliche Gespräche führen kann. Das ist alles. Das heutige Paradigma sagt uns, dass wir viel tiefer gehen müssen, indem wir ein Problem in seinen Zweck, seine Zielgruppe, seinen Gesprächsumfang, seine Absicht, seinen Kontext, seinen Umgang mit Mehrdeutigkeiten, seinen Tonfall und seine Persönlichkeit zerlegen. Aber diese Dekonstruktion eines Problems ist reduktionistisch. Wir kennen solche Details nicht, sondern nur, dass die gesamte Lösung die oberste Definition eines Problems lösen muss. Ein Problem in Spezifikationen zu zerlegen, führt garantiert zu minderwertigen Konstruktionen unter Komplexität.
Für den zweiten Punkt schaffen wir hochflexible Interna, indem wir keine Spezifikationen entwerfen. Denk mal an die Aktivierungsfunktionen, die in neuronalen Netzen verwendet werden. Die sind da, um Nichtlinearität in das Modell einzubringen. Wir können aus verschiedenen Optionen wählen, von denen jede ihre eigenen Eigenschaften, Vorteile und Nachteile hat. Wir können Sigmoid, hyperbolischen Tangens, Rectified Linear Unit (ReLU), Leaky ReLU, parametric ReLU (PReLU), Exponential Linear Unit (ELU), scaled exponential linear unit (SELU), Softmax, Swish, Gaussian usw. wählen. Der Versuch, diese Möglichkeiten mit all den anderen Variablen zu mischen und abzugleichen, die in einem neuronalen Netz geändert werden könnten, ist wie das Bewegen eines einzigen Würfels in einem Zauberwürfel, nur um unsere vorherigen Züge zu verwerfen. Es gibt einfach zu viele Möglichkeiten auf dieser Ebene, um Trial-and-Error machbar zu machen.
Aber stell dir jetzt vor, dass wir, anstatt zu versuchen, die beste Aktivierungsfunktion als isolierte Sache zu entwerfen, etwas weniger Definiertes und Flexibleres schaffen. Der nächste Ansatz, den wir im Moment haben, ist der von lernbaren Aktivierungsfunktionen. Diese Funktionen enthalten Parameter, die während des Trainingsprozesses angepasst werden, so dass die Funktion ihre Form dynamisch verändern kann. Ob dieser Ansatz funktioniert oder nicht, spielt keine Rolle. Entscheidend ist, dass wir nicht versuchen, die Flexibilität zu entwerfen, sondern etwas zu schaffen, das seine Zusammensetzung als Teil eines Ganzen verändert. Je weniger definiert das Ding im reduktionistischen Sinne ist, desto besser. So wie Mitochondrien ihre Definition außerhalb einer Zelle verlieren, haben Aktivierungsfunktionen 'ne Rolle, die außerhalb eines Netzwerks nicht angemessen definiert werden kann. Sie sind Teil einer ganzheitlichen Lösung, deren Anwesenheit in der Gruppe das ist, was zählt. Es ist nicht an uns zu wissen, wie die Aktivierungsfunktion aussehen soll. Nur, dass ihre Struktur und Funktion auf natürliche Weise von selbst entstehen sollen, während wir uns nur um die übergeordneten Ziele kümmern.
Um die besten Aktivierungsfunktionen, Netzwerkarchitekturen, Datenvorbereitungspipelines, Verlustfunktionen, Optimierungsalgorithmen usw. zu bekommen, müssen wir sie nicht entwerfen. Wir müssen sie materialisieren lassen, indem wir uns nur auf die oberste Ebene des Problems konzentrieren, das wir zu lösen versuchen. Wir müssen "meta" so hoch wie möglich erreichen, indem wir flexible Interna beibehalten.
Es behagt vielen Wissenschaftlern und Ingenieuren nicht, dass Fortschritt am besten unter einem solchen Mangel an Präzision definiert werden sollte. Aber so funktioniert Komplexität. Mehr Daten und Rechenleistung, die auf hochflexible, schlecht definierte Konstrukte geworfen werden, ist, wie die bestmöglichen Strukturen entstehen werden. Man braucht sich nur den Ansatz der Natur zum Bauen ansehen, um zu erkennen, dass das wahr ist. Das wird es bedeuten, im Zeitalter der Komplexität zu bauen, wenn wir es richtig machen.
Und was wollen wir dann eigentlich? Die Meta Strukturen! Keine zwei Schneeflocken sehen gleich aus. Eigentlich stimmt das nur im Detail. Wenn wir 'ne einzelne Schneeflocke vergrößern, dann sehen wir 'n wirklich einzigartiges Muster, das durch seine besondere Kristallisation gekennzeichnet ist. Wie bei 'nem Fingerabdruck gehört die detaillierte Struktur, die wir aus der Nähe sehen, nur dieser einen Schneeflocke. Aber wenn wir weit genug rauszoomen, um die ganze Flocke zu sehen, dann sehen wir etwas Vertrautes. Alle Schneeflocken können "Schneeflocken" genannt werden, weil sie ein gemeinsames Muster haben. Dieses gemeinsame Muster können wir nicht explizit definieren. Wenn wir sieben verschiedene Künstler bitten würden, die Essenz einer Schneeflocke zu zeichnen, dann würden ihre Zeichnungen zwar ähnlich aussehen, aber nicht identisch sein. Wir alle verstehen, wie 'ne Schneeflocke aussieht, aber dieses Verständnis wird uns nicht durch 'ne genaue Definition vermittelt. Es ist 'ne latente Struktur, die wir intuitiv kennen.
Die Essenz von etwas, wie die Essenz einer Schneeflocke, ist das, was wir beim Lernen erreichen wollen. Eine Schneeflocke zu kennen bedeutet nicht, ein Exemplar davon zu kennen, sondern viele Exemplare zu beobachten und in unserem Geist 'ne unbeschriftete Abstraktion zu schaffen, die sie definiert. Lernen bedeutet, die tiefe, verborgene Vorlage zu verstehen, an die sich viele Exemplare eines Phänomens halten, die aber nie explizit manifestiert wird.
Deswegen gibt es keine Worte, um zu beschreiben, was die Essenz von etwas ist. Wenn man lernt, Klavier zu spielen, 'nen Golfschläger zu schwingen oder Theorien in der Quantenmechanik zu entwickeln, dann greift man auf irgendein verborgenes gemeinsames Muster unter unzähligen Erfahrungen zurück. Es ist nichts, das in Teile zerlegt und direkt an andere weitergegeben werden kann. Deswegen fühlt sich wahres Können eher wie 'n Gefühl an als wie etwas Beschreibbares. Wenn du es genau erklären kannst, dann ist es entweder keine echte Fähigkeit oder du bist nicht so gut darin.
Deswegen ist Erfahrung auch der einzige Weg, um wahres Können zu erlangen. Es ist nicht so, dass man immer wieder das Gleiche sehen muss, sondern dass man immer wieder viele verschiedene Exemplare des gleichen latenten Dings erleben muss. Nur dann werden die invarianten Wahrheiten erkennbar, denn sie sind es, die bestehen bleiben, wenn sich alles andere ändert. Ein Klavierspieler muss viele verschiedene Lieder spielen, oder besser gesagt, komponieren, damit sich diese