Differentiable Programming

Differentiable Programming in Bewegung
Anwendung auf Lieferketten
Im Kern bietet Differentiable Programming (DP) einen Weg, um Probleme zu vereinheitlichen, die zu lange voneinander getrennt geblieben sind, und sie gemeinsam zu lösen: Sortiment, Preisgestaltung, Prognose, Planung, Merchandising. Auch wenn eine solche Vereinheitlichung unrealistisch ehrgeizig erscheinen mag, ist die Realität, dass Unternehmen bereits eine immense Menge an Klebeband auf ihre eigenen Prozesse anwenden, um mit den endlosen Problemen fertig zu werden, die durch die Tatsache entstehen, dass diese Herausforderungen zunächst innerhalb der Organisation isoliert waren. Zum Beispiel beeinflusst die Preisgestaltung offensichtlich die Nachfrage, und dennoch werden Planung und Prognose fast immer durchgeführt, ohne die Preise überhaupt zu berücksichtigen.
DP eröffnet die riesige Möglichkeit, annähernd korrekte Entscheidungen aus einer ganzheitlichen Perspektive auf das Geschäft zu treffen, anstatt genau falsch zu sein und Probleme innerhalb der Organisation zu verlagern, anstatt sie zu lösen.
Anekdotisch gesehen ist die Suche nach annähernder Korrektheit unter Berücksichtigung des gesamten Unternehmens genau das, worum es bei den meisten tabellenkalkulationsgesteuerten Organisationen geht; und mangels einer Technologie - wie DP - die in der Lage ist, eine ganzheitliche Unternehmensperspektive zu erfassen, bleiben Tabellenkalkulationen die am wenigsten schreckliche Option.
E-Commerce
Die Möglichkeit, 100% der verkauften Einheiten bekannten Kunden zuzuordnen, stellt eine massive latente Menge an Informationen über den Markt dar; dennoch wird die Treueinformation heutzutage bei der Preisgestaltung und Bestandsoptimierung in der Regel nicht einmal verwendet. DP bietet die Möglichkeit, von der Zeitreihenprognose zur zeitlichen Graphenprognose überzugehen, bei der jedes einzelne Kundenproduktpaar, das jemals beobachtet wurde, wichtig ist; was zu klügeren Entscheidungen sowohl für Lagerbestände als auch für Preise führt.
Luxusmarken
Die Optimierung von Preisen und Sortimenten - bis auf die Ladenebene - galt lange Zeit als weitgehend unlösbar aufgrund der Spärlichkeit der Daten, d.h. des sehr geringen Absatzvolumens pro Artikel pro Geschäft - so gering wie ein verkauftes Stück pro Produkt pro Geschäft pro Jahr. DP bietet Ansätze, um Lösungsklassen zu liefern, die bei solch ultraspärlichen Daten funktionieren, da sie darauf ausgelegt sind, eine viel größere Dateneffizienz als herkömmliche Deep-Learning-Methoden zu bieten.
Modemarken
Die gemeinsame Optimierung von Lagerbeständen und Preisen ist eine klare Anforderung - da die Nachfrage nach vielen Artikeln sehr preissensibel sein kann - doch die gemeinsame Optimierung von Einkauf und Preisgestaltung konnte aufgrund des Mangels an einem Werkzeug, das in der Lage ist, diese Kopplung auch nur zu erfassen - d.h. die Fähigkeit, mehr zu einem niedrigeren Preis zu kaufen, erzeugt mehr Nachfrage (und umgekehrt) - nicht erreicht werden. DP bietet die Ausdruckskraft, um diese Herausforderung anzugehen.
Fertigung
Die numerische Optimierung von umfangreichen Multi-Echelon-Netzwerken scheitert, wenn sie mit klassischen numerischen Lösungsmethoden versucht wird (siehe “Über die Optimierung jenseits von Branch-and-Cut” unten). Tatsächlich werden diese Lösungsmethoden weitgehend unpraktisch, wenn sie entweder mit Millionen von Variablen oder stochastischem Verhalten umgehen müssen. Leider weist die Fertigung sowohl viele Variablen als auch stochastisches Verhalten auf. DP bietet einen praktischen Ansatz, um mit Multi-Echelon umzugehen, ohne die Komplexität der tatsächlichen Flussmuster innerhalb des Netzwerks zu verraten.
MRO (Instandhaltung, Reparatur, Überholung)
Wenn ein Teil, das für die Reparatur eines Systems benötigt wird, fehlt, bleibt das gesamte System - das möglicherweise ein Flugzeug ist - stehen. Probabilistische Prognosen sind der erste Schritt, um mit solchen unregelmäßigen und intermittierenden Nachfragemustern umzugehen, aber die Feinheiten der gleichzeitigen Auftreten der erforderlichen Teile herauszufinden und diese Analyse in handlungsfähige Lagerempfehlungen umzusetzen, war zu komplex, um praktisch nutzbar zu sein. DP vereinfacht die Lösung solcher Probleme.
Einzelhandelsnetzwerke
Kannibalisierungen innerhalb von Einzelhandelsnetzwerken - normalerweise zwischen Produkten, aber manchmal auch zwischen Geschäften - wurden schon lange als von vorrangiger Bedeutung angesehen. Dieses Problem wird durch Promotionen verstärkt, die genau darauf abzielen, Kunden von einer Marke zur anderen zu lenken. DP bietet die Möglichkeit, Kannibalisierung in Anwesenheit von Promotionen anzugehen. Anstatt nur “Promotionen vorherzusagen”, bietet DP die Möglichkeit, Promotionen für das zu optimieren, was sie sind: profitable Deals, die gemeinsam von sowohl dem Vertriebskanal als auch der Marke betrieben werden.
Jenseits des Hypes um künstliche Intelligenz
Künstliche Intelligenz (KI) war sicherlich das Technik-Schlagwort des Jahres 2018 und der Hype hält auch 2019 noch an. Lokad verwendet zwar umfangreich Techniken, die normalerweise für das KI-Schlagwort qualifizieren - z.B. Deep Learning -, jedoch haben wir uns davor gescheut, den Schwerpunkt auf den “KI”-Teil der Lokad-Technologie zu legen. Tatsächlich funktioniert verpackte KI einfach nicht, wenn es um die quantitative Optimierung der Supply Chain geht. Supply Chains sind nichts Ähnliches wie zum Beispiel Computer Vision: Daten, Metriken und Aufgaben sind alle extrem heterogen. Als Ergebnis erkennen Unternehmen, die vermeintlich “fertige” KI-Lösungen gekauft haben, langsam, dass diese Lösungen einfach nicht funktionieren werden, außer vielleicht in den einfachsten Situationen, in denen auch “dumme” regelbasierte Systeme genauso gut funktioniert hätten. Im Kern sind Supply Chains komplexe, von Menschen geschaffene Systeme, und es ist in der Regel unrealistisch zu erwarten, dass das KI-System - basierend nur auf Daten - von selbst grundlegende Erkenntnisse über die Domäne wiederentdeckt, wie zum Beispiel:
- Werbung für eine Luxusmarke ist ein absolutes No-Go.
- Negative Verkaufsaufträge im ERP sind tatsächlich Retouren.
- Frischeprodukte müssen innerhalb bestimmter Temperaturbereiche transportiert werden.
- Varianten in Farben können gute Kleidungsersatzteile sein, aber nicht Varianten in Größen.
- Flugzeugwartung wird durch Flugstunden und Flugzyklen gesteuert.
- Die Verkäufe im Vereinigten Königreich erfolgen tatsächlich in GBP, auch wenn das ERP EUR als Währung anzeigt.
- Menschen kaufen Autoteile für ihre Fahrzeuge, nicht für sich selbst.
- Jeder Diamant ist einzigartig, aber die Preise hängen hauptsächlich von Karat, Reinheit, Farbe und Schliff ab.
- Jedes fehlende NOGO-Teil an einem Flugzeug führt dazu, dass das Flugzeug stillgelegt wird.
- Viele chemische Anlagen benötigen Wochen, um nach dem Ausschalten wieder in Betrieb genommen zu werden.

