La classification des données en fonction du contenu est une tâche ouverte. Les systèmes traditionnels de prévention des pertes de données (DLP) résolvent ce problème en prenant les empreintes des données pertinentes et en surveillant les points de terminaison des empreintes digitales. Compte tenu du grand nombre d'actifs de données en constante évolution sur Facebook, cette approche non seulement ne s'adapte pas, mais est inefficace pour déterminer où se trouvent les données. Cet article concerne un système de bout en bout conçu pour découvrir des types sémantiques sensibles sur Facebook à grande échelle et appliquer automatiquement le stockage et le contrôle d'accès.
L'approche décrite ici est notre premier système de confidentialité de bout en bout qui tente de résoudre ce problème en incorporant des signaux de données, l'apprentissage automatique et des techniques traditionnelles d'empreintes digitales pour afficher et classer toutes les données Facebook. Le système décrit fonctionne dans un environnement de production, atteignant un score F2 moyen de 0,9+ pour diverses classes de confidentialité tout en traitant une grande quantité de ressources de données dans des dizaines de stockages. Présentation de la traduction de l'article ArXiv de Facebook sur la classification des données évolutive pour la sécurité et la confidentialité basée sur l'apprentissage automatique.
introduction
Les organisations collectent et stockent aujourd'hui de grandes quantités de données dans une variété de formats et d'emplacements [1], puis les données sont consommées dans de nombreux endroits, parfois copiées ou mises en cache plusieurs fois, avec pour résultat que des informations commerciales précieuses et sensibles sont dispersées dans de nombreux entrepôts de données d'entreprise. Lorsqu'une organisation est tenue de se conformer à certaines exigences légales ou réglementaires, par exemple pour se conformer à la réglementation dans le cadre d'une procédure civile, il devient nécessaire de collecter l'emplacement des données pertinentes. Lorsque la déclaration de confidentialité stipule qu'une organisation doit masquer tous les numéros de sécurité sociale (SSN) lors du partage d'informations personnelles avec des entités non autorisées, la première étape naturelle consiste à rechercher tous les SSN dans les magasins de données à l'échelle de l'organisation.Dans de telles circonstances, la classification des données devient critique [1]. Le système de classification permettra aux organisations d'appliquer automatiquement des politiques de confidentialité et de sécurité telles que l'activation des politiques de contrôle d'accès et la conservation des données. Facebook présente un système que nous avons construit chez Facebook qui utilise une variété de signaux de données, une architecture système évolutive et l'apprentissage automatique pour découvrir des types de données sémantiques sensibles.architecture système évolutive et apprentissage automatique pour découvrir les types de données sémantiques sensibles.architecture système évolutive et apprentissage automatique pour découvrir les types de données sémantiques sensibles.
Trouver et classer des données consiste à les trouver et à les étiqueter afin que vous puissiez récupérer rapidement et efficacement les informations pertinentes en cas de besoin. Le processus actuel est de nature plus manuelle et consiste à examiner les lois ou règlements pertinents, à déterminer quels types d'informations devraient être considérés comme sensibles et quels sont les différents niveaux de sensibilité, puis dans la politique appropriée de construction de classes et de classification [1]. Après les systèmes de prévention de la perte de données (DLP), les données sont empreintes digitales et les terminaux sont surveillés en aval pour les empreintes digitales. Lorsqu'il s'agit d'un entrepôt avec de nombreux actifs et pétaoctets de données, cette approche ne s'adapte tout simplement pas.
Notre objectif est de créer un système de classification des données qui s'adapte à la fois aux données utilisateur persistantes et volatiles, sans aucune contrainte supplémentaire sur le type ou le format de données. C'est un objectif ambitieux, et naturellement semé d'embûches. Tout enregistrement de données peut comporter des milliers de caractères.
Figure 1. Flux de prévisions en ligne et hors ligne
Par conséquent, nous devons le représenter efficacement à l'aide d'un ensemble commun de caractéristiques, qui peuvent ensuite être combinées et facilement déplacées. Ces fonctionnalités doivent non seulement fournir une classification précise, mais également fournir une flexibilité et une extensibilité pour ajouter et découvrir facilement de nouveaux types de données à l'avenir. Deuxièmement, vous devez gérer de grandes tables autonomes. Les données persistantes peuvent être stockées dans des tables de plusieurs pétaoctets. Cela peut entraîner une diminution de la vitesse de numérisation. Troisièmement, nous devons respecter une classification SLA stricte pour les données volatiles. Cela rend le système très efficace, rapide et précis. Enfin, nous devons fournir une classification des données à faible latence pour les données volatiles afin d'effectuer la classification en temps réel, ainsi que pour les cas d'utilisation d'Internet.
Cet article décrit comment nous avons traité les problèmes ci-dessus et présente un système de classification rapide et évolutif qui classe les éléments de données de tous types, formats et sources en fonction d'un ensemble commun de fonctionnalités. Nous avons étendu l'architecture du système et construit un modèle d'apprentissage automatique personnalisé pour classer rapidement les données hors ligne et en ligne. Cet article est organisé comme suit: La section 2 présente la conception générale du système. La section 3 traite des parties d'un système d'apprentissage automatique. Les sections 4 et 5 décrivent les travaux connexes et décrivent l'orientation future des travaux.
Architecture
Pour traiter les données persistantes à l'échelle de Facebook et les problèmes de données en ligne, le système de classification comporte deux flux distincts, dont nous discuterons en détail.
Données persistantes
Au départ, le système doit se renseigner sur une variété d'actifs d'information Facebook. Pour chaque entrepôt, certaines informations de base sont collectées, telles que le centre de données contenant ces données, le système avec ces données et les actifs situés dans un entrepôt de données particulier. Cela forme un catalogue de métadonnées, permettant au système de récupérer efficacement les données sans surcharger les clients et les ressources utilisées par d'autres ingénieurs.
Ce catalogue de métadonnées fournit une source fiable pour tous les actifs analysés et vous permet de suivre l'état de santé de divers actifs. Ces informations sont utilisées pour hiérarchiser la planification en fonction des données collectées et des informations internes du système, telles que l'heure de la dernière analyse réussie de l'actif et l'heure à laquelle il a été créé, ainsi que les exigences passées de mémoire et de processeur pour cet actif s'il a été précédemment analysé. Ensuite, pour chaque ressource de données (à mesure que les ressources deviennent disponibles), le travail d'analyse réel de la ressource est appelé.
Chaque travail est un binaire compilé qui exécute un échantillon de Bernoulli sur les dernières données disponibles pour chaque actif. L'actif est divisé en colonnes distinctes, où le résultat de la classification pour chaque colonne est traité indépendamment. En outre, le système analyse toutes les données riches dans les colonnes. JSON, tableaux, structures encodées, URL, données sérialisées en base 64 et plus sont tous analysés. Cela peut augmenter considérablement le temps d'exécution de l'analyse, car une seule table peut contenir des milliers de colonnes imbriquées dans un objet blob
json
.
Pour chaque ligne sélectionnée dans l'actif de données, le système de classification extrait les flottants et les objets texte du contenu et associe chaque objet à la colonne d'où il provient. Le résultat de l'étape d'extraction d'entités est une carte de toutes les entités pour chaque colonne trouvée dans l'actif de données.
À quoi servent les signes?
Le concept de traits est essentiel. Au lieu de traits flottants et textuels, nous pouvons transmettre des modèles de chaînes brutes qui sont directement extraits de chaque ressource de données. En outre, les modèles d'apprentissage automatique peuvent être entraînés directement sur chaque échantillon, plutôt que sur des centaines de calculs d'entités qui tentent uniquement d'approcher l'échantillon. Il y a plusieurs raisons à cela:
- : , , . , . , , .
- : . . , , .
- : , . .
Les fonctionnalités sont ensuite envoyées à un service de prédiction où nous utilisons la classification basée sur des règles et l'apprentissage automatique pour prédire les étiquettes de données de chaque colonne. Le service s'appuie à la fois sur les classificateurs de règles et l'apprentissage automatique et sélectionne les meilleures prévisions données à partir de chaque objet de prévision.
Les classificateurs de règles sont des heuristiques manuelles qui utilisent des calculs et des coefficients pour normaliser un objet compris entre 0 et 100. Une fois qu'un tel score initial est généré pour chaque type de données et nom de colonne associé à ces données, il n'est inclus dans aucune "liste de refus". , le classificateur de règles sélectionne le score normalisé le plus élevé parmi tous les types de données.
En raison de la complexité de la classification, l'utilisation d'heuristiques purement manuelles entraîne une faible précision de classification, en particulier pour les données non structurées. Pour cette raison, nous avons développé un système d'apprentissage automatique pour travailler avec la classification des données non structurées telles que le contenu et l'adresse générés par l'utilisateur. L'apprentissage automatique nous a permis de commencer à nous éloigner des heuristiques manuelles et d'appliquer des signaux de données supplémentaires (par exemple, noms de colonnes, origines des données), améliorant considérablement la précision de la détection. Nous plongerons plus tard dans notre architecture d'apprentissage automatique.
Le service de prédiction stocke les résultats pour chaque colonne avec des métadonnées sur l'heure et l'état de l'analyse. Tous les consommateurs et processus en aval qui dépendent de ces données peuvent les lire à partir de l'ensemble de données publié quotidiennement. Cet ensemble regroupe les résultats de tous ces travaux d'analyse, ou l'API en temps réel du catalogue de données. Les prévisions publiées sont la base de l'application automatique des politiques de confidentialité et de sécurité.
Enfin, une fois que le service de prédiction a écrit toutes les données et que toutes les prédictions ont été enregistrées, notre API Data Catalog peut renvoyer toutes les prédictions de type de données pour une ressource en temps réel. Chaque jour, le système publie un ensemble de données contenant toutes les dernières prévisions pour chaque actif.
Données volatiles
Bien que le processus décrit ci-dessus soit conçu pour les actifs persistants, le trafic non persistant est également considéré comme faisant partie des données de l'organisation et peut être important. Pour cette raison, le système fournit une API en ligne pour générer des prédictions de classification en temps réel pour tout trafic volatil. La prédiction en temps réel est largement utilisée pour classer le trafic sortant, le trafic entrant dans les modèles d'apprentissage automatique et les données des annonceurs.
L'API prend ici deux arguments principaux: la clé de regroupement et les données brutes à prédire. Le service effectue la même récupération d'objets que celle décrite ci-dessus et regroupe les objets pour la même clé. Ces symptômes sont également pris en charge dans le cache persistant pour le basculement. Pour chaque clé de regroupement, le service s'assure qu'il a vu suffisamment d'échantillons avant d'appeler le service de prédiction, en suivant le processus décrit ci-dessus.
Optimisation
Nous utilisons des bibliothèques et des techniques d'optimisation de lecture du stockage à chaud [2] pour analyser certains référentiels et nous assurer qu'il n'y a pas d'interruption de la part d'autres utilisateurs accédant au même référentiel.
Pour les tables extrêmement volumineuses (plus de 50 pétaoctets), malgré toutes les optimisations et l'efficacité de la mémoire, le système fonctionne pour tout analyser et tout calculer avant de manquer de mémoire. Après tout, l'analyse est entièrement calculée en mémoire et n'est pas stockée pendant l'analyse. Si de grandes tables contiennent des milliers de colonnes avec des blocs de données non structurés, le travail peut échouer en raison de ressources mémoire insuffisantes lors de la réalisation de prédictions pour la table entière. Cela réduira la couverture. Pour lutter contre cela, nous avons optimisé le système pour utiliser la vitesse de scan comme médiateur sur la façon dont le système gère la charge actuelle. Nous utilisons la vitesse comme mécanisme prédictif pour voir les problèmes de mémoire et calculer de manière proactive les cartes de caractéristiques.Cependant, nous utilisons moins de données que d'habitude.
Signaux de données
Le système de classification n'est aussi bon que les signaux des données. Ici, nous allons regarder tous les signaux utilisés par le système de classification.
- Basé sur le contenu: Bien sûr, le premier et le plus important signal est le contenu. Un échantillon de Bernoulli est prélevé pour chaque actif de données que nous analysons et l'extraction de fonctionnalités par contenu de données. De nombreux signes proviennent du contenu. N'importe quel nombre de flottants est possible, qui représentent des calculs du nombre de fois qu'un type particulier de motif a été vu. Par exemple, nous pouvons avoir des signes buccaux pour le nombre d'e-mails vus dans un échantillon ou des indicateurs pour le nombre d'émoticônes vues dans un échantillon. Ces calculs de caractéristiques peuvent être normalisés et agrégés à travers différentes analyses.
- : , , . — . , , . , .
- : , . . , .
- — , , . , , , , . , . , .
Un élément important est une méthodologie rigoureuse pour mesurer les métriques. Les principales mesures de l'itération d'amélioration de la classification sont la précision et le rappel de chaque étiquette, le score F2 étant le plus important.
Le calcul de ces métriques nécessite une méthodologie indépendante pour étiqueter les actifs de données qui est indépendante du système lui-même, mais peut être utilisée pour comparer directement avec lui. Ci-dessous, nous décrivons comment nous collectons la vérité de base de Facebook et l'utilisons pour former notre système de classification.
Collecter des données fiables
Nous accumulons des données fiables de chaque source répertoriée ci-dessous dans son propre tableau. Chaque table est chargée d'agréger les valeurs observées les plus récentes de cette source particulière. Chaque source dispose d'un contrôle de qualité des données pour s'assurer que les valeurs observées pour chaque source sont de haute qualité et contiennent les dernières étiquettes de type de données.
- Configurations de la plateforme de journalisation: certains champs des tables de la ruche sont remplis avec des données appartenant à un certain type. L'utilisation et la diffusion de ces données constituent une source fiable de données fiables.
- : , , . , , .
- , .
- : Facebook . , , , . .
- : , , , , . , .
- : , . , , GPS.
- : , , . .
Nous combinons toutes les principales sources de données valides en un seul corpus avec toutes ces données. Le plus gros problème de précision est de s'assurer qu'elle est représentative du magasin de données. Sinon, les moteurs de classification peuvent sur-équiper. Dans la lutte contre cela, toutes les sources ci-dessus sont utilisées pour fournir un équilibre lors de la formation des modèles ou du calcul des métriques. En outre, les spécialistes du marketing humain sélectionnent uniformément différentes colonnes dans le magasin et étiquettent les données de manière appropriée pour que la collecte de valeurs valides reste impartiale.
Intégration continue
Pour permettre une itération et une amélioration rapides, il est important de toujours mesurer les performances du système en temps réel. Nous pouvons mesurer chaque amélioration de la classification par rapport au système actuel, de sorte que tactiquement nous pouvons cibler les données pour de nouvelles améliorations. Ici, nous regardons comment le système complète une boucle de rétroaction qui est conduite par des données valides.
Lorsque le système de planification rencontre un actif étiqueté à partir d'une source fiable, nous planifions deux tâches. Le premier utilise notre scanner de fabrication et donc nos capacités de fabrication. La deuxième tâche utilise le dernier scanner de construction avec les derniers signes. Chaque tâche écrit sa sortie dans sa propre table, en signalant les versions avec les résultats de la classification.
C'est ainsi que nous comparons les résultats de la classification de la release candidate et du modèle de production en temps réel.
Alors que les ensembles de données comparent les fonctionnalités RC et PROD, de nombreuses variantes du moteur de classification ML du service de prédiction sont enregistrées. Le modèle d'apprentissage automatique le plus récent, le modèle de production actuel et tous les modèles expérimentaux. La même approche nous permet de "découper" différentes versions du modèle (indépendamment de nos classificateurs de règles) et de comparer les métriques en temps réel. Il est si facile de savoir quand une expérience ML est prête à entrer en production.
Chaque nuit, les RC calculés pour ce jour sont envoyés au pipeline d'entraînement ML, où le modèle est entraîné sur les derniers RC et évalue ses performances par rapport à un ensemble de données valide.
Chaque matin, le modèle termine sa formation et est automatiquement publié comme expérimental. Il est automatiquement inclus dans la liste expérimentale.
Quelques résultats
Plus de 100 types de données différents sont marqués avec une grande précision. Les types bien structurés tels que les e-mails et les numéros de téléphone sont classés avec un score f2 supérieur à 0,95. Les types de données lâches tels que le contenu personnalisé et le nom fonctionnent également très bien, avec des scores F2 supérieurs à 0,85.
Un grand nombre de colonnes séparées de données persistantes et volatiles sont classées quotidiennement dans tous les magasins. Plus de 500 téraoctets sont analysés quotidiennement dans plus de 10 magasins de données. La plupart de ces référentiels ont une couverture de plus de 98%.
La classification est devenue très efficace au fil du temps, car les tâches de classification dans un flux hors ligne persistant prennent en moyenne 35 secondes entre l'analyse d'un actif et le calcul des prévisions pour chaque colonne.
Figure: 2. Un diagramme décrivant le flux continu d'intégration pour comprendre comment les objets RC sont générés et envoyés au modèle.
Figure 3. Diagramme de haut niveau d'un composant d'apprentissage automatique.
Composant du système d'apprentissage automatique
Dans la section précédente, nous avons plongé profondément dans l'architecture de l'ensemble du système, mettant en évidence l'échelle, l'optimisation et les flux de données hors ligne et en ligne. Dans cette section, nous examinerons le service de prévision et décrirons le système d'apprentissage automatique qui alimente le service de prévision.
Avec plus de 100 types de données et certains contenus non structurés tels que les données de publication et le contenu généré par l'utilisateur, l'utilisation d'heuristiques purement manuelles se traduit par une précision de classification sous-paramétrique, en particulier pour les données non structurées. Pour cette raison, nous avons également développé un système d'apprentissage automatique pour gérer la complexité des données non structurées. L'utilisation de l'apprentissage automatique vous permet de commencer à vous éloigner de l'heuristique manuelle et de travailler avec des fonctionnalités et des signaux de données supplémentaires (par exemple, les noms de colonnes, les origines des données) pour améliorer la précision.
Le modèle implémenté étudie les représentations vectorielles [3] sur des objets denses et clairsemés séparément. Ils se combinent ensuite pour former un vecteur qui passe par une série d'étapes de normalisation par lots [4] et de non-linéarité pour produire le résultat final. Le résultat final est un nombre à virgule flottante entre [0-1] pour chaque étiquette, indiquant la probabilité que l'exemple soit du type de sensibilité donné. L'utilisation de PyTorch pour le modèle nous a permis d'aller plus vite, permettant aux développeurs extérieurs à l'équipe d'apporter et de tester rapidement des modifications.
Lors de la conception de l'architecture, il était important de modéliser séparément les objets clairsemés (par exemple, du texte) et denses (par exemple, numériques) en raison de leur différence interne. Il était également important pour l'architecture finale d'effectuer un balayage des paramètres pour trouver la valeur optimale pour le taux d'apprentissage, la taille des paquets et d'autres hyperparamètres. La sélection de l'optimiseur était également un hyperparamètre important. Nous avons constaté que l'optimiseur Adam populaire conduit souvent à un surajustement, tandis que le modèle SGDplus stable. Il y avait des nuances supplémentaires que nous devions inclure directement dans le modèle. Par exemple, des règles statiques qui garantissaient que le modèle effectue une prédiction déterministe lorsqu'une entité a une certaine valeur. Ces règles statiques sont définies par nos clients. Nous avons constaté que leur inclusion directement dans le modèle aboutissait à une architecture plus autonome et plus robuste, par opposition à la mise en œuvre d'une étape de post-traitement pour gérer ces cas particuliers. Notez également que ces règles sont désactivées pendant l'entraînement afin de ne pas interférer avec le processus d'entraînement à la descente de pente.
Problèmes
L'un des défis était la collecte de données fiables et de haute qualité. Le modèle a besoin de validité pour chaque classe afin qu'il puisse apprendre les associations entre les objets et les étiquettes. Dans la section précédente, nous avons discuté des méthodes de collecte de données pour mesurer le système et les modèles de formation. L'analyse a montré que les classes de données telles que les numéros de carte de crédit et de compte bancaire ne sont pas très courantes dans notre stockage. Cela rend difficile la collecte de grandes quantités de données fiables pour les modèles de formation. Pour résoudre ce problème, nous avons développé des processus pour obtenir des données synthétiques valides pour ces classes. Nous générons ces données pour les types sensibles, y compris le SSN , les numéros de carte de crédit et l' IBAN-nombres pour lesquels le modèle ne pouvait pas prédire plus tôt. Cette approche permet de gérer les types de données sensibles sans le risque de confidentialité associé au masquage de données sensibles réelles.
Outre les problèmes de validité des données, il existe des problèmes d'architecture ouverte sur lesquels nous travaillons, tels que l' isolement des changements et l' arrêt prématuré.... L'isolement des changements est important pour que lorsque divers changements sont apportés à différentes parties du réseau, l'impact est isolé de classes spécifiques et n'a pas un impact important sur les performances globales des prévisions. L'amélioration des critères d'arrêt précoce est également essentielle pour que nous puissions arrêter l'entraînement à un point stable pour toutes les classes, plutôt qu'à un point où certaines classes sont recyclées et d'autres pas.
Signer l'importance
Lorsqu'une nouvelle fonctionnalité est introduite dans le modèle, nous voulons connaître son impact global sur le modèle. Nous voulons également nous assurer que les prédictions sont interprétables par l'homme afin que nous puissions comprendre exactement quelles fonctionnalités sont utilisées pour chaque type de données. Pour cela, nous avons développé et introduit classe par classel'importance des fonctionnalités pour le modèle PyTorch. Notez que cela diffère de l'importance générale d'un trait, qui est généralement maintenue car elle ne nous dit pas quels traits sont importants pour une classe particulière. Nous mesurons l'importance d'un objet en calculant l'augmentation de l'erreur de prévision après avoir réorganisé l'objet. Une caractéristique est «importante» lorsque la permutation des valeurs augmente l'erreur du modèle, car dans ce cas, le modèle s'est appuyé sur la caractéristique pour la prévision. Une caractéristique est "sans importance" lorsque le mélange de ses valeurs laisse l'erreur de modèle inchangée, puisque dans ce cas le modèle l'a ignorée [5].
L'importance de la fonctionnalité pour chaque classe nous permet de rendre le modèle interprétable afin que nous puissions voir à quoi le modèle prête attention lors de la prédiction de l'étiquette. Par exemple, lorsque nous analysons ADDR, puis nous nous assurons qu'un trait lié à l'adresse, tel que AddressLinesCount, occupe un rang élevé dans le tableau d'importance des traits pour chaque classe, de sorte que notre intuition humaine corresponde bien à ce que le modèle a appris.
Évaluation
Il est important de définir une métrique commune du succès. Nous avons choisi F2 - équilibre entre rappel et précision (le biais de rappel est légèrement plus grand). Les commentaires sont plus importants dans un cas d'utilisation de la confidentialité que la précision, car il est impératif pour l'équipe de ne pas divulguer de données sensibles (tout en garantissant une précision raisonnable). Les estimations réelles des performances F2 de notre modèle sortent du cadre de cet article. Cependant, avec un réglage minutieux, nous pouvons obtenir un score F2 élevé (0,9+) pour les classes sensibles les plus importantes.
Travaux connexes
Il existe de nombreux algorithmes pour la classification automatique de documents non structurés utilisant diverses méthodes telles que la correspondance de modèles, la recherche de similarité de documents et diverses méthodes d'apprentissage automatique (bayésien, arbres de décision, k-plus proches voisins, et bien d'autres) [6]. Chacun de ces éléments peut être utilisé dans le cadre de la classification. Cependant, le problème est l'évolutivité. L'approche de classification de cet article est orientée vers la flexibilité et la performance. Cela nous permet de prendre en charge de nouvelles classes à l'avenir et de maintenir une latence faible.
Il y a aussi une tonne de travail de prise d'empreintes de données. Par exemple, les auteurs de [7] ont décrit une solution qui se concentre sur le problème de la détection des fuites de données confidentielles. L'hypothèse principale est qu'il est possible pour une empreinte de données de correspondre à un ensemble de données sensibles connues. Les auteurs de [8] décrivent un problème de fuite de confidentialité similaire, mais leur solution est basée sur une architecture Android spécifique et n'est classée que lorsque les actions de l'utilisateur ont abouti à l'envoi d'informations personnelles ou lorsque des données utilisateur sont divulguées dans l'application sous-jacente. La situation ici est légèrement différente, car les données des utilisateurs peuvent également être très non structurées. Par conséquent, nous avons besoin d'une technique plus sophistiquée que la prise de tirages.
Enfin, pour faire face au manque de données pour certains types de données sensibles, nous avons introduit des données synthétiques. Il existe une abondante littérature sur l'augmentation des données, par exemple, les auteurs de [9] ont étudié le rôle de l'injection de bruit pendant l'apprentissage et ont observé des résultats positifs dans l'apprentissage supervisé. Notre approche de la confidentialité est différente car l'introduction de données bruyantes peut être contre-productive et nous nous concentrons plutôt sur des données synthétiques de haute qualité.
Conclusion
Dans cet article, nous avons présenté un système permettant de classer une donnée. Cela nous permet de créer des systèmes pour garantir le respect des politiques de confidentialité et de sécurité. Nous avons montré qu'une infrastructure évolutive, une intégration continue, un apprentissage automatique et une fidélité des données de haute qualité sont la clé du succès de bon nombre de nos initiatives de confidentialité.
Il existe de nombreux domaines de travaux futurs. Cela peut inclure la prise en charge de données non schématiques (fichiers), la classification non seulement du type de données, mais également du niveau de sensibilité, et l'utilisation d'un apprentissage auto-supervisé directement pendant la formation en générant des exemples synthétiques précis. Ce qui, à son tour, aidera le modèle à réduire les pertes au maximum. Les travaux futurs peuvent également se concentrer sur le flux de travail d'enquête, où nous allons au-delà de la détection et fournissons une analyse des causes profondes de diverses violations de la vie privée. Cela aidera dans des cas tels que l'analyse de sensibilité (c'est-à-dire si la sensibilité de la confidentialité du type de données est élevée (par exemple, l'adresse IP de l'utilisateur) ou faible (par exemple, l'adresse IP interne de Facebook)).
Bibliographie
- David Ben-David, Tamar Domany, and Abigail Tarem. Enterprise data classification using semantic web technolo- gies. In Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, and Birte Glimm, editors, The Semantic Web – ISWC 2010, pages 66–81, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
- Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang, and Sanjeev Kumar. f4: Facebook’s warm BLOB storage system. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 383–398, Broomfield, CO, October 2014. USENIX Association.
- Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 26, pages 3111–3119. Curran Associates, Inc., 2013.
- Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Francis Bach and David Blei, editors, Proceedings of the 32nd International Conference on Machine Learning, volume 37 of Proceedings of Machine Learning Research, pages 448–456, Lille, France, 07–09 Jul 2015. PMLR.
- Leo Breiman. Random forests. Mach. Learn., 45(1):5–32, October 2001.
- Thair Nu Phyu. Survey of classification techniques in data mining.
- X. Shu, D. Yao, and E. Bertino. Privacy-preserving detection of sensitive data exposure. IEEE Transactions on Information Forensics and Security, 10(5):1092–1103, 2015.
- Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, and Xiaoyang Wang. Appintent: Analyzing sensitive data transmission in android for privacy leakage detection. pages 1043–1054, 11 2013.
- Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, and Quoc V. Le. Unsupervised data augmentation.
, Level Up , - SkillFactory:
- Data Science (12 )
- Machine Learning (12 )
- «Machine Learning Pro + Deep Learning» (20 )
- « Machine Learning Data Science» (20 )
E