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
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.
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 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
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 |
"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.
"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.
Recommended Posts