00:00:07 Differentiable Programming als neuer Begriff.
00:01:38 Die Kernidee der gradientenbasierten Optimierung im Deep Learning.
00:03:48 Der Durchbruch der automatischen Differentiation bei der Berechnung von Gradienten.
00:06:00 Die Ursprünge des Differentiable Programming und seine Auswirkungen auf das maschinelle Lernen.
00:07:43 Die Komplexität scheinbar einfacher Aufgaben und der iterative Fortschritt in der KI.
00:09:33 Der Übergang von neuronalen Netzwerken zum Deep Learning und Differentiable Programming.
00:11:22 Die Vorteile des Differentiable Programming bei der Optimierung der Supply Chain.
00:13:26 Die Verknüpfung von Preisgestaltung, Nachfrageprognose und Lagerzuweisung im Supply Chain Management.
00:15:00 Differentiable Programming im maschinellen Lernen und der Umgang mit Unsicherheiten.
00:16:00 Differentiable Programming in der Supply Chain und der Vergleich mit großen Technologieunternehmen.
00:18:19 Anwendung von KI-Techniken aus anderen Bereichen auf Supply Chain-Probleme.
00:20:15 Vorteile des Differentiable Programming für die prädiktive Modellierung und Optimierung in Supply Chains.
00:22:01 Die zukünftigen Herausforderungen des Differentiable Programming im Supply Chain Management.
00:24:16 Schlussgedanken.

Zusammenfassung

Kieran Chandler interviewte Joannes Vermorel, den Gründer von Lokad, über differenzierbares Programmieren und dessen Bedeutung für KI und Supply Chain-Optimierung. Differentiable Programming entstand aus Durchbrüchen in der automatischen Differentiationstechnik und hat sich aus neuronalen Netzwerken und Deep Learning entwickelt. Die Modularität des Differentiable Programming ermöglicht eine flexiblere und vielseitigere Modellzusammenstellung, was es für die Supply Chain-Optimierung nützlich macht. Obwohl es Bedenken hinsichtlich der Zuverlässigkeit gibt, betont Vermorel die Wirksamkeit von Machine Learning-Techniken. Lokad bleibt trotz eines kleineren Budgets wettbewerbsfähig, indem es Forschungsergebnisse von Tech-Giganten für Supply Chain-Anwendungen anpasst. Differentiable Programming bietet eine ausdrucksstärkere Lösung zur Entwicklung von numerischen Rezepten für geschäftliche Probleme, wobei die Erzielung konsistenter Ergebnisse ohne Fehler eine Herausforderung darstellt.

Erweiterte Zusammenfassung

Kieran Chandler, der Moderator des Interviews, diskutierte das Thema Differentiable Programming mit Joannes Vermorel, dem Gründer von Lokad, einem Softwareunternehmen, das sich auf die Optimierung der Supply Chain spezialisiert hat. Vermorel gab Einblicke in die Ursprünge und die Bedeutung des Differentiable Programming als Konzept und dessen Beziehung zu KI und Deep Learning.

Yann Lecun, der Direktor der KI-Forschung bei Facebook, schlug kürzlich vor, dass der Begriff “Deep Learning” als Buzzword seine Nützlichkeit überschritten hat und schlug die Verwendung von “Differentiable Programming” vor, um neuere Entwicklungen in der Software widerzuspiegeln. Vermorel kommentierte die ständige Entwicklung der Terminologie im Bereich KI und erklärte, dass sobald eine Lösung für ein Problem gefunden ist, es nicht mehr als KI betrachtet wird und einen neuen Namen erhält, wobei Differentiable Programming das neueste Beispiel ist.

Die Ursprünge des Differentiable Programming lassen sich auf die gradientenbasierte Optimierung zurückführen, ein Kernkonzept im Deep Learning. Bei der gradientenbasierten Optimierung wird ein Modell mit Millionen von Parametern anhand einer Zielfunktion trainiert, die die Qualität der Ergebnisse des Modells bewertet. Wenn neue Datenpunkte beobachtet werden, wird der Gradient, oder die mehrdimensionale Ableitung, berechnet, um Anpassungen an den Parametern vorzunehmen und das Modell schrittweise zu verbessern.

