Il primo passo di MuZero dalla ricerca al mondo reale

Il primo passo di MuZero nel mondo reale.

Collaborando con YouTube per ottimizzare la compressione video nel codec open source VP9.

Nel 2016, abbiamo introdotto AlphaGo, il primo programma di intelligenza artificiale a sconfiggere gli umani nel gioco antico del Go. I suoi successori, AlphaZero e poi MuZero, hanno rappresentato un significativo passo avanti nella ricerca di algoritmi di uso generale, padroneggiando un numero maggiore di giochi con ancora meno conoscenze predefinite. MuZero, ad esempio, ha padroneggiato gli scacchi, il Go, lo Shogi e Atari senza bisogno di conoscere le regole. Ma finora questi agenti si sono concentrati sulla risoluzione di giochi. Ora, nella ricerca della missione di DeepMind di risolvere l’intelligenza, MuZero ha compiuto un primo passo verso il padroneggiamento di un compito del mondo reale ottimizzando i video su YouTube.

In un preprint pubblicato su arXiv, dettagliamo la nostra collaborazione con YouTube per esplorare il potenziale di MuZero nel migliorare la compressione video. Gli analisti hanno previsto che lo streaming video avrebbe rappresentato la grande maggioranza del traffico internet nel 2021. Con il boom dei video durante la pandemia COVID-19 e l’aspettativa di un aumento totale del traffico internet in futuro, la compressione video è un problema sempre più importante – e un’area naturale in cui applicare il Reinforcement Learning (RL) per migliorare lo stato dell’arte in un dominio sfidante. Dopo il lancio in produzione su una parte del traffico live di YouTube, abbiamo dimostrato una riduzione media del 4% del bitrate su un grande e variegato insieme di video.

La maggior parte dei video online si basa su un programma chiamato codec per comprimere o codificare il video alla sua origine, trasmetterlo su internet al visualizzatore e quindi decomprimerlo o decodificarlo per la riproduzione. Questi codec prendono molte decisioni per ciascuna fotogramma in un video. Decenni di ingegneria manuale sono stati dedicati all’ottimizzazione di questi codec, che sono responsabili di molte delle esperienze video attualmente possibili su Internet, inclusi video on demand, videochiamate, videogiochi e realtà virtuale. Tuttavia, poiché il RL è particolarmente adatto ai problemi decisionali sequenziali come quelli dei codec, stiamo esplorando come un algoritmo appreso con RL possa aiutare.

Il nostro focus iniziale è sul codec VP9 (specificamente la versione open source libvpx), poiché è ampiamente utilizzato da YouTube e altri servizi di streaming. Come per gli altri codec, i fornitori di servizi che utilizzano VP9 devono considerare il bitrate, ovvero il numero di uno e zero necessari per inviare ogni fotogramma di un video. Il bitrate è un determinante importante di quanto calcolo e larghezza di banda sono necessari per servire e archiviare i video, influenzando tutto, dalla velocità di caricamento di un video alla sua risoluzione, buffering e utilizzo dei dati.

Durante la codifica di un video, i codec utilizzano le informazioni dai fotogrammi precedenti per ridurre il numero di bit necessari per i fotogrammi futuri.

In VP9, il bitrate viene ottimizzato principalmente tramite il Parametro di Quantizzazione (QP) nel modulo di controllo della velocità. Per ciascun fotogramma, questo parametro determina il livello di compressione da applicare. Data una bitrate obiettivo, i QP per i fotogrammi video vengono decisi in sequenza per massimizzare la qualità video complessiva. Intuitivamente, bitrate più alti (QP più basso) dovrebbero essere allocati per scene complesse e bitrate più bassi (QP più alto) dovrebbero essere allocati per scene statiche. L’algoritmo di selezione QP ragiona su come il valore QP di un fotogramma video influenzi l’allocazione bitrate dei restanti fotogrammi video e la qualità video complessiva. Il RL è particolarmente utile nella risoluzione di un problema decisionale sequenziale come questo.

Per ciascun fotogramma di un video elaborato da VP9, MuZero-RC - che sostituisce il meccanismo di controllo della velocità predefinito di VP9 - decide il livello di compressione da applicare, ottenendo una qualità simile a un bitrate inferiore.

MuZero raggiunge prestazioni superiori all’uomo in varie attività combinando la potenza della ricerca con la sua capacità di apprendere un modello dell’ambiente e pianificare di conseguenza. Questo funziona particolarmente bene in spazi d’azione ampi e combinatori, rendendolo una soluzione candidata ideale per il problema del controllo della velocità nella compressione video. Tuttavia, per far funzionare MuZero su questa applicazione del mondo reale, è necessario risolvere un nuovo insieme di problemi. Ad esempio, l’insieme di video caricati su piattaforme come YouTube varia in contenuto e qualità, e qualsiasi agente deve generalizzare tra i video, inclusi video completamente nuovi dopo la distribuzione. A confronto, i giochi da tavolo tendono ad avere un unico ambiente noto. Moltre altre metriche e vincoli influenzano l’esperienza utente finale e i risparmi di bitrate, come il PSNR (Peak Signal-to-Noise Ratio) e il vincolo di bitrate.

Per affrontare questi sfide con MuZero, abbiamo creato un meccanismo chiamato auto-competizione, che converte l’obiettivo complesso della compressione video in un semplice segnale VITTORIA/SCONFITTA confrontando le prestazioni attuali dell’agente con le sue prestazioni storiche. Ciò ci permette di convertire un ricco insieme di requisiti di codec in un segnale semplice che può essere ottimizzato dal nostro agente.

Video codificato con euristici QP precedenti Video codificato con MuZero-RC Risparmio di bitrate 4,7% Video codificato con euristici QP precedenti Video codificato con MuZero-RC Risparmio di bitrate 4,1% Video codificato con euristici QP precedenti Video codificato con MuZero-RC Risparmio di bitrate 3,5% Utilizzando MuZero-RC, siamo in grado di ottenere una qualità simile in ogni video, riducendo allo stesso tempo il bitrate richiesto, dimostrando una riduzione media del bitrate del 4% su un ampio e diversificato set di video YouTube in diretta.

Imparando la dinamica della codifica video e determinando il modo migliore per allocare i bit, il nostro MuZero Rate-Controller (MuZero-RC) è in grado di ridurre il bitrate senza degradazione della qualità. La selezione del QP è solo una delle numerose decisioni di codifica nel processo di codifica. Mentre decenni di ricerca e ingegneria hanno portato a algoritmi efficienti, immaginiamo un singolo algoritmo che possa imparare automaticamente a prendere queste decisioni di codifica per ottenere il miglior compromesso tra tasso di compressione e distorsione.

Oltre alla compressione video, questo primo passo nell’applicazione di MuZero al di fuori degli ambienti di ricerca serve come esempio di come i nostri agenti RL possano risolvere problemi del mondo reale. Creando agenti dotati di una serie di nuove capacità per migliorare i prodotti in vari settori, possiamo contribuire a rendere i vari sistemi informatici più veloci, meno intensivi e più automatizzati. La nostra visione a lungo termine è quella di sviluppare un singolo algoritmo in grado di ottimizzare migliaia di sistemi del mondo reale in una varietà di settori.

Ascolta Jackson Broshear e David Silver discutere di MuZero con Hannah Fry nell’episodio 5 di DeepMind: The Podcast. Ascolta ora sulla tua app di podcast preferita cercando “DeepMind: The Podcast”.