Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ

Aha m bụ Pavel Parkhomenko, abụ m onye nrụpụta ML. N'isiokwu a, ọ ga-amasị m ikwu banyere nhazi nke ọrụ Yandex.Zen ma kesaa mmezi teknụzụ, mmejuputa ya mere ka o kwe omume ịbawanye ogo ndụmọdụ. Site na post a, ị ga-amụta otu esi achọta ndị kachasị mkpa maka onye ọrụ n'etiti nde akwụkwọ na naanị milliseconds ole na ole; otu esi eme mwepu na-aga n'ihu nke nnukwu matrix (nke nwere ọtụtụ nde ogidi na ọtụtụ iri nde ahịrị) ka akwụkwọ ọhụrụ wee nweta vector ha n'ime iri nkeji iri; otu esi ejighachi ire ere matriks nke onye ọrụ iji nweta ezigbo vector maka vidiyo.

Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ

Ebe nchekwa data ndụmọdụ anyị nwere ọtụtụ nde akwụkwọ nke ụdị dị iche iche: akụkọ ederede emepụtara n'elu ikpo okwu anyị wee were site na saịtị dịpụrụ adịpụ, vidiyo, akụkọ na mkpirisi mkpirisi. Mmepe nke ọrụ dị otú ahụ jikọtara ya na ọnụ ọgụgụ dị ukwuu nke ihe ịma aka nka. Nke a bụ ụfọdụ n'ime ha:

  • Kewaa ọrụ mgbako: rụọ ọrụ niile dị arọ na-anọghị n'ịntanetị, ma na-eme naanị ngwa ngwa ngwa nke ụdị iji bụrụ onye na-ahụ maka 100-200 ms.
  • Buru n'uche omume onye ọrụ ngwa ngwa. Iji mee nke a, ọ dị mkpa na a na-enyefe ihe omume niile ozugbo na onye na-akwado ya ma na-emetụta nsonaazụ nke ụdị.
  • Mee ndepụta ahụ ka ndị ọrụ ọhụrụ wee kwekọọ ngwa ngwa na omume ha. Ndị ka sonyeere sistemụ ahụ kwesịrị iche na nzaghachi ha na-emetụta ndụmọdụ.
  • Ghọta ngwa ngwa onye ị ga-akwado edemede ọhụrụ nye.
  • Zaghachi ngwa ngwa maka iwepụta ọdịnaya ọhụrụ mgbe niile. A na-ebipụta ọtụtụ iri puku akụkọ kwa ụbọchị, na ọtụtụ n'ime ha nwere obere ndụ ndụ (kwuo, akụkọ). Nke a bụ ihe na-eme ka ha dị iche na fim, egwu na ihe ndị ọzọ dị ogologo oge na ọnụ ahịa iji mepụta.
  • Nyefee ihe ọmụma site n'otu ngalaba gaa na nke ọzọ. Ọ bụrụ na usoro ntinye aka zụrụ ụdị maka ederede ederede ma anyị tinye vidiyo na ya, anyị nwere ike iji ụdị ndị dị ugbu a mee ka ụdị ọdịnaya ọhụrụ dị mma.

Aga m agwa gị otu anyị siri dozie nsogbu ndị a.

Nhọrọ nke ndị na-aga ime

Kedu ka esi belata ọnụ ọgụgụ akwụkwọ ndị a na-atụle site na puku kwuru puku ugboro na milliseconds ole na ole, na-enweghị ihe ọ bụla na-emebi ogo ogo?