Historisch gesehen verwendeten neuronale Netzwerke, die dem Deep Learning vorausgingen, komplexe Techniken wie die Rückpropagation, um Gradienten zu berechnen. Diese Techniken waren schwer umzusetzen und relativ langsam. Vor etwa einem Jahrzehnt gelang der Durchbruch, als Forscher begannen, die automatische Differentiation zu verwenden, eine Technik, die erstmals in den 1960er Jahren entdeckt wurde. Die automatische Differentiation vereinfacht die Berechnung von Gradienten, wurde jedoch lange Zeit von der wissenschaftlichen Gemeinschaft weitgehend ignoriert, bis ihr Potenzial in jüngerer Zeit erkannt wurde.

Die Diskussion dreht sich um das Konzept des Differentiable Programming und dessen Entwicklung sowie dessen Anwendungen in der Optimierung der Supply Chain.

Differentiable Programming entstand als Ergebnis von Durchbrüchen in den Techniken der automatischen Differentiation, die die Berechnung von Gradienten für jedes Programm ermöglichten, nicht nur für jede Funktion. Dieser Ansatz ermöglichte die Entwicklung komplexerer Berechnungsnetzwerke, die auf eine breitere Palette von Problemen angewendet werden konnten. Der Begriff “Differentiable Programming” stammt von der Idee, die Ableitung eines Programms zu berechnen.

Die Entwicklung des Differentiable Programming war iterativ und baute auf früheren Konzepten in neuronalen Netzwerken und Deep Learning auf. Der Fortschritt in diesem Bereich war in den letzten 50-60 Jahren stetig, obwohl zunächst die falsche Vorstellung herrschte, dass bestimmte Probleme, wie die Identifizierung eines Hundes, einfacher zu lösen wären als komplexe Berechnungen wie die Berechnung eines Logarithmus. In Wirklichkeit erwiesen sich scheinbar einfache Probleme wie die Objekterkennung und das Aufrechterhalten des Gleichgewichts als herausfordernder, während Berechnungen mit moderner Rechenarchitektur relativ einfach wurden.

Der Übergang von neuronalen Netzwerken zum Deep Learning bestand darin, sich von biologischer Inspiration zu verabschieden und sich auf das zu konzentrieren, was mit Computerhardware funktionierte. Die nächste Stufe, das Differentiable Programming, baute auf der Modularität des Deep Learnings auf und ermöglichte die Komposition, Stapelung, Konkatenation und Mischung von maschinellen Lernmodellen. Diese Modularität war für die Optimierung der Supply Chain entscheidend, die verschiedene Elemente wie Preise, Produkte, Kunden, Standorte und Container umfasst.

Als die Menschen begannen, Deep Learning-Toolkits zu entwickeln, die Programmiersprachen ähnelten, entstand die Idee des Differentiable Programming als natürliche Erweiterung. Die Techniken der automatischen Differentiation machten es einfach, die erforderlichen Toolkits zu entwerfen und zu entwickeln. In der Praxis umfasst das Differentiable Programming die Kombination verschiedener Modelle und Blöcke, ähnlich wie bei Lego-Steinen. Im Vergleich zum Deep Learning ermöglicht das Differentiable Programming jedoch eine flexiblere und vielseitigere Modellzusammenstellung.

Vermorel erklärt, dass das Differentiable Programming eine programmatische Ausdruckskraft ermöglicht, die es den Benutzern ermöglicht, Probleme zu überdenken und ihre Lösungen präziser und effizienter auszudrücken. Er gibt ein Beispiel dafür, wie das Differentiable Programming zur Optimierung von Preisgestaltung, Nachfrageprognose und Bestandsallokation verwendet werden kann. Diese Faktoren sind miteinander verbunden; eine Änderung der Preisstrategie wirkt sich auf die Nachfrage aus, was wiederum die erforderliche Produktion und Bestandsniveaus beeinflusst.

Das Differentiable Programming ermöglicht es Benutzern, Programme zu schreiben, die leere Stellen für zu optimierende Parameter lassen. Ein Supply Chain Scientist kann diese Programme schreiben und die geeignete Technologie zur Optimierung nutzen. Chandler äußert Bedenken hinsichtlich der Zuverlässigkeit von Lösungen, die durch Differentiable Programming erzeugt werden, da es leere Stellen enthält und auf maschinellem Lernen basiert. Vermorel erkennt die Einschränkungen an, weist jedoch darauf hin, dass Techniken des maschinellen Lernens bereits ihre Wirksamkeit gezeigt haben, wie zum Beispiel ihre Überlegenheit gegenüber menschlichen Spielern in Spielen wie Go und Schach.

