Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Highload++ eta DataFest Minsk 2019-n egindako hitzaldietan oinarrituta.

Egun askorentzat, posta sareko bizitzaren zati bat da. Haren laguntzarekin, negozio-korrespondentzia egiten dugu, finantzarekin, hotel-erreserbarekin, eskaerekin eta askoz gehiagorekin lotutako informazio garrantzitsua gordetzen dugu. 2018ko erdialdean, posta garatzeko produktu estrategia bat formulatu genuen. Nolakoa izan behar luke posta modernoak?

Posta izan behar du adimentsu, hau da, erabiltzaileei gero eta informazio bolumena nabigatzen laguntzea: iragazi, egituratu eta modurik erosoenean eman. Izan behar du erabilgarria, hainbat zeregin zure postontzian bertan konpontzeko aukera ematen dizu, adibidez, isunak ordaintzea (tamalez erabiltzen dudan funtzioa). Eta, aldi berean, noski, posta elektronikoak informazioa babestu behar du, spam-a moztuz eta hackerretik babestuz, hau da, izan. segurua.

Arlo hauek funtsezko arazo batzuk definitzen dituzte, eta horietako asko ikaskuntza automatikoa erabiliz modu eraginkorrean konpondu daitezke. Hona hemen estrategiaren parte gisa garatutako ezaugarrien adibideak: norabide bakoitzeko bat.

  • Erantzun adimenduna. Postak erantzun adimendun funtzioa du. Sare neuronalak gutunaren testua aztertzen du, bere esanahia eta helburua ulertzen ditu eta, ondorioz, hiru erantzun aukera egokienak eskaintzen ditu: positiboa, negatiboa eta neutroa. Horrek gutunei erantzuteko denbora nabarmen aurrezten laguntzen du, eta, gainera, modu ez-estandarra eta dibertigarrian erantzuten du.
  • Mezu elektronikoak taldekatzealineako dendetako eskaerei lotuta. Sarritan erosketak egiten ditugu sarean, eta, normalean, dendek hainbat mezu elektroniko bidal ditzakete eskaera bakoitzeko. Esaterako, AliExpress-tik, zerbitzurik handiena, eskutitz asko sartzen dira eskaera bakarrean, eta terminal kasuan haien kopurua 29ra arte irits daitekeela kalkulatu dugu. Horregatik, Named Entity Recognition eredua erabiliz, eskaera-zenbakia ateratzen dugu. eta testuko beste informazioa eta hari bakarrean multzokatu letra guztiak. Eskaerari buruzko oinarrizko informazioa ere erakusten dugu aparteko koadro batean, eta horrek errazagoa egiten du mota honetako mezu elektronikoekin lan egitea.

    Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

  • Phishingaren aurkakoa. Phishing-a iruzurrezko mezu elektroniko mota bereziki arriskutsua da, eta horren laguntzarekin erasotzaileek finantza-informazioa (erabiltzailearen banku-txartelak barne) eta saio-hasiera lortzen saiatzen dira. Horrelako gutunek zerbitzuak bidalitako benetakoak imitatzen dituzte, bisualki barne. Hori dela eta, Computer Vision-en laguntzaz, enpresa handien logotipoak eta letren diseinu-estiloa ezagutzen ditugu (adibidez, Mail.ru, Sber, Alfa) eta hori kontuan hartzen dugu testuekin eta beste ezaugarri batzuekin gure spam eta phishing sailkatzaileetan. .

Ikaskuntza automatikoa

Posta elektronikoko ikaskuntza automatikoari buruz apur bat. Posta oso kargatutako sistema bat da: egunean batez beste 1,5 milioi gutun pasatzen dira gure zerbitzarietatik 30 milioi DAU erabiltzailerentzat. Ikaskuntza automatikoko 30 sistema inguruk beharrezko funtzio eta ezaugarri guztiak onartzen dituzte.

Letra bakoitza sailkapen-bide oso batetik pasatzen da. Lehenik spama moztu eta mezu onak uzten ditugu. Erabiltzaileek askotan ez dute ohartzen spam-aren aurkako lana, spam-aren % 95-99 ez baita dagokion karpetan bukatzen ere. Spam-aren aitorpena gure sistemaren zati oso garrantzitsua da, eta zailena, spam-aren aurkako alorrean etengabeko egokitzapena baitago defentsa eta eraso sistemen artean, eta horrek etengabeko ingeniaritza-erronka bat eskaintzen dio gure taldeari.

