L'idea di base
In questi giorni, la profonda apprendimento state-of-the-art per problemi di classificazione di immagini (ad esempio ImageNet) sono di solito "reti neurali convoluzionali profonde" (ConvNets di profondità). Sembrano più o meno come questa configurazione ConvNet da Krizhevsky et al:
Per la deduzione (classificazione), si alimenta un'immagine nel lato sinistro (si noti che la profondità sul lato sinistro è 3, per RGB), scricchiolio attraverso una serie di filtri di convoluzione, e sputa un vettore a 1000 dimensioni sul lato destro. Questa immagine è specialmente per ImageNet, che si concentra sulla classificazione di 1000 categorie di immagini, quindi il vettore 1000d è "punteggio di quanto è probabile che questa immagine rientri nella categoria".
Formazione la rete neurale è solo leggermente più complessa. Per l'allenamento, si esegue ripetutamente la classificazione ripetutamente, e ogni tanto si fa backpropagation (vedere le conferenze di Andrew Ng) per migliorare i filtri di convoluzione nella rete. Fondamentalmente, backpropagation chiede "cosa ha fatto la classificazione della rete in modo corretto/errato? Per le cose misclassificate, sistemiamo un po 'la rete."
Attuazione
Caffe è un'implementazione molto veloce open-source (più veloce di cuda-convnet da Krizhevsky et al) di profonde reti neurali convoluzionali. Il codice Caffe è piuttosto facile da leggere; c'è fondamentalmente un file C++ per tipo di livello di rete (ad esempio strati convoluzionali, strati di pooling massimo, ecc.).
Vedere questa risposta su Cross Validated: http://stats.stackexchange.com/a/41201/14673 –
Questa domanda appartiene alla convalida incrociata http://stats.stackexchange.com/questions/41029/restricted-boltzmann- macchine-per-la regressione/41201 # 41201 – lejlot