Auf die Frage nach den Forschungs- und Entwicklungsbemühungen im Bereich des Differentiable Programming bei Lokad im Vergleich zu großen Technologieunternehmen wie Facebook gibt Vermorel zu, dass ihr Budget deutlich kleiner ist. Er betont jedoch, dass die von diesen Tech-Giganten durchgeführte Forschung oft veröffentlicht wird, was es kleineren Unternehmen wie Lokad ermöglicht, ihre Arbeit zu studieren und sich davon inspirieren zu lassen. Die Hauptherausforderung für Lokad besteht darin, mit diesen Veröffentlichungen auf dem neuesten Stand zu bleiben und die Forschungsergebnisse an eine Supply Chain-Mentalität anzupassen.

Vermorel weist darauf hin, dass der Hauptfokus großer Technologieunternehmen auf großen KI-Problemen liegt, wie zum Beispiel Computer Vision, Spracherkennung, Sprachsynthese und natürliche Sprachverarbeitung. Diese Bereiche sind nicht direkt mit dem Supply Chain Management verbunden, das das Fachgebiet von Lokad ist. Indem Lokad die von diesen Tech-Giganten produzierte Forschung genau beobachtet und sie für Supply Chain-Anwendungen umgestaltet, strebt das Unternehmen an, im Bereich des Differentiable Programming für die Supply Chain-Optimierung wettbewerbsfähig zu bleiben.

Vermorel betont, dass viele Erkenntnisse aus der KI-Forschung nicht spezifisch für Bilder oder Sprache sind, sondern eher grundlegend für das Lernen aus Daten. Diese Erkenntnisse können auf verschiedene Probleme angewendet werden, einschließlich des Supply Chain Managements, wo sie möglicherweise sogar besser funktionieren.

Der Hauptvorteil des Differentiable Programming im Supply Chain Management besteht laut Vermorel darin, mit Unbekanntem und prädiktivem Modellieren umzugehen, ohne das Geschäft zu beeinträchtigen. Die Herausforderung besteht darin, numerische Lösungen mit spezifischen Geschäftstreibern in Einklang zu bringen, während sie gleichzeitig vielseitig und ausdrucksstark bleiben. Differentiable Programming bietet eine ausdrucksstärkere Lösung, die es erleichtert, numerische Rezepte zu erstellen, die zum Geschäftsproblem passen.

Vermorel stellt fest, dass eine der größten Herausforderungen bei der Anwendung des Differentiable Programming auf das Supply Chain Management darin besteht, eine Reihe von Konstrukten und Programmierbausteinen zu etablieren, die gut für die Branche geeignet sind. Während die automatische Differentiation jedes Programm differenzieren kann, ist es entscheidend, spezifische Möglichkeiten zu finden, Probleme zu formulieren, die nicht nur gute, sondern auch stabile und zuverlässige Ergebnisse liefern, die für die Produktion geeignet sind. Das Ziel besteht darin, konsistente Ergebnisse ohne katastrophale Ausfälle zu erzielen, was immer noch eine Herausforderung darstellt.

Vollständiges Transkript

Kieran Chandler: Heute werden wir unsere Miniserie fortsetzen, indem wir uns ihre Ursprünge ansehen. Also, Joannes, Differentiable Programming ist ein weiterer Buzzword in der Welt der Technologie. Brauchen wir wirklich noch eins?

Joannes Vermorel: Ich denke schon. Es ist sehr interessant, denn sobald die Leute eine Lösung haben, die für Probleme funktioniert, ist es plötzlich keine KI mehr. Es kommt mit einem anderen Namen daher. KI ist der generische Begriff, um zu sagen, dass es terra incognita ist; wir wissen nicht, wie man diese Art von Problemen löst. Sobald wir eine Lösung haben, hat die Lösung einen Namen und typischerweise handelt es sich um eine Reihe von relativ iterativen Durchbrüchen mit vielen Iterationen. Dann kommt es mit einem Namen, der widerspiegelt, was als Teil des numerischen Rezepts in dieser Lösung dominiert.

Kieran Chandler: Okay, und dann kommen wir zum Differentiable Programming. Was steckt dahinter? Woher kommt der Name und wie sind wir dazu gekommen?

