Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra

Pavel Parkhomenko no anarako, mpamorona ML aho. Amin'ity lahatsoratra ity dia te hiresaka momba ny firafitry ny serivisy Yandex.Zen aho ary hizara fanatsarana ara-teknika, ny fampiharana izay nahatonga ny fampitomboana ny kalitaon'ny tolo-kevitra. Avy amin'ity lahatsoratra ity ianao dia hianatra ny fomba hahitana ny tena manan-danja indrindra ho an'ny mpampiasa amin'ireo antontan-taratasy an-tapitrisany ao anatin'ny milisegondra vitsivitsy; ny fomba fanaovana fanimbana tsy mitsaha-mitombo amin'ny matrix lehibe (misy tsanganana an-tapitrisany sy andalana am-polony tapitrisa) mba hahazoan'ny antontan-taratasy vaovao ny vector ao anatin'ny folo minitra; Ahoana ny fomba fampiasana indray ny fanimbana matrices-article an'ny mpampiasa mba hahazoana sary vetaveta tsara ho an'ny horonan-tsary.

Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra

Ny angon-drakitra soso-kevitray dia misy antontan-taratasy an-tapitrisany amin'ny endrika isan-karazany: lahatsoratra lahatsoratra noforonina tao amin'ny lampihazonay ary nalaina tamin'ny tranokala ivelany, horonan-tsary, fitantarana ary lahatsoratra fohy. Ny fampandrosoana ny serivisy toy izany dia mifandray amin'ny fanamby ara-teknika maro. Ireto ny sasany amin'izy ireo:

  • Zarao ny asa informatika: ataovy an-tserasera ny asa mavesatra rehetra, ary amin'ny fotoana tena izy dia manao fampiharana haingana ny maodely mba ho tompon'andraikitra amin'ny 100-200 ms.
  • Raiso haingana ny hetsika ataon'ny mpampiasa. Mba hanaovana izany, dia tsy maintsy aterina avy hatrany any amin'ny mpanolotra ny hetsika rehetra ary hisy fiantraikany amin'ny vokatry ny modely.
  • Ataovy ny fahana mba ho an'ny mpampiasa vaovao dia haingana dia haingana amin'ny fitondran-tenany. Ny olona izay vao niditra tao amin'ny rafitra dia tokony hahatsapa fa misy fiantraikany amin'ny tolo-kevitra ny valin-teniny.
  • Fantaro haingana hoe iza no hanoro lahatsoratra vaovao.
  • Valio haingana ny fiposahan'ny votoaty vaovao tsy tapaka. Lahatsoratra an'aliny no mivoaka isan'andro, ary maro amin'izy ireo no manana androm-piainana voafetra (hoy, vaovao). Izany no mampiavaka azy ireo amin'ny sarimihetsika, mozika ary votoaty maharitra ela sy lafo vidy hamoronana.
  • Mamindra fahalalana avy amin'ny sehatra iray mankany amin'ny iray hafa. Raha misy rafi-panoloran-kevitra nampiofana modely ho an'ny lahatsoratra an-tsoratra ary ampianay horonan-tsary ao aminy, dia azonay ampiasaina indray ireo maodely efa misy mba ho tsara kokoa ny karazana atiny vaovao.

Holazaiko aminao ny fomba namaha ireo olana ireo.

Fifidianana kandidΓ 

Ahoana no hampihenana ny isan'ny antontan-taratasy hodinihina in'arivony ao anatin'ny milisegondra vitsivitsy, ary saika tsy misy fahasimbana eo amin'ny kalitaon'ny laharana?

