Previsione tramite Deep Learning (2018)

Come parte del nostro impegno principale per fornire le previsioni più accurate che la tecnologia possa produrre, siamo orgogliosi di annunciare che la nostra quinta generazione di motore di previsione è ora attiva su Lokad. Questo motore sta portando il più grande miglioramento di precisione che siamo mai riusciti a raggiungere in un singolo rilascio.

Dalla previsione probabilistica al deep learning

power-clouds
Il design del motore si basa su un tipo di machine learning relativamente recente chiamato deep learning. Per le supply chain, grandi miglioramenti di precisione delle previsioni possono tradursi in ritorni altrettanto grandi, servendo più clienti, servendoli più velocemente, affrontando meno rischi di inventario. Circa 18 mesi fa, stavamo annunciando la quarta generazione della nostra tecnologia di previsione. La quarta generazione è stata la prima a fornire vere previsioni probabilistiche. Le previsioni probabilistiche sono essenziali nelle supply chain perché i costi sono concentrati sugli estremi statistici, quando la domanda si rivela inaspettatamente alta o bassa. Al contrario, i metodi di previsione tradizionali - come le previsioni giornaliere, settimanali o mensili tradizionali - che si concentrano solo sulla fornitura di previsioni medie o medie, sono ciechi al problema. Di conseguenza, quei metodi di solito non riescono a fornire ritorni soddisfacenti per le aziende. La quinta generazione non nega le sue origini; abbraccia anche le previsioni probabilistiche e si basa sull’esperienza acquisita con la generazione precedente.

In parte per caso, si scopre che il deep learning è pesantemente orientato verso le previsioni probabilistiche per design. La motivazione per questa prospettiva era, tuttavia, completamente non correlata alle preoccupazioni della supply chain. Gli algoritmi di deep learning favoriscono l’ottimizzazione costruita su una prospettiva probabilistica / bayesiana con metriche come l’entropia incrociata perché queste metriche forniscono enormi valori di gradiente che sono particolarmente adatti per la discesa del gradiente stocastico, l’algoritmo “uno” che rende possibile il deep learning.

Nel caso specifico delle supply chain, accade che le fondamenta del deep learning siano completamente allineate con i requisiti effettivi del business!

Oltre l’hype dell’intelligenza artificiale

L’intelligenza artificiale - alimentata dal deep learning in pratica - è stata la parola alla moda dell’anno 2017. Le affermazioni sono audaci, entusiasmanti e, beh, sfocate. Dal punto di vista di Lokad, osserviamo che la maggior parte di queste tecnologie AI aziendali non sta soddisfacendo le aspettative. Molte poche aziende possono garantire oltre mezzo miliardo di dollari di finanziamento, come Instacart, per raccogliere un team di deep learning di classe mondiale al fine di affrontare con successo una sfida della supply chain.

Con questo rilascio, Lokad sta rendendo accessibile la tecnologia di previsione di grado AI a qualsiasi azienda ragionevolmente “digitalizzata”. Ovviamente, il tutto è ancora alimentato dai dati storici della supply chain, quindi i dati devono essere accessibili a Lokad, ma la nostra tecnologia non richiede alcuna competenza di deep learning. A differenza di praticamente tutte le tecnologie AI “enterprise”, Lokad non si basa sull’ingegneria manuale delle funzionalità. Per quanto riguarda i nostri clienti, l’aggiornamento dalle nostre precedenti previsioni probabilistiche al deep learning sarà senza soluzione di continuità. Lokad è la prima società di software a fornire una tecnologia di previsione di grado AI chiavi in mano, accessibile sia ai piccoli e-commerce a 1 uomo che alla più grande rete di supply chain che può includere migliaia di sedi e un milione di riferimenti di prodotto.

L’era del calcolo GPU

