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 geblieben sind, und sie gemeinsam zu lösen: Sortiment, Preisgestaltung, Prognose, Planung, Merchandising. Obwohl eine solche Vereinheitlichung unrealistisch ehrgeizig erscheinen mag, wenden Unternehmen bereits eine wahnsinnige Menge an Klebeband auf ihre eigenen Prozesse an, um mit den endlosen Problemen fertig zu werden, die durch die Tatsache entstanden sind, dass diese Herausforderungen in erster Linie innerhalb der Organisation in Silos aufgeteilt wurden. Zum Beispiel beeinflusst die Preisgestaltung offensichtlich die Nachfrage, und dennoch werden sowohl die Planung als auch die Prognose fast immer durchgeführt, ohne die Preise überhaupt zu berücksichtigen.
DP bietet die enorme Chance, 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 Geschäfts genau das, worum es bei den meisten organisationsgetriebenen Tabellenkalkulationen geht; und mangels einer Technologie - wie DP - die in der Lage ist, eine ganzheitliche Geschäftsperspektive zu umarmen, bleiben Tabellenkalkulationen die am wenigsten schreckliche Option.
E-Commerce
Die Möglichkeit, 100% der verkauften Einheiten an bekannte Kunden anzuhängen, stellt eine enorme latente Menge an Informationen über den Markt dar. Wenn es jedoch um die Optimierung von Preisen und Beständen geht, wird die Loyalitätsinformation heutzutage in der Regel nicht einmal verwendet. DP bietet die Möglichkeit, von der Zeitreihenprognose zur Prognose von zeitlichen Graphen zu wechseln, bei der jedes einzelne Client-Produkt-Paar, das jemals beobachtet wurde, von Bedeutung ist. Dies führt zu intelligenteren Entscheidungen sowohl für Lagerbestände als auch für Preise.
Luxusmarken
Die Optimierung von Preisen und Sortimenten - bis hin zur Filialebene - galt lange Zeit als weitgehend unlösbar aufgrund der Sparsamkeit der Daten, d. H. des sehr geringen Verkaufsvolumens pro Artikel pro Geschäft - so niedrig wie ein verkauftes Produkt pro Geschäft pro Jahr. DP bietet Ansätze, um Lösungen zu liefern, die auf solch ultrasparsamen Daten arbeiten, da sie darauf ausgelegt sind, eine viel höhere Dateneffizienz als reguläre Deep-Learning-Methoden zu liefern.
Mode-Marken
Die gemeinsame Optimierung von Beständen und Preisen ist eine klare Anforderung - da die Nachfrage nach vielen Artikeln sehr preissensibel sein kann -, aber 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, nicht erreicht werden - d. H. die Fähigkeit, mehr zu einem niedrigeren Preis zu kaufen, erzeugt mehr Nachfrage (und umgekehrt). DP bietet die Ausdrucksfähigkeit, um diese Herausforderung anzugehen.
Herstellung
Die numerische Optimierung von umfangreichen Multi-Echelon-Netzwerken bricht zusammen, wenn sie mit klassischen numerischen Solvern versucht wird (siehe “Beyond branch-and-cut optimization” unten). Tatsächlich werden diese Solver bei der Bewältigung von Millionen von Variablen oder stochastischen Verhaltensweisen weitgehend unpraktisch. Leider zeigt die Herstellung sowohl bei vielen Variablen als auch bei stochastischen Verhaltensweisen. DP bietet einen praktischen Ansatz, um Multi-Echelon ohne Verrat an der Komplexität der tatsächlichen Flussmuster innerhalb des Netzwerks zu bewältigen.
MRO (Wartung, 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 - unten. Probabilistische Prognosen sind der erste Schritt, um mit solchen erratischen und intermittierenden Nachfragemustern umzugehen, aber die Feinheiten der gleichzeitigen Vorkommnisse der erforderlichen Teile herauszufinden und diese Analyse in handlungsfähige Bestandsempfehlungen umzusetzen, war zu komplex, um praktisch zu sein. DP rationalisiert die Lösungen solcher Probleme.
Einzelhandelsnetzwerke
Kannibalisierungen innerhalb von Einzelhandelsnetzwerken - in der Regel zwischen Produkten, aber manchmal zwischen Geschäften - wurden schon lange als von vorrangiger Bedeutung erkannt. Dieses Problem wird durch Promotionen verstärkt, die genau dazu gedacht sind, Kunden von einer Marke zur anderen zu lenken. DP bietet die Möglichkeit, Kannibalisierung in Anwesenheit von Promotionen anzugehen. Anstatt nur “Promotionsprognosen” zu machen, bietet DP die Möglichkeit, Promotionen für das zu optimieren, was sie sind: profitable Deals, die gemeinsam von Vertriebskanal und Marke betrieben werden.
Jenseits des Hypes um künstliche Intelligenz
Künstliche Intelligenz (KI) war sicherlich das Tech-Buzzword von 2018 und das Summen ist auch 2019 noch stark. Während Lokad Techniken verwendet, die normalerweise für das KI-Buzzword qualifizieren - z. B. Deep Learning -, haben wir uns zögerlich auf den “KI” -Teil von Lokads Technologie konzentriert. Tatsächlich funktioniert verpackte KI einfach nicht, wenn es um die quantitative Optimierung der Lieferkette geht. Lieferketten sind nichts wie zum Beispiel Computer Vision: Daten, Metriken und Aufgaben sind alle extrem heterogen. Als Ergebnis erkennen Unternehmen, die angeblich “fertige” KI-Lösungen gekauft haben, dass diese Lösungen einfach niemals funktionieren werden, außer vielleicht in den einfachsten Situationen, in denen “dumme” regelbasierte Systeme auch gut funktioniert hätten. Im Kern sind Lieferketten komplexe, von Menschen geschaffene Systeme, und es ist in der Regel unvernünftig zu erwarten, dass das KI-System - basierend auf Daten allein - grundlegende Erkenntnisse über die Domäne wie z. B. selbst wiederentdeckt:
- Werbung für eine Luxusmarke ist ein großes Nein-Nein.
- Negative Verkaufsaufträge im ERP sind tatsächlich Produktretouren.
- Frische Lebensmittelprodukte müssen innerhalb bestimmter Temperaturbereiche transportiert werden.
- Varianten in Farben können gute Kleidungsersatzstoffe sein, aber nicht Varianten in Größen.
- Die Wartung von Flugzeugen wird durch Flugstunden und Flugzyklen angetrieben.
- Der Verkauf im Vereinigten Königreich erfolgt 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, Klarheit, 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 gestartet zu werden.

In dieser Hinsicht war Deep Learning enorm erfolgreich, weil es im Gegensatz zu vielen früheren Ansätzen im maschinellen Lernen zutiefst kompositorisch ist: Es ist möglich, die Modellstruktur umfassend an die bessere Lernsituation anzupassen. Die Anpassung der Modellstruktur unterscheidet sich von der Anpassung der Modell-Eingabe - einer Aufgabe, die als Feature-Engineering bekannt ist -, die für die meisten nicht-tiefen maschinellen Lernalgorithmen wie Random Forests typischerweise die einzige verfügbare Option 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 für Szenarien entwickelt und abgestimmt, die buchstäblich nichts mit den Problemen zu tun haben, mit denen Lieferketten konfrontiert sind. Es ist also möglich, diese Frameworks für die Optimierung von Lieferketten zu nutzen, aber es war kein einfaches oder leichtgewichtiges Unterfangen. Zusammenfassend lässt sich sagen, dass mit Deep-Learning-Frameworks viel für Lieferketten erreicht werden kann, aber die Impedanzanpassung zwischen Lieferketten und vorhandenen Deep-Learning-Frameworks ist stark und erhöht die Kosten, Verzögerungen und beschränkt die praktische Anwendbarkeit dieser Technologien.
Jenseits der Branch-and-Cut-Optimierung
Die meisten Probleme in Lieferketten haben sowohl einen Lernwinkel - verursacht durch eine unvollständige Kenntnis der Zukunft, eine unvollständige Kenntnis des gegenwärtigen Zustands des Marktes und manchmal sogar eine unvollständige Kenntnis des Lieferketten-Systems selbst (z.B. Bestandsungenauigkeiten) - als auch einen numerischen Optimierungswinkel. Entscheidungen müssen gegen wirtschaftliche Treiber optimiert werden, während viele nichtlineare Einschränkungen erfüllt werden müssen (z.B. MOQs beim Einkauf oder Chargengrößen bei der Produktion).
Auf der numerischen Optimierungsseite haben Ganzzahlprogrammierung und ihre verwandten Techniken wie Branch-and-Cut das Feld seit Jahrzehnten dominiert. Diese Branch-and-Cut-Algorithmen und ihre zugehörigen Softwarelösungen konnten jedoch meist nicht die Flexibilität und Skalierbarkeit liefern, die erforderlich sind, um operative Lösungen für viele, wenn nicht die meisten, Herausforderungen in der Lieferkette bereitzustellen. Ganzzahlprogrammierung ist ein fantastisch leistungsfähiges Werkzeug, wenn es darum geht, enge Probleme mit wenigen Variablen zu lösen (z.B. Komponentenplatzierung innerhalb eines Verbraucherelektronikgeräts), zeigt jedoch drastische Einschränkungen, wenn es um groß angelegte Probleme geht, bei denen Zufälligkeit im Spiel ist (z.B. Ausgleich von Beständen zwischen 10 Millionen SKUs bei gleichzeitig probabilistischer Nachfrage und probabilistischen Transportzeiten).
Einer der am meisten unterschätzten Aspekte des Deep Learning ist, dass sein Erfolg ebenso sehr das Ergebnis von Durchbrüchen auf der Lernseite wie auf der Optimierungsseite ist. Es liegt daran, dass die wissenschaftliche Gemeinschaft enorm effiziente Algorithmen entdeckt hat, die groß angelegte Optimierungen durchführen. Diese “Deep Learning” -Optimierungsalgorithmen - alle um den stochastischen Gradientenabstieg herum - sind nicht nur wesentlich effizienter als ihre Branch-and-Cut-Pendants, sondern auch wesentlich besser geeignet für die von uns verwendete Computerhardware, nämlich SIMD-CPU und (GP) GPU, was in der Praxis zwei oder drei Größenordnungen zusätzlicher Geschwindigkeitssteigerung ergibt. Diese Durchbrüche in der reinen numerischen Optimierung sind von hoher Relevanz für Lieferketten, um Entscheidungen zu optimieren. Wenn die Deep-Learning-Frameworks jedoch bereits etwas ungeeignet waren, um Lernprobleme in Lieferketten anzugehen, sind sie noch weniger geeignet, um Optimierungsprobleme in Lieferketten anzugehen. Tatsächlich sind diese Optimierungsprobleme noch stärker von der Ausdrucksfähigkeit des Frameworks abhängig, um den Supply-Chain-Wissenschaftlern die Implementierung der Einschränkungen und Metriken zu ermöglichen, die jeweils 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 auf der Lern- und 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 auf die Geschäftsziele abgestimmt sind. 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 auf die differenzierbare Programmierung zubewegt. Unsere Erfahrung bei Lokad zeigt jedoch, dass der Übergang von Tools, die hauptsächlich für die Computer Vision entwickelt wurden, zu Tools, die für Herausforderungen in der Lieferkette entwickelt wurden, genau den Unterschied zwischen einem “interessanten” Prototypen ausmacht, der es nie in die Produktion schafft, und einem industrietauglichen System, das im großen Maßstab eingesetzt wird.
Deep Learning | Differenzierbare Programmierung | |
---|---|---|
Primärer Zweck | Lernen | Lernen + Optimierung |
Typische Verwendung | Einmal lernen, viele evaluieren | Einmal lernen, einmal evaluieren |
Eingabekörnung | Fette Objekte (Bilder, Sprachsequenzen, Lidar-Scans, vollständige Textseiten) | Dünne 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 Megabyte bis Petabyte | Von Kilobyte bis zu zehn Gigabyte |
Hardwarebeschleunigung | Hardwarebeschleunigung | Gut |
Ausdrucksfähigkeit | Statische Graphen von Tensoroperationen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Eingebaut | 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 für Wochen, wenn nicht Monate, zu trainieren. Später muss das resultierende Rechennetzwerk in Echtzeit ausgewertet werden (z.B. Mustererkennung für autonomes Fahren). Dieser Blickwinkel 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 Körnung, Variabilität und Volumen ebenfalls sehr 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 an hochstrukturierten, aber vielfältigen Daten angegangen werden. Dies lenkt Deep Learning in Richtung tensorbasierter Frameworks, die durch dedizierte Rechenhardware massiv beschleunigt werden können, zunächst GPUs und jetzt zunehmend TPUs. Die differenzierbare Programmierung, die auf stochastischem Gradientenabstieg basiert, weist auch 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. Variationsautoencoder oder Ausfälle 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 (z.B. variierende Vorlaufzeiten) ordnungsgemäß zu faktorisieren. Umgekehrt besteht eine große Lücke zwischen differenzierbarer Programmierung und gemischt-ganzzahliger Programmierung - der dominante Ansatz in den letzten Jahrzehnten bestand darin, komplexe numerische Optimierungen durchzuführen.
Gemischt-ganzzahlige Programmierung | Differenzierbare Programmierung | |
---|---|---|
Primärer Zweck | Optimierung | Lernen + Optimierung |
Eingabekörnung und -variabilität | Dünne Objekte, heterogen | Idem |
Eingabevolumen | Von Byte bis zu zehn Megabyte | Von Kilobyte bis zu zehn Gigabyte |
Hardwarebeschleunigung | Schlecht | Gut |
Ausdrucksfähigkeit | Ungleichungen über lineare und quadratische Formen | (Fast) beliebige Programme |
Stochastische numerische Rezepte | Keine | Eingebaut |
In Verteidigung der gemischt-ganzzahligen Programmierungstools können diese Tools - wenn sie ein Problem erfolgreich angehen - manchmal beweisen - im mathematischen Sinne -, dass sie die optimale Lösung erhalten haben. Weder Deep Learning noch differenzierbare Programmierung bieten in dieser Hinsicht einen formellen Beweis.
Schlussfolgerungen
Die differenzierbare Programmierung ist ein großer Durchbruch für Lieferketten. Es basiert auf Deep Learning, das sich bei der Lösung vieler “Big AI” -Probleme wie Computer Vision als äußerst erfolgreich erwiesen hat, wurde jedoch im Kern so umgestaltet, dass es für die realen Herausforderungen geeignet ist, mit denen reale Lieferketten 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 entsperrt Lösungen für eine Vielzahl von Problemen, für die zuvor keine tragfähigen Lösungen vorhanden waren.