Ka e were ya na anyị zụrụ ọtụtụ ụdị ML, mepụta atụmatụ dabere na ha, zụọkwa ụdị ọzọ nke na-edobe akwụkwọ maka onye ọrụ. Ihe niile ga-adị mma, ma ị pụghị ịnara ma gbakọọ ihe ịrịba ama niile maka akwụkwọ niile ozugbo, ma ọ bụrụ na e nwere ọtụtụ nde akwụkwọ ndị a, na ndụmọdụ kwesịrị ka e wuo na 100-200 ms. Ọrụ a bụ ịhọrọ mpaghara ụfọdụ n'ime nde mmadụ, nke a ga-ahọpụta maka onye ọrụ. A na-akpọkarị ọkwa a nhọrọ nhọpụta. Enwere ọtụtụ ihe achọrọ maka ya. Nke mbụ, nhọrọ ahụ ga-eme ngwa ngwa, nke mere na a ga-ahapụ oge dị ka o kwere mee maka ọkwa n'onwe ya. Nke abuo, n'ịbụ onye belatara ọnụ ọgụgụ akwụkwọ maka ogo, anyị ga-echekwa akwụkwọ ndị metụtara onye ọrụ dịka o kwere mee.

Ụkpụrụ nhọpụta anyị ewepụtala, ma ugbu a, anyị erutela atụmatụ ọtụtụ ọkwa:

Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ

Nke mbụ, a na-ekewa akwụkwọ niile n'ime otu, a na-ewerekwa akwụkwọ kachasị ewu ewu n'otu ọ bụla. Otu nwere ike ịbụ saịtị, isiokwu, ụyọkọ. Maka onye ọrụ ọ bụla, dabere na akụkọ ihe mere eme ya, a na-ahọrọ otu ndị kacha nso ya ma na-ewere ha akwụkwọ kacha mma. Anyị na-ejikwa akara kNN họrọ akwụkwọ kacha nso onye ọrụ ozugbo. Enwere ụzọ dị iche iche iji wuo ndeksi kNN; nke anyị rụpụtara nke ọma HNSW (Ihe osise ndị dị elu nke Navigable Obere ụwa). Nke a bụ usoro nhazi nke na-enye gị ohere ịchọta vector N kacha nso maka onye ọrụ site na nchekwa data nke nde mmadụ na milliseconds ole na ole. Anyị na-ebu ụzọ depụta nchekwa data akwụkwọ anyị niile na-anọghị n'ịntanetị. Ebe ọ bụ na ịchọ na index na-arụ ọrụ ngwa ngwa, ma ọ bụrụ na e nwere ọtụtụ ike embeddings, ị nwere ike ịmepụta ọtụtụ indexes (otu index maka ọ bụla embedding) na nweta nke ọ bụla n'ime ha ozugbo.

Anyị ka nwere iri puku kwuru iri puku akwụkwọ maka onye ọrụ ọ bụla. Nke a ka dị ọtụtụ iji gụọ njirimara niile, yabụ na ọkwa a, anyị na-eji ọkwa ọkụ - ụdị ogo dị arọ dị arọ nke nwere njirimara ole na ole. Ọrụ ahụ bụ ịkọ akwụkwọ nke ụdị dị arọ ga-enwe n'elu. A ga-eji akwụkwọ ndị nwere amụma amụma kachasị elu na ụdị dị arọ, ya bụ, na ọkwa ikpeazụ nke ogo. Ụzọ a na-enye gị ohere ibelata nchekwa data nke akwụkwọ ndị a tụlere maka onye ọrụ site na nde mmadụ ruo puku kwuru iri puku kwuru iri milliseconds.

ALS na-agba ọsọ n'oge ọ na-agba ọsọ

Otu esi abanye n'ime akaụntụ nzaghachi onye ọrụ ozugbo ịpịchara?

Otu ihe dị mkpa na ndụmọdụ bụ oge nzaghachi nye nzaghachi onye ọrụ. Nke a dị mkpa karịsịa maka ndị ọrụ ọhụrụ: mgbe mmadụ malitere iji usoro ntinye aka, ọ na-enweta ndepụta na-abụghị nke onwe nke akwụkwọ nke isiokwu dị iche iche. Ozugbo ọ na-eme pịa nke mbụ, ịkwesịrị iburu nke a n'uche ozugbo wee mee mgbanwe maka ọdịmma ya. Ọ bụrụ na ị gbakọọ ihe niile na-anọghị n'ịntanetị, nzaghachi sistemụ ngwa ngwa agaghị ekwe omume n'ihi igbu oge. Ya mere, ọ dị mkpa ịhazi omume onye ọrụ na ozugbo. Maka ebumnuche ndị a, anyị na-eji nzọụkwụ ALS n'oge ọ na-agba ọsọ iji wuo ihe ngosi vector nke onye ọrụ.