power-clouds
Il deep learning è rimasto in qualche modo di nicchia fino a quando la comunità non è riuscita a aggiornare il proprio blocco di costruzione del software per sfruttare le GPU (unità di elaborazione grafica). Queste GPU differiscono in gran parte dalle CPU (unità di elaborazione centrale), che ancora alimentano la maggior parte delle app al giorno d'oggi con le eccezioni notevoli dei giochi per computer, che si basano intensamente sia su CPU che su GPU. Insieme alla riscrittura completa del nostro motore di previsione per questa quinta iterazione, abbiamo anche significativamente migliorato l'infrastruttura a basso livello di Lokad. Infatti, per servire le aziende, la piattaforma Lokad ora sfrutta sia le GPU che le CPU. Lokad sta ora approfittando delle macchine alimentate da GPU che possono essere affittate su Microsoft Azure, la piattaforma di cloud computing che supporta Lokad. Attraverso la massiccia potenza di elaborazione delle GPU, non solo stiamo rendendo le nostre previsioni più accurate, ma le stiamo anche rendendo molto più veloci. Attraverso una griglia di GPU, otteniamo ora le previsioni circa 3x-6x più velocemente, per qualsiasi set di dati di dimensioni considerevoli (*).

(*) Per set di dati ultra-piccoli, il nostro motore di previsione di quinta generazione è effettivamente più lento e richiede qualche minuto in più - il che è in gran parte trascurabile nella pratica.

Lanci di prodotti e promozioni

Il nostro motore di previsione di quinta generazione sta apportando miglioramenti sostanziali alle situazioni di previsione difficili, in particolare i lanci di prodotti e le promozioni. Dal nostro punto di vista, i lanci di prodotti, sebbene molto difficili, rimangono un po’ più facili delle previsioni di promozione. La differenza nella difficoltà è determinata dalla qualità dei dati storici, che è inevitabilmente inferiore per le promozioni rispetto ai lanci di prodotti. I dati delle promozioni migliorano nel tempo una volta che sono in atto i processi di garanzia di qualità adeguati.

In particolare, vediamo il deep learning come una grande opportunità per i marchi di moda che stanno lottando con i lanci di prodotti che dominano le loro vendite: lanciare un nuovo prodotto non è l’eccezione, ma la regola. Poi, poiché le varianti di colore e dimensione gonfiano notevolmente il numero di SKU, la situazione diventa ancora più complessa.

Le nostre FAQ di previsione

Quali modelli di previsione stai utilizzando?

Il nostro motore di previsione di deep learning utilizza un singolo modello costruito sui principi del deep learning. A differenza dei modelli statistici classici, è un modello che presenta decine di milioni di parametri addestrabili, ovvero circa 1000 volte più parametri rispetto al nostro modello di machine learning non-deep più complesso. Il deep learning supera nettamente le vecchie tecniche di machine learning (foreste casuali, alberi gradienti potenziati). Tuttavia, vale la pena notare che queste vecchie tecniche di machine learning stavano già superando tutti i classici delle serie temporali (Box-Jenkins, ARIMA, Holt-Winters, smoothing esponenziale, ecc.).

Impari dai tuoi errori di previsione?

Sì. Il processo di formazione statistica - che alla fine genera il modello di deep learning - sfrutta tutti i dati storici disponibili a Lokad. I dati storici sono sfruttati attraverso un processo noto come backtesting. Pertanto, più dati storici sono disponibili per il modello, più opportunità ha il modello di imparare dai propri errori.

Il tuo motore di previsione gestisce la stagionalità, le tendenze, i giorni della settimana?

Sì, il motore di previsione gestisce tutte le ciclicità comuni, e persino le quasi-ciclicità, la cui importanza è spesso sottovalutata. Per quanto riguarda il codice, il modello di deep learning utilizza intensivamente un approccio a serie temporali multiple per sfruttare le ciclicità osservate in altri prodotti, al fine di migliorare l’accuratezza delle previsioni di qualsiasi prodotto specifico. Naturalmente, due prodotti possono condividere la stessa stagionalità, ma non lo stesso modello di giorno della settimana. Il modello è in grado di catturare questo modello. Inoltre, uno dei principali vantaggi del deep learning è la capacità di catturare correttamente la variabilità della stagionalità stessa. Infatti, una stagione può iniziare prima o dopo a seconda di variabili esterne, come il tempo, e queste variazioni vengono rilevate e riflessi nelle nostre previsioni.