Eritrereto hoe nampiofana modely ML maro izahay, namorona endri-javatra mifototra amin'izy ireo, ary nanofana modely hafa izay mametraka ny antontan-taratasy ho an'ny mpampiasa. Ho tsara ny zava-drehetra, saingy tsy azonao atao ny maka sy manao kajy ny famantarana rehetra ho an'ny antontan-taratasy rehetra amin'ny fotoana tena izy, raha misy an-tapitrisany ireo antontan-taratasy ireo, ary mila aorina ao anatin'ny 100-200 ms ny tolo-kevitra. Ny asa dia ny mifidy ampahany kely amin'ny an-tapitrisany, izay homena laharana ho an'ny mpampiasa. Ity dingana ity dia antsoina matetika hoe fifantenana kandidΓ . Misy fepetra maromaro momba izany. Voalohany indrindra, ny fifantenana dia tsy maintsy atao haingana be, ka ny fotoana araka izay azo atao dia tavela ho an'ny filaharana. Faharoa, rehefa nampihena be ny isan'ny antontan-taratasy ho an'ny laharana, dia tsy maintsy mitahiry ireo antontan-taratasy mifandraika amin'ny mpampiasa araka izay tratra.

Nivoatra ny fitsipiky ny fifantenana ny kandidΓ , ary amin'izao fotoana izao dia tonga amin'ny rafitra misy dingana maro isika:

Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra

Voalohany, mizara ho vondrona ny antontan-taratasy rehetra, ary ny antontan-taratasy malaza indrindra dia alaina amin'ny vondrona tsirairay. Ny vondrona dia mety ho tranokala, lohahevitra, cluster. Ho an'ny mpampiasa tsirairay, mifototra amin'ny tantarany, dia voafantina ireo vondrona akaiky azy ary alaina amin'izy ireo ny antontan-taratasy tsara indrindra. Ampiasainay koa ny fanondroana kNN hifidianana antontan-taratasy akaiky indrindra amin'ny mpampiasa amin'ny fotoana tena izy. Misy fomba maromaro hanamboarana tondro kNN; ny anay no niasa tsara indrindra HNSW (Sary an-tsarimihetsika Tontolo Kely azo navigateur). Ity dia maodely an-tanan-tohatra izay ahafahanao mahita ireo vectors akaiky indrindra ho an'ny mpampiasa avy amin'ny angon-drakitra an-tapitrisany ao anatin'ny milisegondra vitsivitsy. Manondro ny angon-drakitray manontolo an-tserasera aloha izahay. Satria miasa haingana be ny fikarohana ao amin'ny fanondroana, raha misy fametahana matanjaka maromaro dia azonao atao ny mamorona tondro maromaro (fanondroana iray isaky ny fampidirana) ary miditra amin'ny tsirairay amin'izy ireo amin'ny fotoana tena izy.

Mbola manana antontan-taratasy an'aliny ho an'ny mpampiasa tsirairay izahay. Mbola betsaka ny manisa ny endri-javatra rehetra, ka amin'ity dingana ity dia mampiasa laharana maivana izahay - maodely mavesatra maivana miaraka amin'ny endri-javatra vitsy kokoa. Ny asa dia ny maminavina izay antontan-taratasy ho an'ny modely mavesatra eo an-tampony. Ireo antontan-taratasy manana vinavina ambony indrindra dia hampiasaina amin'ny modely mavesatra, izany hoe amin'ny dingana farany amin'ny filaharana. Ity fomba fiasa ity dia ahafahanao mampihena ny angon-drakitra antontan-taratasy heverina ho an'ny mpampiasa avy amin'ny an-tapitrisany ho an'arivony amin'ny milisegondra am-polony.

ALS dingana amin'ny runtime

Ahoana no hijerena ny valin-tenin'ny mpampiasa avy hatrany aorian'ny kitiho?

Ny lafin-javatra manan-danja amin'ny tolo-kevitra dia ny fotoana famaliana ny valin'ny mpampiasa. Zava-dehibe indrindra ho an'ny mpampiasa vaovao izany: rehefa manomboka mampiasa ny rafitra fanolorana ny olona iray, dia mahazo antontan-taratasy momba ny lohahevitra isan-karazany izy. Raha vao manao ny kitika voalohany izy dia mila mandray an-tsaina avy hatrany izany ary mampifanaraka ny tombontsoany. Raha kajy ny anton-javatra rehetra ivelan'ny aterineto, dia tsy ho azo atao ny valin'ny rafitra haingana noho ny fahatarana. Noho izany dia ilaina ny fikarakarana ny hetsika ataon'ny mpampiasa amin'ny fotoana tena izy. Ho an'ireo tanjona ireo, dia mampiasa ny dingana ALS amin'ny fotoana fandehanana izahay mba hananganana fanehoana vetaveta ny mpampiasa.

