Skaalbere gegevensklassifikaasje foar feiligens en privacy

Skaalbere gegevensklassifikaasje foar feiligens en privacy

Ynhâld-basearre gegevens klassifikaasje is in iepen probleem. Tradysjonele gegevensferliesprevinsje (DLP) systemen lossen dit probleem op troch de relevante gegevens te fingerprintsjen en de einpunten foar fingerprinting te kontrolearjen. Mei it each op it grutte oantal konstant feroarjende gegevensboarnen by Facebook, is dizze oanpak net allinich net skalberber, mar ek net effektyf foar it bepalen fan wêr't de gegevens wenje. Dit papier rjochtet him op in ein-oan-ein systeem boud om gefoelige semantyske typen yn Facebook op skaal te detektearjen en automatysk gegevensopslach en tagongskontrôle ôf te twingen.

De hjir beskreaune oanpak is ús earste end-to-end privacysysteem dat besiket dit probleem op te lossen troch gegevenssinjalen, masinelearen en tradisjonele fingerprintingtechniken op te nimmen om alle gegevens op Facebook yn kaart te bringen en te klassifisearjen. It beskreaune systeem wurdt eksploitearre yn in produksjeomjouwing, en berikt in gemiddelde F2-score fan 0,9+ oer ferskate privacyklassen, wylst grutte hoemannichten gegevensboarnen ferwurke wurde oer tsientallen repositories. Yntroduksje fan in oersetting fan Facebook's ArXiv-papier oer skaalbere gegevensklassifikaasje foar feiligens en privacy basearre op masine learen.

Ynlieding

Tsjintwurdich sammelje en bewarje organisaasjes grutte hoemannichten gegevens yn in ferskaat oan formaten en lokaasjes [1], dan wurde de gegevens op in protte plakken konsumearre, soms meardere kearen kopiearre of yn 'e cache, wat resulteart yn weardefolle en gefoelige saaklike ynformaasje dy't ferspraat wurdt oer in protte bedriuwsgegevens winkels. As in organisaasje ferplicht is om te foldwaan oan bepaalde wetlike of regeljouwingeasken, lykas neilibjen fan regeljouwing yn sivile prosedueres, wurdt it nedich om gegevens te sammeljen oer de lokaasje fan 'e fereaske gegevens. As in privacyregeling stelt dat in organisaasje alle Sosjale Feiligensnûmers (SSN's) moat maskere by it dielen fan persoanlike ynformaasje mei net autorisearre entiteiten, is de natuerlike earste stap om alle SSN's te sykjen yn 'e gegevenswinkels fan' e organisaasje. Under sokke omstannichheden wurdt gegevensklassifikaasje kritysk [1]. It klassifikaasjesysteem sil organisaasjes tastean om automatysk privacy- en feiligensbelied te hanthavenjen, lykas it ynskeakeljen fan tagongskontrôlebelied, gegevensbehâld. Facebook yntroduseart in systeem dat wy by Facebook bouden dat meardere gegevenssinjalen, skaalbere systeemarsjitektuer en masine learen brûkt om gefoelige semantyske gegevenstypen te ûntdekken.

Gegevens ûntdekking en klassifikaasje is it proses fan it finen en labeljen fan gegevens sadat relevante ynformaasje fluch en effisjint kin wurde ophelle as it nedich is. It hjoeddeiske proses is nochal hânmjittich fan aard en bestiet út it ûndersiikjen fan de oanbelangjende wetten of regeljouwing, bepale hokker soarten ynformaasje as gefoelich beskôge wurde moatte en wat de ferskillende nivo's fan gefoelichheid binne, en dan dêrop klassen en klassifikaasjebelied konstruearje [1]. Previnsje fan gegevensferlies (DLP) fingerprinten dan de gegevens en folgje streamôfwerts einpunten om de fingerprinten te krijen. By it omgean mei in asset-swier pakhús mei petabytes oan gegevens, skaal dizze oanpak gewoan net.

Us doel is om in dataklassifikaasjesysteem te bouwen dat skaalber is foar sawol robúste as transiente brûkersgegevens, sûnder ekstra beheiningen op it gegevenstype of opmaak. Dit is in dapper doel, en fansels komt it mei útdagings. In opjûne gegevensrecord kin tûzenen tekens lang wêze.

Skaalbere gegevensklassifikaasje foar feiligens en privacy
figuer 1. Online en offline forecasting streamt