Ondoren, pertsona eta roboten letrak bereizten ditugu. Jendearen mezu elektronikoak dira garrantzitsuenak, beraz, Erantzun adimenduna bezalako funtzioak eskaintzen dizkiegu. Roboten gutunak bi zatitan banatzen dira: transakzionalak - zerbitzuetako gutun garrantzitsuak dira, adibidez, erosketen edo hotelen erreserben berrespenak, finantzak eta informaziokoak - negozioen publizitatea, deskontuak dira.

Uste dugu transakzio-mezuek korrespondentzia pertsonalaren garrantzia berdina dutela. Eskueran egon beharko lukete, sarritan eskaera edo hegazkin-txartel baten erreserbari buruzko informazioa azkar aurkitu behar dugulako, eta denbora pasatzen dugu gutun horien bila. Horregatik, erosotasunerako, automatikoki sei kategoria nagusitan banatzen ditugu: bidaiak, eskaerak, finantzak, sarrerak, matrikulak eta, azkenik, isunak.

Informazio-gutunak dira talderik handiena eta ziurrenik hain garrantzitsua dena, eta ez dute berehalako erantzunik behar, erabiltzailearen bizitzan ezer esanguratsurik ez baita aldatuko gutun hori irakurtzen ez badu. Gure interfaze berrian, bi haritan biltzen ditugu: sare sozialak eta buletinak, horrela sarrera-ontzia bisualki garbituz eta mezu garrantzitsuak soilik ikusgai utziz.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

ustiapena

Sistema kopuru handi batek funtzionamenduan zailtasun asko eragiten ditu. Azken finean, modeloak denborarekin degradatzen dira, edozein software bezala: funtzioak hautsi egiten dira, makinek huts egiten dute, kodea okertu egiten da. Gainera, datuak etengabe aldatzen dira: berriak gehitzen dira, erabiltzaileen portaera ereduak eraldatzen dira, etab., beraz, laguntza egokirik gabeko eredu batek gero eta okerrago funtzionatuko du denborarekin.

Ez dugu ahaztu behar ikaskuntza automatikoa zenbat eta sakonago sartzen den erabiltzaileen bizitzan, orduan eta eragin handiagoa izango dutela ekosisteman, eta, ondorioz, merkatuko eragileek zenbat eta galera edo irabazi finantzario gehiago jaso ditzaketela. Horregatik, gero eta arlo gehiagotan, jokalariak ML algoritmoen lanera egokitzen ari dira (adibide klasikoak publizitatea, bilaketa eta lehen aipatutako spamaren aurkakoa dira).

Gainera, ikaskuntza automatikoko atazek berezitasun bat dute: sistemaren edozein aldaketak, txikiak izan arren, lan handia sor dezake ereduarekin: datuekin lan egitea, birziklatzea, hedatzea, asteak edo hilabeteak iraun ditzake. Hori dela eta, zenbat eta azkarrago aldatzen da zure ereduak funtzionatzen duten ingurunea, orduan eta esfortzu handiagoa eskatzen du horiek mantentzeko. Talde batek sistema asko sortu eta pozik egon daitezke, baina gero bere baliabide ia guztiak horiek mantentzen gastatzen ditu, ezer berririk egiteko aukerarik gabe. Halako egoera batekin topo egin genuen behin spam-aren aurkako taldean. Eta laguntza automatizatu egin behar dela ondorioztatu zuten.

automatizazioa

Zer automatizatu daiteke? Ia dena, egia esan. Ikaskuntza automatikoko azpiegitura definitzen duten lau eremu identifikatu ditut:

  • datu bilketa;
  • prestakuntza osagarria;
  • zabaldu;
  • probak eta jarraipena.

Ingurunea ezegonkorra eta etengabe aldatzen bada, ereduaren inguruko azpiegitura osoa eredua bera baino askoz ere garrantzitsuagoa da. Sailkatzaile lineal zahar ona izan daiteke, baina ezaugarri egokiak elikatzen badituzu eta erabiltzaileen iritzi ona jasotzen baduzu, oso hobeto funtzionatuko du punta-puntako modeloak baino, kanpai eta txistu guztiekin.

Feedback Loop

Ziklo honek datu-bilketa, prestakuntza osagarria eta hedapena konbinatzen ditu; hain zuzen ere, ereduaren eguneratze-ziklo osoa. Zergatik da garrantzitsua? Begiratu izena emateko ordutegia posta elektronikoan:

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Ikaskuntza automatikoko garatzaile batek bot-en aurkako eredu bat ezarri du, bot-ak posta elektronikoan erregistratzea eragozten duena. Grafikoa benetako erabiltzaileak bakarrik geratzen diren balio batera jaisten da. Dena bikaina da! Baina lau ordu igarotzen dira, bot-ek euren gidoiak moldatzen dituzte, eta dena normaltasunera itzultzen da. Inplementazio honetan, garatzaileak hilabete bat eman zuen ezaugarriak gehitzen eta eredua birziklatzen, baina spammer-a lau ordutan moldatu zen.

