Se questo è solo un caso, puoi semplicemente ri-addestrare la rete neurale. Se devi aggiungere spesso nuove classi, questa è una cattiva idea. Quello che vuoi fare in questi casi è chiamato recupero di immagini basato sul contenuto (CBIR), o semplicemente recupero di immagini o ricerca visiva. Spiegherò entrambi i casi nella mia risposta di seguito.
Caso unico
Se ciò accade solo una volta - hai dimenticato l'11a classe, o il tuo cliente ha cambiato idea - ma non accadrà di nuovo , allora puoi semplicemente un undicesimo nodo di output all'ultimo livello. Inizializza i pesi su questo nodo in modo casuale, ma usa i pesi che hai già per gli altri output. Quindi, allenalo come al solito. Potrebbe essere utile fissare alcuni pesi, cioè non allenarli.
Un caso estremo sarebbe quello di allenare solo i nuovi pesi e lasciare tutti gli altri fissi. Ma non sono sicuro che funzionerà così bene - potrebbe valere la pena provare.
Recupero di immagini basato sul contenuto
Considera il seguente esempio: stai lavorando per un negozio di CD, che desidera che i propri clienti possano scattare una foto della copertina di un album e l'applicazione mostra loro il CD che hanno scansionato nel loro negozio online. In tal caso, dovresti ri-addestrare la rete per ogni nuovo CD che hanno nel negozio. Potrebbero essere 5 nuovi CD ogni giorno, quindi riqualificare la rete in questo modo non è adatto.
La soluzione è quella di formare una rete, che mappa l'immagine in uno spazio di funzionalità. Ogni immagine sarà rappresentata da un descrittore, che è ad esempio un vettore a 256 dimensioni. Puoi "classificare" un'immagine calcolando questo descrittore e confrontandolo con il tuo database di descrittori (ovvero i descrittori di tutti i CD che hai nel tuo negozio). Vince il descrittore più vicino nel database.
Come si allena una rete neurale per imparare un simile vettore descrittore? Questo è un campo di ricerca attivo. Puoi trovare lavori recenti cercando parole chiave come "recupero di immagini" o "apprendimento metrico".
In questo momento, le persone di solito prendono una rete pre-allenata, ad esempio VGG-16, tagliano gli strati FC e usano il convoluzionale finale come vettore descrittore. È possibile addestrare ulteriormente questa rete, ad esempio utilizzando una rete siamese con perdita di tripletta.