Qui va gagner? ;) (je plaisante, ce n’est pas une compétition)

Chats vs chiens utilisant l'IA

Avez-vous déjà entendu la phrase "Il pleut des chats et des chiens!"? Si tel est le cas, vous avez probablement accepté le fait qu’il s’agit simplement d’une phrase et rien de plus. C'est de l'eau qui coule à l'extérieur, pas des animaux adorables.

Mais que se passe-t-il si ce n’est pas juste une phrase? Je suis sûr que vous courriez (ou du moins je le ferais) à la fenêtre pour observer la variété d’animaux. Chats persans, bouledogues, labradors dorés, chats munchkin (oui, c’est un vrai nom, ne m’attaque pas), boucles américaines et plus encore.

Soyons réels. Parfois, vous ne pouvez pas dire quel chat ou quel chien est lequel, mais cela ne veut pas dire que vous ne les aimez pas autant.

Mais… devinez quoi?
Connaissez-vous les ordinateurs, ces choses vraiment cool qui facilitent notre vie 1000x? Les ordinateurs ne peuvent pas distinguer les chats de DOGS, encore moins les types. Ils ne peuvent pas les différencier naturellement, au moins.

Cependant… peut-être que nous pourrions les aider. Je sais avec quoi nous pourrions les aider (et vous le savez probablement aussi)! Conseil très subtil: c’est dans le titre.

Maintenant, qu'est-ce que l'IA? L'intelligence artificielle, ou IA, est la théorie et le développement de systèmes informatiques capables de réaliser des tâches nécessitant normalement une intelligence humaine, telles que la perception visuelle, la reconnaissance de la parole, la prise de décision et la traduction entre les langues. C’est une industrie en pleine croissance.

Mais concentrons-nous sur une partie spécifique. Réseaux de neurones convolutionnels.

Réseaux de neurones convolutifs

Les réseaux de neurones convolutifs ou CNN classent essentiellement les images. Parfait, non? Pour une fois, je ne dirai pas non.

Ok, c'était plutôt vague. Laissez-moi vous expliquer plus en profondeur.

Les réseaux de convolution sont un type de réseau de neurones. Ils classent les images en étant «formés». Voici une photo montrant comment ils fonctionnent!

Premièrement, il y a la couche d'entrée. Ceci est l'image réelle. Ensuite, nous le passons à travers la couche convolutionnelle, puis nous le mettons à travers la couche de pooling maximum. La couche convolutive est celle où ils "numérisent" des lots de l’image et les simplifient.

La couche de regroupement maximal est l'endroit où la machine divise l'image en quatre carrés et conserve la plus grande valeur dans chaque carré, simplifiant ainsi l'image. Ensuite, nous répétons cela une fois de plus. Après cela, ces couches sont aplaties et classées.

Cela a l'air cool, non? Mais je suis sûr que la plupart d’entre vous veulent savoir comment coder ceci. Je ne reproduirai pas le didacticiel exact ici, car il en existe déjà un, et à mon avis, s’il en existe déjà un qui est inutile.

Si vous envisagez de le suivre, le lien est ci-dessus, il sera ouvert lorsque vous cliquerez sur "tutoriel exact". Aussi PSA: Le jeu de données correspondant est sur Kaggle. Ne vous torturez pas en essayant de le trouver.

L'algorithme (les étapes)

Je vais parler de l’algorithme! (Oui, le codage par glisser / déposer a-t-il une utilité, sauf pour torturer des enfants innocents?) Haha, j'ai ma blague? Non? C'est bon.

Tout d'abord, j'ai commencé par définir toutes les valeurs. Lorsque j’ai fait cela, j’ai apporté et défini la taille de l’image, les modèles de test et de formation, ainsi que le taux d’apprentissage de la machine. J'ai également importé la technologie que j'utiliserais (tqdm) et les fonctionnalités dont j'avais besoin.

Deuxièmement, j'ai créé une fonction pour que, lorsque les images entraînées sont passées, l'ordinateur sache laquelle est laquelle et lesquelles les sépare.

Ensuite, j'ai construit des fonctions pour traiter les images pour la formation. C’est pour s’assurer que, une fois les images passées, elles ne resteraient pas au même endroit et qu’elles seraient effectivement traitées.

Après cela, j'ai créé une fonction pour traiter les données de test. Ce sont les données que je voudrais tester la précision de mon CNN avec!

Ensuite, j'ai suivi la formation pour tester ma machine. Note latérale: Cela aide vraiment si vous avez TQDM. Vous pouvez voir à quel point il est avec la formation et vous ne devez pas attendre aveuglément. (Non, je n’ai pas eu de parrainage (je souhaite)!)

D'accord, tout était donc juste pour l'intro et le prétraitement. Entrons maintenant dans les vraies choses (je plaisante, ces choses étaient aussi réelles).

Maintenant, nous construisons et formons le réseau de neurones actuel.

Tout d'abord, je crée un réseau de neurones convolutionnels à 2 couches. C'est assez explicite, mais il y a des couches d'entrée et de sortie (yay).

Ensuite, vous créez une instruction if qui vous permet d’enregistrer automatiquement le modèle une fois votre séance d’entraînement terminée, car nous ne voulons pas perdre les données et les résultats.

Après cela, c’est assez facile. Essentiellement, vous entraînez votre modèle plusieurs fois jusqu'à ce que sa précision soit supérieure, puis vous pouvez le tester sur des valeurs dont il ne connaît pas la véritable identité. Cool, non?

Une application fascinante

Comme vous pouvez le constater, c'était un peu compliqué. Heureusement, cela a tellement d’applications intéressantes (sinon je n’en parlerais pas si haut ’).

Un article que vous pourrez peut-être lire prochainement parle de la différenciation des cellules sénescentes des autres cellules. Pour citer mon dernier article sur l'IA,

"Ceci est un énorme problème. Les cellules sénescentes sont des cellules «zombies» qui parcourent votre corps (mieux décrites comme des cellules qui se trouvent dans l'état entre mort et vivant). Ils ont également un impact important sur le vieillissement et n’ont aucun biomarqueur spécifique.

Selon Google (notre sauveur constant), les biomarqueurs sont: une substance mesurable dans un organisme et dont la présence est révélatrice d'un phénomène tel que la maladie, l'infection ou l'exposition environnementale. Les cellules sénescentes ont un arrêt de croissance et une hypertrophie (parfois au point de doubler leur taille) comme le leur.

Nous pourrions utiliser un réseau de neurones de convolution pour analyser leurs caractéristiques et différencier les cellules sénescentes des autres cellules.

Une autre chose que nous pourrions faire avec CNN est le traitement du langage naturel. Ils peuvent effectuer beaucoup de choses telles que l'analyse des sentiments. Ils analysent le texte, ses sentiments et ses intentions, puis testent son modèle avec des données non marquées (pour eux).

Il y a tellement de choses intéressantes que nous pourrions faire avec CNN et l'IA en général, soyez à l'affût des développements intéressants (voitures autonomes, ça vous tente?).

Clés à emporter

  • Grâce à CNN, nous pouvons classer les images.
  • Pour l'essayer, j'ai suivi un tutoriel et classé les chats et les chiens.
  • C'est la première étape de certaines choses sérieusement cool. Il y a tellement d'applications fascinantes de l'IA, c'est fou!

Merci d'avoir lu mon article! Si cela vous a plu, consultez mes autres articles!