Esistono buoni documenti che trattano alcuni modi metodici di scegliere le dimensioni dei filtri, raggruppare le unità e determinare il numero di strati convoluzionali?
Esistono buoni documenti che trattano alcuni modi metodici di scegliere le dimensioni dei filtri, raggruppare le unità e determinare il numero di strati convoluzionali?
Risposte:
In una certa misura sì, un recente articolo è stato pubblicato dai ricercatori di Google su come scegliere le buone architetture di Inception. Le reti di Inception raggiungono prestazioni molto elevate con un budget di parametri limitato, quindi questo è un buon punto di partenza come un altro ed è recente. Ecco il link: ripensare l'architettura Inception per Computer Vision .
Non offrono regole quantitative rigide, ma piuttosto linee guida che hanno usato e credono che li hanno aiutati a raggiungere buone prestazioni nelle recenti competizioni ImageNet.
Ad esempio, alcuni dei principi che discutono sono:
Utilizzare pile di strati convoluzionali di campo ricettivo più piccoli invece di utilizzare un singolo strato convoluzionale di campo ricettivo di grandi dimensioni, ovvero 2 pile di strati convessi 3x3 contro un singolo strato conv. 7x7. Questa idea non è nuova, è stata anche discussa in Il ritorno del diavolo nei dettagli: approfondire le reti convoluzionali dal team di Oxford VGG. Ciò è motivato dalla necessità di essere parametri efficienti. Ha anche il duplice effetto di una maggiore capacità rappresentativa quando introduciamo più non linearità con più livelli.
Qualcosa che non ho visto in letteratura menzionato in questo articolo è la fattorizzazione di strati convoluzionali in strati profondi. Quindi invece di avere un singolo strato conv di 7x7, avremmo uno strato conv di 1x7 e quindi uno strato conv di 7x1. Aggiunge più profondità, credo che anche parametri efficienti.
Bilancia la profondità e la larghezza della tua rete. Usa rappresentazioni ad alta dimensione. Questo è uno dei principi alla base dei loro moduli Inception, che concatenano più strati convolutinali insieme. Quindi, anche se hai una piccola dimensione spaziale nella tua rete di convogli, usando i moduli Inception possiamo usare una rappresentazione ad alta dimensione tramite concatenazione convoluzionale su più scale: 1x1, 3x3, 3x3-3x3, pool massimo tutti messi insieme. Questi moduli di Inception hanno una "larghezza" in quanto possono essere interpretati come l'esecuzione di più operazioni in parallelo. Si spingono ancora oltre con i nuovi moduli Inception che hanno fattorizzato dimensioni convoluzionali, 1x3, 3x1, ecc.
Utilizzare i livelli conv 1 x 1 (Rete in stile Rete) per ridurre la dimensionalità. Usano molte tecniche di riduzione della dimensionalità per raggiungere l'efficienza dei parametri. Ritengono che ciò sia efficace perché le mappe delle funzioni adiacenti hanno output altamente correlati. Il che ha senso dato che le immagini naturali sono note per mostrare alcune proprietà statistiche locali coerenti con questo. Pertanto, la riduzione della dimensionalità tramite livelli NIN 1x1 non ha un effetto disastroso sul potere rappresentazionale.
C'è di più nell'articolo. Penso che sia un articolo in grado di offrire alcuni spunti su ciò che stai chiedendo. Stanno parlando di alcuni concetti fondamentali del design architettonico conv.
Non ho trovato alcuna letteratura sulla scelta di questi iperparametri in funzione delle specifiche del problema. Ma capisco che la maggior parte sta adottando metodi di ottimizzazione bayesiana per concentrarsi su valori efficaci. Si specifica un intervallo ragionevole e, testando varie combinazioni, si impara un modello di come questi iperparametri si relazionano con l'accuratezza del modello. Ha funzionato bene per me. Scopri "Ottimizzazione bayesiana pratica degli algoritmi di apprendimento automatico" da Snoek, Larochelle e Adams ( http://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf ).