Differentiable Programming

power-clouds
Differentiable Programming ist der Abkömmling des Deep Learning und repräsentiert die Zusammenführung zweier algorithmischer Bereiche: maschinelles Lernen und numerische Optimierung. Differentiable Programming eröffnet eine Reihe von Supply-Chain-Szenarien, die bisher als weitgehend unlösbar galten: gemeinsame Optimierung von Preisen und Beständen, assortimentsbasierte Optimierung aufgrund von Kundenloyalität, Prognose der Nachfrage nach nicht standardmäßigen Produkten (z. B. Edelsteine, Kunstwerke), Optimierung des Flusses in mehreren Ebenen im großen Maßstab, gemeinsame Optimierung in vielen Kanälen, Bestandsoptimierung bei teilweise falschen elektronischen Bestandswerten, Maximierung des Flusses im großen Maßstab unter vielen Einschränkungen usw. Für viele andere Szenarien, die bereits mit alternativen Methoden angegangen werden konnten, liefert Differentiable Programming überlegene numerische Ergebnisse mit nur einem Bruchteil des Overheads, sowohl in Bezug auf den Aufwand der Datenwissenschaftler als auch auf die Rechenressourcen.

Anwendung auf Supply Chains

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 aufbringen, um mit den endlosen Problemen umzugehen, die dadurch entstehen, dass diese Herausforderungen in erster Linie innerhalb der Organisation isoliert 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 Organisationen geht. Und aufgrund des Mangels an 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 Informationen über den Markt dar. Bei der Preisgestaltung und der Optimierung des Lagerbestands wird die Loyalitätsinformation jedoch heutzutage in der Regel nicht einmal verwendet. DP bietet die Möglichkeit, von der Zeitreihenprognose zur Prognose von zeitlichen Graphen überzugehen, bei der jede einzelne Kunden-Produkt-Kombination, die jemals beobachtet wurde, wichtig ist. Dies führt zu intelligenteren Entscheidungen sowohl für den Lagerbestand 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 Geschäft - so wenig wie eine verkaufte Einheit pro Produkt pro Geschäft pro Jahr. DP bietet Ansätze, um Lösungen zu liefern, die auf solch extrem spärlichen Daten arbeiten, 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 stark preissensibel sein kann. Die gemeinsame Optimierung von Einkauf und Preisgestaltung konnte jedoch aufgrund des Mangels an einem Werkzeug, das diese Kopplung überhaupt erfassen kann - d.h. der 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 Mehr-Ebenen-Netzwerken scheitert, wenn sie mit klassischen 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 Mehr-Ebenen-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. Probabilistische Prognosen 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 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, manchmal aber auch zwischen Geschäften - wurden schon lange als von vorrangiger 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-Schlagwort des Jahres 2018 und der Hype hält auch 2019 noch an. Obwohl Lokad Techniken verwendet, die normalerweise als KI bezeichnet werden können - z.B. Deep Learning - haben wir uns dagegen entschieden, den Schwerpunkt auf den “KI”-Teil von Lokads Technologie zu legen. Tatsächlich funktioniert verpackte KI einfach nicht für die quantitative Optimierung von Lieferketten. Lieferketten 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. Lieferketten 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 das Fachgebiet von selbst wiederentdeckt, wie zum Beispiel:

  • Werbeaktionen für eine Luxusmarke sind ein absolutes No-Go.
  • Negative Verkaufsaufträge im ERP sind tatsächlich Produktretouren.
  • Frischeprodukte müssen innerhalb bestimmter Temperaturbereiche transportiert werden.
  • Varianten in Farben können gute Kleidungsersatzteile sein, aber nicht Varianten in Größen.
  • Die Wartung von Flugzeugen wird durch Flugstunden und Flugzyklen gesteuert.
  • Die Verkäufe in Großbritannien 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 in 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.
power-clouds In einer fernen Zukunft könnte es eine Zeit geben, in der maschinelles Lernen erfolgreich die menschliche Intelligenz emuliert und Ergebnisse bei der Bewältigung von komplexen Problemen erzielt. Bisher wurden jedoch nur Ergebnisse bei relativ engen Problemen erzielt. Die Technologien des maschinellen Lernens verschieben jedes Jahr die Grenzen dessen, was ein "enges" Problem darstellt, und nach Jahrzehnten von Bemühungen sind wichtige Probleme wie sicheres autonomes Fahren und anständige automatisierte Übersetzungen gelöst oder kurz davor, gelöst zu werden. Dennoch bleiben Lieferketten, wie oben dargestellt, für eine direkte Anwendung von verpackten maschinellen Lernalgorithmen verzweifelt zu heterogen. Auch wenn Deep Learning bisher die stärksten Verallgemeinerungsfähigkeiten bietet, ist es immer noch erforderlich, dass ein Supply Chain Scientist die Herausforderung so einengt, dass die Algorithmen überhaupt funktionieren können.

