Intelligence artificielle : La différence entre Machine Learning & Deep Learning
par Myriam Emilion - Marketing Manager - Jedha Bootcamp
Machine Learning & Deep Learning sont devenus des termes extrêmement utilisés, avec des applications toujours plus nombreuses. Expliquons aujourd'hui la différence entre ces 2 sous-domaines de l'Intelligence Artificielle qui font couler tant d'encre.
Lorsque l'on parle de Deep Learning, nous parlons d'algorithmes capables de mimer les actions du cerveau humain grâce à des réseaux de neurones, d'où le terme d'Intelligence Artificielle. Il est souvent expliqué que la différence entre Machine Learning et Deep Learning réside dans le fait que les algorithmes de Machine Learning vont traiter des données quantitatives et structurées (des valeurs numériques), lorsque ceux de Deep Learning traiteront des données non-structurées, comme le son, le texte, l'image. Ceci étant vrai, nous expliquons ici ce pourquoi cette différence est réelle : la notion de "Feature Extraction".
Le feature extraction dans le Machine Learning
En Machine Learning classique, lorsque vous travaillez sur un cas tel que la prédiction d'achat (savoir si mon prospect va acheter ou non ce produit), le Data Scientist va lui même faire un choix, et extraire la donnée qui va influer sur la prédiction : les variables. En l'occurrence pour notre exemple sur l'achat, nos variables pourraient être l'âge de la personne, son sexe, son revenu etc.
Ce sont ces éléments qui lui permettront de savoir si une personne va acheter ou non le produit. En d'autres termes, ce sont sur ces variables que le Data Scientist va entraîner son algorithme.
C'est ce que l'on appelle le Feature Extraction revient à sélectionner les variables avec lesquelles l'équipe Data va travailler.
Pas de feature extraction en Deep Learning
En Deep Learning, souvent, il n'est pas possible de faire de Feature Extraction, et même, vous n'avez pas à en faire.
Pourquoi ? En Deep Learning, nous traitons souvent des données non-structurées : des images, du son, du texte, etc. Lorsque vous avez une image, vous n'allez pas pouvoir extraire l'élément qui va être prédicteur : il est bien entendu impossible pour nous en tant qu'humain de sélectionner à la main tous les pixels de chaque image appartenant au chien ou au chat (l'exemple classique de reconnaître si sur une image est représenté un chat ou un chien). Dans ce cadre, on n'a donc pas besoin de Feature Extraction.
L'algorithme va être entrainé pour sortir lui-même les éléments influents dans la prédiction que vous souhaitez réaliser.
On distingue 2 des types d'algorithmes :
- Des réseaux de neurones convolutionnels qui sont utilisés par exemple pour le traitement d'images.
- Nous avons également des réseaux de neurones récursifs pour le traitement de texte.
Si vous souhaitez en savoir plus sur chaque type de réseaux de neurones, intéressez vous à la chaîne Youtube 3Blue 1Brown qui vous expliquera dans les détails ces catégories de réseaux de neurones et leurs fonctionnements.
Là est l'explication pour la différence entre Machine Learning et Deep Learning. D'un côté vous allez choisir les données avec lesquelles votre algorithme va être entraîné, selon les variables souhaitées, de l'autre côté, en Deep Learning, vous allez devoir les mettre dans votre algorithme de manière brut. Mais dans ce cas là, pourquoi ne pas faire que du Deep Learning ?
Les limites du Deep Learning
Puissance de calcul
On se souvient de l'architecture d'un réseau de neurones. Une couche d'entrée, des couches cachées puis une couche de sortie. Pour avoir un algorithme performant, vous aurez besoin d'un algorithme très "profond".
Schéma d'un réseau de neurones
Pour exemple, les algorithmes pré-entraînés de Google ou Facebook comptent en général entre 1000 et 2500 couches, telle est la complexité de ces algorithmes mais également de leur précision. Pour les entraîner, vous allez avoir besoin de beaucoup de puissance calculatoire : sur votre ordinateur personnel par exemple, cela prendrait trop de temps d'entraîner votre algorithme. La quantité de données peut être une contrainte.
Les algorithmes de Deep Learning nécessitent un volume important de données
Nous rejoignons ici des problématiques Big Data. Prenons 2 exemples sur les applications du Deep Learning.
Si vous souhaitez réaliser une classification (catégoriser des images de chiens et de chats par exemple), vous pourrez ne prendre "que" 10000 images pour avoir un algorithme performant. Ce qui reste important ! Maintenant, si vous souhaitez - non plus seulement catégoriser ces images - mais reconnaître dans ces images un élément donné, nous parlons de détection d'objets, cela vous demandera beaucoup plus de données.
Facebook utilise beaucoup ces algorithmes pour reconnaître les visages dans les photos. Il vous faudra alors bien plus d'images pour que votre algorithme comprenne comment bien les détourer, 100 000, 1 million d'images.
Ce sont ces 2 éléments qui sont à prendre en compte pour utiliser du Deep Learning dans votre projet Data : la puissance de calcul de vos machines et/ou le volume de données dont vous disposez.
Ces 2 contraintes constituent aussi des coûts plus importants.
Une explicabilité difficile
Le Deep Learning est un sous-domaine du Machine Learning associé à la performance : il reste très complexe d'expliquer comment un algorithme arrive au résultat. Une possibilité est de "couper" une couche de votre algorithme au milieu pour en étudier la sortie. Mais il n'est pas aussi simple que dans des algorithmes de Machine Learning classique de savoir comment fonctionne exactement un algorithme de Deep Learning. Des contraintes légales pourraient donc surgir. Dans certains domaines (finance, banque etc.), les professionnels ont un devoir d'explicabilité de l'algorithme : il est ainsi contraignant de mettre en place de tels algorithmes.
En somme, nous aurons compris que la réelle différence entre Machine Learning et Deep Learning est contenue dans la possibilité ou l'impossibilité de faire du Feature Extraction, c'est-à-dire choisir les variables déterminantes d'une prédiction. Le Deep Learning peut donc poser des problèmes lorsque l'on est confronté à un Dataset de taille insuffisante, ou que la puissance de calcul des machines utilisées est trop faible. Les fortes performances d'un algorithme de Deep Learning sont également rattrapées par la difficulté à expliquer son fonctionnement de manière précise, engendrant des problèmes qui sortent du cadre du traitement de la donnée : des problèmes légaux, voire éthiques.
Article réalisé par Myriam Emilion - Marketing Manager - Jedha Bootcamp
Et n'oublions pas non plus que l'IA, ce n'est pas que l'apprentissage à partir de données. C'est aussi le raisonnement, la prise de décision, la planification, le traitement du langage naturel, etc.
Enfin, en ce qui concerne la "feature extraction", elle existe aussi dans les "réseaux de neurones convolutionnels" présentés dans cet article, quand le Data Scientist, choisit quel "cablage" adopter dans la couche de convolution (qui fait de l'extraction).