Les technos data de 2020

Cover

Les technos data de 2020

Share on twitter
Share on linkedin
Share on pinterest
Share on reddit
Share on pocket
Share on email

Cette année, vous verrez certaines technologies se confirmer comme étant essentielles dans l’environnement data, d’autres arriver à maturité, et enfin des nouvelles technos qui seront là pour aborder des nouvelles problématiques business. Vous trouverez dans cet article un aperçu de ces technologies ainsi que quelques conseils pour vous les approprier.

Machine learning: AutoML

L’approche autoML est une tendance qui prend de plus en plus de force parmi les data scientists. Il s’agit d’un progrès concernant l’IA : en effet, c’est le modèle lui-même qui se construit, dans le sens où il décide, entre autres, des meilleurs paramètres pour l’apprentissage. Avec l’autoML, plusieurs étapes peuvent être automatiques :

  • le choix du format des données input ;
  • l’objectif d’apprentissage, c’est-à-dire la fonction à optimiser ;
  • l’architecture du modèle, par exemple le nombre de couches de neurones dans un réseau neuronal ;
  • l’optimisation d’hyperparamètres.

Une des raisons pour lesquelles l’AutoML est considérée comme une technologie émergente est le fait qu’elle peut être abordée sans avoir un support financier important. L’investissement économique est moindre car, par définition, ce type de stratégie réutilise d’autres sources de connaissances acquises ou développées précédemment.

Concernant les solutions dans le cloud, vous avez également le choix entre les géants Microsoft (Microsoft Automated Machine Learning), Amazon (Amazon Sagemaker Automatic Model Tuning) ainsi que Google (Google AutoML).

Enfin, essayez une option open source comme Auto-sklearn, capable de lancer des méta-apprentissages pour extraire les meilleures caractéristiques d’un ensemble de données, de choisir le type de problème à optimiser (classification ou régression), le nombre de classes, etc.

Machine learning: Transfer Learning

Dans le même sens que l’AutoML, le Transfer Learning, ou apprentissage par transfer, est un type d’apprentissage profond qui utilise des modèles, déjà entrainés au préalable pour des problématiques sensiblement différentes, qui seront modifiés pour les rendre tout aussi efficaces pour le nouvel objectif souhaité.

Prenons par exemple un réseau de neurones qui a été entraîné pour classifier un certain type de panneau de circulation. Utilisant la même structure (nombre de couches neuronales, poids de chaque connexion entre neurones), le Transfer Learning permet de transférer la connaissance de l’ancien panneau vers le nouveau.

Le Transfer Learning peut être utile dans un contexte où les données sont trop restreintes.

Des entreprises importantes dans le domaine de l’IA comme DeepMind montrent ouvertement leur enthousiasme concernant le Transfer Learning. Pour certains, la clé de la réussite du Transfer Learning sera sa capacité à se procurer de nouvelles connaissances conceptuelles indépendantes du contexte dans lequel elles sont extraites.

Technos pour le deep learning

Certaines technologies déjà utilisées devraient être plus matures et largement utilisées à partir de 2020. C’est le cas de Chainer, un framework pour le deep learning basé en python, qui est optimisé pour les GPU et pour pouvoir ainsi traiter des gros volumes de données avec beaucoup de performance. Il dispose d’un grand niveau d’abstraction concernant le format des données.

De même, il y a MXNet, un projet open source dont l’objectif est de proposer un framework pour la recherche scientifique, dans lequel il sera possible de pouvoir réaliser des prototypes très rapidement.

Enfin, concernant les solutions open source, vous pouvez essayer fastai, qui simplifie le processus d’apprentissage utilisant PyTorch. La communauté de développeurs est très active et les mises à jour avec des nouvelles fonctionnalités arrivent très fréquemment.

En ce qui concerne les technologies déjà matures qui vont se confirmer comme étant essentielles, vous aurez :

  • TensorFlow, la librairie de Google, qui combine la puissance d’une énorme communauté de développeurs,  l’intégration avec la plupart des formats de données et la robustesse industrielle, puisqu’elle est utilisée dans des nombreux projets professionnels ;
  • Apache Spark, avec lequel vous pouvez développer des modèles de deep learning avec très peu de lignes de code ;
  • Keras, construit sur une base de TensorFlow mais dont l’objectif est d’en simplifier l’utilisation ; il est orienté pour les débutants, mais a toute la puissance de Tensorflow.
  • Ou encore Microsoft Cognitive Toolkit ou PyTorch.

Connaissances à base de graphes

L’utilisation de données sous forme de graphes a un intérêt énorme pour la communauté IA et des efforts sont fait dans ce sens depuis des années. Les problématiques business sont de plus en plus complexes et dépendent de nombreuses variables liées entre elles. De même, pour l’exploitation d’une base de données, où l’on veut voir apparaître des informations globales impliquant beaucoup de facteurs en même temps. La modélisation naturelle de ce type de problème est le graphe. Imaginez, par exemple, des projets sur l’analyse de la fraude dans les réseaux sociaux, ou l’optimisation d’une chaîne de production.

Du point de vue pratique, les bases de données de graphes les plus connues sont TigerGraph, AllegroGraph, GraphDB et Neo4j, qui sont disponibles dans AWS. Pour les exploiter, vous pouvez utiliser Spark avec le module Spark SQL Dataframes, qui utilise le modèle Property Graph.