Istraživanje transformatora vida sa samonadzorom za prepoznavanje hoda u divljini 2. dio
Nov 24, 2023
2.2. Vision Transformers
Iako su u početku predloženi za NLP zadatke [16,34] s ogromnim uspjehom, transformatori su se posljednjih godina naširoko koristili u računalnom vidu [24,25,28,35–37]. Obje domene su uživale u performansama bez presedana korištenjem raznih varijacija transformatora, djelomično zbog povećanog kapaciteta modela i sposobnosti transformatora da imaju više koristi od samonadzora nego prethodni modeli [17].
Samonadzor i pamćenje usko su povezani. Samonadzor se odnosi na procjenu i prilagodbu vlastitog ponašanja, mišljenja i emocija, dok se pamćenje odnosi na sposobnost prikupljanja, obrade i pohranjivanja informacija. Samonadzor nam može pomoći da steknemo bolju kontrolu nad svojim ponašanjem i emocijama, čime poboljšavamo pamćenje.
Prvo, samonadzor nam može pomoći da se bolje odupremo iskušenjima. Iskušenje ima tendenciju odvratiti našu pozornost i energiju te utjecati na naše pamćenje. Samonadzorom se možemo bolje kontrolirati i izbjeći pretjerane distrakcije, čime se poboljšava pamćenje.
Drugo, samokontrola nam također može pomoći da bolje razumijemo i zapamtimo informacije. Samonadzor nam omogućuje da više pozornosti posvetimo ključnim točkama informacija i obratimo pažnju na veze između informacija, kako bismo bolje razumjeli i zapamtili informacije. Kada obraćamo pozornost, bolje smo opremljeni za razumijevanje i zadržavanje informacija.
Konačno, samokontrola nam također može pomoći da bolje promatramo i sažimamo svoje ponašanje i razmišljanje. Razmišljajući o vlastitim postupcima i misaonim procesima, možemo prepoznati nedostatke i poboljšati ih. Ovo poboljšanje ne samo da poboljšava naše ponašanje i razmišljanje, već također poboljšava naše sposobnosti pamćenja.
Ukratko, samonadzor i pamćenje su usko povezani. Samonadzorom se možemo bolje kontrolirati, bolje razumjeti i pamtiti informacije te bolje poboljšati svoje ponašanje i procese razmišljanja. U isto vrijeme, ovo će nam također pomoći da poboljšamo naše pamćenje, omogućujući nam da učimo i radimo učinkovitije. Pojasnimo svoje ciljeve, aktivno se prilagođavajmo i neprestano težimo napretku! Vidi se da moramo poboljšati pamćenje, a Cistanche deserticola može značajno poboljšati pamćenje, jer Cistanche deserticola također može regulirati ravnotežu neurotransmitera, poput povećanja razine acetilkolina i faktora rasta. Ove tvari su vrlo važne za pamćenje i učenje. Osim toga, meso također može poboljšati protok krvi i pospješiti opskrbu kisikom, što može osigurati da mozak dobije dovoljno hranjivih tvari i energije, čime se poboljšava vitalnost i izdržljivost mozga.