Dêrom moatte wy it effisjint fertsjintwurdigje mei in mienskiplike set funksjes dy't letter kinne wurde kombineare en maklik ferpleatst. Dizze funksjes moatte net allinich krekte klassifikaasje leverje, mar ek fleksibiliteit en útwreidzje leverje om nije gegevenstypen yn 'e takomst maklik ta te foegjen en te ûntdekken. Twads moatte jo omgean mei grutte offline tabellen. Duorsume gegevens kinne wurde opslein yn tabellen dy't in protte petabytes yn grutte binne. Dit kin resultearje yn tragere scansnelheden. Tredde, wy moatte fêsthâlde oan strange SLA klassifikaasje op flechtich gegevens. Dit twingt it systeem om heul effisjint, fluch en akkuraat te wêzen. Uteinlik moatte wy gegevensklassifikaasje mei lege latency leverje foar flechtige gegevens om realtime klassifikaasje út te fieren, lykas ek foar gefallen fan ynternetgebrûk.

Dit papier beskriuwt hoe't wy omgean mei de útdagings hjirboppe en presintearret in fluch en scalable klassifikaasje systeem dat klassifisearret gegevens eleminten fan alle soarten, formaten, en boarnen basearre op in mienskiplike set fan funksjes. Wy wreide de systeemarsjitektuer út en makken in oanpast masine-learenmodel om offline en online gegevens fluch te klassifisearjen. Dit papier is as folget organisearre: Seksje 2 presintearret it algemiene ûntwerp fan it systeem. Seksje 3 besprekt de dielen fan in masine learsysteem. Seksjes 4 en 5 markearje relatearre wurk en sketse takomstige rjochtingen fan wurk.

arsjitektuer

Om te gean mei de útdagings fan persistente en Facebook-skaal online gegevens, hat it klassifikaasjesysteem twa aparte streamen, dy't wy yn detail sille beprate.

Duorsume Data

Yn earste ynstânsje moat it systeem leare oer de protte ynformaasjeaktiva fan Facebook. Foar elke repository wurdt wat basisynformaasje sammele, lykas it datasintrum dat dy gegevens befettet, it systeem dat dy gegevens befettet, en de fermogens yn 'e spesifike gegevensrepository. Dit makket in metadata-katalogus wêrtroch it systeem gegevens effisjint kin ophelje sûnder kliïnten en boarnen te oerladen dy't brûkt wurde troch oare yngenieurs.

Dizze metadatakatalogus biedt in autoritative boarne foar alle skansearre aktiva en kinne jo de status fan ferskate aktiva folgje. Mei it brûken fan dizze ynformaasje wurdt de planningsprioriteit fêststeld op basis fan de sammele gegevens en ynterne ynformaasje fan it systeem, lykas de tiid dat de asset foar it lêst mei súkses is skansearre en de tiid dat it makke is, lykas ek de ferline ûnthâld en CPU-easken foar dat fermogen as it is earder skansearre. Dan, foar elke gegevensboarne (as boarnen beskikber wurde), wurdt in taak oproppen om de boarne feitlik te scannen.

Elke baan is in kompilearre binêre triem dy't Bernoulli-sampling útfiert op 'e lêste gegevens beskikber foar elke asset. De asset wurdt opdield yn yndividuele kolommen, wêrby't it klassifikaasjeresultaat fan elke kolom ûnôfhinklik wurdt ferwurke. Derneist scant it systeem foar alle verzadigde gegevens binnen de kolommen. JSON, arrays, kodearre struktueren, URL's, basis 64 serialisearre gegevens, en mear wurde allegear skansearre. Dit kin de útfieringstiid fan scan signifikant ferheegje, om't in inkele tabel tûzenen nestele kolommen yn in blob kin befetsje json.

Foar elke rige dy't selektearre is yn 'e gegevensaktiva, ekstrakt it klassifikaasjesysteem de float- en tekstobjekten út 'e ynhâld en assosjearret elk objekt werom nei de kolom wêrfan it is nommen. De útfier fan 'e funksje-ekstraksjestap is in kaart fan alle funksjes foar elke kolom fûn yn' e gegevensaktiva.

Wat binne de tekens foar?