Hain mingarria ez izateko eta gero dena berregin behar ez izateko, hasiera batean pentsatu behar dugu nolakoa izango den feedback begizta eta zer egingo dugun ingurunea aldatzen bada. Has gaitezen datuak biltzen - hau da gure algoritmoen erregaia.

Datu bilketa

Argi dago sare neuronal modernoetarako, zenbat eta datu gehiago, orduan eta hobeto, eta, hain zuzen ere, produktuaren erabiltzaileek sortzen dituzte. Erabiltzaileek datuak markatuz lagun gaitzakete, baina ezin dugu hori abusatu, noizbait erabiltzaileak zure ereduak osatzeaz nekatu egingo direlako eta beste produktu batera aldatuko direlako.

Akats ohikoenetako bat (hemen Andrew Ng-i erreferentzia egiten diot) probako datu-multzoko metriketan arreta handiegia da, eta ez erabiltzailearen iritzian, hori baita lanaren kalitatearen neurketa nagusia, sortzen dugunez. erabiltzailearentzako produktu bat. Erabiltzaileak ereduaren lana ulertzen ez badu edo ez badu gustatzen, dena hondatuta dago.

Horregatik, erabiltzaileak beti izan behar du botoa emateko eta iritzia emateko tresna bat eman behar zaio. Finantzarekin lotutako gutun bat postontzira iritsi dela uste badugu, β€œfinantza” markatu eta erabiltzaileak klik egin dezakeen botoi bat marraztu behar dugu eta hau finantzaketa ez dela esan.

Iritziaren kalitatea

Hitz egin dezagun erabiltzaileen iritzien kalitateari buruz. Lehenik eta behin, zuk eta erabiltzaileak esanahi desberdinak jar ditzakezu kontzeptu batean. Adibidez, zuk eta zure produktu-kudeatzaileek uste duzu "finantza" bankuaren gutunak esan nahi duela, eta erabiltzaileak uste du bere pentsioari buruzko amonaren gutun batek finantzak ere aipatzen dituela. Bigarrenik, logikarik gabe botoiak sakatzea gogorik gabe maite duten erabiltzaileak daude. Hirugarrenik, erabiltzailea oso oker egon daiteke bere ondorioetan. Gure praktikaren adibide deigarri bat sailkatzaile baten ezarpena da Nigeriako spam-a, oso dibertigarria den spam mota bat, non erabiltzaileari Afrikan bat-batean aurkitutako urruneko senide bati hainbat milioi dolar hartzeko eskatzen zaion. Sailkatzaile hau inplementatu ondoren, mezu elektroniko horietan "Ez spam" klikak egiaztatu ditugu, eta horietatik % 80 nigeriar spam mamitsuak zirela ikusi zen, eta horrek erabiltzaileak oso sinesgarriak izan daitezkeela iradokitzen du.

Eta ez dezagun ahaztu botoietan jendeak ez ezik, nabigatzaile baten itxura duten bot mota guztietakoek ere sakatu ditzaketela. Beraz, feedback gordina ez da ona ikasteko. Zer egin dezakezu informazio honekin?

Bi ikuspegi erabiltzen ditugu:

  • Lotutako ML-ren iritzia. Esaterako, sareko bot-en aurkako sistema dugu, esan bezala, zeinu kopuru mugatu batean oinarrituta erabaki azkar bat hartzen duena. Eta bigarren sistema motel bat dago, eta ondoren funtzionatzen duena. Erabiltzaileari, bere portaerari eta abarri buruzko datu gehiago ditu. Ondorioz, erabakirik informatuena hartzen da; horrenbestez, zehaztasun eta osotasun handiagoa du. Sistema hauen funtzionamenduaren aldea lehenengora zuzendu dezakezu prestakuntza-datu gisa. Horrela, sistema sinpleago bat konplexuago baten errendimendura hurbiltzen saiatuko da beti.
  • Sakatu sailkapena. Besterik gabe, erabiltzaileen klik bakoitza sailkatu dezakezu, bere baliotasuna eta erabilgarritasuna ebaluatu. Spam-aren aurkako postan egiten dugu, erabiltzailearen atributuak, bere historia, igorlearen atributuak, testua bera eta sailkatzaileen emaitza erabiliz. Ondorioz, erabiltzaileen iritzia baliozkotzen duen sistema automatiko bat lortzen dugu. Eta askoz gutxiagotan birziklatu behar denez, bere lana beste sistema guztien oinarri bihur daiteke. Eredu honen lehentasun nagusia zehaztasuna da, eredua datu okerretan trebatzea ondorioez beteta baitago.