Andeha hatao hoe manana fanehoana vetaveta ho an'ny antontan-taratasy rehetra isika. Ohatra, azontsika atao ny manangana fametahana ivelan'ny aterineto mifototra amin'ny lahatsoratry ny lahatsoratra iray mampiasa ELMo, BERT na maodely fianarana milina hafa. Ahoana no ahazoantsika sarin'ny mpiserasera amin'ny habaka mitovy amin'ny fifandraisany amin'ny rafitra?

Fitsipika ankapoben'ny fananganana sy ny fanimbana ny matrix mpampiasa-documentAvelao izahay hanana m mpampiasa sy n antontan-taratasy. Ho an'ny mpampiasa sasany dia fantatra ny fifandraisan'izy ireo amin'ny antontan-taratasy sasany. Avy eo, ity fampahalalana ity dia azo aseho ho matrix mxn: ny andalana mifanandrify amin'ny mpampiasa, ary ny tsanganana mifanaraka amin'ny antontan-taratasy. Koa satria tsy nahita ny ankamaroan'ny antontan-taratasy ilay olona, ​​dia hijanona foana ny ankamaroan'ny sela matrix, fa ny hafa kosa ho feno. Ho an'ny hetsika tsirairay (tahaka, tsy tia, kitiho) dia misy sanda sasany omena ao amin'ny matrix - fa andeha hojerentsika ny maodely notsorina izay mifanitsy amin'ny 1 ny toy, ary mifanitsy amin'ny -1 ny tsy tia.

Andeha hopotehina ho roa ny matrice: P (mxd) sy Q (dxn), izay ny d dia ny refin'ny fanehoana vetaveta (matetika isa kely). Avy eo ny zavatra tsirairay dia hifanaraka amin'ny vector d-dimensional (ho an'ny mpampiasa iray - andalana ao amin'ny matrix P, ho an'ny antontan-taratasy - tsanganana ao amin'ny matrix Q). Ireo vectors ireo dia ho fampifangaroana ireo zavatra mifanaraka aminy. Mba haminavina raha ho tian'ny mpampiasa iray ny antontan-taratasy dia azonao ampitomboina tsotra izao ny fampidirana azy.

Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra
Ny iray amin'ireo fomba mety handrava ny matrix dia ny ALS (Alternating Least Squares). Hanatsara ny asa fatiantoka manaraka isika:

Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra

Eto ny rui dia ny fifaneraseran'ny mpampiasa u amin'ny document i, ny qi dia ny vector ny document i, ny pu no ny vector ny mpampiasa u.

Avy eo dia hita famakafakana amin'ny alΓ lan'ny famahana ny fihemorana tsipika mifanandrify amin'izany ny vector mpampiasa tsara indrindra amin'ny fomba fijerin'ny hadisoana efamira (ho an'ny vectors antontan-taratasy raikitra).

Izany no antsoina hoe "ALS dingana". Ary ny algorithm ALS mihitsy dia ny amboarinay ny iray amin'ireo matrices (mpampiasa sy lahatsoratra) ary manavao ny iray hafa, mitady vahaolana tsara indrindra.

Soa ihany fa ny fitadiavana ny fanehoana vetaveta ho an'ny mpampiasa dia asa haingana izay azo atao amin'ny fotoana fandehanana amin'ny fampiasana torolalana vector. Ity fika ity dia ahafahanao mandray avy hatrany ny valin-tenin'ny mpampiasa amin'ny filaharana. Ny fampidirana mitovy dia azo ampiasaina amin'ny fanondroana kNN hanatsarana ny fisafidianana kandidΓ .

Sivana fiaraha-miasa zaraina

Ahoana ny fomba fanaovana faktiora matrice distributed incremental ary hahitana haingana ireo fanehoana vetaveta amin'ny lahatsoratra vaovao?

