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ù.