[PYTHON] [Détection d'anomalies] Essayez d'utiliser la dernière méthode d'apprentissage à distance

Auparavant, en utilisant ** Deep Distance Learning ** ["Détection d'anomalies de l'image"](https://qiita.com/shinmura0/items/06d81c72601c7578c6d3#%E3%83%99%E3%83%B3%E3% 83% 81% E3% 83% 9E% E3% 83% BC% E3% 82% FA) a été réalisée. Après cela, ** la dernière méthode d'apprentissage à distance ** "AdaCos" est apparue.

Dans cet article, j'aimerais appliquer AdaCos à la "détection d'anomalies" et effectuer un simple benchmark. Le code complet est ici

De la conclusion

En appliquant AdaCos à la détection d'anomalies, nous avons trouvé ce qui suit:

AdaCos Bien qu'AdaCos soit considéré comme la dernière méthode d'apprentissage à distance en profondeur, en janvier 2020, cela fait plus de six mois que l'article a été publié. C'est passé. Cependant, pour autant que je sache, il est toujours dans le cadre du "pur apprentissage à distance". Cela semble être SOTA.

AdaCos est une méthode basée sur ArcFace etc., et les paramètres utilisés dans ArcFace etc. C'est une méthode pour décider automatiquement. Étant donné que la précision d'ArcFace change considérablement en fonction de la sélection des paramètres, Le réglage des paramètres était très sévère. Cependant, avec l'introduction d'AdaCos, il Être capable de déterminer les paramètres vous libère de cette tâche de réglage.

En outre, il a été confirmé que la précision est également améliorée, ce qui améliore considérablement l'efficacité et la précision du travail. C'est une méthode très utile. Pour plus de détails, reportez-vous aux articles suivants.

Lire AdaCos: Scaling adaptatif des logits cosinus pour apprendre efficacement les représentations de visage en profondeur

Contrainte

Il existe deux types d'AdaCos, fixes et dynamiques. La méthode utilisée dans cet article est "Fixed Ada Cos".

De plus, AdaCos ne peut être appliqué que lorsque le nombre de classes est de 3 ou plus. Cela devient un goulot d'étranglement lors de l'application de Apprentissage auto-supervisé, mais la considération est Je vais le faire dans Article suivant. Ce n'est pas un problème car le nombre de classes dans cette expérience est de 9.

Expérience

[Expérience précédente](https://qiita.com/shinmura0/items/06d81c72601c7578c6d3#%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83 Effectuer l'expérience dans les mêmes conditions que% BC% E3% 82% AF).

Le code d'AdaCos lui-même est presque le même que celui d'ArceFace. Cependant, la méthode de donner les paramètres a été modifiée pour le style AdaCos.

Le code complet est ici

conditions


Fashion-MNIST
La ventilation des données est la suivante. Normal est "baskets", anormal "bottes".

Quantité Nombre de cours Remarques
Données de référence pour l'apprentissage 8000 8 Hors baskets et bottes
Données normales pour l'entraînement 1000 1 baskets
Données de test (normales) 1000 1 baskets
Données de test (anormales) 1000 1 bottes


cifar-10
La ventilation des données est la suivante. Normal est "cerf", anormal "cheval".

Quantité Nombre de cours Remarques
Données de référence pour l'apprentissage 8000 8 Hors cerfs et chevaux
Données normales pour l'entraînement 1000 1 cerf
Données de test (normales) 1000 1 cerf
Données de test (anormales) 1000 1 Cheval

Résultats Fashion-MNIST

image.png

"L2-Softmax Loss" et "Arc Face" montrent les résultats de l'expérience précédente. Le résultat de "AdaCos" est le résultat de cette expérience.

La valeur médiane de "AdaCos" est désormais presque ** la même AUC que ArcFace. ** **

Après tout, je suis reconnaissant que le réglage des paramètres ne soit plus nécessaire.

Résultats du CIFAR-10

image.png "L2-Softmax Loss" et "Arc Face" montrent les résultats de l'expérience précédente. Le résultat de "AdaCos" est le résultat de cette expérience.

Semblable à Fashin-MNIST, la valeur médiane de "AdaCos" est presque la même AUC que ArcFace.

Résumé

Recommended Posts

[Détection d'anomalies] Essayez d'utiliser la dernière méthode d'apprentissage à distance
[Détection d'anomalies] Détecter la distorsion de l'image par apprentissage à distance
J'ai essayé d'exécuter le didacticiel de détection d'objets en utilisant le dernier algorithme d'apprentissage en profondeur
Examen de la méthode de prévision des échanges utilisant le Deep Learning et la conversion en ondelettes - Partie 2
Othello-De la troisième ligne de "Implementation Deep Learning" (3)
Essayez l'apprentissage profond de la génomique avec Kipoi
Essayez l'analyse de cluster par K-means
Visualisez les effets de l'apprentissage profond / de la régularisation
Othello-De la troisième ligne de "Implementation Deep Learning" (2)
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
J'ai essayé l'histoire courante de prédire la moyenne Nikkei à l'aide du Deep Learning (backtest)
Examen de la méthode de prévision des échanges utilisant le Deep Learning et la conversion en ondelettes
L'histoire de l'apprentissage profond avec TPU
Essayez d'utiliser le module de collections (ChainMap) de python3
Essayez d'utiliser le bloc-notes Jupyter à partir d'Azure Machine Learning
Calcul de l'itinéraire le plus court selon la méthode de Monte Carlo
Comptez le nombre de paramètres dans le modèle d'apprentissage en profondeur
Deep learning 1 Pratique du deep learning
Techniques pour comprendre la base des décisions d'apprentissage en profondeur
Othello ~ De la troisième ligne de "Implementation Deep Learning" (4) [Fin]
Collecte et automatisation d'images érotiques à l'aide du deep learning
La méthode de copie de pandas.DataFrame est une copie profonde par défaut
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de classification
Deep running 2 Réglage de l'apprentissage profond
Essayez d'utiliser l'API Twitter
Essayez le Deep Learning avec FPGA
Flux de base de détection d'anomalies
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API PeeringDB 2.0
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
cv2.Canny (): Rend le réglage de la détection de bord par la méthode Canny agréable
[Python] Notification LINE des dernières informations à l'aide de la recherche automatique Twitter
Essayez d'utiliser Elasticsearch comme base de votre système de questions et réponses
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 13) Essayez d'utiliser Google Colaboratory
Essayez de prédire le triplet de la course de bateaux en classant l'apprentissage
Résumé des pages utiles pour étudier le framework d'apprentissage profond Chainer
Sabayon Linux Portage Profile de 17.0 à 17.1 / Essayez d'installer la dernière version de Sabayon en utilisant le support d'installation Daily builds
Essayez de prédire la valeur de la jauge de niveau d'eau par apprentissage automatique en utilisant les données ouvertes de Data City Sabae
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Essayez d'utiliser le module Python Cmd
Introduction à la détection des anomalies et résumé des méthodes
J'ai essayé l'apprentissage en profondeur avec Theano
Graphique de l'historique du nombre de couches de deep learning et du changement de précision
Analyser émotionnellement les données de bouche-à-oreille d'entreprise des réunions de changement de carrière à l'aide de l'apprentissage en profondeur
Jusqu'à ce que l'environnement Deep Learning (TensorFlow) utilisant le GPU soit préparé pour Ubuntu 14.04
Procédure d'apprentissage automatique de base: ③ Comparez et examinez la méthode de sélection de la quantité de caractéristiques
Cours d'une demi-journée (TensorFlow, Chainer, Caffe, DeepDream, conversion de style) pour essayer 5 célèbres bibliothèques d'apprentissage en profondeur dans la plus courte distance