Human in the loop (HITL) consiste à intervenir dans les opérations humaines dans le jugement et le contrôle de l'IA, et est considéré comme l'un des moyens de mise en œuvre sociale de l'IA où le contrôle qualité est difficile. [Référence 1] Dans cet article, j'aimerais implémenter un modèle d'apprentissage automatique, un tableau de bord pour la surveillance et un outil de vérification avec une simple application WEB afin de pouvoir saisir l'image de HITL. (Programmé 3 fois au total) Dans HITL, un tableau de bord qui vous permet de vérifier les données réelles et le comportement de l'IA en même temps est efficace pour la surveillance, donc cette fois dans la partie 1, nous allons fixer des objectifs, introduire les données d'utilisation et mettre en œuvre un tableau de bord de surveillance.
Table des matières de l'implémentation HITL
Partie ① Tableau de bord ← Cette fois
Outil de vérification de la pièce
Partie ③ HITL (① et ② + mécanisme de réapprentissage des modèles)
■ Résultat de la mise en œuvre ■ Environnement
Python 3.7.7 dash 1.16.1 dash-bootstrap-components 0.10.7 dash-core-components 1.12.1 dash-html-components 1.1.1 dash-renderer 1.8.1 dash-table 4.10.1 plotly 4.10.0 Flask 1.1.2 lightgbm 3.0.0
Différentes constructions de HITL sont attendues en fonction de la tâche, mais dans cette série, nous adopterons celle basée sur la détection d'anomalies.
■ Implémentez les éléments suivants dans l'application WEB
--Surveillance
L'implémentation a utilisé les données de Kaggle's Credit Card Fraud Detection. [Référence 2]
Ces données sont des données déséquilibrées avec la variable objective d'utilisation frauduleuse de cartes de crédit, et sont souvent utilisées pour essayer des modèles de détection d'anomalies.
Les données d'origine incluent les données PCA de V1 à V28. Puisque le but de cette fois est une démonstration pour saisir l'image, la quantité de caractéristique d'entrée est fixée à 2 variables (V4, V14) * afin qu'elle soit facile à comprendre une fois visualisée.
Dans la démo, nous surveillerons, vérifierons et réapprendrons artificiellement les données ci-dessus ainsi que les données normales inconnues. Les données normales inconnues créées artificiellement doivent satisfaire aux conditions suivantes dans le scénario.
① Le modèle supervisé détecte à tort (détermine à tort qu'il est anormal) (2) Le modèle de détection peut être détecté (c'est-à-dire que les données artificielles sont clairement différentes des données d'apprentissage d'origine) ③ Même en cas de réapprentissage, le modèle supervisé peut conserver le jugement d'anomalie existant
Sur la base de ce qui précède, nous avons créé les données de démonstration. (Moins que) (1 à 8s: connu (anormal à 3s), 9 à 11s: inconnu, répété deux fois)
Décrit le cadre et le modèle utilisés pour la mise en œuvre.
■ Partie visualisation
■ Modèle d'apprentissage automatique, modèle de détection
--Modèle d'apprentissage automatique - LightGBM --Afficher le score de la classification binaire (normal: 0, invalide: 1)
Nous allons l'implémenter séparément ci-dessous.
■ Détails de mise en œuvre
--Objectif: tableau de bord simple (graphique + α) --Entrée: données de table (fichier csv)
■ Image de mise en œuvre
■ Résultat de la mise en œuvre
Cette fois, nous avons implémenté un tableau de bord à utiliser pour la surveillance dans Human In The Loop. Le tableau de bord visualise les informations de données réelles et le score de l'IA en temps réel, ce qui permet de mieux comprendre où l'IA se concentre sur les données réelles. (Dans ces données, AI semble juger qu'il est invalide lorsque V4 est positif et V14 est négatif) En utilisant Dash et de manière intrigue, j'ai trouvé qu'il était relativement facile de coder les parties HTML et CSS. Surtout, j'aimerais que vous éprouviez le sentiment que vous pouvez facilement implémenter une telle application WEB qui fonctionne en temps réel.
Si vous avez des améliorations ou des questions, je vous serais reconnaissant de bien vouloir commenter.
Une IA humaine dans la boucle qui crée une entreprise, une société et un avenir meilleurs https://note.com/masayamori/n/n2764e3cecc05
Kaggle - Credit Card Fraud Detection https://www.kaggle.com/mlg-ulb/creditcardfraud
Créez une application Web qui permet l'apprentissage automatique avec Dash [Étape 1] https://wimper-1996.hatenablog.com/entry/2019/10/28/dash_machine_learning1
Code publié http://github.com/utmoto
Dash https://dash.plotly.com/
plotly https://plotly.com/
Recommended Posts