Perché la rete neurale unita di AlphaGo Zero è più efficiente di due reti neurali separate?


10

AlphaGo Zero contiene numerosi miglioramenti rispetto ai suoi predecessori. I dettagli architettonici di Alpha Go Zero possono essere visti in questo cheat sheet .

Uno di questi miglioramenti sta usando una singola rete neurale che calcola le probabilità di spostamento e il valore dello stato allo stesso tempo, mentre le versioni precedenti utilizzavano due reti neurali separate. È stato dimostrato che la rete neurale unita è più efficiente secondo il documento:

Utilizza una rete neurale anziché due. Le versioni precedenti di AlphaGo utilizzavano una "rete politica" per selezionare la mossa successiva da giocare e una "rete di valori" per prevedere il vincitore del gioco da ciascuna posizione. Questi sono combinati in AlphaGo Zero, permettendogli di essere addestrato e valutato in modo più efficiente.

Questo mi sembra poco intuitivo, perché dal punto di vista della progettazione del software ciò viola la principale separazione delle preoccupazioni . Ecco perché mi chiedo, perché questa fusione è stata dimostrata utile.

Questa tecnica - che unisce diversi compiti in una singola rete neurale per migliorare l'efficienza - può essere applicata ad altre reti neurali in generale o richiede determinate condizioni per funzionare?

Risposte:


6

Perché questa fusione si è dimostrata utile?

Se si considera la rete Value / Policy condivisa come costituita da un componente condiviso (i livelli della rete residua) con un componente Value e Policy in cima anziché la separazione delle preoccupazioni, ha più senso.

La premessa di base è che la parte condivisa della rete (ResNet) fornisce una generalizzazione di alto livello dell'input (gli stati di gioco che portano alla mossa) che è una buona rappresentazione dell'input sia per le reti di valore che per le policy.

In questo caso, possiamo ridurre molto il carico computazionale addestrando una singola ResNet condivisa e utilizzandola per due reti molto più semplici rispetto alla formazione di due ResNet per il valore e la politica. Nel loro caso, allenare i due insieme migliora anche la regolarizzazione e quindi crea una rappresentazione più solida e generale.

Nello specifico, il documento Alpha Go Zero di Silver et al. , Mastering the Go of Go Without Human Knowledge , afferma che:

La combinazione di politica e valore in un'unica rete ha ridotto leggermente l'accuratezza della previsione degli spostamenti, ma ha ridotto l'errore di valore e ha aumentato le prestazioni di gioco in AlphaGo di circa altri 600 Elo. Ciò è in parte dovuto al miglioramento dell'efficienza computazionale, ma soprattutto il duplice obiettivo regolarizza la rete in una rappresentazione comune che supporti più casi d'uso.

Questa tecnica può essere applicata in generale o solo in casi speciali?

Come i componenti comuni nelle librerie software, ha senso solo quando i problemi che stai cercando di risolvere beneficiano di una rappresentazione condivisa.

Puoi usarlo se stai addestrando classificatori per attività simili o addestrando una nuova attività con pochi dati in cui hai già un classificatore addestrato su un più grande, simile set di dati .

Al di fuori di Go, viene spesso utilizzato nel riconoscimento delle immagini. Profonde reti pre-addestrati come quelli provenienti dai IMAGEnet ILSVRC competizioni sono comunemente usati come punto di partenza. Sono classificatori che sono stati addestrati (per settimane!) Su oltre un milione di immagini.

Quindi, supponiamo che tu voglia creare una rete per riconoscere la tua marca preferita di biciclette, inizi con la pipeline generale per il riconoscimento delle immagini addestrata su ImageNet, taglia gli ultimi strati che eseguono la classificazione effettiva ("è un Border Collie") e aggiungi un piccolo nuovo classificatore per scegliere solo le biciclette a cui tieni.

Poiché il classificatore pre-addestrato fornisce già concetti di immagine di alto livello che sono buoni elementi di base per il riconoscimento delle immagini (classifica 200 categorie), ciò consente di risparmiare un sacco di formazione e di creare un classificatore molto robusto.

Naturalmente ci sono molti casi in cui i problemi non hanno utili rappresentazioni condivise e quindi non beneficiano di una rete combinata. Tuttavia, è uno strumento utile nelle giuste situazioni.

Consulta Apprendimento trasferimento o Apprendimento multi-task per saperne di più.


Se si desidera utilizzare i principi di ingegneria del software per analizzare l'architettura di questa rete neurale, vorrei anche sottolineare che la rete di blocchi residua su cui poggiano i valori e la politica rispetta il principio DRY. A seconda dello stesso componente (la rete a blocchi residua) per preelaborare i dati prima di passare questi dati agli altri componenti della pipeline (valore e criteri), garantiscono che ciascuno elaborerà la stessa rappresentazione dell'input originale. La duplicazione di questa elaborazione con due reti separate garantisce quasi divergenze nel tempo.
Sadakatsu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.