Questo è un riassunto in inglese semplice di un articolo di ricerca chiamato <a href=" A Hybrid Temporal-Aware Attention Architecture for Long Behavior Sequential Recommendation</a>. Se ti piacciono questo tipo di analisi, unisciti <a href=" o seguici su <a href=" <h2>Il compromesso impossibile</h2> <p>Per anni, chiunque costruisse un sistema di raccomandazione si trovava di fronte a un vero dilemma. Le sequenze di comportamento degli utenti possono estendersi a migliaia o decine di migliaia di interazioni. Dare un senso a quella storia richiede di rispondere a una domanda ingannevolmente semplice: dato tutto ciò che un utente ha fatto prima, cosa dovremmo raccomandare dopo?</p> <p>L'approccio standard utilizza l'attenzione softmax, un meccanismo che calcola confronti dettagliati tra il momento attuale e ogni singola interazione passata. Matematicamente è elegante. Funziona magnificamente. Ma il costo computazionale cresce quadraticamente con la lunghezza della sequenza. Con 10.000 interazioni, stai eseguendo circa 100 milioni di confronti solo per fare una raccomandazione. Scalando questo su milioni di utenti e migliaia di raccomandazioni al secondo, i costi della tua infrastruttura diventano proibitivi.</p> <p>Quindi i praticanti fanno compromessi. Si rivolgono a meccanismi di attenzione lineare, che riducono la complessità computazionale da quadratica a lineare. La matematica è intelligente e i guadagni di velocità sono reali. Il problema: quella velocità ha un costo. Questi meccanismi mantengono uno "stato" in esecuzione che viene aggiornato con ogni nuova interazione, ma questo stato ha una capacità limitata. È come un bibliotecario che può solo annotare schemi approssimativi su un piccolo blocco note invece di consultare registri completi. Perdi la precisione necessaria per riconoscere sequenze comportamentali specifiche che indicano l'intento dell'utente.

Questo compromesso ha definito il campo. I metodi efficienti sacrificano l'accuratezza. I metodi precisi sacrificano la velocità. E gli utenti che soffrono di più sono quelli con sequenze ultra-lunghe, gli utenti esperti e i grandi coinvolgenti che hanno il comportamento più interessante da apprendere.

I ricercatori dietro HyTRec hanno osservato questo svolgersi e hanno posto una domanda diversa: e se questo non fosse in realtà un singolo problema che richiede una singola soluzione?

Come pensano realmente gli utenti

L'intuizione inizia con un'osservazione semplice su come funzionano realmente le preferenze degli utenti. Hai due tipi di segnali di preferenza fondamentalmente diversi, e operano su scale temporali completamente diverse.

Le tue preferenze stabili a lungo termine provengono da una storia profonda. Se hai cliccato su gadget tecnologici 500 volte in due anni, è una forte prova che ti piace la tecnologia. Questa preferenza non fluttua molto di settimana in settimana. È importante notare che non hai bisogno di ogni singola interazione di quelle 500 per comprendere il modello. Potresti apprendere la stessa cosa da 50 di esse, o persino da un riassunto statistico approssimativo. Essere approssimativi su questo segnale non fa quasi alcuna perdita.

I tuoi picchi di intento a breve termine provengono da comportamenti recenti. Se hai cliccato su tre cappotti invernali nelle ultime due ore, stai facendo shopping per cappotti proprio ora. Questo segnale è fragile. È facile perderlo se lo stai mediando con migliaia di altre interazioni di mesi fa. Ma è incredibilmente predittivo di ciò che farai nei prossimi cinque minuti.

Questi non sono solo diversi in grado, sono diversi in tipo. Uno è stabile e può tollerare l'approssimazione. L'altro è volatile e richiede precisione. Eppure i metodi esistenti cercano di gestire entrambi con un singolo meccanismo di attenzione, ottimizzando inevitabilmente per uno a spese dell'altro.

La soluzione ibrida

La mossa elegante è smettere di cercare di costruire un meccanismo che faccia tutto. Invece, dividi il lavoro in un modo che rispecchi come gli utenti navigano realmente.