Datuak garbitzen eta gure ML sistemak entrenatzen ari garen bitartean, ez ditugu erabiltzaileez ahaztu behar, guretzat grafikoko milaka, milioika akats estatistikak direlako, eta erabiltzailearentzat akats bakoitza tragedia bat baita. Erabiltzaileak nolabait produktuan zure akatsarekin bizi behar izateaz gain, iritzia jaso ondoren, etorkizunean antzeko egoera bat ezabatuko dela espero du. Horregatik, beti komeni da erabiltzaileei botoa emateko aukera ez ezik, ML sistemen portaera zuzentzea ere, adibidez, feedback-a klik bakoitzeko heuristika pertsonalak sortuz; posta-kasuan, iragazteko gaitasuna izan daiteke. horrelako gutunak igorlearen eta tituluaren arabera erabiltzaile honentzat.

Txosten edo eskaera batzuetan oinarritutako eredu bat ere eraiki behar duzu modu erdi-automatikoan edo eskuzkoan laguntzeko, beste erabiltzaile batzuek antzeko arazoak izan ez ditzaten.

Ikasteko heuristika

Bi arazo daude heuristika eta makulu hauekin. Lehenengoa, gero eta handiagoa den makuluen kopurua mantentzea zaila dela da, eta are gutxiago epe luzerako kalitatea eta errendimendua. Bigarren arazoa da errorea maiz ez izatea eta eredua gehiago entrenatzeko klik batzuk ez direla nahikoa izango. Badirudi zerikusirik ez duten bi efektu hauek nabarmen neutralizatu daitezkeela hurrengo ikuspegia aplikatuz gero.

  1. Behin-behineko makulu bat sortzen dugu.
  2. Bertatik datuak bidaltzen ditugu eredura, aldizka eguneratzen da, jasotako datuetan barne. Hemen, noski, garrantzitsua da heuristikak zehaztasun handia izatea, prestakuntza-multzoko datuen kalitatea ez murrizteko.
  3. Ondoren, monitorizazioa ezarri dugu makulua abiarazteko, eta denboraren buruan makuluak ez badu funtzionatzen eta ereduak guztiz estaltzen badu, segurtasunez kendu dezakezu. Orain arazo hau nekez gertatuko da berriro.

Beraz, makuluen armada oso erabilgarria da. Gauza nagusia da haien zerbitzua premiazkoa dela eta ez iraunkorra.

Prestakuntza osagarria

Birziklapena erabiltzaileen edo beste sistema batzuen iritzien ondorioz lortutako datu berriak gehitzeko eta lehendik dagoen eredu bat bertan trebatzeko prozesua da. Prestakuntza osagarriarekin hainbat arazo egon daitezke:

  1. Baliteke ereduak prestakuntza gehigarria ez onartzen, baina hutsetik bakarrik ikasten du.
  2. Naturaren liburuan inon ez dago idatzita prestakuntza osagarriak ekoizpeneko lanaren kalitatea hobetuko duela. Askotan alderantzizkoa gertatzen da, hau da, hondatzea baino ez da posible.
  3. Aldaketak ezustekoak izan daitezke. Hau geuk identifikatu dugun puntu sotil samarra da. Nahiz eta A/B proba batean eredu berri batek egungoarekin alderatuta antzeko emaitzak erakusten dituen, horrek ez du esan nahi berdin funtzionatuko duenik. Haien lana ehuneko bakarrean desberdina izan daiteke, eta horrek akats berriak ekar ditzake edo dagoeneko zuzendutako zaharrak itzul ditzake. Bai guk eta bai erabiltzaileek dagoeneko badakigu egungo akatsekin nola bizi, eta akats berri ugari sortzen direnean, baliteke erabiltzaileak ere ez ulertzea zer gertatzen den, aurreikus daitekeen jokabidea espero duelako.

Hori dela eta, prestakuntza osagarrian garrantzitsuena eredua hobetzen dela ziurtatzea da, edo, behintzat, ez okertuko dela.

