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

Nel 2016 abbiamo introdotto AlphaGoil primo programma di intelligenza artificiale per sconfiggere gli umani nell’antico gioco del Go. I suoi successori, AlphaZero poi MuZeroognuno di essi ha rappresentato un significativo passo avanti nella ricerca di algoritmi generici, padroneggiando un maggior numero di giochi con conoscenze ancora meno predefinite. MuZero, ad esempio, padroneggiava gli scacchi, il Go, lo Shogi e l’Atari senza bisogno che gli venissero spiegate le regole. Ma finora questi agenti si sono concentrati sulla risoluzione dei giochi. Ora, nel perseguire la missione di DeepMind di risolvere l’intelligenza, MuZero ha fatto il primo passo verso la padronanza di un compito del mondo reale ottimizzando i video su YouTube.

In un prestampa pubblicata su arXivdescriviamo in dettaglio la nostra collaborazione con YouTube per esplorare il potenziale di MuZero per migliorare la compressione video. Lo avevano previsto gli analisti che i video in streaming avranno rappresentato la stragrande maggioranza del traffico Internet nel 2021. Con l’impennata dei video durante la pandemia di COVID-19 e la quantità totale di traffico Internet prevista in crescita in futuro, la compressione video è un problema sempre più importante – e un naturale area in cui applicare l’apprendimento per rinforzo (RL) per migliorare lo stato dell’arte in un settore impegnativo. Dall’avvio della produzione su una parte del traffico live di YouTube, abbiamo dimostrato una riduzione media del bitrate del 4% su un insieme ampio e diversificato di video.

La maggior parte dei video online si basa su un programma chiamato codec per comprimere o codificare il video alla fonte, trasmetterlo su Internet allo spettatore e quindi decomprimerlo o decodificarlo per la riproduzione. Questi codec prendono più decisioni per ciascun fotogramma di un video. Decenni di ingegneria manuale sono stati dedicati all’ottimizzazione di questi codec, responsabili di molte delle esperienze video ora possibili su Internet, inclusi video on demand, videochiamate, videogiochi e realtà virtuale. Tuttavia, poiché RL è particolarmente adatto a problemi decisionali sequenziali come quelli dei codec, stiamo esplorando come un algoritmo appreso da RL possa essere d’aiuto.

Il nostro focus iniziale è sul codec VP9 (in particolare la versione open source libvpx), poiché è ampiamente utilizzato da YouTube e altri servizi di streaming. Come con altri codec, i fornitori di servizi che utilizzano VP9 devono pensare al bitrate, ovvero il numero di uno e zero necessari per inviare ciascun fotogramma di un video. Il bitrate è un fattore determinante nella quantità di calcolo e larghezza di banda necessari per servire e archiviare video, influenzando tutto, dal tempo impiegato da un video per caricarsi alla risoluzione, al buffering e all’utilizzo dei dati.

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

In VP9, ​​il bitrate viene ottimizzato più direttamente tramite il parametro di quantizzazione (QP) nel modulo di controllo della velocità. Per ciascun fotogramma, questo parametro determina il livello di compressione da applicare. Dato un bitrate target, 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 influisce sull’allocazione del bitrate del resto dei fotogrammi video e sulla qualità video complessiva. RL è particolarmente utile per risolvere un problema decisionale così sequenziale.

Per ogni fotogramma di un video elaborato da VP9, ​​MuZero-RC, in sostituzione del 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 sovrumane in vari compiti combinando il potere della ricerca con la sua capacità di apprendere un modello dell’ambiente e pianificare di conseguenza. Funziona particolarmente bene in ampi spazi d’azione 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 una serie completamente nuova 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, includendo video completamente nuovi dopo la distribuzione. In confronto, i giochi da tavolo tendono ad avere un unico ambiente conosciuto. Molti altri parametri e vincoli influiscono sull’esperienza dell’utente finale e sul risparmio del bitrate, come il PSNR (Peak Signal-to-Noise Ratio) e il vincolo del bitrate.

Per affrontare queste sfide con MuZero, creiamo un meccanismo chiamato autocompetizione, che converte il complesso obiettivo della compressione video in un semplice segnale VINCITORE/PERDITA confrontando le prestazioni attuali dell’agente con le sue prestazioni storiche. Ciò ci consente di convertire un ricco insieme di requisiti di codec in un segnale semplice che può essere ottimizzato dal nostro agente.

Apprendendo le dinamiche 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 degrado della qualità. La selezione QP è solo una delle numerose decisioni di codifica nel processo di codifica. Sebbene decenni di ricerca e ingegneria abbiano prodotto algoritmi efficienti, immaginiamo un singolo algoritmo che possa imparare automaticamente a prendere queste decisioni di codifica per ottenere il compromesso ottimale tra velocità e distorsione.

Al di là della compressione video, questo primo passo nell’applicazione di MuZero al di fuori degli ambienti di ricerca serve da esempio di come i nostri agenti RL possono risolvere i problemi del mondo reale. Creando agenti dotati di una serie di nuove capacità per migliorare i prodotti in tutti i domini, possiamo aiutare vari sistemi informatici a diventare più veloci, meno intensivi e più automatizzati. La nostra visione a lungo termine è quella di sviluppare un unico algoritmo in grado di ottimizzare migliaia di sistemi del mondo reale in una varietà di domini.

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *