Les frameworks de Machine et de Deep Learning sont très à la mode cet hiver. Voyons un peu quelles sont les tendances du moment.
Tensorflow, de Google (www. tensorflow.org/) semble être le framework le plus utilisé pour créer des réseaux de neurones et s’adonner au Machine Learning.
IA, ML & co
Même si le ML (Machine Learning) n’est qu’une modeste branche de l’IA (Intelligence artificielle), ses applications et implications dans notre vie quotidienne sont de plus en plus nombreuses. Le ML, le DL (Deep Learning) et leur « cousin » le Big Data sont prisés dans de nombreux domaines de l’industrie. Ces algorithmes donnent la possibilité de traiter de très importants volumes de données structurées ou non afin de les transformer en informations exploitables : prédictions, décisions, suggestions et autres « divinations ».
Des fournisseurs de contenus comme Netflix utilisent le Machine Learning pour recommander du contenu à ses utilisateurs. Les sites commerciaux tels que Amazon y ont recours pour suggérer de nouveaux produits à leurs clients. Si vous souhaitez créer des outils de ce genre pour exploiter des données, vous aurez forcément besoin d’un framework de Machine Learning qui vous aidera à créer vos propres graphes d’analyse.
Il ne faut pas oublier qu’un algorithme de Machine Learning est une fonction mathématique – de type statistique – qui traite les données qu’elle reçoit et délivre une solution. Un graphe de calcul n’est au final qu’une représentation visuelle de cette fonction. Il permet généralement de comprendre de quelle manière ces données ont été traitées par les algorithmes.
Algorithmes statiques et dynamiques
Il existe deux grandes catégories de graphes et surtout d’algorithmes : les graphes statiques et les dynamiques. Les frameworks utilisant des graphes statiques tels que TensorFlow poussent les développeurs à créer des structures fixes et réutilisables. Les graphes statiques peuvent être vus comme une partie du langage de programmation, ce qui facilite grandement la parallélisation des tâches sur plusieurs machines. Les frameworks qui utilisent des algorithmes dynamiques – par exemple PyTorch – se basent sur un graphe de calcul défini implicitement comme capable de changer.
Le calcul est par conséquent plus flexible mais aussi plus facile à débugger, ce qui est loin d’être négligeable. C’est sans doute pour cela que les graphes dynamiques sont très bien adaptés à la création de réseaux de neurones.