Prestakuntza osagarriari buruz hitz egiten dugunean burura etortzen zaigun lehen gauza Ikaskuntza Aktiboaren ikuspegia da. Zer esan nahi du honek? Esate baterako, sailkatzaileak e-posta bat finantzarekin erlazionatuta dagoen zehazten du, eta bere erabakien mugaren inguruan etiketatutako adibideen lagin bat gehitzen dugu. Honek ondo funtzionatzen du, adibidez, publizitatean, non feedback asko dagoen eta eredua sarean entrenatu dezakezu. Eta feedback gutxi badago, orduan produkzio-datuen banaketari dagokionez oso lagin alboraturik lortuko dugu, eta horren oinarrian ezinezkoa da ereduaren portaera ebaluatzea funtzionamenduan zehar.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Izan ere, gure helburua eredu zaharrak, dagoeneko ezagunak diren ereduak gordetzea eta berriak eskuratzea da. Jarraitasuna garrantzitsua da hemen. Eredua, askotan zabaltzeko ahalegin handia egin genuena, dagoeneko funtzionatzen ari da, beraz, bere errendimenduan zentratu gaitezke.

Postan eredu desberdinak erabiltzen dira: zuhaitzak, linealak, neurona-sareak. Bakoitzerako gure prestakuntza-algoritmo gehigarria egiten dugu. Prestakuntza osagarriaren prozesuan, datu berriak ez ezik, sarritan ezaugarri berriak ere jasotzen ditugu, beheko algoritmo guztietan kontuan hartuko ditugunak.

Eredu linealak

Demagun erregresio logistikoa dugula. Galera-eredu bat sortzen dugu osagai hauetatik:

  • LogLoss datu berrietan;
  • ezaugarri berrien pisuak erregularizatzen ditugu (ez ditugu zaharrak ukitzen);
  • datu zaharretatik ere ikasten dugu eredu zaharrak gordetzeko;
  • eta, beharbada, garrantzitsuena: Erregularizazio Harmonikoa gehitzen dugu, zeinak bermatzen baitu pisuak ez direla asko aldatuko eredu zaharraren aldean arauaren arabera.

Galera osagai bakoitzak koefizienteak dituenez, gure zereginerako balio optimoak hauta ditzakegu baliozkotze gurutzatuaren bidez edo produktuaren eskakizunetan oinarrituta.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Π”Π΅Ρ€Π΅Π²ΡŒΡ

Goazen erabakien zuhaitzetara. Zuhaitzen prestakuntza gehigarrirako algoritmo hau osatu dugu:

  1. Ekoizpenak 100-300 zuhaitzez osatutako baso bat lantzen du, datu multzo zahar batean trebatuta dagoena.
  2. Bukaeran M = 5 pieza kentzen ditugu eta 2M = 10 berri gehitzen ditugu, datu-multzo osoan trebatuak, baina datu berrientzako pisu handia dutenak, eta horrek berez ereduaren aldaketa inkrementala bermatzen du.

Jakina, denborarekin, zuhaitz kopurua asko handitzen da, eta aldian-aldian murriztu behar dira denborak betetzeko. Horretarako, orain nonahiko Knowledge Distillation (KD) erabiltzen dugu. Bere funtzionamenduaren printzipioari buruz laburki.

  1. Gaur egungo eredu "konplexua" dugu. Prestakuntza-datu multzoan exekutatzen dugu eta irteeran klase probabilitate banaketa lortzen dugu.
  2. Ondoren, ikaslearen eredua (kasu honetan zuhaitz gutxiago dituen eredua) entrenatzen dugu ereduaren emaitzak errepika ditzan klase banaketa helburu-aldagai gisa erabiliz.
  3. Garrantzitsua da hemen datu-multzoaren markaketa ez dugula inola ere erabiltzen, eta, beraz, datu arbitrarioak erabil ditzakegula. Jakina, borroka-korrontearen datu-lagin bat erabiltzen dugu ikasle-ereduaren prestakuntza-lagin gisa. Horrela, prestakuntza-multzoak ereduaren zehaztasuna bermatzeko aukera ematen digu, eta korronte-laginak ekoizpen-banaketan antzeko errendimendua bermatzen du, prestakuntza-multzoaren alborapena konpentsatuz.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Bi teknika hauen konbinazioak (zuhaitzak gehitu eta aldian-aldian haien kopurua murriztea Knowledge Distillation erabiliz) eredu berriak sartzea eta erabateko jarraikortasuna bermatzen du.

KD-ren laguntzaz, eragiketa desberdinak ere egiten ditugu ereduaren ezaugarrietan, hala nola, ezaugarriak kentzea eta hutsuneak lantzea. Gure kasuan, datu-basean gordeta dauden ezaugarri estatistiko garrantzitsu batzuk ditugu (igorleek, testu-hashek, URLak, etab.), huts egin ohi dutenak. Eredua, noski, ez dago prest gertaeren garapenerako, porrot-egoerak ez baitira entrenamendu multzoan gertatzen. Horrelakoetan, KD eta handitze teknikak konbinatzen ditugu: datuen zati bat entrenatzerakoan, beharrezko ezaugarriak kendu edo berrezarri ditugu, eta jatorrizko etiketak hartzen ditugu (egungo ereduaren irteerak), eta ikaslearen ereduak banaketa hori errepikatzen ikasten du. .

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Konturatu ginen zenbat eta eredu manipulazio larriagoa gertatu, orduan eta handiagoa da hari-laginaren portzentajea behar.

