10

Stiamo pianificando la creazione di classificatori di immagini utilizzando Google Tensorflow.Requisiti minimi per il classificatore di immagini tensorflow di Google

Mi chiedo quali sono i requisiti minimi e quali sono i requisiti ottimali per addestrare un classificatore di immagini personalizzato utilizzando una rete neurale convoluzionale profonda?

Le domande sono in particolare:

  • quante immagini per classe dovrebbe essere fornita al minimo?
  • abbiamo bisogno di appx. fornire la stessa quantità di immagini di allenamento per classe o la quantità per classe può essere disparata?
  • qual è l'impatto dei dati di immagine errati nei dati di allenamento? Per esempio. 500 immagini di una scarpa da tennis e 50 di altre scarpe.
  • è possibile addestrare un classificatore con molte più classi rispetto al modello inception-v3 recentemente pubblicato? Diciamo: 30.000.
+1

Avete la definizione di rete Inception-v3, in modo che si può cambiare, o semplicemente la versione ridotta utilizzata per la classificazione (versione distribuzione)? –

risposta

6

"quante immagini per classe devono essere fornite al minimo?"

Dipende da come ti alleni.

Se si prepara un nuovo modello da zero, sotto la supervisione: per una regola empirica sul numero di immagini, è possibile esaminare le attività MNIST e CIFAR. Questi sembrano funzionare bene con circa 5.000 immagini per classe. Questo è se ti stai allenando da zero.

Probabilmente è possibile eseguire il bootstrap della rete iniziando con un modello addestrato su ImageNet. Questo modello avrà già delle buone caratteristiche, quindi dovrebbe essere in grado di imparare a classificare nuove categorie senza tanti esempi etichettati. Non penso che questo sia abbastanza ben studiato per dirti un numero specifico.

In caso di addestramento con dati senza etichetta, forse solo 100 immagini etichettate per classe. Vi sono molti lavori di ricerca recenti su questo argomento, sebbene non si adattino a compiti come Imagenet. semplice da implementare:

http://arxiv.org/abs/1507.00677 

complicato da attuare: "? Abbiamo bisogno di appx fornire la stessa quantità di immagini di addestramento per classe o la quantità può essere per classe disparate"

http://arxiv.org/abs/1507.02672 
http://arxiv.org/abs/1511.06390 
http://arxiv.org/abs/1511.06440 

Dovrebbe funzionare con diversi numeri di esempi per classe.

"qual è l'impatto dei dati di immagine errati nei dati di allenamento? Ad esempio 500 immagini di una scarpa da tennis e 50 di altre scarpe".

si consiglia di utilizzare l'etichetta di smoothing tecnica descritta in questo documento:

http://arxiv.org/abs/1512.00567 

lisciare l'etichette, sulla base di stima del tasso di errore etichetta.

"è possibile addestrare un classificatore con molte più classi rispetto al modello inception-v3 recentemente pubblicato? Diciamo: 30.000."

+0

È disponibile la rete Inception-v3 training-time disponibile (con tutti i parametri di allenamento)? –

4

Quante immagini per classe devono essere fornite al minimo?

abbiamo bisogno di appx. fornire la stessa quantità di immagini di allenamento per classe o la quantità per classe può essere disparata?

qual è l'impatto dei dati di immagine errati nei dati di allenamento? Per esempio. 500 immagini di una scarpa da tennis e 50 di altre scarpe.

Queste tre domande non sono realmente specifiche di TensorFlow. Ma la risposta breve è, dipende dalla resilienza del tuo modello nel gestire set di dati sbilanciati e etichette rumorose.

è possibile addestrare un classificatore con molte più classi rispetto al modello inception-v3 recentemente pubblicato? Diciamo: 30.000.

Sì, sicuramente. Ciò significherebbe un livello di classificazione molto più ampio, quindi il tempo di allenamento potrebbe essere più lungo. Oltre a questo, non ci sono limiti in TensorFlow.

+1

Concordo sul fatto che le tre domande non sono specifiche per la TF, ma in qualche modo si riferiscono ad essa. Per un classificatore ragionevolmente ben funzionante, quante immagini di allenamento per classe suggeriresti? – Jabb

Problemi correlati