Joannes Vermorel: Der Name stammt von einer der Zutaten, die das Deep Learning antreiben, nämlich der Idee der gradientenbasierten Optimierung. Was bedeutet das? Eine gradientenbasierte Optimierung bedeutet, dass Sie ein Modell mit potenziell Millionen von Parametern haben. Die Art und Weise, wie Sie diese Parameter trainieren, besteht darin, eine Ziel-Funktion zu haben, eine Gleichung, die Ihnen sagt, ob Ihre Ergebnisse gut oder schlecht sind. Die Idee ist, dass Sie, wenn Sie sich einen Datenpunkt ansehen, die Informationen haben, die durch diese Funktion zurückfließen, und Sie den Gradienten berechnen können. Der Gradient sagt Ihnen, dass, wenn Sie die Parameter nur ein kleines Stück in diese Richtung lenken, die Ziel-Funktion lokal ein kleines Stück verbessert wird. Das ist die Idee, die dem stochastischen Gradientenabstieg zugrunde liegt, dem Algorithmus, der zur Optimierung moderner maschineller Lernalgorithmen und des gesamten Deep Learning verwendet wird, zum Beispiel.

Also haben wir diesen gradientenbasierten Ansatz mit vielen Parametern, und die Idee besteht darin, die Parameter jedes Mal ein kleines Stück zu verschieben, wenn Sie einen neuen Datenpunkt beobachten, damit Sie sich allmählich verbessern können. Das Problem besteht dann darin, wie man diesen Gradienten berechnet. Übrigens ist der Gradient nur ein großer Name für mehrdimensionale Ableitungen. Wenn Sie Algebra in der High School hatten, schauen Sie sich die Ableitungen an, die Steigung einer Kurve in einer Dimension. Wenn Sie viele Dimensionen haben, bezeichnen Sie sie als Gradienten. Da Sie viele Parameter haben, möchten Sie die Steigung für jeden einzelnen dieser Parameter berechnen.

Es stellt sich heraus, dass historisch gesehen neuronale Netzwerke, die wahrscheinlich vor dem Deep Learning kamen, alle möglichen sehr komplizierten Techniken namens Rückpropagation der Gradienten hatten. In Bezug auf die Implementierungskomplexität und Leistung war es kompliziert und irgendwie langsam. Nicht dass es langsam war, aber langsamer als das, was wir heute haben. Einer der Durchbrüche, der das Differentiable Programming ermöglichte, war, dass die Leute vor etwa zehn Jahren begannen zu erkennen, dass sie eine Technik namens automatische Differentiation verwenden konnten, die übrigens 50 Jahre alt ist. Sie wurde Mitte der 60er Jahre zum ersten Mal entdeckt, also ist es schon eine Weile her. Aber sie blieb weitgehend unbeachtet von der wissenschaftlichen Gemeinschaft. Sie wurde mehrmals wiederentdeckt, aber irgendwie erlangten diese Entdeckungen keine weite Aufmerksamkeit.

Nicht die Leute, die daran arbeiteten, die Dinge zu verbinden, die völlig unterschiedliche Bereiche waren, und so blieben diese Durchbrüche, würde ich sagen, weitgehend unbeachtet. Und so hatten wir die maschinelle Lerngemeinschaft, die irgendwie mit den Rückpropagationstechniken stecken blieb, die sehr kompliziert und mühsam zu implementieren waren, und plötzlich begannen die Leute zu erkennen, dass sie mit diesen automatischen Differentiationstechniken den Gradienten für buchstäblich jedes Programm berechnen konnten, nicht nur jede Funktion, sondern jedes Programm. Und das war etwas, das in Bezug auf die Implementierung völlig bahnbrechend war. Plötzlich konnten Sie ein Rechnernetzwerk entwickeln, das beliebig kompliziert ist, nicht nur durch Stapeln weiterer Schichten, sondern durch ein vollständig beliebiges Programm, und dann dieselben Gradientenabstiegstechniken anwenden. Und daher stammt der Begriff Differentiable Programming, er stammt von der Idee, dass Sie ein Programm differenzieren, also die Ableitung eines Programms berechnen werden. Daher stammt der Name und er spiegelt ein wenig den Ehrgeiz dieser neuesten Fortschritte im maschinellen Lernen wider, an superkomplexe Architekturen für die Rechnernetzwerke zu denken, die wie beliebige Programme sein können, und der Name Differentiable Programming.