Ezaugarriak kentzeak, eragiketa errazena, fluxuaren zati txiki bat besterik ez du behar, ezaugarri pare bat bakarrik aldatzen baitira eta egungo eredua multzo berean entrenatu zen - aldea gutxienekoa da. Eredua sinplifikatzeko (zuhaitz kopurua hainbat aldiz murriztuz), 50etik 50era behar da dagoeneko. Eta ereduaren errendimenduan larriki eragingo duten estatistika-ezaugarri garrantzitsuen hutsuneetarako, are fluxu gehiago behar da lanaren maila berdintzeko. hutsegitearekiko erresistentea den eredu berria letra mota guztietan.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Testu azkarra

Goazen FastText-era. Gogora dezadan hitz baten irudikapena (Embedding) hitzaren beraren txertaketaren eta bere letra N-gramo guztien batuketak osatzen duela, normalean trigramak. Trigrama asko egon daitezkeenez, Bucket Hashing erabiltzen da, hau da, espazio osoa hashmap finko jakin batean bihurtuz. Ondorioz, pisu-matrizea barruko geruzaren dimentsioarekin lortzen da hitz + ontzi kopuru bakoitzeko.

Prestakuntza gehigarriarekin, zeinu berriak agertzen dira: hitzak eta trigramak. Facebook-en jarraipen-prestakuntza estandarrean ez da ezer esanguratsurik gertatzen. Entropia gurutzatua duten pisu zaharrak soilik birziklatzen dira datu berrietan. Beraz, ez dira ezaugarri berriak erabiltzen; noski, ikuspegi honek goian deskribatutako desabantaila guztiak ditu ekoizpenean ereduaren ezustekoarekin lotutakoak. Horregatik, FastText pixka bat aldatu dugu. Pisu berri guztiak gehitzen ditugu (hitzak eta trigramak), matrize osoa zabaltzen dugu gurutze-entropiarekin eta erregularizazio harmonikoa gehitzen dugu eredu linealarekin analogia eginez, pisu zaharren aldaketa hutsala bermatzen duena.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

CNN

Sare konboluzionalak pixka bat konplexuagoak dira. Azken geruzak CNNn osatzen badira, orduan, noski, erregularizazio harmonikoa aplika dezakezu eta jarraitutasuna bermatu. Baina sare osoaren prestakuntza gehigarria behar bada, erregularizazio hori ezingo da jada geruza guztietan aplikatu. Hala ere, badago txertaketa osagarriak entrenatzeko aukera bat Triplet Loss bidez (jatorrizko artikulua).

Galera hirukoitza

Phishing-aren aurkako zeregina adibide gisa erabiliz, ikus dezagun Triplet Loss termino orokorrean. Gure logotipoa hartzen dugu, baita beste enpresen logotipoen adibide positiboak eta negatiboak ere. Lehenengoaren arteko distantzia minimizatzen dugu eta bigarrenaren arteko distantzia maximizatzen dugu, hau hutsune txiki batekin egiten dugu klaseen trinkotasun handiagoa bermatzeko.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Sarea gehiago entrenatzen badugu, gure espazio metrikoa guztiz aldatzen da, eta aurrekoarekin guztiz bateraezina bihurtzen da. Hau arazo larria da bektoreak erabiltzen dituzten arazoetan. Arazo honi aurre egiteko, txertaketa zaharrak nahastuko ditugu entrenamenduan zehar.

Entrenamendu multzoari datu berriak gehitu dizkiogu eta ereduaren bigarren bertsioa hutsetik entrenatzen ari gara. Bigarren fasean, gure sarea gehiago entrenatzen dugu (Finetuning): lehendabizi azken geruza osatzen da, eta gero sare osoa desizozten da. Hirukiak osatzeko prozesuan, txertatzeen zati bat bakarrik kalkulatzen dugu trebatutako eredua erabiliz, gainerakoa zaharra erabiliz. Horrela, prestakuntza osagarriaren prozesuan, v1 eta v2 espazio metrikoen bateragarritasuna bermatzen dugu. Erregularizazio harmonikoaren bertsio berezia.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Arkitektura osoa

