[PYTHON] Importance des ensembles de données d'apprentissage automatique

Voici mon opinion personnelle sur l'importance des ensembles de données d'apprentissage automatique.

("Alors, comment se compare-t-il avec d'autres méthodes?" Ajouter au contenu écrit en annexe à un article indépendant Il a été réécrit.)

La recherche et l'exécution de divers exemples d'apprentissage automatique utilisera un ensemble de données bien utilisé sur le Web. Les créateurs des données publiées par les laboratoires nationaux et étrangers, les universités et certaines entreprises sont des experts en apprentissage automatique dans le domaine, et l'ensemble de données est consacré à l'apprentissage et à l'évaluation. Si vous utilisez ces données et exécutez un bon exemple de programme écrit sur le Web tel quel, vous pouvez obtenir des résultats raisonnables très facilement, vous pouvez donc penser à tort que l'apprentissage automatique est très facile. peut être. Cependant, il est utile de savoir que la collecte de vos propres données d'entraînement est utile pour créer un résultat d'apprentissage automatique de niveau de travail. Il y a une différence entre la détection de visage lors de la mise en correspondance d'un visage avec une photo d'identité à l'aéroport et la détection de visage avec un appareil photo numérique ou un smartphone. Il existe une différence entre la détection humaine dans le champ embarqué et la détection humaine dans les caméras de surveillance. La différence dans la nature des données est plus grande que vous ne pouvez l'imaginer. Même avec des caractères manuscrits, le comportement diffère entre le cas d'un crayon et le cas d'un stylo à bille, comme les caractères pâles. De cette manière, il n'est pas rare que le comportement diffère des données existantes lorsque vous apprenez à connaître les habitudes des données cibles que vous devez réaliser. Vous devez donc savoir qu'il n'est pas trivial pour vous de collecter un ensemble de données pour vos propres problèmes, mais cela en vaut la peine.

** Différences dans les caractéristiques des données **

Différence entre l'apprentissage de la face avant et du profil

Il est également écrit dans "Detailed OpenCV" qu'il y a une différence dans l'apprentissage du détecteur entre la face avant et le profil. La différence est que sur la face avant, il n'y a presque pas d'autre partie que le visage dans la plage d'apprentissage, tandis que dans le profil, il y a toujours autre chose que le visage en arrière-plan. Il est indiqué que de telles différences dans les caractéristiques des données peuvent entraîner une formation insuffisante selon la manière dont les données de formation sont données. Bien que les méthodes d'apprentissage telles que le deep learning évoluent, je pense que les contre-mesures pour de tels problèmes ne peuvent être traitées qu'en manipulant soigneusement les données par l'apprenant.

Un exemple de la différence entre la voix d'un doubleur et la voix d'un anime

Dans le prochain article, j'expliquerai en quoi les résultats diffèrent en fonction de la différence entre les données d'entraînement et les données de test. Dit. Nous apprenons et testons pour identifier les acteurs vocaux par la voix. (1): À partir de la voix originale de l'acteur vocal et des données de l'acteur vocal Prédisez les acteurs de la voix en fonction de la voix de l'anime. (2): Prédisez le doubleur en fonction de la voix originale à partir de la voix de l'animation de l'acteur vocal et des données de l'acteur vocal. Nous mettons en œuvre les deux méthodes. Tous déclarent que le taux de reconnaissance est insuffisant. J'ai essayé de classer les voix des acteurs de la voix

** Doit avoir une distribution de données d'entraînement adaptée à l'application **

Les données d'entraînement doivent avoir une distribution adaptée à l'application. Les données de formation doivent être collectées pour avoir cette variance. Il s'agit de confirmer si la distribution entre les classes et la distribution au sein des classes conviennent à cet objectif. Il est important pour l'apprentissage automatique de concevoir et de réaliser la collecte de ces données d'apprentissage. On peut même dire qu'il s'agit de mesures plutôt que de programmation ou de conception d'algorithmes. Affichons l'image propre de l'image unique obtenue par l'analyse en composantes principales sous forme d'image en utilisant matplotlib. Ensuite, vous pouvez voir quel type de distribution vous avez. Ils nous aident à comprendre ce que sont les données et à quoi ressemble le résultat du prétraitement des données.

** Doit avoir une distribution de données moyenne adaptée à l'application (note supplémentaire) **

