Risposte:
L'output dai livelli convoluzionali rappresenta funzionalità di alto livello nei dati. Mentre quell'output potrebbe essere appiattito e collegato al layer di output, l'aggiunta di un layer completamente connesso è un modo (di solito) economico di apprendere combinazioni non lineari di queste funzionalità.
Essenzialmente gli strati convoluzionali stanno fornendo uno spazio caratteristico, a bassa dimensione e in qualche modo invariante, e lo strato completamente connesso sta imparando una funzione (possibilmente non lineare) in quello spazio.
NOTA: è banale convertire da layer FC a layer Conv. La conversione di questi livelli FC principali in livelli Conv può essere utile come descritto in questa pagina.
Ho trovato utile questa risposta di Anil-Sharma su Quora .
Possiamo dividere l'intera rete (per la classificazione) in due parti:
Estrazione delle funzionalità : negli algoritmi di classificazione convenzionali, come gli SVM, abbiamo usato per estrarre le funzionalità dai dati per far funzionare la classificazione. Gli strati convoluzionali servono allo stesso scopo dell'estrazione di feature. Le CNN acquisiscono una migliore rappresentazione dei dati e quindi non è necessario progettare le funzionalità.
Classificazione : dopo l'estrazione delle caratteristiche dobbiamo classificare i dati in varie classi, questo può essere fatto usando una rete neurale completamente connessa (FC). Al posto dei livelli completamente collegati, possiamo anche usare un classificatore convenzionale come SVM. Ma generalmente finiamo per aggiungere gli strati FC per rendere il modello end-to-end allenabile.