Differentiable Programming

Differentiable Programming in Motion
Anwendung auf Lieferketten
Im Kern bietet Differentiable Programming (DP) einen Weg, um Probleme zu vereinheitlichen, die zu lange voneinander getrennt waren, und sie gemeinsam zu lösen: Sortiment, Preisgestaltung, Prognose, Planung, Merchandising. Obwohl eine solche Vereinheitlichung unrealistisch ehrgeizig erscheinen mag, ist die Realität, dass Unternehmen bereits eine enorme Menge an Klebeband auf ihre eigenen Prozesse anwenden, um mit den endlosen Problemen umzugehen, die dadurch entstehen, dass diese Herausforderungen zunächst innerhalb der Organisation in Silos aufgeteilt wurden. Zum Beispiel wirkt sich die Preisgestaltung offensichtlich auf die Nachfrage aus, und dennoch werden sowohl die Planung als auch die Prognose fast immer durchgeführt, ohne die Preise überhaupt zu berücksichtigen.
DP eröffnet die enorme Möglichkeit, annähernd korrekte Entscheidungen aus einer ganzheitlichen Perspektive auf das Geschäft zu treffen, anstatt genau falsch zu liegen 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 Geschäfts genau das, worum es den meisten organisationsgetriebenen Tabellenkalkulationsunternehmen geht; und mangels einer Technologie - wie DP -, die in der Lage ist, eine ganzheitliche Geschäftsperspektive einzunehmen, bleiben Tabellenkalkulationen die am wenigsten schreckliche Option.
E-Commerce
Die Möglichkeit, 100% der verkauften Einheiten bekannten Kunden zuzuordnen, stellt eine enorme Menge an latenten Informationen über den Markt dar. Wenn es jedoch um Preisgestaltung und Bestandsoptimierung geht, wird die Loylitätsinformation heutzutage in der Regel nicht einmal verwendet. DP bietet die Möglichkeit, von der Zeitreihenprognose zur Prognose auf Basis von temporalen Graphen überzugehen, bei der jedes einzelne Kunden-Produkt-Paar, das jemals beobachtet wurde, relevant ist. Dies führt zu intelligenteren Entscheidungen sowohl für den Bestand als auch für die Preise.
Luxusmarken
Die Optimierung von Preisen und Sortimenten - bis hin zur Filialebene - galt lange Zeit als weitgehend unlösbar aufgrund der Spärlichkeit der Daten, d.h. des sehr geringen Absatzvolumens pro Artikel pro Filiale - teilweise nur eine verkaufte Einheit pro Produkt pro Filiale pro Jahr. DP bietet Lösungsansätze, die auf solch extrem spärlichen Daten basieren, da sie darauf ausgelegt sind, eine wesentlich höhere Dateneffizienz als herkömmliche Deep-Learning-Methoden zu liefern.
Modemarken
Die gemeinsame Optimierung von Beständen und Preisen ist eine klare Anforderung - da die Nachfrage nach vielen Artikeln stark preissensibel sein kann. Die gemeinsame Optimierung von Einkauf und Preisgestaltung konnte jedoch aufgrund des Fehlens eines Tools, das diese Kopplung überhaupt erfassen kann - d.h. die Fähigkeit, bei niedrigerem Preis mehr zu kaufen, um mehr Nachfrage zu generieren (und umgekehrt) - nicht erreicht werden. DP bietet die Ausdruckskraft, um diese Herausforderung anzugehen.
Fertigung
Die numerische Optimierung von umfangreichen Mehrebenen-Netzwerken scheitert, wenn sie mit herkömmlichen numerischen Solvern versucht wird (siehe “Beyond branch-and-cut optimization” unten). Tatsächlich werden diese Solver bei der Bearbeitung von Millionen von Variablen oder stochastischem Verhalten weitgehend unpraktisch. Leider weist die Fertigung sowohl viele Variablen als auch stochastisches Verhalten auf. DP bietet einen praktischen Ansatz, um mit Mehrebenen-Netzwerken umzugehen, ohne die Komplexität der tatsächlichen Flussmuster innerhalb des Netzwerks zu verraten.
MRO (Instandhaltung, Reparatur, Überholung)
Wenn ein Teil, der für die Reparatur eines Systems benötigt wird, fehlt, bleibt das gesamte System - das möglicherweise ein Flugzeug ist - stehen. Wahrscheinlichkeitsprognosen sind der erste Schritt, um mit solchen unregelmäßigen und intermittierenden Nachfragemustern umzugehen, aber die Feinheiten der gleichzeitigen Vorkommen der benötigten Teile herauszufinden und diese Analyse in handlungsorientierte Bestandsempfehlungen umzusetzen, war zu komplex, um praktisch nutzbar zu sein. DP vereinfacht die Lösung solcher Probleme.
Einzelhandelsnetzwerke
Kannibalisierungen innerhalb von Einzelhandelsnetzwerken - normalerweise zwischen Produkten, manchmal aber auch zwischen Filialen - wurden schon lange als von größter Bedeutung erkannt. Dieses Problem wird durch Werbeaktionen verstärkt, die genau darauf abzielen, Kunden von einer Marke zur anderen zu lenken. DP bietet die Möglichkeit, Kannibalisierung in Anwesenheit von Werbeaktionen anzugehen. Anstatt nur “Werbeaktionen vorherzusagen”, bietet DP die Möglichkeit, Werbeaktionen für das zu optimieren, was sie sind: profitablere Deals, die sowohl vom Vertriebskanal als auch von der Marke gemeinsam betrieben werden.
Jenseits des Hypes um Künstliche Intelligenz
Künstliche Intelligenz (KI) war sicherlich das Technik-Buzzword des Jahres 2018 und der Hype hält auch 2019 noch an. Während Lokad Techniken verwendet, die normalerweise als KI-Buzzword qualifizieren - z.B. Deep Learning - haben wir uns dagegen gesträubt, den Schwerpunkt auf den “KI”-Teil von Lokads Technologie zu legen. Tatsächlich funktioniert verpackte KI einfach nicht, wenn es um die quantitative Optimierung der Supply Chain geht. Supply Chains sind nichts wie zum Beispiel Computer Vision: Daten, Metriken und Aufgaben sind alle extrem heterogen. Unternehmen, die vermeintlich “fertige” KI-Lösungen gekauft haben, erkennen langsam, dass diese Lösungen einfach nicht funktionieren werden, außer vielleicht in den einfachsten Situationen, in denen auch “dumme” regelbasierte Systeme gut funktioniert hätten. Supply Chains sind im Kern komplexe, von Menschen geschaffene Systeme, und es ist in der Regel unrealistisch zu erwarten, dass das KI-System - basierend nur auf Daten - grundlegende Erkenntnisse über die Domäne wie z.B.:
- Werbeaktionen für eine Luxusmarke sind ein absolutes No-Go.
- Negative Aufträge im ERP sind tatsächlich Produktretouren.
- Frischeprodukte müssen innerhalb bestimmter Temperaturbereiche transportiert werden.
- Varianten in Farben können gute Kleidungsalternativen sein, aber nicht Varianten in Größen.
- Die Wartung von Flugzeugen wird durch Flugstunden und Flugzyklen bestimmt.
- 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.
- Das Fehlen eines NOGO-Teils an einem Flugzeug führt dazu, dass das Flugzeug am Boden bleibt.
- Viele chemische Anlagen benötigen Wochen, um nach dem Abschalten wieder hochgefahren zu werden.