Kieran Chandler: Okay, viel aufgenommen. Versuchen wir also, ein bisschen davon zu entwirren. Du hast gesagt, dass einige dieser Ideen in den 50er und 60er Jahren aufkamen. Es ist nicht wirklich wie die rasante Entwicklung, die wir bei KI und so weiter sehen. Es gibt also tatsächlich einen ziemlich iterativen Ansatz, um zum Differentiable Programming zu gelangen?

Joannes Vermorel: Absolut, aber die Realität ist, dass auch das Deep Learning davor super iterativ war und neuronale Netzwerke davor super iterativ waren. Ich meine, das Tempo des Fortschritts war in den letzten 50-60 Jahren tatsächlich ziemlich schnell. Es war unglaublich schnell. Und was faszinierend ist, ist, dass die Leute in den frühen 60er Jahren dachten: “Oh, wenn wir Multiplikation, Expansion oder all diese schwierigen Berechnungen knacken können, dann wird es super einfach sein, einen Hund zu identifizieren. Schließlich kann jede Person auf der Straße sagen, dass dies ein Hund ist, aber es braucht einen super ausgebildeten Mathematiker, um den Logarithmus zu berechnen. Also ist es offensichtlich viel komplizierter, einen Logarithmus zu berechnen, als festzustellen, ob Sie einen Hund vor sich haben.”

Und die größte Überraschung kam von der Tatsache, dass es tatsächlich umgekehrt ist. Diese Probleme, die wir völlig als selbstverständlich betrachten, wie zum Beispiel das Gleichgewicht halten, während wir auf zwei Beinen stehen, sind knifflig. Ich meine, es ist so, dass wenn du aufhörst dich zu bewegen, du einfach umfällst. Es ist also völlig dynamisch. Es ist nicht so, dass du aufrecht stehst, einen zweibeinigen Roboter zu haben ist wie ein Albtraum für Ingenieure. Es ist viel einfacher, Dinge zu haben, die auf Rädern funktionieren und von Design her völlig stabil sind.

Also die Art von super einfachen Problemen, wie aufrecht stehen, feststellen, ob das, was du vor dir hast, ein Hund oder ein Huhn ist oder etwas ganz anderes, wie zum Beispiel nur ein Poster mit einem Bild von einem Hund auf dem Poster anstelle eines echten Hundes. Diese Probleme sind sehr schwierig, und die Probleme wie das Berechnen von Logarithmen sind mit der Rechenarchitektur, die wir haben, tatsächlich super einfach. Es war eine große Überraschung, und es dauerte buchstäblich mehrere Jahrzehnte, um zu erkennen, dass wir selbst grundlegende Probleme angehen mussten.

Daher kommt es, dass wir seit Jahrzehnten über KI sprechen, der Fortschritt war sehr real, sehr stetig, aber es ist nur so, dass es so viel zu entdecken gab, dass es sich vielleicht aus externer Sicht etwas träge anfühlte, nur weil die Leute von Anfang an die falschen Erwartungen hatten. Aber es kommt, und es macht immer noch große Fortschritte, und wir haben jetzt erkannt, dass wir wahrscheinlich

Kieran Chandler: Und wie steht es mit dem Differentiable Programming? Was war die Inspiration dahinter?

Joannes Vermorel: Der Schlüssel, sehr interessante Einblick war der Übergang von neuronalen Netzwerken zum Deep Learning. Die Idee war, sich komplett von all der biologischen Inspiration zu verabschieden und zu erkennen, dass wir, wenn wir vorankommen wollten, die biologische Inspiration verwerfen mussten, um uns auf das zu konzentrieren, was tatsächlich mit Computerhardware funktioniert. Eine der Schlüsselerkenntnisse, die das Deep Learning vorangetrieben haben, war seine Modularität. Du kannst maschinelles Lernen auf eine extrem modulare Weise aufbauen; du kannst sie zusammensetzen, stapeln, verketten und auf viele Arten mischen.

Kieran Chandler: Und warum ist das von besonderem Interesse für Supply Chains?