Tsy ny atiny ihany no loharanon'ny famantarana fanolorana. Loharanom-baovao manan-danja iray hafa ny fampahalalana fiaraha-miasa. Ny endri-javatra tsara amin'ny filaharana dia azo alaina amin'ny fomba mahazatra amin'ny fanimbana ny matriky ny antontan-taratasy mpampiasa. Saingy rehefa nanandrana nanao fanimbana toy izany izahay dia sendra olana:

1. Manana antontan-taratasy an-tapitrisany isika ary mpampiasa am-polony tapitrisa. Ny matrix dia tsy mifanaraka tanteraka amin'ny milina iray, ary haharitra ela ny fanimbana.
2. Ny ankamaroan'ny votoaty ao amin'ny rafitra dia fohy ny androm-piainany: ny antontan-taratasy dia mijanona ho manan-danja mandritra ny ora vitsivitsy monja. Noho izany dia ilaina ny manamboatra ny sarin'izy ireo vector haingana araka izay azo atao.
3. Raha manangana fatiantoka avy hatrany ianao aorian'ny famoahana ny antontan-taratasy, dia tsy hanam-potoana hanombanana izany ny isan'ny mpampiasa. Noho izany, ny fanehoana vector azy dia mety tsy ho tsara loatra.
4. Raha tian'ny mpampiasa iray na tsy tian'ny mpampiasa dia tsy ho afaka handray izany avy hatrany isika amin'ny fanimbana.

Mba hamahana ireo olana ireo, dia nampiharina ny fiparitahan'ny matrix mpampiasa-document miaraka amin'ny fanavaozana miitatra matetika. Ahoana marina no fiasan'izy io?

Eritrereto hoe manana vondron'ny milina N isika (an-jatony ny N) ary te-hanao fanaparitahana ny matrix amin'izy ireo izay tsy mifanaraka amin'ny milina iray. Ny fanontaniana dia ny fomba hanatanterahana izany fanimbana izany, amin'ny lafiny iray, ampy ny angona amin'ny milina tsirairay ary, amin'ny lafiny iray, mba tsy miankina ny kajy?

Ny fomba fiasanay amin'ny kalitao sy ny hafainganan'ny fifantenana ny tolo-kevitra

Hampiasa ny algorithm decomposition ALS voalaza etsy ambony isika. Andeha hojerentsika ny fomba hanatanterahana ny dingana iray amin'ny ALS amin'ny fomba fizarana - ny ambiny amin'ireo dingana dia hitovy. Andeha atao hoe manana antontan-taratasy raikitra isika ary te-hanorina matrix mpampiasa. Mba hanaovana izany, dia hozarainay amin'ny ampahany N amin'ny tsipika, ny ampahany tsirairay dia ahitana andalana mitovy. Halefantsika amin'ny milina tsirairay ny sela tsy misy banga amin'ny andalana mifanandrify, ary koa ny matrix amin'ny embeddings antontan-taratasy (tanteraka). Koa satria tsy dia lehibe loatra ny habeny, ary ny matriky ny antontan-taratasin'ny mpampiasa dia matetika tsy dia misy loatra, ity data ity dia hifanaraka amin'ny milina mahazatra.

Ity fika ity dia azo averina mandritra ny vanim-potoana maromaro mandra-pahatongan'ny modely, mifandimby tsirairay ny matrice raikitra. Saingy na izany aza, mety haharitra ora maromaro ny fahapotehan'ny matrix. Ary izany dia tsy mamaha ny olana izay mila mahazo haingana embeddings ny antontan-taratasy vaovao sy ny fanavaozana ny embeddings ireo izay kely ny vaovao momba ny fananganana ny modely.