It konsept fan attributen is kaai. Ynstee fan float- en teksttrekken kinne wy ​​rûge string-samples trochjaan dy't direkt út elke gegevensboarne wurde ekstrahearre. Derneist kinne masine-learmodellen direkt op elke stekproef wurde oplaat, ynstee fan hûnderten funksjeberekkeningen dy't allinich besykje it stekproef te benaderjen. D'r binne ferskate redenen foar dit:

  1. Privacy earst: It wichtichste, it konsept fan funksjes lit ús allinich de patroanen yn it ûnthâld opslaan dy't wy ophelje. Dit soarget derfoar dat wy samples opslaan foar ien doel en se nea oanmelde troch ús eigen ynspanningen. Dit is benammen wichtich foar flechtich gegevens, om't de tsjinst wat klassifikaasjestatus moat behâlde foardat jo in foarsizzing leverje.
  2. Unthâld: Guon samples kinne tûzenen tekens lang wêze. It opslaan fan sokke gegevens en it oerstjoeren nei dielen fan it systeem ferbrûkt unnedich in protte ekstra bytes. De twa faktoaren kinne oer tiid kombinearje, jûn dat d'r in protte gegevensboarnen binne mei tûzenen kolommen.
  3. Funksjesaggregaasje: Funksjes fertsjinwurdigje dúdlik de resultaten fan elke scan troch in set funksjes, wêrtroch it systeem de resultaten fan eardere scans fan deselde gegevensboarne op in handige manier kin kombinearje. Dit kin nuttich wêze foar it aggregearjen fan scanresultaten fan ien gegevensboarne oer meardere runs.

De funksjes wurde dan stjoerd nei in foarsizzing tsjinst dêr't wy brûke regel-basearre klassifikaasje en masine learen te foarsizze de gegevens labels fan elke kolom. De tsjinst fertrout op sawol regelklassifisearders as masine learen en selekteart de bêste foarsizzing jûn út elk foarsizzingsobjekt.

Regelklassifisearders binne manuele heuristyk, se brûke berekkeningen en koeffizienten om in objekt te normalisearjen nei in berik fan 0 oant 100. Sadree't sa'n earste skoare wurdt generearre foar elk gegevenstype en kolomnamme dy't ferbûn binne mei dy gegevens, is it net opnommen yn in "ferbod". lists" ,De regelklasser selektearje de heechste normalisearre skoare ûnder alle gegevenstypen.

Fanwegen de kompleksiteit fan klassifikaasje resultearret it allinich fertrouwe op manuele heuristyk yn in lege klassifikaasjenaaktichheid, foaral foar net-strukturearre gegevens. Om dizze reden hawwe wy in masine-learsysteem ûntwikkele om te wurkjen mei de klassifikaasje fan net-strukturearre gegevens lykas brûkersynhâld en adres. Masine-learen hat it mooglik makke om te begjinnen fuort te gean fan hânmjittige heuristyk en ekstra gegevenssinjalen oan te passen (bygelyks kolomnammen, gegevensherkomst), wat de krektens fan opspoaren signifikant ferbetterje. Wy sille letter djip dûke yn ús arsjitektuer foar masine learen.

De foarsizzingstsjinst bewarret de resultaten foar elke kolom tegearre mei metadata oangeande de tiid en steat fan 'e scan. Elke konsumint en streamôfwerts prosessen dy't ôfhinklik binne fan dizze gegevens kinne it lêze fan 'e deistige publisearre dataset. Dizze set aggregearret de resultaten fan al dizze scantaken, of Real-Time Data Catalog API's. Publisearre prognosen binne de basis foar automatyske hanthavening fan privacy- en feiligensbelied.

Uteinlik, nei't de prognosetsjinst alle gegevens skriuwt en alle prognosen binne opslein, kin ús Data Catalog API alle prognosen fan gegevenstype foar de boarne yn realtime weromjaan. Elke dei publisearret it systeem in dataset mei alle lêste prognoazes foar elke asset.

Flechtige gegevens

Wylst it boppesteande proses is ûntworpen foar oanhâldende aktiva, wurdt net-persistint ferkear ek beskôge as diel fan 'e gegevens fan in organisaasje en kin wichtich wêze. Om dizze reden biedt it systeem in online API foar it generearjen fan real-time klassifikaasjefoarsizzings foar elk intermitterend ferkear. Real-time prognosesysteem wurdt in protte brûkt by it klassifisearjen fan útgeand ferkear, ynkommende ferkear yn masine-learmodellen en adverteargegevens.

Hjir nimt de API twa haadarguminten: de groepskaai en de rauwe gegevens dy't te foarsizzen binne. De tsjinst docht itselde objekt opheljen lykas hjirboppe beskreaun en groepearret de objekten byinoar foar deselde kaai. Dizze funksjes wurde ek stipe yn 'e persistinsje-cache foar herstel fan mislearring. Foar elke groepskaai soarget de tsjinst dat it genôch samples sjoen hat foardat de foarsizzingstsjinst oproppen wurdt, nei it hjirboppe beskreaune proses.

Optimalisaasje

Om guon opslach te scannen, brûke wy bibleteken en techniken om it lêzen fan waarme opslach te optimalisearjen [2] en soargje derfoar dat d'r gjin fersteuringen binne fan oare brûkers dy't tagong krije ta deselde opslach.