Ka anyị were na anyị nwere ihe nnọchi anya vector maka akwụkwọ niile. Dịka ọmụmaatụ, anyị nwere ike iwulite ntinye na-anọghị n'ịntanetị dabere na ederede akụkọ site na iji ELMo, BERT ma ọ bụ ụdị mmụta igwe ndị ọzọ. Kedu ka anyị ga-esi nweta ihe nnọchiteanya vector nke ndị ọrụ n'otu oghere ahụ dabere na mmekọrịta ha na sistemụ?

Ụkpụrụ izugbe nke nhazi na nbibi nke matriks onye ọrụ-akwụkwọKa anyị nwee m ndị ọrụ na n akwụkwọ. Maka ụfọdụ ndị ọrụ, mmekọrịta ha na ụfọdụ akwụkwọ mara. Mgbe ahụ enwere ike gosipụta ozi a dị ka matrix m x n: ahịrị kwekọrọ na ndị ọrụ, na kọlụm kwekọrọ na akwụkwọ. Ebe ọ bụ na onye ahụ ahụbeghị ọtụtụ akwụkwọ, ọtụtụ n'ime sel matriks ga-anọgide na-abaghị uru, ebe ndị ọzọ ga-ejupụta. Maka ihe omume ọ bụla (dị ka, enweghị mmasị, pịa) a na-enye ụfọdụ uru na matriks - mana ka anyị tụlee usoro dị mfe nke ihe amasị ya kwekọrọ na 1, na enweghị mmasị kwekọrọ na -1.

Ka anyị debie matrix ahụ ụzọ abụọ: P (m x d) na Q (d x n), ebe d bụ ​​akụkụ nke ihe nnọchianya vector (na-abụkarị ọnụ ọgụgụ dị nta). Mgbe ahụ ihe ọ bụla ga-adaba na vector d-dimensional (maka onye ọrụ - ahịrị na matrix P, maka akwụkwọ - kọlụm na matrix Q). Vectors ndị a ga-abụ ntinye nke ihe ndị kwekọrọ. Iji buo amụma ma akwụkwọ ọ ga-amasị onye ọrụ, ị nwere ike ịmụba mgbakwunye ha.

Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ
Otu n'ime ụzọ enwere ike isi mebie matrix bụ ALS (Alternating Least Squares). Anyị ga-ebuli ọrụ mfu ndị a:

Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ

Ebe a rui bụ mmekọrịta nke onye ọrụ u na akwụkwọ i, qi bụ vector nke akwụkwọ i, pu bụ vector nke onye ọrụ u.

Mgbe ahụ, a na-ahụ vector kachasị mma nke onye ọrụ site na echiche nke njehie square pụtara (maka vectors nke edobere akwụkwọ) na nyocha site na idozi nkwụghachi azụ linear kwekọrọ.

Nke a na-akpọ "ALS nzọụkwụ". Na ALS algọridim n'onwe ya bụ na anyị na-edozi otu n'ime matrices (ndị ọrụ na isiokwu) wee melite nke ọzọ, na-achọta ngwọta kachasị mma.

Ọ dabara nke ọma, ịchọta ihe nnochite anya vector nke onye ọrụ bụ ọrụ dị ngwa ngwa nke enwere ike ime n'oge ojiri gaa site na iji ntuziaka vector. Aghụghọ a na-enye gị ohere iburu nzaghachi onye ọrụ ozugbo na ọkwa. Enwere ike iji otu ntinye ahụ na ndeksi kNN iji kwalite nhọpụta onye ndoro-ndoro ochichi.

Nzacha ọnụ ahịa ekesara

Kedu ka esi eme ihe nrịbama nkesa matriks na-ekesa wee chọta ihe ngosi vector nke akụkọ ọhụrụ ngwa ngwa?

