La vraie différence entre Machine Learning & Deep Learning
2
 min
Monter en compétence
 Publié le 
8/1/2020

La vraie différence entre Machine Learning & Deep Learning

Machine Learning & Deep Learning sont devenus des termes extrêmement utilisés dans le cadre de nos activités, avec des applications toujours plus nombreuses. 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 : le 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’occurence 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 : 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 cette mesure, 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.

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. 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 ».

réseau de neurones
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 ses 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 contrainte de la quantité de données.

Les algorithmes de Deep Learning nécessitent un volume important de données

Nous rejoignons des problématiques Big Data ici. 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 calculatrice de vos machines et/ou le volume de données que vous avez.

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, de choisir les variables déterminantes d’une prédiction. Dans cette mesure, le Deep Learning peut poser des problèmes lorsque l’on est confronté à un Dataset de taille non-suffisante, ou que la puissance calculatoire 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.

Richard Gastard
Écrit par
Richard Gastard
 - 
Directeur des programmes
 @
Jedha Bootcamp

Obtenez notre manuel
d'introduction pratique à Python

Découvrez toutes les applications du langage de programmation le plus populaire

Testez-vous avec notre quizz !

Des compétences toujours plus recherchées par les recruteurs : évaluer votre niveau actuel en programmation !

Programmes, thématiques Data, admissions,
vous avez une question ?

Prenez rendez-vous avec nos équipes
pattern purple

Découvrez JULIE

la plateforme d’apprentissage
en ligne de Jedha !
Aller sur JULIE
JULIE desktop interface
JULIE mobile interface