Foar ekstreem grutte tabellen (50+ petabytes), nettsjinsteande alle optimalisaasjes en ûnthâld-effisjinsje, wurket it systeem om alles te scannen en te berekkenjen foardat it ûnthâld rint. De scan wurdt ommers folslein yn it ûnthâld berekkene en wurdt net opslein tidens de scan. As grutte tabellen befetsje tûzenen kolommen mei unstructured clumps fan gegevens, de baan kin mislearje fanwege ûnfoldwaande ûnthâld boarnen by it útfieren fan foarsizzings op 'e hiele tafel. Dit sil resultearje yn fermindere dekking. Om dit te bestriden, hawwe wy it systeem optimalisearre om scansnelheid te brûken as proxy foar hoe goed it systeem de hjoeddeistige wurkdruk omgiet. Wy brûke snelheid as in foarsizzend meganisme om ûnthâldproblemen te sjen en de funksjekaart foarsizzend te berekkenjen. Tagelyk brûke wy minder gegevens as gewoanlik.

Data sinjalen

In klassifikaasjesysteem is mar sa goed as de sinjalen út de gegevens. Hjir sille wy sjen nei alle sinjalen brûkt troch it klassifikaasjesysteem.

  • Ynhâld basearre: Fansels is it earste en wichtichste sinjaal ynhâld. Bernoulli sampling wurdt útfierd op elke gegevens asset dat wy scannen en ekstrahearje funksjes basearre op de gegevens ynhâld. In protte tekens komme út de ynhâld. Elk oantal driuwende objekten binne mooglik, dy't berekkeningen fertsjintwurdigje fan hoefolle kearen in bepaald sampletype is sjoen. Wy kinne bygelyks tekens hawwe fan it oantal e-mails sjoen yn in stekproef, of tekens fan hoefolle emoji's wurde sjoen yn in stekproef. Dizze funksjeberekkeningen kinne wurde normalisearre en aggregearre oer ferskate scans.
  • Data herkomst: In wichtich sinjaal dat kin helpe as de ynhâld is feroare fan de âlder tafel. In gewoan foarbyld is hashed gegevens. As gegevens yn in berntabel hashed wurde, komt it faak fan 'e âldertabel, wêr't it yn 'e dúdlike bliuwt. Lineage-gegevens helpe by it klassifisearjen fan bepaalde soarten gegevens as se net dúdlik wurde lêzen of wurde omboud fan in streamop-tabel.
  • Annotaasjes: In oar sinjaal fan hege kwaliteit dat helpt by it identifisearjen fan net-strukturearre gegevens. Yn feite kinne annotaasjes en herkomstgegevens gearwurkje om attributen te propagearjen oer ferskate gegevensaktiva. Annotaasjes helpe by it identifisearjen fan de boarne fan net-strukturearre gegevens, wylst lineage-gegevens kinne helpe by it folgjen fan de stream fan dy gegevens troch it repository.
  • Data-ynjeksje is in technyk wêrby't spesjale, net lêsbere tekens mei opsetsin ynfierd wurde yn bekende boarnen fan bekende gegevenstypen. Dan, as wy ynhâld scannen mei deselde ûnlêsbere karaktersekwinsje, kinne wy ​​derfan ôfliede dat de ynhâld komt fan dat bekende gegevenstype. Dit is in oar kwalitatyf gegevenssinjaal fergelykber mei annotaasjes. Utsein dat ynhâld-basearre deteksje helpt de ynfierde gegevens te ûntdekken.

Metriken mjitten

In wichtige komponint is in strange metodyk foar it mjitten fan metriken. De wichtichste metriken foar de werhelling fan klassifikaasje binne krektens en weromlûken fan elk label, wêrby't de F2-skoare it wichtichste is.

Om dizze metriken te berekkenjen, is in ûnôfhinklike metodyk nedich foar it labeljen fan gegevensaktiva dy't ûnôfhinklik is fan it systeem sels, mar kin brûkt wurde foar direkte ferliking mei it. Hjirûnder beskriuwe wy hoe't wy grûnwierheid fan Facebook sammelje en it brûke om ús klassifikaasjesysteem te trenen.

Samling fan betroubere gegevens