Quali dati hai bisogno?

Come era il caso della nostra precedente generazione di tecnologia di previsione, per prevedere la domanda, il motore di previsione deve essere fornito - almeno - con la domanda storica giornaliera, e fornire un’analisi disaggregata degli ordini è ancora meglio. Per quanto riguarda la lunghezza della storia - più è lunga, meglio è. Sebbene nessuna stagionalità possa essere rilevata con meno di 2 anni di storia, consideriamo 3 anni di storia buoni e 5 anni eccellenti. Per prevedere i tempi di consegna, il motore di solito richiede che gli ordini di acquisto contengano sia le date dell’ordine che le date di consegna. Specificare gli attributi del tuo prodotto o SKU aiuta a raffinare considerevolmente anche le previsioni. Inoltre, fornire i tuoi livelli di stock è anche molto utile per noi, per ottenere una prima analisi significativa delle scorte.

Puoi prevedere il mio foglio Excel?

Come regola generale, se tutti i tuoi dati rientrano in un unico foglio Excel, di solito non possiamo fare molto per te, e ad essere onesti, nessuno può farlo. I dati del foglio di calcolo sono probabilmente aggregati per settimana o per mese, e la maggior parte delle informazioni storiche finisce per essere persa attraverso tale aggregazione. Inoltre, in questo caso, il tuo foglio di calcolo non conterrà nemmeno molte informazioni sulle categorie e le gerarchie che si applicano ai tuoi prodotti. Il nostro motore di previsione sfrutta tutti i dati che hai, e fare un test su un piccolo campione non darà risultati soddisfacenti.

Cosa succede con le scorte esaurite e le promozioni?

Sia le scorte esaurite che le promozioni rappresentano un bias nelle vendite storiche. Poiché l’obiettivo è prevedere la domanda, e non le vendite, questo bias deve essere preso in considerazione. Un modo frequente - ma non corretto - di gestire questi eventi consiste nel riscrivere la storia, per riempire i vuoti e troncare i picchi. Tuttavia, non ci piace questo approccio, perché consiste nel fornire previsioni al motore di previsione, il che può comportare problemi di sovradattamento. Invece, il nostro motore supporta nativamente “flag” che indicano dove la domanda è stata censurata o gonfiata.

Puoi prevedere i miei nuovi prodotti?

Sì, lo facciamo. Tuttavia, per prevedere i nuovi prodotti, il motore richiede le date di lancio degli altri prodotti “più vecchi”, nonché la loro domanda storica al momento del lancio. Inoltre, è consigliabile specificare alcune delle categorie dei tuoi prodotti e / o una gerarchia di prodotti. Il motore prevede effettivamente i nuovi prodotti rilevando automaticamente i prodotti “più vecchi”, che possono essere considerati comparabili a quelli nuovi. Tuttavia, poiché non è ancora stata osservata alcuna domanda per i nuovi elementi, le previsioni si basano interamente sugli attributi ad essi associati.

Utilizzi dati esterni per raffinare le previsioni?

Possiamo utilizzare dati sui prezzi della concorrenza ottenuti tipicamente attraverso aziende terze specializzate in web scraping, ad esempio. I dati sul traffico Web possono anche essere utilizzati e, eventualmente, acquisiti, per arricchire i dati storici al fine di aumentare ulteriormente l’accuratezza statistica. In pratica, il più grande ostacolo nell’utilizzo di fonti di dati esterne non è il motore di previsione Lokad - che è piuttosto capace - ma l’allestimento e il mantenimento di un flusso di dati di alta qualità collegato a tali fonti di dati esterne.