De plus, les données d'apprentissage doivent avoir une moyenne des données d'apprentissage adaptées à l'application. La moyenne des données d'apprentissage affecte diverses parties de l'algorithme. Même lorsque la correspondance des visages est basée sur les faces propres, le visage unique apparaît comme une valeur unique après avoir soustrait la moyenne. Par conséquent, si la course est biaisée ou si l'âge est extrêmement différent, il est possible que le système d'appariement de visage construit jusqu'à ce point ne fonctionne pas bien. Un système d'estimation de l'âge créé avec une base de données biaisée en faveur des Européens est dû au fait qu'il ne fonctionne pas bien pour les Orientaux. Cela semble arriver non seulement à l'apprentissage automatique, mais aussi aux personnes qui ont du mal à distinguer les personnes qui ne sont généralement pas vues et à estimer leur âge.

** Ne rendez pas les données d'entraînement trop difficiles **

Je pense qu'il est nécessaire pour les gens d'ajuster la difficulté à inclure des données dans les données de formation. Dans le cas de la détection de visage, il est empiriquement connu que l'ajout d'une image avec trop de masquage de la partie du visage détériore les performances de la détection de visage. En fonction de l'algorithme d'apprentissage, la distribution des données d'apprentissage peut entraîner une détérioration significative des caractéristiques. Ce qu'il faut inclure dans les données de formation et ce qu'il faut exclure est une tâche essentielle pour obtenir des résultats de formation pratiques. (Cependant, il s'agit d'un travail trop empirique, il ne convient donc pas à ceux qui rédigent des articles avec l'algorithme d'apprentissage lui-même.)

** Acquisition de données conditionnelle et acquisition de données aléatoires **

L'acquisition et l'évaluation des données nécessitent l'acquisition de données bien conditionnées et de données aléatoires. L'un ou l'autre ne fonctionnera pas. Sans utiliser des données bien conditionnées, le cadre de l'algorithme ne peut être créé.

Prenons l'exemple de la détection de visage et de l'appariement de visage. Vous avez besoin d'une base de données qui inclut l'orientation de votre visage et les conditions d'éclairage. Étant donné que la base de données contient toutes les conditions d'éclairage, il est possible d'évaluer comment l'influence de l'éclairage affecte la correspondance des visages.

Une base de données avec ces conditions peut être bien nécessaire pour l'apprentissage automatique à d'autres fins.