In dieser Hinsicht war Deep Learning außerordentlich erfolgreich, weil im Gegensatz zu vielen früheren Ansätzen im maschinellen Lernen Deep Learning zutiefst kompositorisch ist: Es ist möglich, die Modellstruktur umfassend anzupassen, um in einer bestimmten Situation besser zu lernen. Die Anpassung der Modellstruktur unterscheidet sich von der Anpassung der Modell-Eingabe - einer Aufgabe, die als Feature Engineering bekannt ist - was typischerweise die einzige Option für die meisten nicht-tiefen maschinellen Lernalgorithmen wie Random Forests war.
Allerdings sind Deep Learning-Frameworks aus den “großen Problemen” des maschinellen Lernens hervorgegangen, nämlich Computer Vision, Spracherkennung, Sprachsynthese, automatisierte Übersetzung. Diese Frameworks wurden und wurden tiefgreifend für Szenarien entwickelt und abgestimmt, die buchstäblich nichts mit den Problemen in Supply Chains zu tun haben. Daher ist es zwar möglich, diese Frameworks für Optimierungszwecke in Supply Chains zu nutzen, jedoch war dies keine einfache oder leichte Aufgabe. Zusammenfassend lässt sich sagen, dass mit Deep Learning-Frameworks viel für Supply Chains erreicht werden kann, aber die Impedanzanpassung zwischen Supply Chains und bestehenden Deep Learning-Frameworks ist stark; was die Kosten, Verzögerungen und die realweltliche Anwendbarkeit dieser Technologien einschränkt.
Jenseits der Branch-and-Cut-Optimierung
Die meisten Probleme in Supply Chains haben sowohl einen Lernaspekt - verursacht durch eine unvollkommene Kenntnis der Zukunft, eine unvollkommene Kenntnis des aktuellen Zustands des Marktes und manchmal sogar eine unvollkommene Kenntnis des Supply-Chain-Systems selbst (z.B. Bestandsungenauigkeiten) - als auch einen numerischen Optimierungsaspekt. Entscheidungen müssen gegen wirtschaftliche Treiber optimiert werden, während viele nichtlineare Einschränkungen erfüllt werden müssen (z.B. Mindestbestellmengen beim Einkauf oder Losgrößen bei der Produktion).
Auf dem Gebiet der numerischen Optimierung dominieren seit Jahrzehnten Ganzzahligkeitsprogrammierung und ihre verwandten Techniken wie Branch-and-Cut. Diese Branch-and-Cut-Algorithmen und ihre zugehörigen Softwarelösungen konnten jedoch größtenteils nicht die Flexibilität und Skalierbarkeit liefern, die erforderlich ist, um operative Lösungen für viele, wenn nicht die meisten, Herausforderungen in der Supply Chain bereitzustellen. Ganzzahligkeitsprogrammierung ist ein fantastisch leistungsfähiges Werkzeug, wenn es darum geht, enge Probleme mit wenigen Variablen zu lösen (z.B. Komponentenplatzierung in einem Verbraucherelektronikgerät), zeigt jedoch drastische Einschränkungen bei groß angelegten Problemen, bei denen Zufälligkeit eine Rolle spielt (z.B. Neuausrichtung von Beständen zwischen 10 Millionen SKUs bei sowohl probabilistischer Nachfrage als auch probabilistischen Transportzeiten).
Einer der am meisten unterschätzten Aspekte des Deep Learning ist, dass sein Erfolg sowohl das Ergebnis von Durchbrüchen auf der Lernseite als auch das Ergebnis von Durchbrüchen auf der Optimierungsseite ist. Dies liegt daran, dass die wissenschaftliche Gemeinschaft herausgefunden hat, dass enorm effiziente Algorithmen groß angelegte Optimierungen durchführen. Nicht nur sind diese “Deep Learning”-Optimierungsalgorithmen - die alle um den stochastischen Gradientenabstieg kreisen - weitaus effizienter als ihre Branch-and-Cut-Gegenstücke, sondern sie passen auch viel besser zu der von uns verwendeten Rechenhardware, nämlich SIMD-CPU und (GP)GPU, was in der Praxis eine zwei- oder dreifache Beschleunigung ermöglicht. Diese Durchbrüche in der reinen numerischen Optimierung sind von hoher Relevanz für Supply Chains, um Entscheidungen zu optimieren. Wenn jedoch die Deep Learning-Frameworks bereits etwas ungeeignet waren, um Lernprobleme in Supply Chains anzugehen, sind sie noch weniger geeignet, um Optimierungsprobleme in Supply Chains anzugehen. Tatsächlich sind diese Optimierungsprobleme noch stärker von der Ausdrucksfähigkeit des Frameworks abhängig, um den Supply Chain-Experten zu ermöglichen, die Einschränkungen und Metriken zu implementieren, die jeweils durchgesetzt und optimiert werden sollen.
Hin zu Differentiable Programming
In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. Aber in der Praxis gibt es einen. Walter J. Savitch, Pascal: Eine Einführung in die Kunst und Wissenschaft des Programmierens (1984)
Differentiable Programming (DP) ist die Antwort, um Supply Chains das Beste zu bieten, was Deep Learning sowohl auf der Lern- als auch auf der numerischen Optimierungsseite zu bieten hat. Durch DP können Supply Chain-Experten ihre menschlichen Erkenntnisse optimal nutzen, um numerische Rezepte zu erstellen, die tiefgreifend mit den Geschäftszielen übereinstimmen. Es gibt keine absolute Abgrenzung zwischen Deep Learning und Differentiable Programming: Es handelt sich eher um ein Kontinuum von den skalierbarsten Systemen (Deep Learning) zu den ausdrucksstärksten Systemen (Differentiable Programming) mit vielen Programmierkonstrukten, die allmählich verfügbar werden - auf Kosten der reinen Skalierbarkeit - wenn man sich in Richtung Differentiable Programming bewegt. Unsere Erfahrung bei Lokad zeigt jedoch, dass der Übergang von Tools, die hauptsächlich für Computer Vision entwickelt wurden, zu Tools, die für die Herausforderungen in der Supply Chain entwickelt wurden, genau den Unterschied zwischen einem “interessanten” Prototyp, der es nie in die Produktion schafft, und einem in großem Maßstab implementierten Industriesystem ausmacht.
Deep Learning | Differentiable Programming | |
---|---|---|
Primärer Zweck | Lernen | Lernen+Optimierung |
Typische Verwendung | Einmal lernen, oft bewerten | Einmal lernen, einmal bewerten |
Eingabegranularität | Große Objekte (Bilder, Sprachsequenzen, Lidar-Scans, vollständige Textseiten) | Kleine Objekte (Produkte, Kunden, SKUs, Preise) |
Eingabevariabilität | Homogene Objekte (z.B. Bilder mit dem gleichen Höhe/Breite-Verhältnis) | Heterogene Objekte (relationale Tabellen, Graphen, Zeitreihen) |
Eingabevolumen | Von Megabytes bis Petabytes | Von Kilobytes bis zu zehn Gigabytes |
Hardwarebeschleunigung | Hardwarebeschleunigung | Gut |
Ausdrucksfähigkeit | Statische Graphen von Tensoroperationen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Integriert | Idem |
Die typische Verwendung ist ein subtiler, aber wichtiger Punkt. Aus der Perspektive von “Big AI” kann die Trainingszeit (fast) beliebig lang sein: Es ist in Ordnung, ein Rechennetzwerk über Wochen oder sogar Monate zu trainieren. Später muss das resultierende Rechennetzwerk in Echtzeit ausgewertet werden (z.B. Mustererkennung für autonomes Fahren). Dieser Ansatz unterscheidet sich vollständig von Supply Chains, bei denen die besten Ergebnisse erzielt werden, indem das Netzwerk jedes Mal neu trainiert wird. Darüber hinaus sind die trainierten Parameter aus einer DP-Perspektive häufig die Ergebnisse, die wir tatsächlich erzielen möchten; was die gesamte Echtzeitauswertungsbeschränkung bedeutungslos macht. Auch die Erwartungen hinsichtlich der Dateninputs in Bezug auf Granularität, Vielfalt und Volumen sind unterschiedlich. Typischerweise betont die Perspektive von “Big AI” nahezu unendliche Mengen an Trainingsdaten (z.B. alle Textseiten des Webs), wobei die Hauptherausforderung darin besteht, enorm skalierbare Methoden zu finden, die effektiv auf diese massiven Datensätze zugreifen können. Im Gegensatz dazu müssen Supply-Chain-Probleme mit einer begrenzten Menge hochstrukturierter, aber vielfältiger Daten angegangen werden. Dies lenkt das Deep Learning auf tensorbasierte Frameworks, die durch dedizierte Rechenhardware massiv beschleunigt werden können, zunächst GPUs und jetzt zunehmend TPUs. Differentiable Programming, das auf stochastischem Gradientenabstieg basiert, weist ebenfalls viele gute Eigenschaften für die Hardwarebeschleunigung auf, jedoch in geringerem Maße im Vergleich zu statischen Graphen von Tensoroperationen. Die Bedeutung der stochastischen numerischen Rezepte ist zweifach. Erstens spielen diese Rezepte aus Lernperspektive eine wichtige Rolle. Variational Autoencoder oder Dropouts sind Beispiele für solche numerischen Rezepte. Zweitens spielen diese Rezepte auch aus modellierungstechnischer Sicht eine wichtige Rolle, um probabilistische Verhaltensweisen innerhalb der Supply-Chain-Systeme (z.B. variierende Vorlaufzeiten) angemessen zu berücksichtigen. Im Gegensatz dazu besteht eine große Kluft zwischen Differentiable Programming und Mixed Integer Programming - der vorherrschende Ansatz der letzten Jahrzehnte bestand darin, komplexe numerische Optimierungen durchzuführen.
Mixed Integer Programming | Differentiable Programming | |
---|---|---|
Primärer Zweck | Optimierung | Lernen+Optimierung |
Eingabegranularität und Vielfalt | Kleine Objekte, heterogen | Idem |
Eingabevolumen | Von Bytes bis zu zehn Megabytes | Von Kilobytes bis zu zehn Gigabytes |
Hardwarebeschleunigung | Schlecht | Gut |
Ausdrucksfähigkeit | Ungleichungen über lineare und quadratische Formen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Keine | Integriert |
Zur Verteidigung von Mixed Integer Programming-Tools können diese Tools - wenn sie erfolgreich sind, ein Problem zu bewältigen - manchmal beweisen - im mathematischen Sinne - dass sie die optimale Lösung gefunden haben. Weder Deep Learning noch Differentiable Programming bieten in dieser Hinsicht einen formalen Beweis.
Schlussfolgerungen
Differentiable Programming ist ein großer Durchbruch für Supply Chains. Es basiert auf Deep Learning, das sich als äußerst erfolgreich bei der Lösung vieler “Big AI”-Probleme wie der Bilderkennung erwiesen hat, wurde jedoch im Kern neu konzipiert, um den realen Herausforderungen gerecht zu werden, mit denen reale Supply Chains konfrontiert sind. Lokad hat auf seiner Deep Learning-Prognosetechnologie aufgebaut, um den Übergang zu Differentiable Programming zu vollziehen, das die nächste Generation unserer Vorhersagetechnologie darstellt. DP ist jedoch mehr als nur vorhersagend, es vereint Optimierung und Lernen, um Lösungen für eine Vielzahl von Problemen zu finden, für die zuvor keine praktikablen Lösungen existierten.