Joannes Vermorel: Es liegt daran, dass wir Dinge wie Preise, Produkte, Kunden, Standorte, Container und allerlei sehr unterschiedliche Objekte mischen wollen, um Supply-Chain-Probleme zu lösen. Du musst mit dieser Vielfalt umgehen. Wenn du Modelle hast, die du auf viele Arten zusammensetzen kannst, endest du mit einer Programmiersprache, ganz wörtlich. Das Interessante ist, dass die Leute begonnen haben, Toolkits im Deep Learning zu entwickeln, die immer näher an tatsächlichen Programmiersprachen waren. Zum Beispiel hat Microsoft ihr Computational Network Toolkit, CNTK, veröffentlicht, das BrainScript hatte, eine domänenspezifische Programmiersprache für Deep Learning. Die nächste Stufe war, vollständig zu programmieren.

Kieran Chandler: Es ist also so etwas wie ein Lego-Stein-Ansatz, bei dem verschiedene Blöcke aus verschiedenen Orten kombiniert werden und diese Modelle auf verschiedene Arten kombiniert werden. Wie funktioniert das eigentlich in der Praxis? Wie implementierst du diesen Code dahinter?

Joannes Vermorel: Legos waren tatsächlich so etwas wie der Archetyp dessen, was die Leute mit Deep Learning hatten. Es ging darum, Blöcke zu kombinieren, aber auf ziemlich begrenzte Weise. Es gibt ein Spektrum zwischen Deep Learning und differenzierbarer Programmierung ohne klare Abgrenzung. Der Unterschied bestand darin, dass die Leute von Legos, wo es nur darum ging, Teile zusammenzusetzen, zu Programmierung übergingen, wo du dasselbe tun kannst, aber mit programmatischer Ausdruckskraft. Für Supply Chains bedeutet das, dass du Probleme überdenken und deine Lösung auf eine Weise ausdrücken kannst, die viel prägnanter und auf den Punkt des Problems ist, das du lösen möchtest.

Kieran Chandler: Kannst du ein Beispiel geben?

Joannes Vermorel: Klar, versuchen wir, Preisgestaltung, Nachfrageprognose und Bestandszuweisung gemeinsam zu optimieren. Wenn du darüber nachdenkst, sind all diese Dinge völlig gekoppelt. Ich prognostiziere die Nachfrage, aber ich weiß, dass wenn ich meine Preisstrategie anpasse, ich die Nachfrage ändere. Wenn ich die Nachfrage ändere, hat das Auswirkungen darauf, wie viel ich produzieren und lagern sollte, weil die Nachfrage unterschiedlich sein wird. All diese Dinge sind völlig gekoppelt und haben Abhängigkeiten, die du buchstäblich aufschreiben kannst.

Kieran Chandler: Es ist auf eine gewisse Weise kompliziert. Wenn ich mehr Nachfrage habe, brauche ich mehr Bestand, um die Nachfrage zu erfüllen. Das ist ziemlich offensichtlich, und wenn ich den Preis höher setze, dann habe ich für die Nachfrage, die ich behalte, eine höhere Marge. Es gibt viele Dinge, die wie vollständige, bodenständige Berechnungen sind, aber die Frage ist, wie du all diese Zutaten zusammenbringst, um etwas zu tun, das sowohl eine Vorhersage als auch eine Optimierung ist?

Joannes Vermorel: Die Antwort lautet differenzierbare Programmierung mit spezifischen Techniken, bei denen du diese Programme schreibst, die viel leeren Raum hinterlassen. Das werden all die Parameter sein, die du optimieren möchtest, und du wirst einen Supply Chain Scientist haben, der das schreibt, und die richtige Technologie, um die Optimierung durchzuführen.

Kieran Chandler: Was du mit diesen leeren Räumen sagst, ist, dass du tatsächlich ein Programm schreibst, bei dem du nicht alle Antworten kennst?

Joannes Vermorel: Ja, das ist korrekt.

Kieran Chandler: Wie kannst du das wissen und Vertrauen haben, dass du tatsächlich zur richtigen Antwort kommst, wenn es diese leeren Räume gibt?

Joannes Vermorel: Tatsächlich ist es ähnlich wie bei Phänomenen im maschinellen Lernen. Du lernst also, daher hast du keine Garantie, dass du gute Ergebnisse erzielst. Das gesagt habend, glaube ich nicht, dass es heutzutage anders ist als beim Deep Learning und allen vorherigen Techniken des maschinellen Lernens. Zum Beispiel haben maschinelle Lernprogramme mittlerweile alle menschlichen Spieler in Spielen wie Go und Schach übertroffen. Es ist also nicht so, als ob wir keine klaren Anzeichen dafür hätten, dass es tatsächlich funktioniert, sogar über die menschliche Kapazität hinaus für Probleme, die immer noch ziemlich eng begrenzt sind, im Gegensatz zur Identifizierung eines Hundes in einer unordentlichen städtischen Umgebung, was ein viel schwierigeres Problem ist.