Ọdịnaya abụghị naanị isi mmalite nrịbama nkwado. Ebe ọzọ dị mkpa bụ ozi imekọ ihe ọnụ. Enwere ike nweta njirimara ọkwa dị mma site na ndakpọ nke matriks onye ọrụ-akwụkwọ. Ma mgbe anyị na-agbalị ime ụdị ire ere, anyị zutere nsogbu:

1. Anyị nwere nde akwụkwọ na iri nde ndị ọrụ. Matriks ahụ adabaghị kpamkpam n'otu igwe, ire ere ga-ewe ogologo oge.
2. Ọtụtụ n'ime ọdịnaya dị na usoro ahụ nwere obere ndụ: akwụkwọ na-anọgide na-adị mkpa naanị awa ole na ole. Ya mere, ọ dị mkpa iji wuo ihe nnọchianya vector ha ngwa ngwa o kwere mee.
3. Ọ bụrụ na ị na-ewu ire ere ozugbo e bipụtara akwụkwọ ahụ, ọnụ ọgụgụ zuru ezu nke ndị ọrụ agaghị enwe oge iji nyochaa ya. Ya mere, ihe nnọchianya nke vector ya agaghị adị oke mma.
4. Ọ bụrụ na onye ọrụ masịrị ma ọ bụ enweghị mmasị, anyị agaghị enwe ike iburu nke a ozugbo na ire ere.

Iji dozie nsogbu ndị a, anyị mebere nbibi nkesa nke matriks onye ọrụ-akwụkwọ yana mmelite na-abawanye ugboro ugboro. Kedu ka ọ si arụ ọrụ?

Ka e were ya na anyị nwere ụyọkọ nke igwe N (N dị na narị otu narị) na anyị chọrọ ime mkpọsa nkesa nke matrix na ha nke na-adabaghị na otu igwe. Ajụjụ a bụ ka esi arụ nbibi a ka, n'otu aka ahụ, enwere data zuru ezu na igwe ọ bụla na, n'aka nke ọzọ, nke mere na ngụkọ ahụ nwere onwe ya?

Otu anyị si arụ ọrụ na àgwà na ọsọ nke nhọrọ nke ndụmọdụ

Anyị ga-eji ALS decomposition algorithm akọwara n'elu. Ka anyị leba anya ka esi eme otu nzọụkwụ ALS n'ụzọ ekesa - usoro ndị ọzọ ga-adị ka ya. Ka anyị kwuo na anyị nwere matriks nke akwụkwọ ma anyị chọrọ iwulite matriks nke ndị ọrụ. Iji mee nke a, anyị ga-ekewa ya n'ime akụkụ N site na ahịrị, akụkụ nke ọ bụla ga-enwe ihe dị ka otu ọnụ ọgụgụ ahịrị. Anyị ga-ezigara igwe ọ bụla na-enweghị ihe efu nke ahịrị ndị kwekọrọ, yana matriks nke ntinye akwụkwọ (kpam kpam). Ebe ọ bụ na nha ya adịghị nnukwu, yana matriks onye ọrụ-akwụkwọ na-adịkarị obere, data a ga-adaba na igwe mgbe niile.

Enwere ike ịmegharị aghụghọ a n'ọtụtụ oge ruo mgbe ihe nlereanya ahụ na-agbakọta, na-atụgharị matriks edoziri otu otu. Mana ọbụlagodi mgbe ahụ, ire ere matriks nwere ike were ọtụtụ awa. Ma nke a anaghị edozi nsogbu ahụ na ị ga-enweta ngwa ngwa ngwa ngwa nke akwụkwọ ọhụrụ ma melite ntinye nke ndị na-enwe ntakịrị ihe ọmụma mgbe ị na-ewu ihe nlereanya ahụ.