L'architettura esegue due percorsi paralleli. Nel primo, l'intera sequenza storica, anche se contiene 9.000 interazioni degli ultimi sei mesi, passa attraverso un ramo di attenzione lineare. Questo ramo non ha bisogno di essere preciso. Sta costruendo una comprensione ampia della tua categoria di gusto complessiva. Poiché utilizza l'attenzione lineare, si completa in un tempo proporzionale alla lunghezza della sequenza, non alla lunghezza della sequenza al quadrato. È veloce.

Nel secondo percorso, le tue interazioni recenti, forse 1.000 delle ultime due settimane, passano attraverso un ramo di attenzione softmax. Questo ramo può permettersi di essere costoso perché opera su una piccola fetta di dati. Produce rappresentazioni precise di ciò che potresti volere in questo momento. Stai facendo calcoli costosi, ma su una piccola finestra.

Ogni ramo produce una rappresentazione di "cosa dovremmo raccomandare." Poi l'architettura le combina in modo intelligente. Hai ripristinato la precisione dell'attenzione softmax mantenendo la velocità dell'attenzione lineare, perché ciascuna ora opera nel proprio dominio appropriato.


Il Framework di HyTRec

HyTRec divide lunghe sequenze di comportamento degli utenti tra due meccanismi di attenzione specializzati, consentendo che le preferenze stabili e i picchi di intento recenti vengano gestiti in modo indipendente.

Questo non è un piccolo aggiustamento. La complessità computazionale rimane lineare nella lunghezza della sequenza mentre opera su sequenze 10 volte più lunghe di quanto le precedenti approcci efficienti potessero gestire. Ma c'è un problema nascosto nell'architettura.

Far contare i segnali recenti

La sfida con un sistema ibrido è che il ramo di attenzione lineare ha visto migliaia di interazioni. Il ramo softmax ha visto centinaia. Per semplice volume, il segnale del ramo lineare è più forte. Ma nella raccomandazione, la recenza conta più del volume. Un clic di oggi ti dice di più su ciò che qualcuno vuole rispetto a un clic di sei mesi fa.

Se tratti entrambi i rami in modo uguale, i dati obsoleti soffocano i dati freschi. Hai risolto il problema computazionale ma creato un problema di reattività.

La soluzione si chiama Rete Delta Consapevole del Tempo, o TADN. Il meccanismo fa qualcosa di semplice: aumenta dinamicamente il peso dei segnali comportamentali freschi mentre sopprime il rumore storico.

Immagina un meccanismo di gating che chiede a ciascuna parte della sequenza: "Quanto sei vecchio?" Le interazioni fresche ottengono pesi più alti. Le interazioni vecchie ottengono pesi più bassi. Questo non avviene su un programma fisso, viene appreso dai dati. La rete scopre schemi come: "Per questo utente, i modelli comportamentali cambiano ogni pochi giorni, quindi le interazioni più vecchie di una settimana dovrebbero essere pesate a metà forza."

Senze TADN, il sistema ibrido farebbe raccomandazioni sempre più obsolete man mano che le preferenze di un utente cambiano. Con esso, il sistema rimane reattivo al cambiamento. I segnali recenti hanno naturalmente più influenza sulle raccomandazioni, ma la rete apprende esattamente quanto peso abbia senso per ciascun utente e tipo di interazione.

Risultati nel mondo reale

I ricercatori hanno testato HyTRec su enormi dataset con sequenze di comportamento degli utenti reali che si estendono a decine di migliaia di interazioni per utente. Questi non sono dati accademici puliti, è disordine su scala di produzione.

Sulla velocità, i risultati contano. HyTRec mantiene una complessità di inferenza lineare. Raddoppia la lunghezza della sequenza e il tempo di inferenza raddoppia all'incirca. Non quadruplica come farebbe l'attenzione softmax. Con sequenze di lunghezza 10.000, questa differenza determina se puoi raccomandare in 50 millisecondi o 5 secondi. Su una piattaforma che serve milioni di utenti, quella differenza è la linea tra fattibile e impossibile.

...