Kieran Chandler: Du hast einige der Supply-Chain-Perspektiven für differenzierbare Programmierung erwähnt. Aus Sicht von Forschung und Entwicklung, wie nah ist das, was wir hier bei Lokad tun, im Vergleich zu dem, was Facebook und andere große Technologieunternehmen in der differenzierbaren Programmierung tun?

Joannes Vermorel: Ich glaube, die großen Technologieunternehmen wie Google, Facebook und Microsoft haben ein viel größeres Budget für Forschung und Entwicklung. Bei Lokad geben wir unser Bestes, aber seien wir realistisch, ich habe nicht einmal 1% des KI-Budgets von Microsoft oder Facebook. Das ist derzeit die Realität für die meisten B2B-Unternehmen. Diese Märkte sind immer noch ziemlich spezialisiert, und es gibt kein Unternehmen in der Supply Chain, das sagt, wir haben 2.000 KI-Forscher. Die gute Nachricht ist jedoch, dass diese Giganten wie Google, Amazon und Facebook tatsächlich viel veröffentlichen, sodass die meisten ihrer Forschungsergebnisse veröffentlicht werden. Das bedeutet, dass eine der Hauptherausforderungen, denen wir bei Lokad gegenüberstehen, darin besteht, all diese Veröffentlichungen genau im Auge zu behalten und kontinuierlich Inspiration daraus zu schöpfen. Wir rekonstruieren, was sie tun, aber aus einer Supply-Chain-Perspektive, denn diese großen Teams arbeiten an den großen KI-Problemen wie Computer Vision, Spracherkennung, Sprachsynthese und natürlicher Sprachverarbeitung, was überhaupt nicht das ist, was die Leute in der Supply Chain zu lösen versuchen.

Kieran Chandler: Wie könnten Sie also von diesen großen KI-Problemen wie Bilderkennung und Spracherkennung zur Supply Chain gelangen? Wie können sie überhaupt miteinander verbunden sein?

Joannes Vermorel: Die Menschen haben in den letzten Jahrzehnten die Schlüsselerkenntnis des Fortschritts aufgedeckt, nämlich den Kernmechanismus des Lernens und den Kernmechanismus hinter effizienter, skalierbarer numerischer Optimierung. Was sehr interessant ist, ist, dass die meisten Erkenntnisse, die sie aufdecken, nicht spezifisch für Bilder sind. Sie sind eher auf der grundlegenden Ebene von

Kieran Chandler: Also habe ich von einem Trick gehört, der nur für Bilder funktioniert, aber es gibt viele Veröffentlichungen, bei denen der Trick oder die aufgedeckte Erkenntnis tatsächlich überhaupt nicht spezifisch ist. Es passiert nur, dass sie zur Validierung der Erkenntnisse und Experimente eine Lösung entwickeln müssen, und diese Lösung ist für Bilder entwickelt. Aber der Trick könnte auf völlig unterschiedliche Probleme angewendet werden. Er funktioniert möglicherweise nicht natürlicherweise mit derselben Effizienz bei völlig unterschiedlichen Problemen, aber manchmal funktioniert er sogar besser. Können Sie das näher erläutern?

Joannes Vermorel: Ja, Sie haben recht. Manchmal wird eine Technik entdeckt, die für Bilder schön ist, aber keine bahnbrechende Veränderung darstellt. Sie wird dennoch veröffentlicht, da sie als neuartig angesehen wird und zum wissenschaftlichen Fortschritt beiträgt. Wenn Sie diese Technik jedoch auf einen anderen Kontext anwenden, wie zum Beispiel eine Supply Chain, können Sie bedeutende Fortschritte erzielen. Es funktioniert also in beide Richtungen.

Kieran Chandler: Was ist der Hauptvorteil aus Sicht von Lokad bei differenzierbarer Programmierung? Ist es die Idee, dass Sie all diese Unbekannten in einer Supply Chain beantworten können und all diese leeren Stellen, wo Sie tatsächlich nicht wissen, was in der Zukunft passieren wird?

