Les chercheurs utilisent la différenciation automatique et d'autres techniques pour rendre l'apprentissage en profondeur plus rapide et plus simple. Crédit :Université Purdue
Les systèmes d'intelligence artificielle basés sur l'apprentissage en profondeur changent les appareils électroniques qui nous entourent.
Le résultat de cet apprentissage en profondeur est quelque chose que l'on voit chaque fois qu'un ordinateur comprend notre discours, nous recherchons une photo d'un ami ou nous voyons une annonce placée de manière appropriée. Mais l'apprentissage en profondeur lui-même nécessite d'énormes grappes d'ordinateurs et des courses d'une semaine.
« Les méthodes développées par notre équipe internationale réduiront ce fardeau, " a déclaré Jeffrey Mark Siskind, professeur de génie électrique et informatique au Collège d'ingénierie de Purdue. "Nos méthodes permettent aux personnes disposant d'ordinateurs plus modestes de faire le type d'apprentissage en profondeur qui nécessitait auparavant des clusters de plusieurs millions de dollars, et permettre aux programmeurs d'écrire des programmes en heures, ce qui nécessitait des mois auparavant."
L'apprentissage en profondeur utilise un type particulier de calcul en son cœur :une technique intelligente, appelée différenciation automatique (DA) en mode d'accumulation inversée, pour calculer efficacement comment les ajustements d'un grand nombre de contrôles affecteront un résultat.
"Des systèmes logiciels sophistiqués et de gigantesques grappes d'ordinateurs ont été construits pour effectuer ce calcul particulier, " dit Barak Pearlmutter, professeur d'informatique à l'Université Maynooth en Irlande, et l'autre principal de cette collaboration. "Ces systèmes sous-tendent une grande partie de l'IA dans la société :la reconnaissance vocale, recherche Internet, compréhension de l'image, reconnaissance de visage, la traduction automatique et le placement de publicités."
Une limitation majeure de ces systèmes d'apprentissage en profondeur est qu'ils prennent en charge ce calcul AD particulier de manière très rigide.
"Ces systèmes ne fonctionnent que sur des types de programmes informatiques très restreints :ceux qui consomment des nombres à leur entrée, effectuer les mêmes opérations numériques sur eux quelles que soient leurs valeurs, et sortir les nombres résultants, " dit Siskind.
Les chercheurs ont déclaré qu'une autre limitation est que l'opération AD nécessite une grande quantité de mémoire informatique. Ces restrictions limitent la taille et la sophistication des systèmes d'apprentissage en profondeur qui peuvent être construits. Par exemple, ils rendent difficile la construction d'un système d'apprentissage en profondeur qui effectue une quantité variable de calculs en fonction de la difficulté de l'entrée particulière, celui qui essaie d'anticiper les actions d'un utilisateur adaptatif intelligent, ou celui qui produit comme sortie un programme informatique.
Siskind a déclaré que la collaboration visait à lever ces restrictions.
Une série d'innovations permet non seulement l'AD en mode inverse, mais d'autres modes d'AD, être utilisé efficacement ; pour que ces opérations soient cascadées, et appliqué non seulement à des calculs rigides mais aussi à des programmes informatiques arbitraires; pour augmenter l'efficacité de ces processus; et pour réduire considérablement la quantité de mémoire informatique requise.
"Habituellement, ce genre de gains se fait au prix d'une augmentation du fardeau des programmeurs informatiques, " dit Siskind. " Tiens, les techniques développées permettent cette flexibilité et cette efficacité accrues tout en réduisant considérablement le travail que les programmeurs informatiques qui construisent des systèmes d'IA devront faire. »
Par exemple, une technique appelée "checkpoint reverse AD" pour réduire les besoins en mémoire était auparavant connue, mais ne pouvait être appliqué que dans des contextes limités, était très encombrant, et a nécessité beaucoup de travail supplémentaire de la part des programmeurs informatiques qui construisent les systèmes d'apprentissage en profondeur.
Une méthode développée par l'équipe permet de réduire les besoins en mémoire à appliquer à n'importe quel programme informatique, et ne nécessite aucun travail supplémentaire de la part des programmeurs informatiques qui construisent les systèmes d'IA.
"La réduction massive de RAM requise pour la formation des systèmes d'IA devrait permettre de construire des systèmes plus sophistiqués, et devrait permettre l'apprentissage automatique sur des machines plus petites - des téléphones intelligents au lieu d'énormes grappes d'ordinateurs, " dit Siskind.
Dans son ensemble, cette technologie a le potentiel de rendre beaucoup plus facile la création de systèmes d'IA sophistiqués basés sur l'apprentissage en profondeur.
"Ces avancées théoriques sont intégrées dans une implémentation complète très efficace qui s'exécute à la fois sur les processeurs et les GPU et prend en charge une large gamme de composants standard utilisés pour créer des modèles d'apprentissage en profondeur, " dit Siskind.