Perché le reti neurali convoluzionali non usano una macchina vettoriale di supporto per classificare?


46

Negli ultimi anni, le reti neurali convoluzionali (CNN) sono diventate lo stato dell'arte per il riconoscimento degli oggetti nella visione artificiale. In genere, una CNN è composta da diversi livelli convoluzionali, seguiti da due livelli completamente collegati. Un'intuizione alla base di ciò è che i livelli convoluzionali apprendono una migliore rappresentazione dei dati di input e che i livelli completamente connessi imparano quindi a classificare questa rappresentazione in base a un insieme di etichette.

Tuttavia, prima che le CNN iniziassero a dominare, le Support Vector Machines (SVM) erano lo stato dell'arte. Quindi sembra ragionevole dire che un SVM è ancora un classificatore più forte di una rete neurale completamente connessa a due strati. Pertanto, mi chiedo perché le CNN all'avanguardia tendano a utilizzare gli strati completamente collegati per la classificazione piuttosto che un SVM? In questo modo, avresti il ​​meglio di entrambi i mondi: una forte rappresentazione delle caratteristiche e un forte classificatore, piuttosto che una forte rappresentazione delle caratteristiche ma solo un debole classificatore ...

Qualche idea?

Risposte:


54

Si può fare; un articolo del workshop ICML, Deep Learning utilizzando Linear Support Vector Machines , Tang (2013) , ha fatto esattamente questo e ha riscontrato piccoli ma consistenti miglioramenti. A volte viene anche fatto per addestrare le CNN nel modo tipico, ma poi prendere l'output di un layer in ritardo come "caratteristiche" e formare un SVM separato su quello.

Si noti, tuttavia, che stavano usando SVM lineari e, in realtà, la differenza tra un SVM lineare e la regressione logistica (che è equivalente a un singolo livello di output binario con attivazione sigmoid) è piuttosto piccola. Il livello aggiuntivo della rete, supponendo che si disponga di dati sufficienti per apprenderlo, rende in realtà gli ultimi due livelli più forti di un SVM lineare - sebbene ovviamente si possa fare un sigmoide o ReLU completamente connesso e quindi mettere un livello SVM per ultimo.

Inoltre, per le uscite multiclasse, le attivazioni di softmax sono più naturali delle SVM multiclasse e penso che l'approccio SVM di quel documento sia un po 'più intenso dal punto di vista computazionale. Quindi le persone di solito non pensano che ne valga la pena.


0

Per quanto posso vedere, ci sono almeno due differenze:

  1. Le CNN sono progettate per funzionare con i dati delle immagini, mentre SVM è un classificatore più generico;
  2. Le CNN estraggono funzionalità mentre SVM mappa semplicemente il suo input in uno spazio ad alta dimensione dove (si spera) le differenze tra le classi possono essere rivelate;
  3. Simile a 2., le CNN sono architetture profonde mentre le SVM sono poco profonde;
  4. Gli obiettivi di apprendimento sono diversi: le SVM cercano di massimizzare il margine, mentre le CNN non lo sono (mi piacerebbe saperne di più)

Detto questo, le SVM possono funzionare altrettanto bene delle CNN, purché vengano utilizzate buone funzionalità con una buona funzione del kernel.


4
Penso che potresti aver frainteso la domanda; si tratta di utilizzare un "livello SVM" alla fine della CNN.
Dougal,

4
Capisco la differenza tra una CNN e una SVM, ma come dice @Dougal, sto chiedendo di più sullo strato finale di una CNN. In genere, si tratta di una rete neurale completamente connessa, ma non sono sicuro del motivo per cui le SVM non vengono utilizzate qui poiché tendono a essere più forti di una rete neurale a due strati.
Karnivaurus,

6
@Karnivaurus Ci scusiamo per aver letto male la tua domanda. L `idea non e` nuova. In genere, l'ultimo strato viene eliminato e l'output dell'ultimo livello viene utilizzato come funzionalità in altri algoritmi di classificazione. Perché non è fatto in modo coerente e ovunque? Le caratteristiche dell'ultimo livello sono in genere così discriminatorie che non è necessaria una sofisticata scatola nera come SVM, una semplice regressione logistica fa il lavoro. Questa è la mia visione delle cose.
Vladislavs Dovgalecs,
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.