Kliknite znati suplemente za poboljšanje pamćenja
Dosovitskiy i sur. [24] prvi su predložili korištenje transformatorskih kodera za klasifikaciju slike, uvodeći Vision Transformer (ViT). Arhitektura dijeli ulaznu sliku na dijelove fiksne veličine od 16x16, izravnava ih i projicira ih linearnim slojem na dimenziju ugradnje. Token dodatne klase (CLS) umeće se u sekvencu, a svakom vektoru se dodaju položajna kodiranja.
Rezultirajuća sekvenca ugrađivanja daje se kao ulaz transformatorskom koderu, koji ima istu strukturu kao onaj u [34], ali koristi operator LayerNorm prije svakog bloka umjesto nakon (pre-norma). MLPhead se koristi za dobivanje oznake klase iz globalno agregiranih informacija u tokenu klase.
Mehanizam samopažnje koji su predstavili Vaswani i sur. [34] uzima niz stavki kao ulaz i procjenjuje interakciju između svih njih skupljajući globalne informacije za svaki element u nizu. Kako bi se izračunale različite interakcije između elemenata sekvence, modul samopažnje s više glava (MSA) povezuje rezultate višestrukih blokova samopažnje i projicira izlaz na matricu težine koja se može naučiti. Transformatorski koder predstavljen u [34] sastoji se od više naslaganih slojeva koji se sastoje od MSA bloka, bloka s unaprijednim prijenosom (FFN), preostalih veza između svakog bloka i LayerNorm (LN) nakon svakog bloka.
Touvron i sur. [25] predlažu dvije arhitektonske promjene za poboljšanje performansi transformatora dubokog vida. Njihov prvi doprinos, LayerScale, olakšava uvježbavanje dubljih modela dodavanjem dijagonalne matrice koja se može naučiti i koja se množi s rezultatom rezidualnih blokova. Budući da je matrica inicijalizirana malim vrijednostima, ona prisiljava rezultate slojeva kodera transformatora da imaju mali doprinos izlazu zaostalog bloka na početku obuke.
Njihov drugi doprinos je mehanizam pažnje na klasi. Umjesto početnog dodavanja CLS tokena, kao u standardnom ViT-u, on se dodaje nakon nekoliko blokova kodera. Nakon ove faze ažurira se samo token klase, a tokeni zakrpe ostaju zamrznuti. Ovaj mehanizam pomaže odvojiti operacije samopažnje između zakrpa od prikupljanja informacija koje će se koristiti za klasifikaciju.
Yuan i sur. [28] tvrde da jednostavna tokenizacija zakrpa u vanilla ViT-u ima ograničenje nemogućnosti modeliranja lokalne strukture slike i interakcije između susjednih zakrpa. Posljedično, oni uvode progresivni proces tokenizacije koji kombinira susjedne tokene u jedan.
Ovaj se proces sastoji od modula Reshape, koji preuzima niz tokena iz prethodnog sloja i konstruira sliku od njih na temelju prostorne blizine. Modul Soft Split konstruiranu sliku dijeli na preklapajuće dijelove tokena i šalje ih sljedećem koderu. Generirani tokeni nakon procesa tokenizacije unose se u duboku narrowViT okosnicu radi klasifikacije.

