"MENDIMET DHE TEORIA"

RFA e Google: Përafrimi i Mekanizmit të Vëmendjes Softmax në transformatorë

Çfarë është mekanizmi i vëmendjes dhe pse RFA është më i mirë se Softmax?

Google ka lëshuar kohët e fundit një qasje të re - Vëmendje e rastësishme për veçoritë - për të zëvendësuar mekanizmat e vëmendjes softmax në transformatorë për të arritur performancë të ngjashme ose më të mirë me përmirësim të ndjeshëm në kompleksitetin e kohës dhe hapësirës.

Në këtë blog, ne do të shqyrtojmë sfondin e transformatorëve, çfarë është një mekanizëm i vëmendjes dhe pse është RFA një alternativë më e mirë për mekanizmin e vëmendjes softmax. Ne do ta përfundojmë blogun me disa rekomandime nga RFA.

Shënim: Ky blog bazohet në punimin e fundit të Google Deepmind "Random Feature Attention" nga Peng et al. Edhe pse ne do të mbulojmë shumicën e koncepteve thelbësore, ju lutemi lexoni artikullin "këtu" për t'u zhytur më thellë në derivacionet matematikore, rezultatet e eksperimentit dhe diskutimet.

Sfondi

Transformatorët janë tipologjia më e mirë e modelit të mësimit të makinës sekuencë në sekuencë për momentin. Fakti që është i specializuar në të mësuarit nga sekuencat e të dhënave e bën atë veçanërisht të mirë në përpunimin e gjuhës natyrore, përkthimin e makinës, modelimin e serive kohore dhe përpunimin e sinjalit.

Gurët e themelit për suksesin e transformatorëve janë mekanizmat e vëmendjes. Këta mekanizma shikojnë në një sekuencë hyrëse dhe identifikojnë elementët që janë më të rëndësishëm. Këta elementë do të kenë një peshë më të rëndë gjatë kodimit të sekuencës, pra do t'u kushtohet më shumë vëmendje.

Çfarë është Mekanizmi i Vëmendjes në anglisht të thjeshtë?

Mendoni sikur po shënojmë shënime në një takim për të shkruar një email vijues. Kur shënojmë shënime, ka shumë pak gjasa që të mund të shkruajmë gjithçka. Mund të na duhet të zëvendësojmë fjalët me shkurtesa ose vizatime; mund të na duhet gjithashtu të kapërcejmë fjalët që mund të nxirren me humbje minimale në kuptim. Ky proces do të distilojë një takim një orë në vetëm një faqe shënimesh. Në thelb, mekanizmat e vëmendjes po bëjnë të njëjtën gjë kur përpiqet të kodojë një sekuencë duke i kushtuar më shumë vëmendje përfshirjes (shkurtesat ose paraqitjen e ikonave të fjalëve) që ka rëndësi.

Çfarë është Mekanizmi i Vëmendjes Softmax?

Le të themi se kemi fjalinë "Çfarë është në të vërtetë mekanizmi i vëmendjes".

Objektivi i mekanizmit të vëmendjes është të llogaritë një matricë të relativitetit se si pjesë të ndryshme të sekuencës duhet të lidhen me njëra-tjetrën dhe si rrjedhim duhet t'i kushtohet vëmendje në të njëjtën kohë. Për shembull, "Vëmendje" dhe "Mekanizmi" duhet të lidhen së bashku ndërsa asnjëri prej tyre nuk duhet të jetë i lidhur fort me "në të vërtetë" dhe as "është”.

Mekanizmi do të fillojë me gëlltitjen e një forme numerike të fjalisë sonë hyrëse, d.m.th. një matricë të ngulitur fjalësh.

Shënim: Vendosja e fjalës është një paraqitje vektoriale e një fjale që kap atribute të ndryshme të asaj fjale. Një shembull tepër i thjeshtuar i këtyre atributeve mund të jetë ndjenja, pjesa e të folurit dhe numri i karaktereve.

Më pas do të inicializojë tre matrica të peshës për pyetjen W_q, çelësin W_k dhe vlerën W_v.

Më pas, ne mund të llogarisim matricën e pyetjes Q, matricën kryesore K dhe matricën e vlerës V si produkte pikash të matricës së ngulitjes së fjalës me W_q, W_k dhe W_v respektivisht. Siç përshkruhet në punim Vëmendja është e gjithë nevoja juaj, më pas një matricë e vëmendjes fillestare mund të llogaritet si më poshtë:

Ose matematikisht si më poshtë:

Për të kuptuar se si rrjedhin operacionet e matricës, këtu është një rrjedhë piktoreske e matricave themelore:

Kjo vëmendje njihet edhe si vëmendja softmax pasi përdor një funksion aktivizimi softmax për të përkthyer produktin e shkallëzuar të pikës së Q dhe K në një matje relative të vëmendjes, A, ku çdo fjalë tjetër do të ndajë një pjesë të vëmendjes e cila më pas përmbledh deri në 1. (ose 100%). Rezultati softmax më pas do të kombinohet me V për t'i dhënë atij rezultate semantike të bazuara në vëmendje.

Por çfarë janë pyetja, çelësi dhe vlera?