Antispam-a erabiltzen duen sistema osoa adibide gisa hartzen badugu, orduan ereduak ez dira isolatuak, elkarren barruan habiaratuta baizik. Argazkiak, testuak eta bestelako ezaugarriak ateratzen ditugu, CNN eta Testu Azkarra erabiliz txertaketak lortzen ditugu. Ondoren, txertaketen gainean sailkatzaileak aplikatzen dira, hainbat klasetarako puntuazioak ematen dituztenak (letra motak, spamak, logotipo baten presentzia). Seinaleak eta seinaleak zuhaitz basoan sartzen ari dira dagoeneko, azken erabakia hartzeko. Eskema honetako sailkatzaile indibidualek sistemaren emaitzak hobeto interpretatzea eta, zehazkiago, osagaiak berriro trebatzea ahalbidetzen dute arazoen kasuan, datu guztiak erabaki-zuhaitzetan forma gordinean sartu beharrean.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Ondorioz, maila guztietan jarraitutasuna bermatzen dugu. Beheko mailan CNN eta Testu Azkarrean erregularizazio harmonikoa erabiltzen dugu, erdiko sailkatzaileetarako ere erregularizazio harmonikoa eta tasa-kalibrazioa erabiltzen dugu probabilitate banaketaren koherentzia izateko. Beno, zuhaitzen sustapena pixkanaka trebatzen da edo Knowledge Distillation erabiliz.

Oro har, habiaraturiko ikaskuntza-sistema hori mantentzea mina izan ohi da, beheko mailan dagoen edozein osagaik goiko sistema osoa eguneratzea dakarrelako. Baina gure konfigurazioan osagai bakoitza apur bat aldatzen denez eta aurrekoarekin bateragarria denez, sistema osoa piezaz pieza eguneratu daiteke egitura osoa birmoldatu beharrik gabe, eta horri esker, gainbehera larririk gabe eusten zaio.

Zabaldu

Datu-bilketa eta eredu mota ezberdinen prestakuntza osagarria eztabaidatu dugu, beraz, ekoizpen-ingurunean hedatzeari ekin diogu.

A/B probak

Lehen esan dudan bezala, datuak biltzeko prozesuan, normalean lagin alboratuak lortzen ditugu, eta hortik ezinezkoa da ereduaren ekoizpen-errendimendua ebaluatzea. Horregatik, hedatzerakoan, eredua aurreko bertsioarekin alderatu behar da, gauzak benetan nola doazen ulertzeko, hau da, A/B probak egin. Izan ere, diagramak zabaltzeko eta aztertzeko prozesua nahiko ohikoa da eta erraz automatiza daiteke. Gure ereduak pixkanaka zabaltzen ditugu erabiltzaileen % 5, % 30, % 50 eta % 100era, ereduen erantzunei eta erabiltzaileen iritziei buruzko neurketa eskuragarri guztiak biltzen dituen bitartean. Outlier larri batzuen kasuan, automatikoki atzera egiten dugu eredua, eta beste kasu batzuetan, erabiltzaileen klik kopuru nahikoa bilduta, ehunekoa handitzea erabakitzen dugu. Ondorioz, eredu berria erabiltzaileen %50era erabat automatikoki eramaten dugu, eta publiko osora zabaltzea pertsona batek onartuko du, nahiz eta urrats hori automatizatu daitekeen.

Hala ere, A/B test prozesuak optimizaziorako tartea eskaintzen du. Kontua da edozein A/B proba nahiko luzea dela (gure kasuan 6 eta 24 ordu bitartekoa izaten da feedback kopuruaren arabera), eta horrek nahiko garestia eta baliabide mugatuak ditu. Horrez gain, probarako fluxu-portzentaje nahiko altua behar da, funtsean, A/B probaren denbora orokorra azkartzeko (estatistikoki esanguratsua den lagin bat kontratatzeak neurketak ehuneko txikian ebaluatzeko oso denbora luzea izan dezake), eta horrek A/B zirrikituen kopurua oso mugatua. Jakina, eredu itxaropentsuenak bakarrik probatu behar ditugu, eta horietatik asko jasotzen dugu prestakuntza osagarrian zehar.

Arazo hau konpontzeko, A/B proba baten arrakasta iragartzen duen sailkatzaile bereizi bat landu dugu. Horretarako, erabakiak hartzeko estatistikak, Precision, Recall eta beste neurri batzuk hartzen ditugu entrenamendu multzoan, geroratuan eta korrontearen laginean ezaugarri gisa. Eredua ekoizpenean dagoen egungoarekin ere konparatzen dugu, heuristikoarekin, eta ereduaren Konplexutasuna kontuan hartzen dugu. Ezaugarri hauek guztiak erabiliz, probaren historian trebatutako sailkatzaile batek eredu hautagaiak ebaluatzen ditu, gure kasuan zuhaitz basoak dira, eta A/B proban zein erabili erabakitzen du.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Ezartzeko garaian, ikuspegi honek A/B proba arrakastatsuen kopurua hainbat aldiz handitzeko aukera eman zigun.