Wy sammelje betroubere gegevens fan elke hjirûnder neamde boarne yn in eigen tabel. Elke tabel is ferantwurdlik foar it aggregearjen fan de lêste waarnommen wearden fan dy bepaalde boarne. Elke boarne hat kontrôles foar gegevenskwaliteit om te soargjen dat de waarnommen wearden foar elke boarne fan hege kwaliteit binne en de lêste labels foar gegevenstype befetsje.

  • Logging platfoarm konfiguraasjes: Bepaalde fjilden yn hive tabellen wurde befolke mei gegevens dy't fan in spesifyk type. It brûken en fersprieden fan dizze gegevens tsjinnet as in betroubere boarne fan wierheid.
  • Hânlieding labeling: Untwikkelders dy't it systeem ûnderhâlde, lykas ek eksterne labelers wurde oplaat om kolommen te labeljen. Dit wurket oer it algemien goed foar alle soarten gegevens yn it pakhús, en kin de primêre boarne fan wierheid wêze foar guon net-strukturearre gegevens, lykas berjochtgegevens of brûkersynhâld.
  • Kolommen út âlder tabellen kinne wurde markearre of annotearre as befetsje bepaalde gegevens, en wy kinne track dat gegevens yn de bern syn tabellen.
  • It opheljen fan triedden fan útfiering: triedden fan útfiering yn Facebook drage spesifike soarten gegevens. Mei ús scanner as tsjinst-arsjitektuer kinne wy ​​​​streamen probearje dy't bekende gegevenstypen hawwe en se fia it systeem stjoere. It systeem belooft dizze gegevens net op te slaan.
  • Sample tabellen: Grutte koftafels, wêrfan bekend is dat se it hiele gegevenskorpus befetsje, kinne ek brûkt wurde as trainingsgegevens en as tsjinst troch de scanner trochjûn wurde. Dit is geweldich foar tabellen mei in folslein oanbod fan gegevenstypen, sadat sampling fan in kolom willekeurich lykweardich is oan sampling fan 'e hiele set fan dat gegevenstype.
  • Syntetyske gegevens: Wy kinne sels biblioteken brûke dy't gegevens op 'e flecht generearje. Dit wurket goed foar ienfâldige, iepenbiere gegevenstypen lykas in adres of GPS.
  • Data Stewards: Privacyprogramma's brûke typysk data-stewards om belied manuell ta te jaan oan stikken gegevens. Dit tsjinnet as in heul krekte boarne fan wierheid.

Wy kombinearje elke grutte boarne fan wierheid yn ien korpus mei al dy gegevens. De grutste útdaging mei jildigens is om te soargjen dat it represintatyf is foar it datapakhús. Oars kinne klassifikaasjemotoren oertraine. Om dit te bestriden, wurde alle boppesteande boarnen brûkt om lykwicht te garandearjen by trainingsmodellen of berekkenjen fan metriken. Dêrnjonken probearje minsklike labelers unifoarm ferskate kolommen yn 'e repository en markearje de gegevens dêrop, sadat de kolleksje fan grûnwierheid unbiased bliuwt.

Trochrinnende yntegraasje

Om rappe iteraasje en ferbettering te garandearjen, is it wichtich om systeemprestaasjes altyd yn realtime te mjitten. Wy kinne hjoed elke klassifikaasjeferbettering mjitte tsjin it systeem, sadat wy takomstige ferbetteringen taktysk kinne liede op basis fan gegevens. Hjir sjogge wy nei hoe't it systeem de feedbackloop foltôget dy't wurdt levere troch jildige gegevens.

As it skemasysteem in asset tsjinkomt dy't in label hat fan in fertroude boarne, planne wy ​​twa taken. De earste brûkt ús produksjescanner en dus ús produksjemooglikheden. De twadde taak brûkt de lêste build scanner mei de lêste funksjes. Elke taak skriuwt syn útfier nei in eigen tabel, tagging ferzjes tegearre mei de klassifikaasje resultaten.

Dit is hoe't wy de klassifikaasjeresultaten fan 'e frijlittingskandidaat en it produksjemodel yn realtime fergelykje.

Wylst de datasetten RC- en PROD-funksjes fergelykje, wurde in protte fariaasjes fan 'e ML-klassifikaasjemotor fan' e foarsizzingstsjinst oanmeld. It meast resint boud model foar masine learen, it hjoeddeistige model yn produksje, en alle eksperimintele modellen. Deselde oanpak lit ús ferskate ferzjes fan it model "snije" (agnostyk foar ús regelklassifisearders) en metriken yn echte tiid te fergelykje. Dit makket it maklik om te bepalen wannear't in ML-eksperimint klear is om yn produksje te gean.

Elke nacht wurde de RC-funksjes berekkene foar dy dei stjoerd nei de ML-trainingpipeline, wêr't it model wurdt oplaat op 'e lêste RC-funksjes en syn prestaasjes evaluearret tsjin 'e grûn wierheid dataset.

Elke moarn foltôget it model training en wurdt automatysk publisearre as in eksperiminteel model. It wurdt automatysk opnommen yn 'e eksperimintele list.

Guon resultaten