Nanampy anay ny fampidirana ny fanavaozana modely haingana haingana. Andeha atao hoe manana modely efa voaofana amin'izao fotoana izao isika. Hatramin'ny niofanany dia nisy lahatsoratra vaovao nifaneraseran'ny mpampiasa anay, ary koa lahatsoratra tsy dia nisy nifandraisany nandritra ny fiofanana. Mba hahazoana haingana ny embeddings amin'ny lahatsoratra toy izany, dia mampiasa ny mpampiasa embeddings azo nandritra ny fanofanana lehibe voalohany ny maodely ary manao dingana iray ALS kajy ny antontan-taratasy matrix nomena ny mpampiasa raikitra matrix. Izany dia ahafahanao mahazo fametahana haingana - ao anatin'ny minitra vitsy aorian'ny namoahana ny antontan-taratasy - ary matetika manavao ny fampidirana ireo antontan-taratasy vao haingana.

Mba hanaovana tolo-kevitra avy hatrany dia raisina an-tsaina ny fihetsiky ny olombelona, ​​amin'ny fotoana fampandehanana dia tsy mampiasa ny fampidirana mpampiasa azo ivelan'ny aterineto izahay. Fa kosa, manao dingana ALS izahay ary mahazo ny tena vektorin'ny mpampiasa.

Famindrana any amin'ny faritra hafa

Ahoana ny fampiasana fanehoan-kevitry ny mpampiasa amin'ny lahatsoratra an-tsoratra mba hananganana fanehoana vetaveta amin'ny lahatsary iray?

Tany am-boalohany dia lahatsoratra an-tsoratra ihany no soso-kevitray, ka maro amin'ireo algorithm no mifanaraka amin'ity karazana atiny ity. Saingy rehefa nampiana karazana votoaty hafa dia niatrika ny filana ny fampifanarahana ireo modely izahay. Ahoana no namaha ity olana ity tamin'ny fampiasana ohatra video? Ny safidy iray dia ny famerenana ny modely rehetra amin'ny voalohany. Saingy mitaky fotoana lava izany, ary ny sasany amin'ireo algorithm dia mitaky ny haben'ny santionany fanofanana, izay tsy mbola hita ao amin'ny habetsahana takiana amin'ny karazana votoaty vaovao amin'ny fotoana voalohany amin'ny fiainany amin'ny serivisy.

Nandeha tamin'ny lalana hafa izahay ary nampiasa indray ny maodely lahatsoratra ho an'ny lahatsary. Ny hafetsen'ny ALS ihany koa dia nanampy anay hamorona sarin-dahatsary vector. Nandray sarin'ireo mpampiasa mifototra amin'ny lahatsoratra lahatsoratra izahay ary nanao dingana ALS tamin'ny fampiasana fampahalalana momba ny fijerena horonan-tsary. Noho izany dia nahazo fanehoana vetaveta amin'ny horonan-tsary izahay. Ary amin'ny fotoana fampandehanana dia kajy tsotra izao ny elanelana misy eo amin'ny vector mpampiasa azo avy amin'ny lahatsoratra lahatsoratra sy ny vector video.

famaranana

Mitaky fanamby maro ny famolavolana ny fototry ny rafitra fanolorana fotoana tena izy. Mila manodina haingana ny angona ianao ary mampihatra fomba ML mba hampiasana tsara an'io data io; manangana rafitra zaraina saro-takarina afaka manodina ny famantarana ny mpampiasa sy ny votoaty vaovao ao anatin'ny fotoana fohy; ary asa maro hafa.

Ao amin'ny rafitra ankehitriny, ny famolavolana izay nofaritako, ny kalitaon'ny tolo-kevitra ho an'ny mpampiasa dia mitombo miaraka amin'ny asany sy ny faharetany amin'ny serivisy. Saingy mazava ho azy fa eto no misy ny fahasarotana lehibe: sarotra ho an'ny rafitra ny mahatakatra avy hatrany ny tombontsoan'ny olona iray izay tsy dia mifandray loatra amin'ny votoatiny. Ny fanatsarana ny tolo-kevitra ho an'ny mpampiasa vaovao no tanjonay lehibe. Hanohy hanatsara ny algorithm izahay mba hidirana haingana kokoa amin'ny sakafony ny votoaty mifandraika amin'ny olona iray, ary tsy aseho ny votoaty tsy misy dikany.

Source: www.habr.com

Add a comment