In dieser Hinsicht war Deep Learning außerordentlich erfolgreich, weil es im Gegensatz zu vielen früheren Ansätzen im maschinellen Lernen tiefgreifend kompositionell 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 wurden Deep Learning-Frameworks aus den “großen Problemen” des maschinellen Lernens entwickelt, nämlich Computer Vision, Spracherkennung, Sprachsynthese, automatische Übersetzung. Diese Frameworks wurden für Szenarien entwickelt und optimiert, die absolut nichts mit den Problemen in Lieferketten zu tun haben. Daher ist es zwar möglich, diese Frameworks für die Optimierung von Lieferketten zu nutzen, aber es war keine einfache oder leichte Aufgabe. 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.

Jenseits der Branch-and-Cut-Optimierung

Die meisten Probleme in Lieferketten haben sowohl einen Lernaspekt - verursacht durch unvollständiges Wissen über die Zukunft, unvollständiges Wissen über den aktuellen Zustand 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 gleichzeitig 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 dominieren seit Jahrzehnten ganzzahlige Programmierung und damit verbundene 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 sind, um operative Lösungen für viele, wenn nicht die meisten, Herausforderungen in Lieferketten bereitzustellen. Ganzzahlige 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, wenn es um Probleme im großen Maßstab geht, bei denen Zufälligkeit eine Rolle spielt (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 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 können. Diese “Deep Learning”-Optimierungsalgorithmen, die alle auf dem stochastischen Gradientenabstieg basieren, sind nicht nur wesentlich effizienter als ihre Branch-and-Cut-Pendants, sondern sie passen auch viel besser zur von uns verwendeten Hardware, nämlich SIMD-CPU und (GP)GPU, was in der Praxis eine zwei- bis 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 jedoch bereits für Lernprobleme in Lieferketten nur bedingt geeignet waren, sind sie noch weniger geeignet, um die Optimierungsprobleme in Lieferketten anzugehen. Diese Optimierungsprobleme sind noch stärker von der Ausdrucksfähigkeit des Frameworks abhängig, um den Supply Chain Scientists die Implementierung der jeweiligen Einschränkungen und Metriken zu ermöglichen, die jeweils durchgesetzt und optimiert werden sollen.

Auf dem Weg zur 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 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 Scientists das Beste aus ihren menschlichen Erkenntnissen 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 Rohskalierbarkeit - wenn man sich dem Differentiable Programming zuwendet. 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 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 Differentiable Programming
Primärer Zweck Lernen Lernen+Optimierung
Typische Verwendung Einmal lernen, viele Male auswerten Einmal lernen, einmal auswerten
Eingabe-Granularität Große Objekte (Bilder, Sprachsequenzen, Lidar-Scans, vollständige Textseiten) Kleine Objekte (Produkte, Kunden, SKUs, Preise)
Eingabe-Vielfalt Homogene Objekte (z.B. Bilder mit demselben Höhe/Breite-Verhältnis) Heterogene Objekte (relationale Tabellen, Graphen, Zeitreihen)
Eingabe-Volumen Von Megabytes bis Petabytes Von Kilobytes bis zu zehn Gigabytes
Hardware-Beschleunigung Hardware-Beschleunigung Gut
Ausdrucksstärke Statische Graphen von Tensor-Operationen (Fast) beliebige Programme
Stochastische numerische Rezepte Integriert Dito

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 Rechenwerkwerk für Wochen oder sogar Monate zu trainieren. Später muss das resultierende Rechenwerkwerk 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 trainierten Parameter aus Sicht der DP häufig die Ergebnisse, die wir erzielen möchten, sodass die gesamte Echtzeitauswertungsbeschränkung bedeutungslos wird. Die Erwartungen an die Dateninputs in Bezug auf Granularität, Vielfalt und Volumen sind 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. Differentiable Programming, das auf stochastischem Gradientenabstieg basiert, weist ebenfalls viele gute Eigenschaften für die Hardware-Beschleunigung auf, jedoch in geringerem Maße im Vergleich zu statischen Graphen von Tensor-Operationen. 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 (z.B. variierende Vorlaufzeiten) angemessen zu berücksichtigen. Umgekehrt besteht eine große Lücke zwischen Differentiable Programming und Mixed Integer Programming - der dominante Ansatz in den letzten Jahrzehnten bestand darin, komplexe numerische Optimierungen durchzuführen.

Mixed Integer Programming Differentiable Programming
Primärer Zweck Optimierung Lernen+Optimierung
Eingabe-Granularität und -Vielfalt Kleine Objekte, heterogen Dito
Eingabe-Volumen Von Bytes bis zu zehn Megabytes Von Kilobytes bis zu zehn Gigabytes
Hardware-Beschleunigung Schlecht Gut
Ausdrucksstärke Ungleichungen über lineare und quadratische Formen (Fast) beliebige Programme
Stochastische numerische Rezepte Keine Integriert

In Verteidigung der Mixed Integer Programming-Tools 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 Differentiable Programming liefern 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 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 Differentiable Programming 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.