Mear dan 100 ferskillende soarten gegevens wurde markearre mei hege krektens. Goed strukturearre typen lykas e-mails en telefoannûmers wurde klassifisearre mei in f2-skoare grutter dan 0,95. Fergese gegevenstypen lykas troch brûkers generearre ynhâld en namme prestearje ek heul goed, mei F2-skoares grutter dan 0,85.

In grut oantal yndividuele kolommen fan persistente en flechtige gegevens wurde alle dagen yndield yn alle repositories. Mear dan 500 terabytes wurde deistich skansearre oer mear dan 10 datapakhuzen. De measte fan dizze repositories hawwe mear dan 98% dekking.

Yn 'e rin fan' e tiid is klassifikaasje heul effisjint wurden, mei klassifikaasjebanen yn in oanhâldende offline stream dy't gemiddeld 35 sekonden nimme fan it scannen fan in asset oant it berekkenjen fan foarsizzingen foar elke kolom.

Skaalbere gegevensklassifikaasje foar feiligens en privacy
Rys. 2. Diagram dy't de trochgeande yntegraasjestream beskriuwt om te begripen hoe't RC-objekten wurde oanmakke en nei it model stjoerd.

Skaalbere gegevensklassifikaasje foar feiligens en privacy
figuer 3. Heech-nivo diagram fan in masine learen komponint.

Masine learsysteem komponint

Yn 'e foarige seksje namen wy in djippe dûk yn' e algemiene systeemarsjitektuer, markearje skaal, optimalisaasje, en offline en online gegevensstreamen. Yn dizze seksje sille wy nei de prognosetsjinst sjen en it masinelearsysteem beskriuwe dat de prognosetsjinst oandriuwt.

Mei mear as 100 gegevenstypen en wat net-strukturearre ynhâld lykas berjochtgegevens en brûkersynhâld, resultearret it brûken fan suver manuele heuristyk yn subparametryske klassifikaasje-krektens, foaral foar net-strukturearre gegevens. Om dizze reden hawwe wy ek in masine-learsysteem ûntwikkele om te gean mei de kompleksiteiten fan net-strukturearre gegevens. Mei it brûken fan masine learen kinne jo begjinne fuort te gean fan hânmjittige heuristyk en wurkje mei funksjes en ekstra gegevenssinjalen (bygelyks kolomnammen, gegevensoarsprong) om de krektens te ferbetterjen.

It ymplementearre model ûndersiket vectorfoarstellings [3] oer tichte en sparse objekten apart. Dizze wurde dan kombineare om in fektor te foarmjen, dy't troch in searje batchnormalisaasje [4] en netlineariteitstappen giet om it definitive resultaat te produsearjen. It einresultaat is in driuwend puntnûmer tusken [0-1] foar elk label, wat de kâns oanjout dat it foarbyld ta dat gefoelichheidstype heart. It brûken fan PyTorch foar it model koe ús rapper ferpleatse, wêrtroch ûntwikkelders bûten it team fluch feroaringen kinne meitsje en testen.

By it ûntwerpen fan de arsjitektuer wie it fan belang om sparse (bgl. tekst) en tichte (bgl. numerike) objekten apart te modellearjen fanwegen har ynherinte ferskillen. Foar de definitive arsjitektuer wie it ek wichtich om in parameter sweep út te fieren om de optimale wearde te finen foar learrate, batchgrutte en oare hyperparameters. De kar fan optimizer wie ek in wichtige hyperparameter. Wy fûnen dat in populêre optimizer adamfaak liedt ta overfitting, wylst in model mei SGD stabiler. D'r wiene ekstra nuânses dy't wy direkt yn it model opnimme moasten. Bygelyks statyske regels dy't derfoar soargje dat it model in deterministyske foarsizzing makket as in funksje in bepaalde wearde hat. Dizze statyske regels wurde definieare troch ús kliïnten. Wy fûnen dat it opnimmen fan se direkt yn it model resultearre yn in mear selsstannige en robúste arsjitektuer, yn tsjinstelling ta it útfieren fan in post-ferwurkingsstap om dizze spesjale rânegefallen te behanneljen. Tink derom dat dizze regels binne útskeakele tidens training om net te bemuoien mei it trainingsproses fan gradient ôfstamming.

Problemen