Iwebata mmelite ụdị agbakwunyere ngwa ngwa nyeere anyị aka. Ka anyị kwuo na anyị nwere ụdị a zụrụ azụ ugbu a. Kemgbe ọzụzụ ya, enwere akụkọ ọhụrụ nke ndị ọrụ anyị na-emekọrịta ihe, yana isiokwu ndị na-enwechaghị mmekọrịta n'oge ọzụzụ. Iji nweta ngwa ngwa ntinye nke isiokwu ndị dị otú ahụ, anyị na-eji ntinye onye ọrụ nwetara n'oge ọzụzụ mbụ buru ibu nke ihe nlereanya ahụ ma mee otu nzọụkwụ ALS iji gbakọọ matrix akwụkwọ nyere matrix onye ọrụ edozi. Nke a na-enye gị ohere ịnweta ntinye ngwa ngwa - n'ime nkeji ole na ole ka ebipụtachara akwụkwọ ahụ - na-emelitekwa ntinye nke akwụkwọ ndị na-adịbeghị anya.

Iji mee ndụmọdụ ozugbo, buru n'uche omume mmadụ, na oge ojiri, anyị anaghị eji ntinye ndị ọrụ enwetara na ntanetị. Kama, anyị na-eme nzọụkwụ ALS wee nweta vector onye ọrụ n'ezie.

Nyefee na mpaghara ngalaba ọzọ

Kedu otu esi eji nzaghachi onye ọrụ na akụkọ ederede wuo ihe ngosi vector nke vidiyo?

Na mbido, anyị tụrụ aro naanị edemede ederede, yabụ ọtụtụ algọridim anyị ka ahaziri maka ụdị ọdịnaya a. Ma mgbe ị na-agbakwụnye ụdị ọdịnaya ndị ọzọ, anyị chere mkpa ọ dị ime mgbanwe ụdị. Kedu otu anyị siri dozie nsogbu a site na iji ihe atụ vidiyo? Otu nhọrọ bụ ịmaliteghachi ụdị niile site na ọkọ. Mana nke a na-ewe ogologo oge, ụfọdụ algọridim na-achọkwa nha nke ihe nlele ọzụzụ, nke na-adịbeghị anya na ọnụọgụ achọrọ maka ụdị ọdịnaya ọhụrụ na oge mbụ nke ndụ ya na ọrụ ahụ.

Anyị gara n'ụzọ ọzọ wee jiri ụdị ederede maka vidiyo ahụ. Otu aghụghọ ALS ahụ nyeere anyị aka ịmepụta ihe ngosi vector nke vidiyo. Anyị were ihe ngosi vector nke ndị ọrụ dabere na akụkọ ederede wee mee nzọụkwụ ALS site na iji ozi nlele vidiyo. Ya mere, anyị na-enweta ihe ngosi vector nke vidiyo ahụ ngwa ngwa. Na n'oge ojiri gaa, anyị na-agbakọ ịdị nso n'etiti vector onye ọrụ enwetara site na ederede ederede na vector vidiyo.

nkwubi

Ịmepụta ihe bụ isi nke usoro nkwado oge na-agụnye ọtụtụ ihe ịma aka. Ịkwesịrị ịhazi data ngwa ngwa ma tinye usoro ML iji jiri data a rụọ ọrụ nke ọma; wulite usoro kesara mgbagwoju anya nwere ike ịhazi akara njirimara na nkeji ọdịnaya ọhụrụ n'ime obere oge; na ọtụtụ ọrụ ndị ọzọ.

Na usoro nke ugbu a, imewe nke m kọwara, àgwà nke ndụmọdụ maka onye ọrụ na-eto eto tinyere ọrụ ya na ogologo oge ịnọ na ọrụ ahụ. Ma n'ezie, ebe a bụ isi ihe isi ike: ọ na-esiri ike maka usoro ahụ ozugbo ịghọta mmasị nke onye nwere obere mmekọrịta na ọdịnaya. Imelite ndụmọdụ maka ndị ọrụ ọhụrụ bụ ebumnuche anyị bụ isi. Anyị ga-aga n'ihu na-ebuli algọridim ka ọdịnaya nke dị mkpa maka mmadụ na-abanye na nri ya ngwa ngwa, na ọdịnaya na-adịghị mkpa egosighi.

isi: www.habr.com

Tinye a comment