Një mënyrë shumë e thjeshtuar për të kuptuar intuitën pas treshes së pyetjes, çelësit, vlerës mund të jetë trajtimi i aftësisë së një transformatori për të kuptuar një fjali si maksimizimi i gjasave të kushtëzuara vijuese:

  • Probabiliteti i y = "Çfarë" kur sekuenca e hyrjes është [y, "actually", "is", "attention", "mechanism"]
  • Probabiliteti i y = "në të vërtetë" kur sekuenca e hyrjes është ["what", y, "is", "attention", "mechanism"]
  • Probabiliteti i y = "është" kur sekuenca e hyrjes është ["what", "actually", y, "attention", "mechanism"]
  • Probabiliteti i y = "vëmendje" kur sekuenca e hyrjes është ["what", "actually", "is", y, "mechanism"]
  • Probabiliteti i y = "në të vërtetë" kur sekuenca e hyrjes është ["what", "actually", "is", "attention", y]

Dhe mënyra për të konkluduar gjasat do të ishte t'u kushtohej vëmendje fjalëve të tjera (ngulitje fjalësh) në fjalinë hyrëse. Gjatë procesit të trajnimit, transformatori më pas do të mësonte se si të lidhë fjalët së bashku bazuar në ngulitje duke rafinuar tre matricat e peshës.

Ajo që është e mirë për këtë arkitekturë është se ne mund të kapim një strukturë semantike më komplekse duke krijuar grupe të shumta pyetjesh, çelësash, treshe vlerash (a.k. Vëmendje me shumë koka) ose duke grumbulluar këto shtresa të vëmendjes.

Pse Mekanizmi i Vëmendjes Softmax nuk është mjaft i mirë?

Në një transformator tipik, Vëmendja me shumë koka është vendosur për të hequr modele gjuhësore më komplekse. Kompleksiteti kohor dhe hapësinor i mekanizmit të vëmendjes softmax bëhet më pas O(MN) i cili do të rritet me një shpejtësi kuadratike në gjatësinë e sekuencës hyrëse.

Për ta adresuar këtë, ekipi nga Google Deepmind ka shfrytëzuar teoremën e Bochner-it dhe ka zgjeruar punën e Rahmi & Recht (2008) për të vlerësuar funksionet eksponenciale të një funksioni softmax me një hartë të rastësishme të veçorive ϕ (një tipare Fourier i një prodhimi të brendshëm ndërmjet një vektori të rastësishëm të shpërndarë në mënyrë të pavarur dhe normale w dhe fjalisë hyrëse x).

Pa u zhytur në shumë detaje matematikore të derivimit, një mekanizëm i vëmendjes softmax mund të përafrohet me strukturën e mëposhtme:

Duke përafruar softmax me RFA, Google Deepmind ka reduktuar kompleksitetin e kohës dhe hapësirës në O(M + N), pra nga kuadratik në linear.

Të dhëna nga kërkimi i Google Deepmind

  • Meqenëse RFA ka të njëjtat kërkesa për dimensionet hyrëse dhe dalëse, RFA mund të përdoret si një zëvendësim për mekanizmin e vëmendjes softmax.
  • Ndërsa kompleksiteti bie nga kuadratik në linear, RFA arrin një përmirësim më të rëndësishëm kur sekuenca e tekstit të hyrjes është më e gjatë.
  • Arsyeja pas RFA mund të përdoret për përafrimin e funksioneve të tjera të kernelit përtej bërthamave Gaussian. Në punimin e Google Deepmind, ata kanë ilustruar se si mund të zbatohet e njëjta qasje për përafrimin e një kerneli hark-kosinus.
  • Ashtu si softmax, RFA më vete nuk merr parasysh distancën e pozicionit brenda një fjalie hyrëse. Në punimin e Google Deepmind, ata kanë diskutuar se si frymëzimi nga rrjetet nervore të përsëritura mund të zbatohet në RFA në mënyrë që rëndësia e fjalëve të zvogëlohet në mënyrë eksponenciale në varësi të pozicioneve të tyre relative në fjali.
  • E fundit, por jo më pak e rëndësishme, mësimi i makinerive duket shumë i shkëlqyeshëm, por gjithçka ka të bëjë me matematikën dhe statistikat. Falë studiuesve dhe programuesve të shkëlqyer, ne kemi luksin e paketave të nivelit të lartë si TensorFlow dhe PyTorch. Megjithatë, ne duhet të vazhdojmë të mësojmë zhvillimet më të fundit dhe të rishikojmë konceptet thelbësore për t'u siguruar që po zhvillojmë modele dhe tubacione të mësimit të makinerive të mbrojtura dhe të interpretueshme.

Kjo është për këtë për këtë blog. Shpresoj që të gjeni të dobishëm blogun ose kodin! Mos ngurroni të përgjigjeni ose të dërgoni pm nëse kam humbur ndonjë gjë, ose nëse keni ndonjë pyetje. Nëse dëshironi të mësoni më shumë rreth Python, Shkencës së të Dhënave ose Mësimit të Makinerisë, mund të dëshironi të shikoni këto postime:

Nëse dëshironi të mësoni më shumë se si të aplikoni mësimin e makinerive për tregtimin dhe investimin, këtu janë disa postime të tjera që mund të jenë me interes:

  • "Algoritmi gjenetik për optimizimin e strategjisë së tregtimit në Python"
  • "Algoritmi gjenetik - Ndaloni mbipërshtatjen e strategjive tregtare"
  • "Sistemi i rekomandimeve të ANN për përzgjedhjen e aksioneve"