Ien fan 'e útdagings wie it sammeljen fan heechweardige, betroubere gegevens. It model hat fertrouwen nedich foar elke klasse, sadat it assosjaasjes kin leare tusken objekten en labels. Yn 'e foarige paragraaf hawwe wy metoaden foar gegevenssammeling besprutsen foar sawol systeemmjitting as modeltraining. De analyse liet sjen dat gegevensklassen lykas kredytkaart- en bankrekkennûmers net heul gewoan binne yn ús pakhús. Dit makket it lestich om grutte hoemannichten betroubere gegevens te sammeljen om modellen te trenen. Om dit probleem oan te pakken, hawwe wy prosessen ûntwikkele foar it krijen fan syntetyske grûnwierheidsgegevens foar dizze klassen. Wy generearje sokke gegevens foar gefoelige typen ynklusyf SSN, credit card nûmers и IBAN-nûmers dêr't it model net earder koe foarsizze. Dizze oanpak lit gefoelige gegevenstypen wurde ferwurke sûnder de privacyrisiko's dy't ferbûn binne mei it ferbergjen fan de eigentlike gefoelige gegevens.

Njonken de grûnwierheidsproblemen binne d'r iepen arsjitektoanyske problemen wêr't wy oan wurkje, lykas feroarje isolaasje и betiid stop. Feroaringsisolaasje is wichtich om te soargjen dat wannear't ferskate feroarings wurde makke oan ferskate dielen fan it netwurk, de ynfloed wurdt isolearre foar spesifike klassen en hat gjin brede ynfloed op 'e totale foarsizzingsprestaasjes. It ferbetterjen fan kritearia foar betiid stopjen is ek kritysk, sadat wy it trainingsproses kinne stopje op in stabyl punt foar alle klassen, yn stee fan op in punt dêr't guon klassen oertraine en oaren net.

Feature belang

As in nije funksje yn in model wurdt yntrodusearre, wolle wy de totale ynfloed op it model witte. Wy wolle ek derfoar soargje dat de foarsizzingen ynterpretabel binne troch minsken, sadat wy krekt kinne begripe hokker funksjes wurde brûkt foar elk type gegevens. Hjirfoar hawwe wy ûntwikkele en yntrodusearre troch klasse belang fan funksjes foar it PyTorch-model. Tink derom dat dit oars is fan it algemiene funksjebelang, dat normaal wurdt stipe, om't it ús net fertelt hokker funksjes wichtich binne foar in bepaalde klasse. Wy mjitte it belang fan in objekt troch it berekkenjen fan de ferheging fan foarsizzingsflater nei it werynrjochtsjen fan it objekt. In funksje is "wichtich" as it wikseljen fan wearden de flater fan it model fergruttet, om't it model yn dit gefal op 'e funksje fertroude om syn foarsizzing te meitsjen. In funksje is "ûnbelangryk" as it skodzjen fan syn wearden de modelflater net feroaret, om't yn dit gefal it model it negearre [5].

It belang fan 'e funksje foar elke klasse lit ús it model ynterpretabel meitsje, sadat wy sjen kinne wêr't it model nei sjocht by it foarsizzen fan in label. Bygelyks, as wy analysearje ADDR, dan garandearje wy dat it teken ferbûn mei it adres, lykas AddressLinesCount, stiet heech yn 'e tabel foar funksje belang foar elke klasse, sadat ús minsklike yntuysje goed oerienkomt mei wat it model hat leard.

evaluaasje

It is wichtich om in inkele metrik te definiearjen foar sukses. Wy keazen F2 - lykwicht tusken ûnthâld en krektens (recall bias is wat grutter). Recall is wichtiger foar in privacygebrûk as krektens, om't it kritysk is foar it team om gjin gefoelige gegevens te missen (wylst it garandearjen fan ridlike krektens). De eigentlike evaluaasje fan F2-prestaasjes fan ús model is bûten it berik fan dit papier. Mei foarsichtich ôfstimmen kinne wy ​​​​lykwols hege (0,9+) F2-skoares berikke foar de wichtichste gefoelige klassen.

Relatearre wurk

D'r binne in protte algoritmen foar automatyske klassifikaasje fan unstrukturearre dokuminten mei ferskate metoaden lykas patroanmatching, sykjen nei dokumint oerienkomst en ferskate metoaden foar masinelearen (Bayesian, beslútbeammen, k-nearest buorlju en in protte oaren) [6]. Elk fan dizze kin brûkt wurde as ûnderdiel fan in klassifikaasje. It probleem is lykwols skaalberens. De klassifikaasje oanpak yn dit artikel is bias nei fleksibiliteit en prestaasjes. Dit lit ús yn 'e takomst nije klassen stypje en de latency leech hâlde.