In dieser Hinsicht war Deep Learning äußerst erfolgreich, denn im Gegensatz zu vielen früheren Ansätzen im maschinellen Lernen ist Deep Learning zutiefst kompositorisch: 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 - die typischerweise die einzige Option für die meisten nicht-deepen maschinellen Lernalgorithmen wie Random Forests war.
Allerdings wurden Deep Learning-Frameworks aus den “großen Problemen” des maschinellen Lernens entwickelt, nämlich Computer Vision, Spracherkennung, Sprachsynthese, automatische Übersetzung. Diese Frameworks wurden tiefgreifend für Szenarien entwickelt und optimiert, die absolut nichts mit den Problemen in Lieferketten zu tun haben. Daher war es keine einfache oder leichte Aufgabe, diese Frameworks für die Optimierung von Lieferkettenzwecken zu nutzen. Zusammenfassend lässt sich sagen, dass mit Deep Learning-Frameworks viel für Lieferketten erreicht werden kann, aber die Impedanzanpassung zwischen Lieferketten und bestehenden Deep Learning-Frameworks ist stark und erhöht die Kosten, Verzögerungen und begrenzt die praktische Anwendbarkeit dieser Technologien.
Über die Branch-and-Cut-Optimierung hinaus
Die meisten Probleme in Lieferketten haben sowohl einen Lernaspekt - verursacht durch unvollständiges Wissen über die Zukunft, unvollständiges Wissen über den aktuellen Stand des Marktes und manchmal sogar unvollständiges Wissen über das Lieferketten-System 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).
Im Bereich der numerischen Optimierung dominierten Integer-Programmierung und ihre verwandten Techniken wie Branch-and-Cut jahrzehntelang das Feld. Diese Branch-and-Cut-Algorithmen und ihre zugehörigen Softwarelösungen konnten jedoch meist nicht die Flexibilität und Skalierbarkeit bieten, die erforderlich sind, um operative Lösungen für viele, wenn nicht die meisten, Herausforderungen in Lieferketten bereitzustellen. Integer-Programmierung 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. Ausgleich von Beständen zwischen 10 Millionen SKU bei gleichzeitig probabilistischer Nachfrage und probabilistischen Transportzeiten).
Einer der am meisten unterschätzten Aspekte des Deep Learning ist, dass sein Erfolg sowohl auf Durchbrüchen auf der Lernseite als auch auf Durchbrüchen auf der Optimierungsseite beruht. Die wissenschaftliche Gemeinschaft hat herausgefunden, dass enorm effiziente Algorithmen große Optimierungen durchführen. Diese “Deep Learning”-Optimierungsalgorithmen, die alle auf dem stochastischen Gradientenabstieg basieren, sind nicht nur wesentlich effizienter als ihre Branch-and-Cut-Gegenstücke, sondern passen auch viel besser zur von uns verwendeten Hardware, nämlich SIMD-CPU und (GP)GPU, was in der Praxis eine zwei- oder dreifache Geschwindigkeitssteigerung ermöglicht. Diese Durchbrüche in der reinen numerischen Optimierung sind für Lieferketten von hoher Relevanz, um Entscheidungen zu optimieren. Wenn die Deep Learning-Frameworks bereits etwas ungeeignet waren, um Lernprobleme in Lieferketten anzugehen, sind sie noch weniger geeignet, um Optimierungsprobleme in Lieferketten anzugehen. Tatsächlich hängen diese Optimierungsprobleme noch stärker von der Ausdrucksfähigkeit des Frameworks ab, um den Supply Chain-Wissenschaftlern die Implementierung der jeweiligen Einschränkungen und Metriken zu ermöglichen, die durchgesetzt und optimiert werden sollen.
Auf dem Weg zur differenzierbaren Programmierung
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)
Die differenzierbare Programmierung (DP) ist die Antwort, um Lieferketten 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-Wissenschaftler das Beste aus ihren menschlichen Erkenntnissen machen, um numerische Rezepte zu erstellen, die in der Tiefe mit den Geschäftszielen übereinstimmen. Es gibt keine absolute Abgrenzung zwischen Deep Learning und differenzierbarer Programmierung: Es handelt sich eher um ein Kontinuum von den skalierbarsten Systemen (Deep Learning) zu den ausdrucksstärksten Systemen (differenzierbare Programmierung) mit vielen Programmierkonstrukten, die allmählich verfügbar werden - auf Kosten der Rohskalierbarkeit - wenn man sich der differenzierbaren Programmierung nähert. Unsere Erfahrung bei Lokad zeigt jedoch, dass der Übergang von Tools, die hauptsächlich für die Bildverarbeitung entwickelt wurden, zu Tools, die für Herausforderungen in Lieferketten entwickelt wurden, genau den Unterschied zwischen einem “interessanten” Prototypen, der es nie in die Produktion schafft, und einem industrietauglichen System ausmacht, das im großen Maßstab eingesetzt wird.
Deep Learning | Differenzierbare Programmierung | |
---|---|---|
Primärer Zweck | Lernen | Lernen+Optimierung |
Typische Verwendung | Einmal lernen, mehrmals auswerten | Einmal lernen, einmal auswerten |
Eingabe-Granularität | Fette Objekte (Bilder, Sprachsequenzen, Lidar-Scans, vollständige Textseiten) | Dünne Objekte (Produkte, Kunden, SKUs, Preise) |
Eingabe-Vielfalt | Homogene Objekte (z.B. Bilder mit demselben Höhen-/Breitenverhältnis) | Heterogene Objekte (relationale Tabellen, Graphen, Zeitreihen) |
Eingabe-Volumen | Von Megabytes bis Petabytes | Von Kilobytes bis zu zehn Gigabytes |
Hardware-Beschleunigung | Hardware-Beschleunigung | Gut |
Ausdrucksfähigkeit | Statische Graphen von Tensoroperationen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Integriert | Ebenfalls integriert |
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 hinweg zu trainieren. Später muss das resultierende Rechennetzwerk in der Regel in Echtzeit ausgewertet werden (z. B. Mustererkennung für autonomes Fahren). Dieser Aspekt 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 Erwartungen an die Dateninputs in Bezug auf Granularität, Vielfalt und Volumen ebenfalls stark unterschiedlich. Typischerweise legt die Perspektive von “Big AI” den Schwerpunkt auf 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 führt Deep Learning zu tensorbasierten Frameworks, die durch dedizierte Hardware für die Berechnung massiv beschleunigt werden können, zunächst GPUs und jetzt zunehmend TPUs. Differenzierbare Programmierung, die auf stochastischem Gradientenabstieg basiert, weist ebenfalls viele gute Eigenschaften für die Hardwarebeschleunigung auf, wenn auch 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 einer Modellierungsperspektive eine wichtige Rolle, um probabilistische Verhaltensweisen innerhalb der Supply-Chain-Systeme angemessen zu berücksichtigen (z. B. variable Vorlaufzeiten). Umgekehrt besteht eine große Kluft zwischen differenzierbarer Programmierung und gemischt-ganzzahliger Programmierung - der vorherrschende Ansatz in den letzten Jahrzehnten bestand darin, komplexe numerische Optimierungen durchzuführen.
Gemischt-ganzzahlige Programmierung | Differenzierbare Programmierung | |
---|---|---|
Primärer Zweck | Optimierung | Lernen+Optimierung |
Eingabe-Granularität und -Vielfalt | Dünne Objekte, heterogen | Ebenfalls integriert |
Eingabe-Volumen | Von Bytes bis zu zehn Megabytes | Von Kilobytes bis zu zehn Gigabytes |
Hardware-Beschleunigung | Schlecht | Gut |
Ausdrucksfähigkeit | Ungleichungen über lineare und quadratische Formen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Keine | Integriert |
In Verteidigung der gemischt-ganzzahligen Programmierungstools können diese Tools - wenn sie erfolgreich ein Problem lösen - manchmal beweisen - im mathematischen Sinne -, dass sie die optimale Lösung gefunden haben. Weder Deep Learning noch differenzierbare Programmierung liefern in dieser Hinsicht einen formalen Beweis.
Schlussfolgerungen
Differenzierbare Programmierung 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 so umgestaltet, dass es für die realen Herausforderungen geeignet ist, mit denen reale Supply Chains konfrontiert sind. Lokad hat auf seiner Deep Learning-Prognosetechnologie aufgebaut, um den Übergang zur differenzierbaren Programmierung zu vollziehen, die die nächste Generation unserer Vorhersagetechnologie darstellt. DP ist jedoch mehr als nur vorhersagend, es vereint Optimierung und Lernen und ermöglicht Lösungen für eine Vielzahl von Problemen, für die zuvor keine praktikablen Lösungen existierten.