Qual è la differenza tra dropout e drop connect?


24

Qual è la differenza tra dropout e drop connect?

AFAIK, il dropout rilascia casualmente nodi nascosti durante l'allenamento ma li mantiene in fase di test e drop connect rilascia connessioni.

Ma eliminare le connessioni equivale a eliminare i nodi nascosti? I nodi (o le connessioni) non sono solo un insieme di pesi?

Risposte:


24

DropOut e DropConnect sono entrambi metodi intesi a prevenire il "coadattamento" di unità in una rete neurale. In altre parole, vogliamo che le unità estraggano in modo indipendente funzionalità dai loro input invece di fare affidamento su altri neuroni per farlo.

Supponiamo di avere una rete feedforward multistrato come questa (la topologia non conta davvero). Siamo preoccupati per le unità nascoste gialle nello strato intermedio che si adattano.

rete di esempio 5-4-3

Buttare fuori

Per applicare DropOut, selezioniamo casualmente un sottoinsieme delle unità e blocciamo il loro output a zero, indipendentemente dall'input; questo rimuove efficacemente quelle unità dal modello. Un diverso sottoinsieme di unità viene selezionato casualmente ogni volta che presentiamo un esempio di addestramento.

Di seguito sono due possibili configurazioni di rete. Nella prima presentazione (a sinistra), la 1a e la 3a unità sono disabilitate, ma la 2a e la 3a unità sono state selezionate casualmente in una presentazione successiva. Al momento del test, utilizziamo la rete completa ma ridimensioniamo i pesi per compensare il fatto che ora tutti possono diventare attivi (ad esempio, se si rilasciano metà dei nodi, anche i pesi dovrebbero essere dimezzati).

Esempi DropOut

DropConnect

DropConnect funziona in modo simile, tranne per il fatto che disabilitiamo i singoli pesi (ovvero li impostiamo su zero), anziché sui nodi, in modo che un nodo possa rimanere parzialmente attivo. Schematicamente, si presenta così:

DropConnect

Confronto

Entrambi questi metodi funzionano perché ti consentono di addestrare diversi modelli contemporaneamente, quindi eseguono una media per testarli. Ad esempio, il livello giallo ha quattro nodi e quindi 16 possibili stati DropOut (tutti abilitati, # 1 disabilitato, # 1 e # 2 disabilitato, ecc.).

DropConnect è una generalizzazione di DropOut perché produce modelli ancora più possibili, poiché ci sono quasi sempre più connessioni rispetto alle unità. Tuttavia, è possibile ottenere risultati simili in una prova individuale. Ad esempio, la rete DropConnect a destra ha effettivamente eliminato l'unità n. 2 poiché tutte le connessioni in entrata sono state rimosse.

Ulteriori letture

I documenti originali sono piuttosto accessibili e contengono maggiori dettagli e risultati empirici.


6

Sì, ma sono leggermente diversi in termini di modalità di caduta dei pesi.

Queste sono le formule di DropConnect (a sinistra) e dropout (a destra).

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Quindi il dropout applica una maschera alle attivazioni, mentre DropConnect applica una maschera ai pesi.

Il documento DropConnect afferma che si tratta di una generalizzazione del dropout nel senso che

DropConnect è la generalizzazione di Dropout in cui ogni connessione, anziché ogni unità di output come in Dropout, può essere rilasciata con probabilità p.

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.