Der is ek in soad wurk oan gegevens fingerprinting. Bygelyks, de auteurs yn [7] beskreau in oplossing dy't him rjochtet op it probleem fan it fangen fan gefoelige gegevenslekken. De ûnderlizzende oanname is dat de gegevens fingerprinte wurde kinne om it te passen mei in set fan bekende gefoelige gegevens. De auteurs yn [8] beskriuwe in ferlykber probleem fan privacylekkage, mar har oplossing is basearre op in spesifike Android-arsjitektuer en wurdt allinich klassifisearre as brûkersaksjes resultearje yn it dielen fan persoanlike ynformaasje of as de ûnderlizzende applikaasje brûkersgegevens lekt. De situaasje hjir is wat oars, om't brûkersgegevens ek tige unstrukturearre kinne wêze. Dêrom hawwe wy in kompleksere technyk nedich as fingerprinting.

As lêste, om te gean mei gegevenstekoarten foar guon soarten gefoelige gegevens, hawwe wy syntetyske gegevens yntrodusearre. D'r is in grut lichem oan literatuer oer gegevensfergrutting, bygelyks de auteurs yn [9] ûndersochten de rol fan lûdynjeksje by training en observearre positive resultaten yn begeliede learen. Us oanpak fan privacy is oars, om't it yntrodusearjen fan lawaaierige gegevens kontraproduktyf kin wêze, en wy rjochtsje ús ynstee op syntetyske gegevens fan hege kwaliteit.

konklúzje

Yn dit papier hawwe wy in systeem presintearre dat in stikje gegevens klassifisearje kin. Dit lit ús systemen meitsje om privacy- en feiligensbelied te hanthavenjen. Wy hawwe oantoand dat skaalbere ynfrastruktuer, trochgeande yntegraasje, masine learen en heechweardige gegevensfersekering in wichtige rol spylje yn it sukses fan in protte fan ús privacy-inisjativen.

D'r binne in protte rjochtingen foar takomstich wurk. Dit kin omfetsje it jaan fan stipe foar net-skematisearre gegevens (bestannen), klassifikaasje fan net allinich gegevenstype, mar ek gefoelichheidsnivo, en it brûken fan selsbegeliede learen tidens training troch krekte syntetyske foarbylden te generearjen. Wat op syn beurt it model sil helpe om ferliezen mei it grutste bedrach te ferminderjen. Takomstich wurk koe ek rjochtsje op 'e ûndersyksworkflow, wêr't wy fierder gean as detectie en analyse fan root-oarsaak fan ferskate privacyskendings leverje. Dit sil helpe yn gefallen lykas gefoelichheidsanalyse (d.w.s. oft de privacygefoelichheid fan in gegevenstype heech is (bygelyks brûker IP) of leech (bgl. Facebook ynterne IP)).

Bibliografy

  1. David Ben-David, Tamar Domany, en Abigail Tarem. Enterprise data klassifikaasje mei help fan semantyske web technologyen. In Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, and Birte Glimm. It semantysk web - ISWC 2010, siden 66–81, Berlyn, Heidelberg, 2010. Springer Berlin Heidelberg.
  2. Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang, en Sanjeev Kumar. f4: Facebook syn waarme BLOB opslach systeem. Yn 11e USENIX-sympoasium oer ûntwerp en ymplemintaasje fan bestjoeringssystemen (OSDI 14), siden 383-398, Broomfield, CO, oktober 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, Jeff Dean. Ferspraat foarstellings fan wurden en útdrukkingen en harren gearstalling. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, redakteuren, Foarútgong yn systemen foar ferwurkjen fan neuronale ynformaasje 26, siden 3111-3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe en Christian Szegedy. Batchnormalisaasje: Fersnelling fan djippe netwurktraining troch it ferminderjen fan ynterne kovariateferskowing. In Francis Bach en David Blei, redakteuren, Proceedings fan 'e 32nd International Conference on Machine Learning, diel 37 fan Proceedings of Machine Learning Research, siden 448-456, Lille, Frankryk, 07-09 jul 2015. PMLR.
  5. Leo Breiman. Random bosken. Mach. Leare., 45(1):5–32, oktober 2001.
  6. Thair Nu Phyu. Undersyk fan klassifikaasjetechniken yn data mining.
  7. X. Shu, D. Yao, en E. Bertino. Privacy-behâldende deteksje fan eksposysje foar gefoelige gegevens. IEEE Transaksjes op ynformaasje Forensics en feiligens, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning en Xiaoyang Wang. Appintent: Analyse fan gefoelige gegevensoerdracht yn Android foar detectie fan privacylekkage. siden 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, Quoc V. Le. Net tafersjoch op fergrutting fan gegevens.

Skaalbere gegevensklassifikaasje foar feiligens en privacy
Fyn details oer hoe't jo in socht berop kinne krije fanôf it begjin as Level Up yn termen fan feardigens en salaris troch SkillFactory online kursussen te nimmen:

Mear kursussen

Boarne: www.habr.com

Add a comment