Kao što su primijetili Wang et al. [35] standardni Vision Transformer posebno je dizajniran za klasifikaciju slika i nije prikladan za druge zadatke kao što je otkrivanje ili segmentacija objekata. Zbog toga predlažu Pyramid Vision Transformer (PVT) koji crpi inspiraciju iz CNN-ovih arhitektura izradom posredničkih mapa značajki sa sve manjim prostornim dimenzijama i sve većim brojem kanala.
Ova piramidalna struktura pomaže modelu u učenju značajki s više razmjera koje se mogu koristiti za različite zadatke. Model najprije obrađuje žetone dobivene iz zakrpa dimenzija 4 × 4, au svakoj fazi tokeni odgovaraju većim prostornim dimenzijama zakrpa.
Računalni trošak klasične samopažnje je O(N2·d) gdje je N broj tokena u nizu, a d vektorska dimenzija. Kvadratni računski trošak u smislu broja tokena postaje praktičan problem s povećanjem rezolucije ulazne slike budući da svaki token u nizu odgovara mrljici na slici.
U literaturi postoji nekoliko tehnika pomoću kojih se može smanjiti računalni trošak samopozornosti [26,35,36]. PVT [35] koristi pozornost prostorne redukcije, koja smanjuje prostornu veličinu vektora ključa i vrijednosti prije samopažnje operacijom preoblikovanja i linearnom projekcijom.
Swin transformator [36] koji također ima piramidalnu strukturu zamjenjuje blok samopažnje modulom koji ga aproksimira. Modul grupira susjedne zakrpe u lokalnim prozorima i izvodi operaciju samopažnje samo unutar tih prozora.
Kako bi komunicirao informacije s drugim prozorima, pomiče lokalne prozore tako da i oni sadrže zakrpe iz susjednih prozora i ponovno izračunava samopažnju. Chu i sur. [27] usvojili su PVT arhitekturu i predložili sličnu metodu za aproksimaciju samopažnje. Također su vršili lokalnu pozornost između zakrpa u prozoru, slično Swin transformatoru.
Kako bi komunicirali informacije s drugim prozorima, proveli su samopažnju između predstavnika svakog prozora i svih ostalih prozora. CrossFormer [26] također se oslanja na PVT. Koristi pozornost na malu udaljenost, koja je slična lokalnoj pozornosti u Swin transformatoru, ali za curenje informacija u druge prozore koristi pažnju na veliku udaljenost, koja izračunava interakciju između zakrpa, koje imaju fiksnu udaljenost između sebe. Također kombinira zakrpe s više razmjera centriranih oko istog piksela kako bi se dobile žetone za blokove transformatora, što pomaže modelu u učenju interakcija na različitim razmjerima.
Yang i sur. [37] predlažu mehanizam žarišne pozornosti za učenje interakcija kratkog i dugog dometa između tokena što transformatore vida čini sposobnima za obradu slika visoke rezolucije. Za svaku zakrpu slike, žarišni modul samopažnje izračunava interakcije s prostorno zatvorenim zakrpama i sa sažetim prozorima zakrpa koje su udaljenije. Sažimanje prozora zakrpa vrši se udruživanjem i ne bilježi informacije kada su zakrpe daleko.
RegionViT [38] koristi arhitekturu PVT i dodaje dva puta tokenizacije za svaku mapu značajki. Prvi tokenizacijski put dobiva regionalne tokene koji se sastoje od zakrpa koje pokrivaju veliki broj piksela. Drugi tokenizacijski put dobiva lokalne tokene koji hvataju informacije niske razine tako što sadrže nekoliko piksela. Ove dvije vrste tokena šalju se kao ulaz regionalno-lokalnom transformatorskom koderu u kojem se prvo izračunava samopažnja između regija, zatim između svakog regionalnog tokena i njegovih odgovarajućih lokalnih tokena.
Arhitektura LeViT [39] kombinira CNN-ove i mehanizam samopažnje. Slika se prvo ubacuje u CNN koder, koji smanjuje prostorne dimenzije i povećava dimenziju kanala. Rezultirajuće mape značajki unose se u hijerarhijski ViT koji sadrži modul za smanjenje pozornosti između svojih kodera kako bi se dodatno smanjile prostorne dimenzije i povećale dimenzije kanala mapa značajki.
Arhitekture temeljene na pažnji također su korištene u zadacima temeljenim na videu gdje je potrebno uzeti u obzir vremenske informacije. Arhitekture, kao što su ViViT [40] i TimeSformer [41], koriste mehanizam samopažnje iu prostornoj iu vremenskoj dimenziji. Zbog toga model uči uhvatiti prostorne informacije iz svakog okvira i promjene tijekom vremena.
3. Metoda
U ovom odjeljku dajemo detaljan opis svake arhitekture i odabranih hiperparametara. Nadalje, opisujemo obradu podataka i predložene dizajnerske odluke za prilagodbu transformatora vida za rad s kosturnim sekvencama. Na kraju, opisujemo metode inicijalizacije, protokol procjene i skupove podataka procjene.
3.1. Opis arhitekture
Istražili smo pet različitih varijanti Vision Transformers (Slika 1), koji su razvijeni za optimizirano izračunavanje na slikama, u smislu nizvodne izvedbe i vremena zaključivanja. Konkretno, istražujemo klasični ViT [24], CaiT [25], Token2Token ViT [28] i Twins-SVT [27].
Općenito, okusi transformatora vida bave se poboljšanjima u odnosu na "klasični" način obrade slika s transformatorima, kao što je predloženo u ViT-u: slike su podijeljene u dijelove jednake veličine koji se ne preklapaju, a koji su spljošteni i projicirani u niži dimenzionalni prostor kako bi tada se tretiraju kao "tokeni", na sličan način kao NLP aplikacije. U slučaju analize hoda, kvadratni dio odgovara skupini zglobova koji variraju u malom temporalnom prozoru.

Standardni transformatorski koder uzima kao ulaz niz stavki (X ∈ Rn×d gdje je n—broj stavki, d—dimenzija ugradnje) i projicira ih na tri različite matrice težine koje se mogu naučiti dobivajući upite (Q ∈ Rn×dq), ključeve (K ∈ Rn×dk, dk=dq) i vrijednosti (V ∈ Rn×dv ), gdje su dq, dk i dv dimenzije za upite, ključeve i vrijednosti, redom. Pažnja se računa kao:

Za većinu arhitektura popravili smo broj slojeva, glave pažnje i dimenzionalnosti značajki kad god je to bilo moguće. Kao takva, odabiremo 4 sloja s 4 pozornosti, dimenzijom 512 za mrežu s prosljeđivanjem i konačnom veličinom ugradnje 128.

