Credito:Patrick Dockens/Creative Commons
I ricercatori della North Carolina State University hanno sviluppato una tecnica che riduce i tempi di formazione per le reti di deep learning di oltre il 60% senza sacrificare la precisione, accelerare lo sviluppo di nuove applicazioni di intelligenza artificiale (AI).
"Le reti di deep learning sono al centro delle applicazioni di intelligenza artificiale utilizzate in tutto, dalle auto a guida autonoma alle tecnologie di visione artificiale, "dice Xipeng Shen, un professore di informatica presso la NC State e coautore di un documento sul lavoro.
"Una delle maggiori sfide che deve affrontare lo sviluppo di nuovi strumenti di intelligenza artificiale è la quantità di tempo e la potenza di calcolo necessari per addestrare le reti di deep learning per identificare e rispondere ai modelli di dati rilevanti per le loro applicazioni. Abbiamo creato un modo per accelerare quel processo, che chiamiamo Adaptive Deep Reuse. Abbiamo dimostrato che può ridurre i tempi di allenamento fino al 69 percento senza perdita di precisione".
L'addestramento di una rete di deep learning comporta la suddivisione di un campione di dati in blocchi di punti dati consecutivi. Pensa a una rete progettata per determinare se c'è un pedone in una determinata immagine. Il processo inizia dividendo un'immagine digitale in blocchi di pixel adiacenti l'uno all'altro. Ogni blocco di dati viene eseguito attraverso una serie di filtri computazionali. I risultati vengono quindi sottoposti a una seconda serie di filtri. Questo continua in modo iterativo fino a quando tutti i dati sono stati eseguiti attraverso tutti i filtri, consentendo alla rete di giungere a una conclusione sul campione di dati.
Quando questo processo è stato eseguito per ogni campione di dati in un set di dati, quella si chiama epoca. Per mettere a punto una rete di deep learning, la rete probabilmente passerà attraverso lo stesso set di dati per centinaia di epoche. E molti set di dati sono costituiti da decine di migliaia e milioni di campioni di dati. Molte iterazioni di molti filtri applicati a molti dati significano che l'addestramento di una rete di deep learning richiede molta potenza di calcolo.
Il momento decisivo per il team di ricerca di Shen è arrivato quando si è reso conto che molti dei blocchi di dati in un set di dati sono simili tra loro. Per esempio, una porzione di cielo blu in un'immagine può essere simile a una porzione di cielo blu in un altro punto della stessa immagine oa una porzione di cielo in un'altra immagine nello stesso set di dati.
Riconoscendo questi blocchi di dati simili, una rete di deep learning potrebbe applicare filtri a un blocco di dati e applicare i risultati a tutti i blocchi di dati simili nello stesso set, risparmiando molta potenza di calcolo.
"Non solo siamo stati in grado di dimostrare che queste somiglianze esistono, ma che possiamo trovare queste somiglianze per i risultati intermedi in ogni fase del processo, "dice Lin Ning, un dottorato di ricerca studente presso NC State e autore principale del documento. "E siamo stati in grado di massimizzare questa efficienza applicando un metodo chiamato hashing sensibile alla località".
Ma questo solleva due ulteriori domande. Quanto dovrebbe essere grande ogni blocco di dati? E quale soglia devono soddisfare i blocchi di dati per essere considerati "simili"?
I ricercatori hanno scoperto che l'approccio più efficiente era iniziare osservando blocchi di dati relativamente grandi utilizzando una soglia relativamente bassa per determinare la somiglianza. In epoche successive, i blocchi di dati diventano più piccoli e la soglia di somiglianza più rigorosa, migliorare la precisione della rete di deep learning. I ricercatori hanno progettato un algoritmo adattivo che implementa automaticamente questi cambiamenti incrementali durante il processo di formazione.
Per valutare la loro nuova tecnica, i ricercatori lo hanno testato utilizzando tre reti di deep learning e set di dati ampiamente utilizzati come banchi di prova dai ricercatori di deep learning:CifarNet utilizzando Cifar10; AlexNet utilizzando ImageNet; e VGG-19 utilizzando ImageNet.
Adaptive Deep Reuse ha ridotto il tempo di formazione per AlexNet del 69%; per VGG-19 del 68 percento; e per CifarNet del 63%, il tutto senza perdita di precisione.
"Questo dimostra che la tecnica riduce drasticamente i tempi di allenamento, "dice Hui Guan, un dottorato di ricerca studente presso NC State e co-autore del documento. "Indica anche che più grande è la rete, più Adaptive Deep Reuse è in grado di ridurre i tempi di formazione, poiché AlexNet e VGG-19 sono entrambi sostanzialmente più grandi di CifarNet."
"Pensiamo che Adaptive Deep Reuse sia uno strumento prezioso, e non vediamo l'ora di lavorare con l'industria e i partner di ricerca per dimostrare come può essere utilizzato per far progredire l'IA, " dice Shen.
La carta, "Adaptive Deep Reuse:accelerare l'addestramento della CNN al volo, " sarà presentato alla 35th IEEE International Conference on Data Engineering, che si terrà dall'8 all'11 aprile a Macao SAR, Cina.