Guida pratica per il deep learning

Questo documento ti aiuta ad addestrare modelli di deep learning in modo più efficace. Anche se questo documento pone l'accento sull'ottimizzazione degli iperparametri, affronta anche altri aspetti dell'addestramento del deep learning, come l'implementazione e l'ottimizzazione della pipeline di addestramento.

Questo documento presuppone che l'attività di machine learning sia un problema di apprendimento supervisionato o un problema simile (ad esempio, apprendimento autogestito). Pertanto, alcuni dei consigli in questo documento possono essere applicati anche ad altri tipi di problemi di machine learning.

Pubblico di destinazione

Questo documento è rivolto a ingegneri e ricercatori che abbiano almeno una conoscenza di base del machine learning e del deep learning. Se non disponi di questa formazione, ti consigliamo di seguire il corso per arresti anomali del machine learning.

Perché abbiamo scritto questo documento?

Attualmente, c'è una sorprendente quantità di lavoro manuale e congettura nel campo efficace delle reti neurali per funzionare bene. Ancora peggio, le ricette effettive che le persone usano per ottenere buoni risultati con il deep learning sono raramente documentate. Gli articoli parlano del processo che ha portato ai risultati finali per presentare una storia più pulita e gli ingegneri del machine learning che lavorano ai problemi commerciali hanno poco tempo per fare un passo indietro e generalizzare il loro processo. I libri di testo tendono a evitare indicazioni pratiche e danno priorità ai principi fondamentali, anche se gli autori hanno l'esperienza necessaria nel lavoro applicato per fornire consigli utili.

Durante la preparazione alla creazione di questo documento, non siamo riusciti a trovare alcun tentativo completo di spiegare in realtà come ottenere buoni risultati con il deep learning. Invece, abbiamo trovato snippet di consigli nei post dei blog e sui social media, trucchi che spuntano dall'appendice di articoli, studi occasionali su un progetto o una pipeline in particolare e molta confusione. Esiste un enorme golfo tra i risultati ottenuti da esperti di deep learning e professionisti meno qualificati che utilizzano metodi simili dal punto di vista tecnico. Tuttavia, gli esperti ammettono prontamente che alcune delle loro azioni potrebbero non essere giustificate. Man mano che il deep learning mature e ha un impatto maggiore sul mondo, la community ha bisogno di più risorse per coprire ricette utili, inclusi tutti i dettagli pratici che possono essere fondamentali per ottenere buoni risultati.

Siamo un team di cinque ricercatori e ingegneri che hanno lavorato nel deep learning per molti anni, alcuni dei quali sono dal 2006. Abbiamo applicato il deep learning in ogni aspetto, dal riconoscimento vocale all'astronomia. Questo documento è nato da una nostra esperienza nell'addestramento di reti neurali, nell'insegnamento a nuovi ingegneri del machine learning e nella consulenza ai nostri colleghi sulla pratica del deep learning.

È stato gratificante vedere che il deep learning passa da un approccio di machine learning praticato da alcuni lab accademici a una tecnologia che supporta i prodotti utilizzati da miliardi di persone. Tuttavia, il deep learning è ancora agli inizi come disciplina ingegneristica e speriamo che questo documento incoraggi altri ad aiutare a sistematizzare i protocolli sperimentali del campo.

Questo documento è nato mentre cercavamo di cristallizzare il nostro approccio al deep learning, Pertanto, rappresenta le nostre opinioni al momento della stesura, non una sorta di verità oggettiva. Le nostre difficoltà con l'ottimizzazione degli iperparametri rendevano un obiettivo specifico la nostra guida, ma tratteremo anche altri problemi importanti che abbiamo riscontrato nel nostro lavoro (o che abbiamo riscontrato un problema). La nostra intenzione è che questo lavoro sia un documento vivente che cresce e si evolve con il cambiare delle nostre credenze. Ad esempio, il materiale su debug e mitigazione dei guasti di addestramento non ci sarebbe stato possibile due anni fa, perché si basa su risultati recenti e indagini in corso.

Inevitabilmente, alcuni dei nostri consigli dovranno essere aggiornati per tenere conto dei nuovi risultati e dei flussi di lavoro migliorati. Non conosciamo la ricetta per il deep learning ottimale, ma finché la community non inizia a scrivere e a discutere di procedure diverse, non possiamo sperare di trovarla. A tal fine, invitiamo i lettori che trovano problemi con il nostro consiglio di produrre consigli alternativi, e di dimostrare prove, in modo da poter aggiornare la guida pratica. Ci piacerebbe anche vedere guide alternative e playbook che potrebbero avere consigli diversi in modo da poter lavorare alle best practice come community.

Informazioni sull'emoji del robot

L'emoji robot 🤖 indica le aree in cui vorremmo effettuare altre ricerche. Solo dopo aver provato a scrivere questa guida pratica è diventato completamente chiaro quanti argomenti di ricerca interessanti e trascurati possono essere trovati nel flusso di lavoro dei professionisti del deep learning.