Probak eta jarraipena

Probak eta monitorizazioak, bitxia bada ere, ez dute gure osasuna kaltetzen; aitzitik, hobetzen dute eta alferrikako estresa kentzen gaituzte. Probak egiteak hutsegite bat saihesteko aukera ematen du, eta monitorizazioak garaiz detektatzeko aukera ematen du erabiltzaileengan eragina murrizteko.

Garrantzitsua da hemen ulertzea lehenago edo beranduago zure sistemak beti egingo dituela akatsak - hau edozein softwareren garapen-zikloari zor zaio. Sistemaren garapenaren hasieran beti izaten dira akats asko dena konpondu arte eta berrikuntzaren etapa nagusia amaitu arte. Baina denborarekin, entropiak bere kasa hartzen du, eta akatsak berriro agertzen dira, inguruko osagaien degradazioaren eta datuen aldaketen ondorioz, hasieran hitz egin nuen hori.

Hemen adierazi nahi nuke ikaskuntza automatikoko edozein sistema bere bizitza-ziklo osoan irabazien ikuspegitik kontuan hartu behar dela. Beheko grafikoan sistemak spam mota arraro bat harrapatzeko nola funtzionatzen duen adibide bat erakusten du (grafikoko lerroa zerotik gertu dago). Egun batean, gaizki gordetako atributu baten ondorioz, zoratu egin zen. Zorteak nahi zuenez, ez zegoen abiarazte anormalaren monitorizaziorik; ondorioz, sistema eskutitzak kantitate handietan gordetzen hasi zen erabakiak hartzeko mugan dagoen "spam" karpetan. Ondorioak zuzendu arren, sistemak hainbeste aldiz egin ditu jada akatsak, bost urtean ere ez baitu bere burua ordainduko. Eta hau erabateko porrota da ereduaren bizi-zikloaren ikuspuntutik.

Mail.ru Mail-en ikaskuntza automatikoaren funtzionamendua

Hori dela eta, monitorizazioa bezalako gauza sinple bat gako bihur daiteke modelo baten bizitzan. Neurri estandar eta agerikoez gain, ereduaren erantzunen eta puntuazioen banaketa kontuan hartzen dugu, baita funtsezko ezaugarrien balioen banaketa ere. KL dibergentzia erabiliz, egungo banaketa historikoarekin edo A/B probako balioak gainerako korrontearekin aldera ditzakegu, eta horri esker, ereduan anomaliak antzematen ditugu eta aldaketak garaiz atzera bota ditzakegu.

Gehienetan, sistemen lehen bertsioak abiarazten ditugu etorkizunean monitorizazio gisa erabiltzen ditugun heuristika sinpleak edo ereduak erabiliz. Esaterako, NER ereduaren jarraipena egiten dugu lineako denda espezifikoen ohikoekin alderatuta, eta sailkatzailearen estaldura jaisten bada haiekin alderatuta, orduan ulertzen ditugu arrazoiak. Heuristikaren beste erabilera erabilgarria!

Emaitzak

Goazen berriro artikuluaren ideia nagusiak.

  • Fibdeck. Erabiltzaileagan pentsatzen dugu beti: nola biziko dituen gure akatsekin, nola jakinarazi ahal izango dituen. Ez ahaztu erabiltzaileak ez direla trebakuntza ereduetarako feedback hutsaren iturria, eta ML sistema laguntzaileen laguntzaz garbitu behar dela. Ezinezkoa bada erabiltzailearen seinalea biltzea, feedback iturri alternatiboak bilatzen ditugu, adibidez, konektatutako sistemak.
  • Prestakuntza osagarria. Hemen gauza nagusia jarraitasuna da, beraz, egungo ekoizpen ereduan oinarritzen gara. Eredu berriak entrenatzen ditugu, erregularizazio harmonikoagatik eta antzeko trikimailuengatik aurrekoarekiko asko desberdin ez daitezen.
  • Zabaldu. Neurrietan oinarritutako hedapen automatikoak ereduak ezartzeko denbora asko murrizten du. Estatistiken jarraipena eta erabakiak hartzeko banaketa, erabiltzaileen erorketa-kopurua derrigorrezkoa da zure lo lasairako eta asteburu produktiborako.

Beno, espero dut honek zure ML sistemak azkarrago hobetzen lagunduko dizula, bizkorrago merkaturatzen eta fidagarriagoak eta estresagarriagoak izan daitezen.

Iturria: www.habr.com

Gehitu iruzkin berria