ViT Vision Transformer [24] dobiva ulaznu sekvencu tokena dijeleći sliku na dijelove i linearno ih projicirajući na dimenziju ugradnje. Rezultirajuća sekvenca zajedno s tokenom dodatne klase (CLS) daje se kao ulaz transformatorskom koderu. Štoviše, ViT koder koristi pred-normu, za razliku od post-normalizacije. Izlaz sloja može se izračunati kao:

gdje su λl, i i λ0l, i parametri koji se mogu naučiti. Model također odvaja izračunavanje interakcija između ulaznih tokena od izračunavanja ugradnje klase koja agregira sve globalne informacije. To se radi s pažnjom klase koja uvodi CLS token u ulazni niz nakon što su interakcije postignute i zamrzava sve ostale tokene. Za CaiT koder koristili smo istu konfiguraciju kao kod ViT-a, ali za CLS koder koristili smo dubinu od 2 sloja.
Token2Token ViT Arhitektura Token2Token [28] sadrži progresivni proces tokenizacije koji modelira lokalnu strukturu slike kombiniranjem susjednih tokena. Proces tokenizacije najprije konstruira strukturu sličnu slici iz ulazne sekvence tokena uz pomoć modula Reshape. Zatim se slika dijeli na preklapajuće dijelove tokena putem modula Soft Split (SS). Rezultirajući izlaz iz modula tokenizacije izračunava se kao:

Za Token2Token upotrijebili smo 2 sloja s veličinama zakrpa {2, 8} i {2, 4} za prvi sloj i {4, 16} za drugi sloj.
Twins-SVT Twins-SVT [27] arhitektura zamjenjuje klasični blok samopažnje modulom koji se naziva prostorno odvojiva samopažnja (SA) koji aproksimira operaciju. SSSA se sastoji od lokalno grupirane samopažnje (LSA) koja izračunava interakcija samo između tokena unutar istog lokalnog prozora i globalne poduzorkovane pažnje (GSA) koja agregira globalne informacije vršeći samopažnju između svih predstavnika svakog lokalnog prozora izračunatog konvolviranjem susjednih tokena. Operacije aTwins sloja mogu se napisati kao:

Za CrossFormer koder koristili smo dimenzije {16, 32, 64, 128} za slojeve, globalne veličine prozora od {4, 2, 2, 1}, lokalnu veličinu prozora od 2, korake unakrsnog ugrađivanja od 2 i križ -ugradnja kernela veličine {{2, 4, 8, 16}, {2, 4}, {2, 4}, {2, 4}}.
3.2. Predobrada podataka
Za skupove podataka DenseGait i GREW primjenjujemo istu proceduru predobrade. Za svaki izdvojeni i praćeni slijed kostura koji sadrži 18 zglobova s x i y koordinatama i dodatnim rezultatom pouzdanosti, prvo normaliziramo slijed centriranjem na koordinate zdjelice (zdjelica, zdjelica) i skaliranjem vodoravno i okomito, prema proporcijama ljudskog tijela (tj. udaljenost između ramena: |xR.rame − xL.rame| i udaljenost od vrata do zdjelice: |yneck − ypelvis|). Za svaku koordinatu (spoj, zglob) svakog od 18 zglobova u formatu COCO poze, primjenjujemo sljedeću proceduru normalizacije:

Kroz proces normalizacije, razlike između razlučivosti kamere i udaljenosti subjekta od kamere su eliminirane. Štoviše, uklanjamo informacije o izgledu koje se odnose na visinu i širinu subjekta, a koje se ne odnose na informacije o kretanju. Ovaj je korak sličan koraku poravnanja u modernim modelima prepoznavanja lica [42]. Štoviše, koristimo i sloj skupne normalizacije [43] na početku svakog modela kako bismo dodatno normalizirali rezultirajuću sliku.
S obzirom na vremensku dimenziju T (tj. broj okvira) i prostornu dimenziju kostura J (tj. broj zglobova), nizovi naivnih kostura kodirani su kao slike oblika (T, J, 3), gdje je u našem slučaju T {{ 1}} i J=18.

Međutim, većina transformatora vida pretpostavlja da su slike kvadratne. Stoga predlažemo više varijanti promjene veličine prostorne dimenzije tako da se slika transformira u (T, T, 3), što je ekvivalentno umjetnom povećanju broja zglobova (vidi sliku 2).

For more information:1950477648nn@gmail.com






