Speaker #0Bonjour et bienvenue sur Nightscan, votre podcast sur l'ornithologie, mais aussi sur l'intelligence artificielle, puisque c'est ce que j'utilise pour faire l'identification de sondes oiseaux. Aujourd'hui, j'ai envie de vous parler de sets de données d'entraînement, de data sets, et vous allez me dire, mais ça a l'air très chiant. Eh ben non, dans l'AI, c'est un des sujets les plus intéressants et aussi les plus importants. C'est quoi un set de données ? Et ça sert à quoi ? Et bien dites-vous qu'une intelligence artificielle, en tout cas celle dont je parle, il y a beaucoup de types d'intelligence artificielle différents, celle dont je parle, donc celle pour l'identification, c'est comme un enfant. Un enfant, quand il naît, il n'a aucune idée sur rien. Et du coup, vous devez l'éduquer en lui montrant des choses. Si vous avez envie, par exemple, que votre enfant sache ce que c'est une vache, vous allez lui montrer un dessin d'une vache, ou alors une vraie vache. Lui dire que c'est une vache, et puis si c'est dans un livre, ce sera même marqué « vache » . Là, vous avez justement les deux éléments qui sont extrêmement importants pour l'intelligence artificielle. Le premier, c'est la donnée brute, c'est-à-dire la photo ou l'image d'une vache. La deuxième, c'est les annotations, c'est-à-dire le mot « vache » . Ces annotations, d'ailleurs, peuvent être de plus en plus complexes et précises. Par exemple... C'est un animal, c'est une vache, elle est brune, elle est dans un champ, l'herbe est verte, le soleil bruit, il y a des nuages à l'horizon, des montagnes à l'horizon. Plus les annotations sont précises, plus ça permet à votre enfant de savoir c'est une vache qui est à la montagne, qui est dans de l'herbe verte, et donc de la même manière ça va pouvoir faire dire à votre éaille c'est une vache, etc. Évidemment pour un enfant, ce n'est pas la première fois qu'il va voir une vache, qu'il va tout de suite faire la connexion avec « c'est une vache » . Il va falloir de la répétition, il va peut-être falloir lui montrer des vaches différentes, avec une couleur différente, une taille différente, une dessinée, une photographiée, etc. jusqu'à ce qu'il capte « ça c'est une vache » . Et vous allez le faire avec une vache, mais vous allez le faire avec un chat, un oiseau, etc. Et puis, plus votre enfant va grandir, plus il va dire, ok, non seulement c'est une vache, mais en plus c'est une vache des reins, c'est un oiseau, mais c'est un moineau ou c'est un corbeau. Plus il va justement aller plus précisément dans la catégorisation de ce qu'il voit. Une éaille, elle a besoin de ça. Ce set de données, c'est le bouquin que vous donnez à votre enfant avec des images et des mots. Autrement dit, pour moi par exemple, qui m'intéresse à identifier des sons d'oiseaux, ça veut dire que j'ai besoin de gens qui ont été dans la nature et qui ont enregistré les sons d'oiseaux. Ces gens-là, ensuite, j'espère, ont pu faire une annotation dans le nom du fichier, par exemple, en disant, ben voilà, ça c'est un corbeau, et peut-être je l'ai vu dans cette région-là. Ça, c'est de ce dont j'ai besoin pour nourrir mon intelligence artificielle. Alors vous allez me dire, mais qui fait ça et... pourquoi ? C'est une bonne question et il y a plusieurs réponses à cette question. Comme je vous en ai parlé la dernière fois, il y a des vieilles bibliothèques, comme celle de Macaulay, par exemple, qui est du Cornell Lab, où c'est vraiment des ornithologues, à l'époque, qui ont été avec leur micro, enregistrer les oiseaux et puis comme ils étaient passionnés par les oiseaux et qu'ils avaient une visée scientifique, même, bien avant que les haies existent d'ailleurs, ils ont noté, ben voilà, ça c'est cet oiseau, je l'ai vu là, et il a tel nom. Et comme c'est des gens qui savaient ce qu'ils faisaient, j'ai une identification qui est très précise. Ça par exemple, c'est une donnée ultra précieuse pour des gens comme moi. Ensuite, il y a des applications, par exemple, comme celle de iNaturalist, où donc, je vous en ai parlé la dernière fois aussi, il y a des gens qui font des photos et enregistrent des sons, et qui vont dire, voilà, je pense que c'est un corbeau. Et ensuite, pour que ces données puissent être utilisables, il y a au moins deux personnes qui doivent elles aussi dire Oui, je confirme, c'est un corbeau XY. Oui, je confirme, c'est un corbeau XY. Et ça, ça génère une donnée qui est top du top, parce que j'ai un corbeau et j'ai trois personnes qui ont dit que c'était un corbeau. Du coup, moi, je peux la prendre et dire à mon AI, ça, c'est un corbeau. Alors ça, ce serait vraiment dans le meilleur du monde. Dans l'idéal, j'aimerais bien pouvoir utiliser que des datas comme ça. Mais ce n'est pas vraiment le cas. Pour mon exemple précis, par exemple, j'utilise... Un set de données qui existe déjà, donc qui a été fait par des gens pour que d'autres gens puissent ensuite les utiliser, qui s'appelle ESC50. C'est 50 sons qu'on peut trouver dans la vie normale. Ça peut être des gens qui parlent, ça peut être un bébé qui pleure, ça peut être des cloches, ça peut être un bruit de moteur. J'utilise ça, si vous voulez, pour que mon intelligence artificielle puisse différencier... un son d'oiseau et un son de moteur. Ça paraît bête, mais si je lui donne seulement des sons d'oiseau, il y a des chances que s'il entend un moteur, il cherche qu'est-ce qui a le plus de probabilité d'espèce d'oiseau qui ressemble à un moteur, et il va me dire, c'est probablement cette espèce d'oiseau. Moi, je n'ai pas envie de ça. J'ai envie qu'il soit sûr que c'est un moteur et qu'il me dise que c'est un moteur. Et ensuite, évidemment, c'est une data dont je me fiche éperdument. Donc, je vais lui dire, cette donnée-là, j'ai pas envie de le savoir mais au moins il ne m'a pas fait info positif. Donc pour ça, évidemment, ce n'est pas Jonathan qui va se promener pour enregistrer des moteurs différents. C'est un set de data qui existe déjà avec des moteurs qui ont été enregistrés. Je ne sais pas par qui. Ça, ça fait un peu partie des controverses, on va dire. Au niveau de l'AI, il y en a beaucoup. Mais ça, ça en est une, justement, c'est à la fois qui a récolté les données. Est-ce que les gens qui ont récolté des données à ce moment-là, et des fois, l'AI n'existait même pas, elles sont conscientes ? où elles sont d'accord que ces données-là soient utilisées pour entraîner des AI qui ont des buts économiques, qui peuvent avoir même des utilisations douteuses, militaires ou des choses comme ça. Est-ce que ça, ils étaient conscients quand ils ont fait ? Est-ce qu'ils ont donné leur accord ? Généralement, à part quelques sets de data vraiment précis, on peut dire qu'on n'est pas sûr, voire vraiment non. Le deuxième problème, évidemment, c'est qu'il faut des gens qui annotent. et des gens qui sont passionnés d'annoter ça c'est un moteur ça c'est pas un moteur ça c'est une porte qui grince ça c'est pas une porte qui grince vous imaginez qu'il n'y a pas beaucoup de gens qui le font volontairement même si j'imagine que dans des universités ou des choses comme ça il ya des gens qui ont pu le faire en réalité ce que les géants de la tech font c'est que ils vont payer des gens extrêmement peu généralement parce que c'est des gens qui ont des difficultés, qui sont dans des endroits où il n'y a pas forcément d'autres jobs, etc. Donc des gens qu'on peut payer vraiment pas cher parce qu'ils n'ont pas le choix, entre guillemets. Et ces gens-là, on va leur envoyer 50 photos, on va leur dire, ben voilà, sur ces photos, tu cliques sur le chien. Et s'il n'y a pas de chien, ben tu cliques sur rien. Ou ce son, tu dois l'écouter, tu dois dire, est-ce que c'est un oiseau ou est-ce que c'est un moteur ? Ces entreprises-là, elles vont ensuite envoyer, généralement... plusieurs fois les mêmes données à des gens différents pour être sûr qu'il y a un consensus sur ce que c'est, pour que la data ait un bon niveau de confiance. Et là, évidemment, il ne faut pas se le cacher, les gros sets de données qui existent, c'est impossible que ce soit des gens qui l'ont fait volontairement, c'est impossible que ce soit des gens qui l'ont fait en étant bien payés respectueusement. Par exemple, j'utilise... un algorithme qui s'appelle EfficientNet, qui a été créé par Google AI. Et il y a un modèle qui existe, qui est pré-entraîné. Ça veut dire qu'on lui a déjà donné des images pour qu'il capte en réalité qu'il doit voir les images. Parce que moi, ce que je vais lui envoyer, c'est des images. Et donc du coup, pour faciliter l'entraînement, il a un pré-entraînement. Ce pré-entraînement, il a été fait avec ImageNet, qui est... une récolte de sons de vidéos YouTube. Vous ne le savez peut-être pas, mais quand vous mettez une vidéo sur YouTube, automatiquement vous acceptez les conditions d'utilisation de YouTube qui disent que vos données peuvent être utilisées pour l'entraînement d'intelligence artificielle. Vous savez, c'est un peu ces trucs sales qu'on n'écoute pas, qu'on ne regarde pas, qu'on ne lit pas. Ce qui veut dire qu'il y a des gens qui ont enregistré leur... ou je ne sais pas, leurs vidéos de vacances, qui ont posté ça sur YouTube pour partager avec leurs potes. Et une partie de ces vidéos a été utilisée et a été visionnée d'ailleurs par des gens pour qu'ils puissent dire, ben voilà, là j'ai vu un chien, là j'ai vu un chat, là j'ai vu quelqu'un qui parlait, etc. Et ce set de données-là, il a été utilisé justement pour pré-entraîner ce que moi-même j'utilise. Donc pour l'instant, je vous ai expliqué la première étape qui est celle de la récolte du son, ensuite celle des annotations. Et puis ensuite, il y a celle du nettoyage. Parce que si vous utilisez des données qui sont mal faites, ou imprécises, ou contradictoires, votre intelligence artificielle ne va pas pouvoir le détecter toute seule. Ou en tout cas pas celle que j'utilise. Exemple tout bête, je lui donne 50 enregistrements de hiboux grand-duc. Le fait est que des hiboux grand-duc, c'est plutôt rare. des gens qui enregistrent des sons qui sont exploitables. De Hibou Granduc, il n'y en a pas forcément des milliards sur la planète. Et c'est ça un truc étonnant des fois quand on regarde des données, c'est que plus on va dans la précision des données, moins il y en a. Et plus il y a de chances qu'elles viennent des mêmes personnes. Imaginez. Imaginez que sur ces 50 enregistrements de hibou grand-duc, il y en a 20 qui viennent de la même personne, qui utilisent toujours le même micro, et qui vont toujours dans la même forêt. Même si ces datas sont précises, c'est-à-dire, oui, c'est un hibou grand-duc, c'est à noter que c'est un hibou grand-duc, leur valeur, pour moi, ne sera pas incroyable. Pourquoi ? Parce qu'ils l'ont enregistré toujours avec le même micro. Ça veut dire qu'il y a toujours la même... trace sonore, la même empreinte sonore, et l'intelligence artificielle, comme elle n'est pas intelligente, justement, elle n'est pas forcément capable de détecter ce problème-là. Comme le hibou grand-duc il crie, il y a un espace, il crie de nouveau, l'espace entre les deux, il faut que l'intelligence artificielle puisse comprendre que cette empreinte, parce qu'aucun micro n'est totalement silencieux, c'est pas le hibou grand-duc, c'est juste le défaut du micro. Et pour ça, il faut que je lui donne d'autres enregistrements faits avec d'autres micros à d'autres endroits pour qu'il comprenne que ce n'est pas ça qu'il doit regarder. C'est vraiment juste le gris du hibou grand-duc qui doit écouter. Alors évidemment, il y a des solutions techniques qui existent. On peut faire des nettoyages de silence, on peut faire de la compression, on peut mettre des limiteurs, etc. Ça, ça fait partie justement du nettoyage des données. Un autre exemple tout bête, c'est toujours le même gars. il va toujours enregistrer sans hibou grand-duc et il va toujours enregistrer près d'une rivière. Du coup, pour l'intelligence artificielle, si j'entends le bruit d'une rivière, automatiquement c'est un hibou grand-duc. Problème dans mon set de données. Et c'est pour ça qu'on essaye à la fois d'augmenter le nombre de données qu'on va lui donner, comme ça, même si on a 10 qui ont été pris près d'une rivière, si on a 1000 autres qui ont été pris une fois à la montagne, une fois ailleurs, mais pas près d'une rivière, L'intelligence artificielle va comprendre que cette empreinte-là, ce n'est pas ce qui l'intéresse, ce n'est pas ce qu'elle cherche, ce n'est pas ce qu'elle doit trouver. De même, il faut avoir des sons de bonne qualité, par exemple. Si j'ai des sons où on entend vraiment au loin l'oiseau, il y a des chances qu'à moins que je fasse un traitement sonore à l'avance, l'intelligence artificielle, j'ai déjà dit, elle n'entendait pas. Elle regarde des spectrogrammes qui représentent graphiquement en deux dimensions de l'audio. Et bien... elle est susceptible de ne pas entendre le cri parce que c'est noyé dans le bruit du micro, dans le bruit de la rivière qui passe, etc. Et donc, du coup, elle va avoir comme des bruits vides, mais où moi, je lui dis ça, c'est un hibou grand-duc. Et du coup, ça va l'induire en erreur dans son apprentissage. Et du coup, ça va donner des résultats qui sont mauvais. Et les résultats mauvais, ça veut dire que moi, je vais lui envoyer un bon enregistrement d'un hibou grand-duc. Et puis, elle va le confondre avec quelque chose d'autre. Et ça, c'est exactement ce que je ne veux pas. Un autre problème, et surtout pour les oiseaux par exemple, c'est très difficile d'avoir des sons d'oiseaux qui sont isolés. Parce que quand vous allez faire de l'observation d'oiseaux, vous l'avez sûrement vu aussi, vous entendez 3, 4, 5, 10, 15 espèces qui chantent presque en même temps. Et du coup, pour l'intelligence artificielle, elle ne va pas pouvoir différencier ces trucs-là. Et donc, elle va plutôt identifier quand j'ai... Ces dix oiseaux qui chantent ensemble, c'est un moineau. Ça, effectivement, j'en ai pas envie. Alors, sauf erreur, Merlin, Aïdi, Skiffon et aussi Bernard Pi, c'est qu'ils segmentent en espacement de trois secondes tous les sons qu'ils ont. Et effectivement, en trois secondes, vous limitez en partie le chevauchement des cris et c'est peut-être plus facile pour l'intelligence artificielle de déterminer plus précisément l'espèce. Moi en l'occurrence je suis parti sur 8 secondes, je ne me rappelle plus exactement pourquoi je suis parti sur 8 secondes, mais je suis sur 8 secondes. Et j'ai un autre système pour nettoyer mes datas que j'espère efficace, mais pour l'instant je ne sais pas vraiment à quel point c'est efficace. Alors justement je vous parlais juste avant des gens qui travaillent des petites mains, qui travaillent pour rien pour faire ces sets de datas. Je vais vous donner quelques chiffres. ImageNet, dont je vous ai parlé avant, c'est... 14 millions d'images qui sont issues d'Internet, 20 000 catégories d'objets, et donc vous imaginez que c'est quelque chose d'extrêmement complexe à construire, ça a demandé du travail énorme de la part de petites mains, justement, et non seulement ça a demandé beaucoup de travail pour faire les annotations, ça a demandé beaucoup de travail pour corriger les annotations. En 2019, par exemple, il y a 600 000 images liées à des personnes qui ont été éliminées du dataset parce qu'elles étaient mal annotées. Google Audio 7, par exemple, quelque chose que je pourrais utiliser en partie, mais je n'ai pas encore trouvé vraiment comment l'utiliser de bonne façon. C'est un dataset qui a été publié par Google, qui a été tiré justement des vidéos YouTube. Et il y a 527 catégories. Donc là aussi, pour moi, par exemple, ça va être très important de ne pas avoir un dataset... qui va dans tous les sens. En fait, je dois me demander quel pourcentage de chance il y a d'entendre ce son en même temps que j'enregistre pendant la nuit. Un chien, par exemple, tout à fait possible. Un ruisseau, tout à fait possible. Un moteur, tout à fait possible. Une fanfare, beaucoup moins. Pourtant, le bruit de la fanfare, ça peut être extrêmement important pour quelqu'un d'autre qui va utiliser le même set audio. Et ça aussi, ça fait partie du nettoyage, justement. de trouver quelles catégories font du sens pour ce que j'essaye d'identifier. De même, par exemple, j'imagine que dans un set de data, comme ce n'est pas un set de data ornithologique, c'est sûrement juste oiseau. C'est-à-dire qu'il y a un champ d'oiseau, pour eux c'est catégorisé oiseau. C'est ce que je veux, surtout pas. Parce que du coup, ça veut dire qu'il y a des moineaux qui sont identifiés comme étant des moineaux, mais des moineaux qui sont identifiés en tant qu'oiseau. Et du coup, mon intelligence artificielle, encore une fois, elle n'est pas intelligente. Donc elle, elle ne sait pas la différence entre les deux. Du coup, je ne sais pas vraiment ce qui se passerait dans le modèle, je ne vais pas essayer de faire ça, mais il y aura une confusion, ce qui fera que mes résultats seront moins bons. Ces datasets, il faut se dire que ça vaut vraiment de l'or. Non seulement parce qu'il y a vraiment des gens qui ont contribué, il y a vraiment des gens qui ont été payés, même très mal, pour faire ces datasets, mais sur des millions d'images, vous imaginez que ça représente quand même de l'argent. et aussi parce que, justement, Donc plus vos datasets sont spécifiques, plus vos datasets sont bien nettoyés, plus c'est facile pour les gens de l'utiliser pour leur propre intelligence artificielle. Quand vous voyez justement des entreprises d'intelligence artificielle qui mettent en public des fois leurs modèles ou des choses comme ça, c'est très rare, voire jamais, qu'ils le font pour leur dataset. Des fois, ils vont dire qu'on a utilisé en partie celui-là, en partie celui-là. Mais jamais ils vont vous le donner, parce que l'or, c'est ça. Les modèles, ils vont évoluer, ils vont devenir de plus en plus spécialisés, de plus en plus capables de faire des choses, ils vont être plus rapides, ils vont avoir besoin de moins d'exemples pour pouvoir apprendre. Mais la dataset, c'est ça qui fait la valeur des choses. Et c'est pour ça que, par exemple, Google ou Facebook, par exemple, vont donner des modèles qu'ils ont déjà utilisés chez eux. gratuitement pour pouvoir les utiliser, c'est ce que je fais par exemple. ResNet par exemple, qui est sauf erreur ce qu'utilise Merlin ID, c'est fait par Facebook, par Meta plutôt, mais leur dataset privé à eux, ils ne le donneront jamais. Bon voilà, je n'avais pas envie forcément d'aller encore plus dans les détails que ça, ou de faire trop long parce que ça risque de devenir un peu chiant, mais pour comprendre comment les intelligences artificielles fonctionnent aujourd'hui par rapport aux big data, il faut se dire que Merci. au départ, il y a toujours une donnée brute. Ensuite, il y a toujours ces données qui sont traitées, qui sont annotées, qui sont détaillées. Ensuite, ces données sont toujours nettoyées pour enlever les images floues, pour enlever les sons qui sont mauvais, pour enlever les annotations qui sont mauvaises. Et ensuite, ces datas-là sont utilisées pour entraîner les algorithmes. Et plus elles sont précises, plus elles sont de qualité, plus les algorithmes sont précis. Et c'est ce qui fait, des fois, justement, que vous allez discuter avec une intelligence artificielle, qu'elle va vous répondre complètement à côté, et bien, ce n'est peut-être pas qu'elle est conne, c'est que son dataset, il n'est pas bon, ou il n'est pas bon sur le sujet avec lequel vous parlez. De même que, si vous utilisez un jour un night scan, qui est encore en développement, si vous lui faites écouter un son d'oiseau, et que night scan ne le reconnaît pas, c'est peut-être que je ne l'ai pas entraîné sur ce type d'oiseau. C'est peut-être que je l'ai mal entraîné, c'est peut-être que votre enregistrement est mauvais, mais il y a peu de chances que ça vienne vraiment du modèle d'intelligence artificielle, qui est extrêmement capable, il y a beaucoup plus de chances que ça vienne des paramétrages que j'ai utilisés sur mon set de données. La prochaine fois, pour éviter de faire que des sujets techniques, j'aimerais parler de l'ornithologie. Qu'est-ce que c'est, et pourquoi c'est bien, pourquoi il faut en faire ? Donc la prochaine fois... On lâche vraiment la technique, on lâche les hailles, et on va dans la science, dans l'ornithologie, mais aussi, je vous rassure, dans l'observation, tranquille, autour de chez vous, parce que ça, c'est la base. Allez, à ciao, bonsoir !