L’agriculture vit une profonde transformation. Ce bouleversement implique notamment d’intégrer de plus en plus les nouvelles technologies pour satisfaire à la fois une obligation de rendement, le respect des normes environnementales, les contraintes de pénibilité du travail et des problématiques de main-d'œuvre.
Sommaire 1. L’Intelligence Artificielle utilisée en agriculture, qu'est-ce que c'est ? 2. Le Machine Learning pour résoudre les problématiques agricoles |
Pour répondre à ces enjeux, l’Intelligence Artificielle a fait une entrée fracassante dans le monde agricole. Son apparition et sa démocratisation révolutionnent nos méthodes de travail et ouvrent de nouvelles perspectives.
Mais qu’entend-on exactement par Intelligence Artificielle ? Lorsque l’on parle IA, on évoque souvent d’autres termes comme Deep Learning ou Machine Learning. Ces deux appellations, couramment utilisées en analyse d'image, sont au cœur même de la surveillance des cultures ou des élevages.
Pour vous aider à y voir plus clair, voici une explication et une définition précise de chacun de ces termes.
Pour beaucoup d’entre nous, le terme d’Intelligence Artificielle (IA ou AI en anglais) reste vague. La CNIL définit d’ailleurs l’IA comme “le grand mythe de notre temps”. De leur côté, les initiés la désignent comme une branche de programmes informatiques capables d’une interprétation complexe de l’information.
Mais saviez-vous que l’Intelligence Artificielle n’est pas une notion aussi nouvelle qu’on pourrait le penser, car elle est apparue dès les années 50 ?
|
Nous pouvons cependant nous questionner sur la capacité des machines à interpréter des informations ainsi que sur leur niveau d’autonomie. Il est souvent difficile de décider à partir de quelle « complexité d'algorithme » on passe d’un « simple programme informatique » à une Intelligence Artificielle.
Le spectre des définitions de l’IA est très large et l’on y oppose régulièrement la notion « d’Intelligence Artificielle forte » (ou Strong AI - General AI) à celle « d’Intelligence Artificielle faible » (ou Weak AI - Narrow AI).
L’Intelligence Artificielle faible est une application des techniques de l’Intelligence Artificielle permettant à un système de reproduire, voire de surpasser, l’Intelligence humaine dans la réalisation d’une tâche précise.
L’Intelligence Artificielle forte est un système doté de connaissances et de capacités cognitives complètes, de sorte que ses performances sont indiscernables de celles d’un être humain. Bien que largement présent au grand écran - Wall-E, Terminator, Star Wars ou encore Matrix et Her - aucune crainte, un tel système n’a pas encore été développé à ce jour !
L’IA reste tout de même présente dans un grand nombre d’applications allant des premiers programmes jouant aux dames dans les années 50 aux projets de voitures autonomes actuels. Ces applications ne peuvent pas être uniquement définies comme IA faible ou IA forte, mais se situent plutôt à différents degrés d’autonomie.
Parmi les branches de l’IA, la plus importante est celle du « Machine Learning », que l’on peut traduire par apprentissage automatique. Cette approche est basée sur l’utilisation d’algorithmes permettant de lire des données d’entrée et d’apprendre de ces données (c’est-à-dire de trouver un modèle mathématique les représentants) dans le but de résoudre un problème précis. On cherche ici à recréer le raisonnement humain en s’adaptant aux nouvelles problématiques auxquelles il doit faire face et en utilisant au mieux ce qu’il a appris lors de sa confrontation à des situations similaires.
Le Machine Learning a pour objectif de répondre à des problématiques qui ne peuvent pas être résolues par une règle fixe. L’idée n’est plus seulement d’imiter la manière dont un humain se comporte, mais également d’imiter la manière dont il apprend. L’un des premiers cas pratiques impliquant du Machine Learning fut la création de filtres anti-spams. S’en est suivi la victoire de Deep Blue, superordinateur, contre Garry Kasparov, champion du monde d’échecs, en 1997.
Parmi les catégories d’applications les plus utilisées en Machine Learning on trouve entre autres :
La régression :
La classification :
On cherche ici à connaître à quelle « classe » une donnée peut être associée en la comparant aux classes des données utilisées lors de la phase d’apprentissage, par exemple la classification d’espèces animales.
Le clustering :
Contrairement à la classification, on se penche ici sur l’étude des similarités entre les données afin de les classer en groupes ayant des caractéristiques communes telles que des familles d’espèces : oiseaux, mammifères...
Au fil du temps, de nombreuses familles d’algorithmes répondant à ces catégories d’applications sont apparues : les « K plus proches voisins (k-nearest neighbors - KNN) », les machines à vecteur de support (SVM), l’apprentissage par arbres de décision ou encore les réseaux de neurones.
Comme vous l’aurez compris, les réseaux de neurones sont une famille d’algorithmes appartenant au Machine Learning. Un réseau de neurones artificiel s’inspire du fonctionnement du cerveau humain. Dans celui-ci, l’information se déplace sous forme de courant électrique à travers les neurones. Chacun étant connecté à d’autres neurones et capable de recevoir plusieurs signaux électriques de certains de ses « voisins » et d’envoyer un signal « interprété » à d’autres.
Au cœur d’un réseau de neurones artificiel, on trouve des objets informatiques appelés neurones artificiels, qui sont en fait de petites fonctions mathématiques connectées en couches.
Les neurones de la couche d’entrée n’ont pas d’action sur l’information, ils la transmettent simplement à la couche suivante, une couche cachée.
La couche de sortie récupère l’information de la dernière couche de neurone cachée et la restitue sous le format souhaité pour répondre à la problématique donnée.
Chaque couche cachée prend en entrée les sorties des neurones de la couche précédente et effectue une opération mathématique pondérée à l’aide de poids qui seront ajustés lors de la phase d’apprentissage.
Un réseau de neurones entraîné est le résultat d'entraînement d'un réseau vide de connaissance. Il contient l’ensemble des poids à appliquer aux couches cachées afin de minimiser l'erreur de prédiction sur la couche de sortie pour une problématique ciblée.
Les approches à base de réseaux de neurones ne sont pas récentes. Jusque dans les années 2000, les réseaux de neurones artificiels utilisés possédaient peu de neurones et peu de couches, car la puissance des calculateurs était limitée. Du fait de leurs performances médiocres, d’autres approches telles que le SVM, les « K plus proches voisins » et l’apprentissage par arbre de décision étaient alors privilégiées. Les années 2010 renversent la tendance avec un regain de popularité pour le Deep Learning.
Le Deep Learning consiste à entraîner et déployer des réseaux de neurones de plus en plus profonds et donc plus complexes.
Son utilisation s’est fortement démocratisée ces dernières années, grâce à une meilleure accessibilité des données - leur quantité permettant ainsi d’améliorer l’efficacité de l'entraînement des réseaux - et à la puissance de calcul des machines actuelles. En 2015, le Deep Learning a d’ailleurs été fortement médiatisé par la victoire d’Alpha Go, premier programme informatique ayant battu un joueur professionnel de jeu de go.
Aujourd’hui, tout le monde s'accorde à dire que l’utilisation du Deep Learning pour la détection et la classification d’objets dépasse de loin les autres techniques auparavant utilisées (KNN, SVM, approches colorimétriques, techniques de traitement de signal...) tout en ayant des résultats remarquables.
Parmi les domaines boostés par l’utilisation du Deep Learning, on trouve la vision par ordinateur. Allant de la retouche d’image à la reconnaissance faciale, l’analyse d’image à base de réseaux de neurones profonds fait aujourd’hui partie de notre quotidien.
Plus que des réseaux de neurones profonds, on parle très souvent, en analyse d’image, de réseaux de neurones convolutifs « Convolutional Neural Network » ou CNN. L'image, représentée par ses pixels, constitue une des observations d'entrée utilisée lors de l'apprentissage du modèle de données final.
En complément des couches retrouvées sur les réseaux de neurones utilisés en Machine Learning classique, les CNN comprennent plusieurs couches de traitement telles que :
Parmi les catégories d’applications les plus utilisées de ces réseaux convolutifs, on trouve de la classification d’image et de la détection et segmentation d’objets.
Pour résumer, le Deep Learning permet aujourd'hui une multitude d'applications pratiques de l’IA. En agriculture, le recours à l’Intelligence Artificielle et à la vision par ordinateur consiste principalement à la surveillance et la détection de menaces et d’opportunités que l'on peut classer en 3 catégories :
L’Intelligence Artificielle, en partie grâce au Deep Learning, s'inscrit petit à petit dans le paysage agricole où le nombre de cas pratiques devrait continuer de s’intensifier.
Rassurez-vous ! Non, l’IA forte, pilotant nos exploitations agricoles et remplaçant nos agriculteurs, n'est pas pour demain !