Joannes Vermorel: Die große Herausforderung, der wir uns in der Supply Chain stellen, besteht darin, wie man prädiktives Modellieren und prädiktive Optimierung hat, die das Geschäft nicht verraten. Es ist nicht trivial, denn es geht nicht darum, generische Antworten zu bekommen; es geht darum, eine sehr spezifische Klasse von Entscheidungen zu haben, die das Geschäft auf hochspezifische Weise optimieren, die mit den von Ihnen definierten Geschäftstreibern übereinstimmen. Wir versuchen nicht, KI-Techniken die Geschäftsziele aufzudecken; die Geschäftsziele werden mit menschenähnlicher Intelligenz festgelegt, um die Strategie und Perspektive zu definieren. Das Problem hat viel Struktur, und die größte Herausforderung besteht darin, sicherzustellen, dass die numerischen Rezepte, die Sie entwickeln, mit diesen Geschäftstreibern übereinstimmen. Es ist sehr schwierig - normalerweise enden Sie mit einem runden Loch und einem quadratischen Stift, der einfach nicht passt. Differenzierbare Programmierung ist ein Weg, um dieses Problem anzugehen.

Kieran Chandler: Seien Sie viel ausdrucksstärker, und das ist der Schlüssel, um sicherzustellen, dass Sie numerische Rezepte erstellen können, die tatsächlich das Geschäftsproblem passen, das Sie vor Augen haben. Wenn Sie Zugang zu einer Programmiersprache haben, sind Sie viel ausdrucksstärker und vielseitiger. Plötzlich wird es in der Praxis viel einfacher, Dinge anzupassen. Okay, lassen Sie uns anfangen, die Dinge zusammenzufassen. Sie haben am Anfang erwähnt, dass die differenzierbare Programmierung der Anfang einer langen Reise mit vielen Herausforderungen vor sich ist.

Joannes Vermorel: Ja, wo wir uns auf dieser Reise befinden und welche die größten Herausforderungen sind, denen wir uns stellen werden… Die größte Herausforderung besteht wahrscheinlich darin, eine Reihe von Konstrukten und Bausteinen zu etablieren, wahrscheinlich zu identifizieren, Programmierbausteine, die für die Supply Chain wirklich gut funktionieren. Also, denken Sie daran, die automatische Differentiation ermöglicht es Ihnen, jedes Programm zu differenzieren, das stimmt, aber wie Sie betont haben, ist es nicht so, dass Sie aufhören oder anfangen, Parameter in Ihr Programm zu gießen und sagen: “Nun, alles wird funktionieren, weil ich meine Parameter optimieren kann.” Nein, die Realität ist, dass nicht jedes Programm funktioniert. Ja, Sie können jedes Programm differenzieren, das diese Parameter hat, aber die Realität ist, dass wenn Sie ein Programm zufällig mit Parametern in der Mitte schreiben, wenn Sie Ihre Optimierung auslösen, Ihre automatische Differentiation, die Ergebnisse, die Sie erhalten, totaler Mist sein werden. Nein, es muss spezifische Möglichkeiten geben, diese Probleme zu gestalten, die nicht nur gute, sondern auch sehr stabile und zuverlässige Ergebnisse liefern. Sie sehen, Sie bevorzugen, wir möchten Dinge haben, die wir in die Produktion bringen können, also reicht es nicht aus, im Durchschnitt besser zu sein. Sie möchten etwas haben, das nicht nur besser, sondern auch sehr zuverlässig ist, und daher erzeugen Sie keine einmaligen Wunder, etwas, das kritisch schlecht ist. Sie möchten Ergebnisse, die sehr stabil, sehr zuverlässig sind und die nicht auf katastrophale Weise einmal im Jahr versagen. Und das liegt wahrscheinlich immer noch teilweise vor uns.

Kieran Chandler: Brillant. Nun, das ist es, womit wir uns heute verabschieden. Vielen Dank für Ihre Zeit, Joannes.

Joannes Vermorel: Danke.

Kieran Chandler: Vielen Dank fürs Zuschauen. Nächste Woche sind wir wieder mit unserer letzten Folge dieser Miniserie über differenzierbare Programmierung zurück. Aber bis dahin vielen Dank fürs Zuschauen.