Les données conditionnées sont très différentes des données générales dans le monde. L'image du visage de la photo d'épreuve est une photo avec un fond plat mais sans image (http://www.keishicho.metro.tokyo.jp/menkyo/koshin/koshin/koshin02_2.html)

De nombreuses données de ce type ont été créées depuis les premières étapes de la recherche et du développement de la détection et de l'appariement de visage.

Ensuite, vous devez obtenir des données aléatoires.

Lorsque vous essayez de détecter un visage dans un certain but et que vous savez à quel point le système en cours de développement fonctionne, il est nécessaire d'acquérir des données avec une main-d'œuvre réduite. Récemment, ce type d'ensemble de données a augmenté. La base de données d'appariement de visages Visages étiquetés dans la maison sauvage est une telle base de données.

Le sur-conditionnement des données comporte le risque de nombreuses omissions.

** L'ensemble de données doit être révisé à plusieurs reprises **

Quand «alors, comment se compare-t-il aux autres méthodes?» Est-il approprié, lors du choix d'une méthode pour faire un premier coup, «facile à démarrer, une méthode adaptée à ce problème, des Je pense que «l'étape du choix basé sur l'expérience de moi-même et des autres» et «l'étape où les données sont disponibles et il est logique de comparer les méthodes». Quelle que soit la qualité de la méthode, elle ne peut pas être évaluée correctement si la méthode n'est pas comprise par la personne qui l'utilise. Facile à démarrer, facile à comprendre pour les débutants et facile à manipuler sont également nécessaires pour la première méthode. Veuillez noter les points suivants afin d'atteindre le stade où les données sont disponibles et il est logique de comparer les méthodes.

--Lorsque le faible taux de rappel est perceptible

Un faible taux de rappel des données de cette catégorie indique qu'il n'y a pas suffisamment de données d'entraînement pour cette catégorie. Dans certains cas, le nombre de données d'entraînement dans cette catégorie est petit et dans d'autres cas, la distribution des données d'entraînement est petite. Il existe une forte possibilité que le taux de rappel s'améliore lorsqu'ils sont complétés par des données réelles ou des données traitées.

--Lorsque la faible précision est perceptible

Cela signifie qu'il y a beaucoup de données dans une autre catégorie qui entrent dans cette catégorie. Examinez la matrice de confusion pour déterminer quelles catégories sont influentes. Essayer d'augmenter les données d'entraînement pour cette catégorie améliorera également les catégories avec une faible précision.

Il existe deux types d'algorithmes, l'un dans lequel la frontière entre le positif et le négatif est importante, et l'autre dans lequel la distribution elle-même est importante. Cela changera la façon dont les données d'entraînement sont collectées. Si vous n'ajoutez que des données faciles à distinguer, certains algorithmes auront des performances de reconnaissance moins bonnes qu'auparavant. AdaBoost est l'un de ces algorithmes. En revanche, dans SVM, seules les données qui donnent la frontière (vecteur de support) sont importantes. D'autre part, l'ajout de données trop difficile peut également réduire le taux de reconnaissance.

** Lorsqu'il y a peu de données, utilisez l'algorithme de peeling lorsqu'il y a peu de données. ** **

Boosting est un algorithme qui convient lorsqu'il y a beaucoup de données. Si vous voulez commencer par obtenir un résultat légèrement meilleur que des conneries avec une petite quantité de données, Naive Bayesian Exemple [Étalonnage des probabilités des classificateurs] Il est possible d'utiliser un algorithme tel que (http://scikit-learn.org/stable/auto_examples/calibration/plot_calibration.html). Si la méthode K-voisinage est utilisée pour moins de données d'apprentissage qu'aléatoires, il semble qu'un résultat légèrement meilleur puisse être obtenu.

** Lorsque le nombre de données est petit, l'évaluation entre algorithmes est contrainte **

En fonction de la combinaison du degré de liberté du modèle et du nombre de données d'apprentissage, il est facile de tomber dans une situation où la valeur ne peut pas être déterminée de manière appropriée pour le degré de liberté du modèle. C'est La malédiction de la dimension Est connu.

** N'épargnez pas la peine de collecter des données **

Une fois que quelqu'un au sommet de votre organisation comprend l'importance des ensembles de données d'apprentissage automatique, il est judicieux de ne ménager aucun effort pour collecter les données. Au fur et à mesure que vous collectez les données et que vous mettez en service la première version de l'apprentissage automatique, le problème devient apparent. Après avoir collecté les données et commencé à lancer la première édition, nous pouvons enfin voir ce dont nous aurons besoin à l'avenir. Les plans élaborés sans regarder les données réelles peuvent être une grande omission. Dans le cas d'une entreprise qui se concentre sur la reconnaissance faciale, le service de recherche peut disposer d'un équipement qui capture les visages dans plusieurs directions à la fois. Photographiez en même temps en modifiant les conditions d'irradiation lumineuse. Afin d'obtenir un ensemble de données qui comprend les différences des conditions d'irradiation lumineuse de l'image du visage dans la dispersion, il est nécessaire de filmer la même personne avec la même expression et avec différentes irradiations lumineuses. En effectuant une analyse des composants principaux à partir de ces données, il est possible d'extraire les composants de la face unique en raison de la différence des conditions d'irradiation lumineuse. Les composants du visage unique en raison de la différence des conditions d'irradiation lumineuse obtenues de cette manière sont des composants qui ne devraient pas être utiles pour identifier une personne. Par conséquent, il est nécessaire que les données expérimentales pour déterminer les composants faciaux uniques en raison de la différence des conditions d'irradiation lumineuse aient une gamme de moyens à des fins d'utilisation. Le visage d'une personne âgée de près de 100 ans est clairement différent du visage d'un homme de 70 ans. Il vaut la peine de vérifier que le taux de reconnaissance faciale des personnes de près de 100 ans peut être atteint avec des produits qui sont habituellement sur le marché.

Un exemple de visage unique est "Practical Computer Vision", Programming Computer Vision with Python Il est écrit dans / 0636920022923.do). Parmi eux, le cas de la face avant avant que la position du visage ne soit suffisamment normalisée et le cas du visage unique (visage propre) de la même personne après normalisation et alignement des positions des deux yeux sont décrits. Je suis. En regardant ces différences, il est facile de comprendre qu'à moins de photographier la même personne avec la même expression faciale et avec différentes irradiations lumineuses, vous ne pourrez pas obtenir un visage unique qui reflète fortement la différence d'irradiation lumineuse. Je pense que tu peux. En plus de ce type de collecte de données, il devient possible d'extraire des éléments qui ne sont pas facilement affectés par les effets de l'irradiation lumineuse. (Autrement dit, si vous souhaitez inclure correctement le composant d'irradiation lumineuse dans l'analyse du composant principal, vous devez normaliser la position de la face. Incluez également correctement le composant d'irradiation lumineuse. Si vous le souhaitez, on peut dire que la distribution de la forme du visage humain doit également être élargie pour refléter la variété du visage réel.)

** Réduisez le coût de la collecte de données **

Cela peut sembler incompatible avec ce que j'ai dit plus haut, mais en même temps, pensez à des moyens de réduire le coût de la collecte de données. Sans collecte de données, il n'est même pas possible de voir si les classificateurs existants apprennent bien.

--Coupe automatique de la vidéo --Détection sur le Web --Utilisation d'une caméra capable d'obtenir des informations de profondeur telles que Kinect

Using Kinect and other OpenNI compatible depth sensors

** Exclusion de données mal étiquetées **

Lors de la création d'un jeu de données, il peut être mal étiqueté. Si de telles données se trouvent dans les données d'entraînement, cela entraînera une détérioration du résultat d'entraînement. Assurez-vous donc que vous ne disposez d'aucune donnée mal étiquetée. Ce n'est pas une question triviale, selon le jeu de données d'entraînement. La personne moyenne ne peut pas dire si l'image diagnostique par ultrasons est une image positive avec une condition médicale ou une image négative sans condition médicale. À moins d'être correctement étiqueté, l'apprentissage automatique ne donnera pas de bons résultats. S'il existe des données d'entraînement avec un faible taux de reconnaissance basé sur les résultats d'entraînement, il peut être utile de vérifier si l'étiquette des données est vraiment correcte.

** Les performances de discrimination peuvent changer en fonction de la distribution des données d'entraînement. ** **

En fonction de l'algorithme d'apprentissage, les performances de discrimination sont déterminées par la limite des données, mais dans de nombreux cas, elles sont déterminées par la distribution des données plutôt que par la limite des données. Par conséquent, ce qui est inclus dans les données de formation et ce qui ne l'est pas est un savoir-faire d'apprentissage important. Représentons graphiquement la distribution des scores des données d'entraînement en fonction des résultats entraînés. Voyons quel type de données est abondant dans les données avec un score faible. Si la formation concerne des données d'image, l'affichage de ces images dans un fichier html facilite la compréhension des fonctionnalités. Le type de données ajouté aux données de formation conduira au succès ou à l'échec de la formation.

** Biais involontaire des données d'entraînement **

S'il y a un biais involontaire dans les données d'entraînement, le résultat d'entraînement qui en résulte peut être incorrect. Par exemple, supposons que vous souhaitiez détecter la tête d'une personne au-dessus de l'épaule. À ce moment-là, supposons qu'une personne se tient devant un mur et soit formée par un grand nombre de personnes. Si vous construisez un détecteur en utilisant ces données, il peut arriver qu'il s'agisse d'un détecteur mural dans la zone environnante. Essayez de faire un bon test pour vous assurer qu'il n'y a pas de biais involontaire dans les résultats d'apprentissage. Ce faisant, nous devrions être en mesure de découvrir la possibilité d'un tel biais dans les données de formation et de planifier et de promouvoir des expériences avec des contre-mesures.

** Biais non intentionnel des données d'entraînement (note supplémentaire) **

Par exemple, lors de la création d'un détecteur de tête par apprentissage, les performances de détection de tête peuvent différer en fonction de la couleur des cheveux. Dans le cas des fonctionnalités basées sur la nuance, il semble que de nombreuses données d'entraînement supposant que les cheveux noirs sont plus noirs que l'environnement soit souvent utilisée. Ensuite, dans le cas de la peau de la tête et des cheveux gris, le taux de détection peut ne pas être aussi élevé que celui des cheveux noirs. Parfois, il est nécessaire de douter que cela se produise dans l'apprentissage automatique sur lequel vous travaillez.

** Utilisez d'autres techniques pour faciliter la collecte de données. ** **

Par exemple, supposons que vous souhaitiez collecter des données d'entraînement pour la détection des chiens. Dans ce cas, l'objet en mouvement par la caméra fixe peut être extrait par une méthode telle que la différence de fond. La taille de l'objet est estimée sur la base d'informations telles que l'angle d'installation de la caméra. En fonction de sa taille, vous pouvez collecter des images susceptibles d'être des chiens. En sélectionnant une image d'un chien à partir de cette image, vous pouvez rendre les choses plus faciles que de ne rien faire. De plus, étant donné qu'un capteur de distance tel que kinect peut être utilisé, il peut être possible de sélectionner des données sur la base d'informations de distance. Même si la technologie ne peut pas être utilisée comme produit final, utilisons-la activement au stade de développement de la technologie.

** Utilisation des données CG **

Dans le cas de l'apprentissage automatique basé sur l'image, l'étiquetage des données de réponse correctes nécessite beaucoup de puissance. À ce stade, selon le type de problème, les données CG peuvent être utilisées pour créer les données de réponse correctes qui ont été étiquetées [1]. L'ensemble de données SYNTHIA en est un exemple.

[Document d'enquête] Détection humaine par méthode d'apprentissage statistique 5.2 Collecte d'échantillons d'apprentissage

SYNTHIA Dataset

The SYNTHetic collection of Imagery and Annotations, is a dataset that has been generated with the purpose of aiding semantic segmentation and related scene understanding problems in the context of driving scenarios. SYNTHIA consists of a collection of photo-realistic frames rendered from a virtual city and comes with precise pixel-level semantic annotations for 13 classes: misc, sky, building, road, sidewalk, fence, vegetation, pole, car, sign, pedestrian, cyclist, lanemarking.

** Refléter les connaissances des apprenants machine expérimentés dans la construction d'ensembles de données **

Il existe une expérience dans le domaine de l'apprentissage automatique quant aux données à collecter. Il vaut la peine de découvrir quel type de données conduirait à un mauvais apprentissage. J'avais l'intention d'apprendre la détection humaine, mais il se peut que j'aie appris le contexte de l'environnement de prise de vue où les données d'apprentissage ont été collectées. Vous voudrez peut-être élaborer un plan d'acquisition de données allégé, mais vous devez collecter des données, apprendre, évaluer les résultats et réfléchir à la manière de vous améliorer. Il s'agit d'améliorer la partie qui recueille les données en fonction des connaissances acquises dans ce processus.

** Importance des échantillons négatifs **

Comment collecter des échantillons négatifs et comment garantir la qualité des échantillons négatifs sont également des questions importantes. Un exemple est la détection des piétons. Afin de déterminer qu'un non-piéton n'est pas un piéton dans les images qu'une voiture peut voir en conduisant, il est nécessaire de former l'arbre de rue comme n'étant pas un piéton. Les postes ne sont pas non plus des piétons. Le panneau debout n'est pas non plus un piéton. Le bord du garde-corps n'est pas non plus un piéton. Ni le passage pour piétons ni les marques sur la route ne sont des piétons. Les murs du bâtiment ne sont pas non plus des piétons. Il est important d'apprendre pour que tous les non-piétons ne soient pas faussement détectés. Il est nécessaire de collecter suffisamment de ces échantillons négatifs et d'apprendre à les inclure afin de réaliser un détecteur au niveau du produit. Mobileye Grâce à cet apprentissage, nous fournissons une détection monoculaire des piétons à diverses voitures.

Les échantillons négatifs sont très importants.

** Notes pour les classificateurs en cascade **

Dans le cas du discriminateur Haar en cascade, la généralisation du résultat d'apprentissage a tendance à être suspecte car elle devient le discriminateur le plus fort dans la dernière étape.

L'échantillon positif mélangé à l'échantillon négatif peut rendre le résultat d'apprentissage étrange. En conséquence, il est facile de se retrouver dans une situation où quelque chose qui aurait dû être suffisamment détecté ne peut pas être détecté. Par conséquent, l'échantillon positif utilisé pour le classificateur fort dans la dernière étape mérite d'être vérifié visuellement. Ce faisant, vous pouvez éviter que les résultats de l'entraînement ne soient corrompus par les échantillons positifs mélangés aux échantillons négatifs.

** Les données de test sont-elles vraiment suffisantes comme données de test? ** **

-Il est essentiel que les données de test d'apprentissage automatique n'incluent pas les données utilisées pour l'apprentissage. -Si les données sont augmentées par le traitement, ne divisez pas les données traitées pour la formation et les tests. Ceux qui utilisent la même image originale seront inclus pour l'apprentissage et les tests, ce qui donnera de meilleurs résultats de test qu'ils ne le sont réellement. -Si vous utilisez un ensemble de données contenant des images faciales de célébrités, il existe un risque que différentes images faciales frontales du président soient incluses pour l'apprentissage et les tests.

** Comprenons le but de l'utilisation **

Vous devez commencer par comprendre comment les fonctionnalités que vous implémentez sont utilisées. Il s'agit de comprendre quel est l'impact de l'échec du classifieur et comment il doit être implémenté. Pensez à d'autres moyens qui peuvent être améliorés. Ce n'est pas une théorie universelle de l'apprentissage automatique.

SlideShare Conception de code pour éviter de pleurer avec l'apprentissage automatique

Si vous avez collecté suffisamment de données et que vous souhaitez fournir les données de formation à l'extérieur pour développer un algorithme, vous pouvez visiter le site Kaggle. Il existe un moyen de l'utiliser. Certains ont fixé des prix, tandis que d'autres organisent des concours de recrutement.

Pourquoi les data scientists du monde entier se rassemblent à «Kaggle», de la récompense à la recherche d'emploi

J'ai essayé Kaggle en utilisant un anglais impossible

Le prochain article souligne un problème d'apprentissage de la classification binaire lorsqu'une image qui n'est ni l'un ni l'autre arrive (c'est comme du jus de tomate qui entre pour saisir le jugement du groupe sanguin). Un système qui comprend l'apprentissage automatique doit être construit, y compris le type de système à construire en fonction du but de l'utilisation, et ce qu'il faut faire avec le prétraitement juste avant cela.

Deep Learning reconnaît votre patron et masque l'écran

** Remarque: les gens peuvent-ils apprendre? ** **

Dans le cas de l'apprentissage automatique d'images, en tant qu'intuition de savoir si elles sont susceptibles d'être apprises ou non, le point de vue de savoir si le contenu peut ou non être appris par une personne est utilisé. À titre d'exemple, considérons l'estimation de l'âge et la reconnaissance faciale. J'ai du mal à estimer l'âge d'une personne et à déterminer si elle est la même personne si elle est d'une race ou d'une race différente. Je pense que cela est dû au fait que le visage moyen, les facteurs de fluctuation faciale et les composants principaux de l'analyse des composants diffèrent selon le groupe. Même dans le domaine du visage, où l'effort de recherche et développement n'est pas anodin. Il ne faut pas oublier que l'apprentissage automatique dans d'autres domaines a tendance à manquer de données et que «s'il y a des déchets, il y en aura».

[Note 1]: Même dans le domaine de la mesure stéréo, CG devient une situation qui ne peut être ignorée. Il n'est pas facile de préparer une image stéréo avec des données de mesure réelles ayant la bonne réponse dans le domaine de la mesure stéréo. Par conséquent, il semble que la situation soit telle qu'une image stéréo est générée et l'algorithme est évalué en fonction de celle-ci dans une situation où il y a une réponse correcte avec 3D CG.

Regardons de plus près les données

Un examen attentif des données permet de savoir que vous ne le remarquerez pas si vous ne regardez que les résultats. L'article suivant en est un exemple.

L'apprentissage en profondeur! L'histoire des données elles-mêmes qui sont lues quand elles ne suivent pas après avoir reconnu des nombres manuscrits

(17) Cuda-convnet reconnaît automatiquement les images numériques auto-écrites

Shinsai FaxOCR Ensemble de données pour la reconnaissance de caractères manuscrits Données de test (format MNIST IDX)


Postscript Je pense que la détection par dlib des points des organes du visage est excellente. Si vous utilisez le résultat, il sera plus facile de normaliser l'image du visage. Sauf si vous essayez d'en créer un nouveau avec plus de précision que ce n'est possible avec dlib Je pense que l'utilisation de tels outils est efficace. Jusqu'à présent, en raison de la difficulté d'avoir à faire de nombreuses entrées correctes de la position des yeux La situation était que le développement d'algorithmes faciaux ne pouvait se faire que dans un nombre limité d'endroits.


Lisons le journal.

Dans l'article, afin d'affirmer la bonté de la technologie de reconnaissance d'image par rapport aux autres, elle est toujours comparée dans la base de données. Lors de l'apprentissage, il doit décrire le type de base de données utilisé pour l'apprentissage.

La plupart du temps, vous utilisez une base de données publique. Dans de rares cas, nous pouvons utiliser les données que nous avons acquises pour l'apprentissage et l'évaluation. Même dans un tel cas, il existe de nombreux cas où l'identité des données utilisées est indiquée ou les données sont rendues publiques.

Avec les derniers articles, à cette fin, vous pouvez découvrir quel type de base de données est utilisé pour les comparaisons récentes.

Vous pouvez également lire des articles à cet effet.


Post-scriptum:

Ce que vous ne devez pas faire lors de la création et de l'utilisation d'ensembles de données d'apprentissage automatique

Si les données ne sont pas gérées correctement, il est possible que l'image de l'image d'évaluation soit utilisée comme image d'apprentissage. Après avoir copié une image pour apprendre quelque part et avoir rendu difficile la compréhension de l'identité, il devient difficile de retracer la source. Une fois que vous avez les données, gérez-les séparément pour l'évaluation et l'apprentissage à un stade précoce. Vous devez le déclarer séparément pour l'évaluation et l'apprentissage à un stade précoce avant de laisser d'autres membres de l'équipe l'utiliser.

--Les données d'évaluation et les données d'entraînement sont des images trop similaires.

Découpez une image fixe de l'image vidéo et mélangez-la pour la séparer pour l'évaluation et l'apprentissage. Cependant, étant donné que l'environnement de prise de vue est le même, si l'intervalle de temps pour découper les images fixes est trop court, les images seront trop similaires. Dans une telle situation, la différence de caractéristiques entre l'image d'évaluation et l'image d'apprentissage disparaît. Ensuite, l'évaluation sera trop bonne.

Cependant, dès que l'environnement réel est atteint, les performances peuvent ne pas être atteintes en raison de fluctuations.

Le problème que l'image d'évaluation et l'image d'apprentissage sont trop similaires peut surgir involontairement. Dans le système d'appariement de visage, lors de la création de données entraînées pour construire le système d'appariement de visage, on craint qu'une image très similaire à celle incluse dans l'appariement de visage pour l'évaluation soit utilisée sans le savoir. Par exemple, l'image du visage de Barak Obama (ancien président) est facile à inclure dans la base de données d'images de visage, donc même si différents ensembles de données sont utilisés pour l'apprentissage et l'évaluation, Barak Obama est inclus dans les deux. Il est facile d'arriver que ce soit parti.


Postscript La détection des personnes dans les terrains de football a souvent un fond vert, donc si vous étudiez spécifiquement pour cela, le taux de détection est susceptible de baisser si l'arrière-plan n'est pas vert.

Lors de l'utilisation de vos propres données, il est essentiel de vérifier la validité des données. À moins que la qualité des annotations ne soit améliorée, la précision de l'apprentissage peut ne pas être améliorée.

L'une des raisons pour lesquelles la précision de la technologie d'appariement des visages s'est considérablement améliorée ces dernières années est J'ai entendu dire qu'une base de données de correspondance des visages à grande échelle a été créée et que ces données sont venues pour garantir la qualité de la cartographie face à nom.

A Dataset With Over 100,000 Face Images of 530 People

Un bon ensemble de données vivra plus longtemps qu'une implémentation d'algorithme individuel.

Parmi les algorithmes de détection de visage / détection de personne et la base de données de détection de visage / détection de personne, la base de données dure plus longtemps.

L'algorithme de détection de visage de Viola Jones a été publié en 2001. Et de nombreux détecteurs en cascade inspirés de celui-ci ont été mis en œuvre. Depuis lors, avec les progrès de l'apprentissage profond, l'algorithme de détection des visages a considérablement changé. Non seulement l'algorithme du logiciel a changé, mais le mécanisme matériel de détection de visage a également changé de manière significative. Récemment, diverses implémentations matérielles qui accélèrent le cadre de l'apprentissage en profondeur sont apparues, de sorte que le matériel de détection de visage et de détection de personne a également considérablement changé.

Néanmoins, certains ensembles de données de détection des visages et des humains sont plus anciens que l'article de Viola Jones.

Un ensemble de données mieux conçu continuera à être utile avec une durée de vie plus longue que l'algorithme. Il est donc important de développer un ensemble de données sur l'apprentissage automatique dans votre domaine.

Gardez à l'esprit que l'implémentation que vous implémentez actuellement devra éventuellement être remplacée par une autre implémentation. Même dans le cas de l'apprentissage en profondeur, il sera nécessaire de passer à une implémentation différente du modèle de réseau. Développez soigneusement votre ensemble de données dans ce cas.

Créer un bon jeu de données est un bon paramètre de problème

La chose la plus importante pour résoudre un problème est de savoir comment régler le problème. Si vous faites une erreur en réglant le problème, le problème peut être gênant. Définir un bon problème est un point important pour résoudre un problème. Un bon jeu de données est celui qui réfléchit à la nature du problème et à la manière de le rapprocher d'une solution.

Exemple: LFW

Il vise à augmenter l'échelle de la base de données pour la correspondance des visages et à créer une base de données de correspondance des visages avec des images avec des conditions de prise de vue plus proches de l'environnement réel, y compris des images avec des conditions de prise de vue différentes. Exemple: VGG Face2 Il a une variété d'orientations de visage, y compris un demi-profil, et a plus de faces que LFW. L'image a été nettoyée manuellement.

Si les paramètres de votre problème sont raisonnables, préparez l'ensemble de données approprié. Pour poser une bonne question, publiez l'ensemble de données approprié. Même les développeurs d'entreprise peuvent être en mesure de fournir un bon ensemble de données.

Exemple: Posez une question sur Kaggle.

https://www.kaggle.com/c/cvpr-2018-autonomous-driving

En regardant la base de données des questions, vous pouvez voir à quoi ressemblent les paramètres d'affectation actuels.

La connaissance des objets basés sur la segmentation est importante. Être capable de traiter en temps réel.

Il montre que la détection précoce des piétons a changé par rapport à ce qui était basé sur le rectangle du cadre de détection.

https://www.kaggle.com/c/mercari-price-suggestion-challenge Des questions sont également posées par les entreprises japonaises.

Exemple: publier la base de données.

Daimler Pedestrian Benchmark Data Sets

Article associé Rechercher des annotations L'outil d'annotation (outil de saisie de réponse correcte) évolue.

Comment une personne bâclée gère les données expérimentales Concept de chaque étape de la collecte de données pour l'apprentissage automatique Ce n'est pas une bonne idée d'utiliser le ratio des données d'entraînement tel qu'il apparaît.

Les données non détectées devraient-elles être ajoutées ou reportées?

Recommended Posts

Importance des ensembles de données d'apprentissage automatique
Bases de l'apprentissage automatique (mémoire)
Apprentissage automatique
Importance de l'apprentissage automatique et de l'apprentissage par mini-lots
Apprentissage automatique ③ Résumé de l'arbre de décision
Algorithme d'apprentissage automatique (généralisation de la régression linéaire)
20 sélections recommandées en 2020 de livres d'introduction à l'apprentissage automatique
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
[Apprentissage automatique] Liste des packages fréquemment utilisés
Exemple d'apprentissage automatique
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Classification des images de guitare par apprentissage automatique Partie 1
Début de l'apprentissage automatique (matériel didactique / informations recommandés)
Apprentissage automatique du sport-Analyse de la J-League à titre d'exemple-②
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Tournoi Numerai - Fusion de quants traditionnels et apprentissage automatique -
Divulgation complète des méthodes utilisées dans l'apprentissage automatique
Liste des liens que les débutants en apprentissage automatique apprennent
Vue d'ensemble des techniques d'apprentissage automatique apprises grâce à scikit-learn
À propos du contenu de développement de l'apprentissage automatique (exemple)
Résumé des fonctions d'évaluation utilisées dans l'apprentissage automatique
Analyse de l'utilisation de l'espace partagé par l'apprentissage automatique
Estimation raisonnable du prix de Mercari par apprentissage automatique
Classification des images de guitare par apprentissage automatique, partie 2
Touchons une partie de l'apprentissage automatique avec Python
Essayez d'utiliser le bloc-notes Jupyter à partir d'Azure Machine Learning
Disposition des éléments auto-mentionnés liés à l'apprentissage automatique
Raisonnement causal utilisant l'apprentissage automatique (organisation des méthodes de raisonnement causal)
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique sur le surapprentissage
Apprentissage automatique ⑤ Résumé AdaBoost
Apprentissage automatique: supervisé - AdaBoost
Régression logistique d'apprentissage automatique
Deep learning 1 Pratique du deep learning
Machine de vecteur de support d'apprentissage automatique
Étudier l'apprentissage automatique ~ matplotlib ~
Mémo du cours d'apprentissage automatique
Bibliothèque d'apprentissage automatique dlib
Apprentissage automatique (TensorFlow) + Lotto 6
Apprenez en quelque sorte le machine learning
Bibliothèque d'apprentissage automatique Shogun
Défi de lapin d'apprentissage automatique
Introduction à l'apprentissage automatique
Apprentissage automatique: k-voisins les plus proches
Qu'est-ce que l'apprentissage automatique?
Points clés de «Machine learning avec Azure ML Studio»
Script Python de collection d'images pour créer des ensembles de données pour l'apprentissage automatique
[Balisage recommandé dans le machine learning # 2] Extension du script de scraping
[Balisage recommandé dans le machine learning # 2.5] Modification du script de scraping
À propos du prétraitement des données des systèmes utilisant l'apprentissage automatique
Impressions d'avoir obtenu le nano-diplôme Udacity Machine Learning Engineer
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Résumé du flux de base de l'apprentissage automatique avec Python
Bilan du premier défi du machine learning avec Keras
Modèle d'apprentissage automatique prenant en compte la maintenabilité
L'apprentissage automatique appris avec Pokemon
Ensemble de données pour l'apprentissage automatique