Add implementation details
parent
e9fa2f7182
commit
d33c245563
BIN
diploma.pdf
BIN
diploma.pdf
Binary file not shown.
260
diploma.tex
260
diploma.tex
|
@ -409,7 +409,7 @@ A proper abstract should contain around 100 words which makes this one way too s
|
|||
\chapter{Uvod}
|
||||
Droni in sateliti se uporabljajo za iskanje in reševanje, kartiranje terena, kmetijsko spremljanje, navigacijo dronov in podobne naloge.
|
||||
Raznolikost platform za tehnologijo oddaljenega zaznavanja prinaša veliko prednosti na teh področjih.
|
||||
Ljudje lahko ne le prek satelitov pridobijo podatke velikega obsega, temveč tudi s pomočjo platform dronov pridobijo bolj jasne lokalne slike.
|
||||
Ljudje ne lahko le prek satelitov pridobijo podatkov velikega obsega, temveč tudi s pomočjo platform dronov pridobijo bolj jasne lokalne slike.
|
||||
|
||||
Trenutno se droni v glavnem zanašajo na satelitske signale za navigacijo in določitev položaja med letom.
|
||||
Vendar se v praksi satelitski signal močno oslabi po dolgi razdalji, kar lahko povzroči motnje sprejetega satelitskega signala na dronu.
|
||||
|
@ -428,7 +428,7 @@ Metoda prepoznavanja slik je na nekaterih naborih podatkov dosegla odlične rezu
|
|||
\end{itemize}
|
||||
Povzemajoč, metoda prepoznavanja slik zahteva veliko predobdelovalnih operacij. Hkrati pa so tudi zahteve za skladiščno zmogljivost in računalniško moč precej velike.
|
||||
|
||||
S hitrim razvojem računalniškega vida se pojavlja geolokacija dronov na podlagi satelitskih slik.
|
||||
S hitrim razvojem računalniškega vida se pojavlja geolokacija dronov na podlagi satelitskih slik, kjer iscemo tocko v sliki.
|
||||
Ta metoda, podobna sinergiji med človeškimi očmi in možgani, omogoča iskanje ustrezne lokacije v iskalnem zemljevidu (satelitska slika) na podlagi slike drona.
|
||||
Ko je lokacija iskanja najdena na iskalnem zemljevidu, lahko iz podatkov o zemljepisni širini in dolžini iskalnega zemljevida sklepamo o trenutnem položaju drona.
|
||||
|
||||
|
@ -502,6 +502,21 @@ Na koncu se uporabljajo popolnoma povezane plasti, ki združijo lokalne značiln
|
|||
CNN se izkaže za zelo učinkovito v primerjavi z drugimi tipi nevronskih mrež v nalogah, povezanih z obdelavo slik, zlasti zaradi sposobnosti zajemanja prostorskih hierarhij značilnosti.
|
||||
To pomeni, da so sposobne razumeti in reprezentirati sliko na več ravneh abstrakcije.
|
||||
|
||||
\subsection{Siamska nevronska mreža}
|
||||
Siamska nevronska mreža (Siamese Neural Network) je posebna vrsta nevronske mreže, ki se uporablja predvsem za primerjavo ali razlikovanje med dvema vhodoma.
|
||||
Glavna značilnost siamske nevronske mreže je, da ima dva ali več identičnih podmrež, ki delijo iste uteži in parametre.
|
||||
Te podmreže vzporedno obdelujejo vhodne podatke in na koncu se rezultati združijo, da se določi razlika ali podobnost med vhodnimi podatki.
|
||||
|
||||
Struktura:
|
||||
\begin{itemize}
|
||||
\item \textbf{Dva vhoda}: Siamska mreža sprejme dva vhoda, ki ju želi primerjati.
|
||||
\item \textbf{Dve identični podmreži}: Vsak vhod se obdeluje skozi svojo podmrežo. Obe podmreži imata enako strukturo in delita iste uteži.
|
||||
\item \textbf{Združevanje rezultatov}: Na koncu se izhodi obeh podmrež združijo, da se določi razlika ali podobnost med vhodnimi podatki.
|
||||
\end{itemize}
|
||||
|
||||
Siamske nevronske mreže se pogosto uporabljajo v nalogah, kot so preverjanje podobnosti, prepoznavanje obrazov, preverjanje pristnosti in druge naloge, kjer je pomembno ugotoviti, ali sta dva vzorca podobna ali različna.
|
||||
|
||||
|
||||
\subsection{Toplotna karta}
|
||||
Toplotna karta je grafična predstavitev podatkov, kjer vrednosti v matriki predstavljajo različne barve.
|
||||
Ponavadi se uporablja za prikazovanje, kako se določena spremenljivka razporedi po dvodimenzionalnem prostoru.
|
||||
|
@ -521,14 +536,15 @@ Vizualizacija barvnih prehodov pomaga opazovalcu, da hitro zazna vzorce in trend
|
|||
\subsection{Predhodni mehanizmi}
|
||||
|
||||
Preden so obstajali transformerji, so bile najpogostejše metode za obvladovanje zaporedij v jezikovnih modelih rekurentne nevronske mreže (RNN) in njihove različice, kot so dolgokratni kratkotrajni spomini (LSTM) in obogatene RNN (GRU).
|
||||
Najpogostejša uporaba teh modelov v kontekstu strojnega prevajanja ali drugih nalog zaporedja v zaporedje je bila uporaba strukture kodirnik-dekodirnik.
|
||||
Najpogostejša uporaba teh modelov v kontekstu strojnega prevajanja ali drugih nalog pretvarjanja zaporedja v zaporedje je bila uporaba strukture kodirnik-dekodirnik.
|
||||
V tej strukturi je bilo zaporedje vhodnih besed ali tokenov kodirano v latentni prostor z uporabo RNN (kodirnik), ta latentni vektor pa je bil nato uporabljen za generiranje zaporedja izhodnih besed ali tokenov z uporabo drugega RNN (dekodirnik).
|
||||
Problem s to strukturo je bil, da je bil latentni prostor omejen na velikost fiksne dolžine in je moral vsebovati vse informacije iz izvornega zaporedja, ki so potrebne za generiranje ciljnega zaporedja.
|
||||
To je omejevalo model pri obvladovanju dolgih zaporedij, saj je bilo težko ohraniti informacije iz zgodnjega dela zaporedja do konca.
|
||||
Da bi to težavo rešili, so raziskovalci vključili mehanizem pozornosti, ki je omogočil dekodirniku, da se osredotoči na različne dele izvornega zaporedja na različnih stopnjah generiranja ciljnega zaporedja.
|
||||
To je bil velik napredek, ki je omogočil boljše obvladovanje dolgih zaporedij.
|
||||
|
||||
Članek, ki je predstavil to idejo za strojno prevajanje, je bil "Neural Machine Translation by Jointly Learning to Align and Translate" \cite{bahdanau2015neural}, objavljen leta 2015. To je bil ključni korak k razvoju Transformer arhitekture, ki je bila kasneje predstavljena v članku "Attention is All You Need" \cite{vaswani2017attention} leta 2017.
|
||||
Članek, ki je predstavil to idejo za strojno prevajanje, je bil "Neural Machine Translation by Jointly Learning to Align and Translate" \cite{bahdanau2015neural}, objavljen leta 2015.
|
||||
To je bil ključni korak k razvoju Transformerske arhitekture, ki je bila kasneje predstavljena v članku "Attention is All You Need" \cite{vaswani2017attention} leta 2017.
|
||||
|
||||
\subsection{Razlaga RNN kodirnik-dekodirnik arhitekture}
|
||||
|
||||
|
@ -541,13 +557,13 @@ Kodirnik z zaporedjem vektorjev $\vec{F}$ proizvede skrito stanje $h_n$:
|
|||
h_n = \text{RNN}_\text{enc}(f_n, h_{n-1})
|
||||
\end{equation}
|
||||
|
||||
Začetno stanje $h_0$ je pogosto postavljeno na nič ali se nauči med treniranjem.
|
||||
Začetno stanje $h_0$ je pogosto postavljeno ali na nič ali se ga mreza nauči.
|
||||
Dekodirnik nato uporablja to skrito stanje, da generira ciljno zaporedje $\vec{E}$:
|
||||
\begin{equation}
|
||||
e_{t} = \text{RNN}_\text{dec}(e_{t-1}, h_{t-1})
|
||||
\end{equation}
|
||||
|
||||
Opomba: pri treniranju se za $e_{t-1}$ pogosto uporablja dejanska vrednost iz ciljnega zaporedja (ne izhod modela), kar je znano kot "teacher forcing".
|
||||
Opomba: pri ucenju se za $e_{t-1}$ pogosto uporablja dejanska vrednost iz ciljnega zaporedja (ne izhod modela), kar je znano kot "teacher forcing".
|
||||
Izvorna zaporedja besed $\vec{F}$ se tako vnašajo v kodirnik, ki generira skrita stanja za vsako besedo:
|
||||
\begin{equation}
|
||||
\vec{H} = \text{Encoder}(\vec{F})
|
||||
|
@ -610,14 +626,16 @@ Druga razlika od kodirnika je druga večglava plast pozornosti, ki se imenuje tu
|
|||
Za razliko od plasti pozornosti na začetku blokov kodirnika in dekodirnika ta plast ni plast samopozornosti.
|
||||
|
||||
|
||||
\section{Scaled Dot-Product Attention}
|
||||
\subsection{Scaled Dot-Product Attention}
|
||||
Ta funkcija se uporablja v vseh plasteh pozornosti v transformerju.
|
||||
Za zdaj bomo razčlenili matematiko za to operacijo, samo da dobimo občutek, katera števila gredo kam.
|
||||
Kasneje se bomo osredotočili na njegove aplikacije v članku.
|
||||
Kasneje se bomo osredotočili na njegove aplikacije v članku \cite{vaswani2017attention}.
|
||||
|
||||
\begin{align*}
|
||||
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Scaled Dot-Product Attention je skoraj identičen Dot-Product Attention, omenjenem prej pri Luongu \cite{bahdanau2015neural}.
|
||||
Edina razlika je, da je vhod v softmax skaliran s faktorjem $\frac{1}{\sqrt{d_k}}$.
|
||||
|
@ -628,48 +646,70 @@ Prav tako se mora dimenzionalnost ključev in poizvedb ujemati, vendar se lahko
|
|||
|
||||
Izpeljimo izracun pozornosti. Zaceli bomo z zapisom posameznih vrstic $Q$ in $K$, nato pa bomo izrazili produkt $QK^T$ v smislu teh vrstic:
|
||||
|
||||
\begin{align*}
|
||||
Q &= \begin{pmatrix} q_0 \\ q_1 \\ \vdots \\ q_m \end{pmatrix}, \\
|
||||
K^T &= \begin{pmatrix} k_0 & k_1 & \cdots & k_n \end{pmatrix}, \\
|
||||
QK^T &= \begin{pmatrix} q_0 \cdot k_0 & q_1 \cdot k_0 & \cdots & q_m \cdot k_0 \\ q_0 \cdot k_1 & q_1 \cdot k_1 & \cdots & q_m \cdot k_1 \\ \vdots & \vdots & \ddots & \vdots \\ q_0 \cdot k_n & q_1 \cdot k_n & \cdots & q_m \cdot k_n \end{pmatrix}
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\begin{split}
|
||||
Q &= \begin{pmatrix} q_0 \\ q_1 \\ \vdots \\ q_m \end{pmatrix}, \\
|
||||
K^T &= \begin{pmatrix} k_0 & k_1 & \cdots & k_n \end{pmatrix}, \\
|
||||
QK^T &= \begin{pmatrix} q_0 \cdot k_0 & q_1 \cdot k_0 & \cdots & q_m \cdot k_0 \\ q_0 \cdot k_1 & q_1 \cdot k_1 & \cdots & q_m \cdot k_1 \\ \vdots & \vdots & \ddots & \vdots \\ q_0 \cdot k_n & q_1 \cdot k_n & \cdots & q_m \cdot k_n \end{pmatrix}.
|
||||
\end{split}
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
|
||||
Nato pridobimo naše uteži pozornosti tako, da vsak element delimo z $\sqrt{d_k}$ in uporabimo funkcijo softmax na vrstico:
|
||||
\begin{align*}
|
||||
\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) &= \begin{pmatrix} \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_0, q_1 \cdot k_0, \ldots, q_m \cdot k_0 \rangle\right) \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_1, q_1 \cdot k_1, \ldots, q_m \cdot k_1 \rangle\right) \\ \vdots \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_n, q_1 \cdot k_n, \ldots, q_m \cdot k_n \rangle\right) \end{pmatrix} \\
|
||||
&= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix}^T
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) &= \begin{pmatrix} \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_0, q_1 \cdot k_0, \ldots, q_m \cdot k_0 \rangle\right) \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_1, q_1 \cdot k_1, \ldots, q_m \cdot k_1 \rangle\right) \\ \vdots \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_n, q_1 \cdot k_n, \ldots, q_m \cdot k_n \rangle\right) \end{pmatrix} \\
|
||||
&= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix}^T
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
kjer za vsako vrstico $i$, kot rezultat operacije softmax, velja $\sum_{j=0}^{n} s_{i,j} = 1$.
|
||||
Zadnji korak je množenje te matrike z $V$:
|
||||
\begin{align*}
|
||||
\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix} \begin{pmatrix} v_0 \\ v_1 \\ \vdots \\ v_n \end{pmatrix} \\
|
||||
&= \begin{pmatrix} \sum_{i=0}^{m} s_{i,0}v_0 \\ \sum_{i=0}^{m} s_{i,1}v_1 \\ \vdots \\ \sum_{i=0}^{m} s_{i,n}v_n \end{pmatrix}
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix} \begin{pmatrix} v_0 \\ v_1 \\ \vdots \\ v_n \end{pmatrix} \\
|
||||
&= \begin{pmatrix} \sum_{i=0}^{m} s_{i,0}v_0 \\ \sum_{i=0}^{m} s_{i,1}v_1 \\ \vdots \\ \sum_{i=0}^{m} s_{i,n}v_n \end{pmatrix}
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Tukaj lahko opazimo, da mehanizem pozornosti rezultira v seriji uteženih povprečij vrstic $V$, kjer uteži določajo vhodne poizvedbe in ključe.
|
||||
Vsaka od $m$ poizvedb v $Q$ rezultira v specifični uteženi vsoti vektorskih vrednosti.
|
||||
Pomembno je, da v tem posebnem postopku ni nobenih učljivih parametrov - sestavljen je izključno iz matričnih in vektorskih operacij.
|
||||
Pomembno je omeniti, da v tem posebnem postopku ni nobenih učljivih parametrov - sestavljen je izključno iz matričnih in vektorskih operacij.
|
||||
Poglejmo si se posamezno vrstico $i$ uteži pozornosti:
|
||||
|
||||
\begin{align*}
|
||||
\text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot Q \cdot K_i\right) &= \frac{1}{S} \cdot \exp\left(\frac{Q \cdot K_i}{\sqrt{d_k}}\right)
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
\text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot Q \cdot K_i\right) &= \frac{1}{S} \cdot \exp\left(\frac{Q \cdot K_i}{\sqrt{d_k}}\right)
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
kjer je $S$ normalizacijska konstanta:
|
||||
\begin{align*}
|
||||
S = \sum_{j=0}^{m} \exp\left(\frac{q_j \cdot k_i}{\sqrt{d_k}}\right)
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
S = \sum_{j=0}^{m} \exp\left(\frac{q_j \cdot k_i}{\sqrt{d_k}}\right)
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Če pogledamo, kako so uteži konstruirane, je izvor imen "poizvedbe", "ključi" in "vrednosti" jasnejši.
|
||||
Tako kot v zgosceni tabeli tabeli ta operacija izbira želene vrednosti preko ustrezajočih, ena-na-ena ključev.
|
||||
Ključi, ki jih iščemo, so označeni z poizvedbami - skalarni produkt med danim ključem in poizvedbo lahko izrazimo kot kot $\theta$ med njima:
|
||||
\begin{align*}
|
||||
q_i \cdot k_j = |q_i||k_j|\cos(\theta)
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
q_i \cdot k_j = |q_i||k_j|\cos(\theta)
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Uporaba eksponentne funkcije povečuje pozitivne vrednosti kosinusa in zmanjšuje negativne.
|
||||
To pomeni, da če sta dva vektorja bolj poravnana (manjši kot med njima), bo njihova zastopanost v vektorju pozornosti večja. Nasprotno pa, če sta dva vektorja manj poravnana (večji kot med njima), bo njihova zastopanost v vektorju pozornosti manjša.
|
||||
To je smiselno, saj želimo, da model daje večjo pozornost tistim ključem, ki so bolj relevantni za dano poizvedbo.
|
||||
Zato je bližje kot sta si ključ $\vec{k}_j$ in poizvedba $\vec{q}_i$ po kotu, večja je njihova zastopanost v vektorju pozornosti.
|
||||
|
||||
Še ena pomanjkljivost, ki so jo raziskovalci opazili pri modelih, ki temeljijo na RNN (Recurrent Neural Networks), je, da imajo težave z uporabo informacij iz elementov, ki so bili opaženi daleč v preteklosti.
|
||||
|
@ -679,23 +719,29 @@ Bolj splošno, RNN imajo težave z povezovanjem zaporednih informacij, ki so med
|
|||
Avtorji pozornosti omenijo, da delijo vhode v softmax funkcijo z $\sqrt(d_k)$, da bi ublažili učinke velikih vhodnih vrednosti, ki bi vodile do majhnih gradientov med ucenjem.
|
||||
Za lazje razumevanje, zakaj veliki argumenti softmax vodijo do majhnih gradientov, lahko konstruiramo primer. Začnimo z definicijo softmax funkcije:
|
||||
|
||||
\begin{align*}
|
||||
\text{softmax}(x_i) = \frac{\exp(x_i)}{\sum_j \exp(x_j)}
|
||||
\end{align*}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\text{softmax}(x_i) = \frac{\exp(x_i)}{\sum_j \exp(x_j)}
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Gradient softmax funkcije je izračunan kot:
|
||||
|
||||
\begin{equation}
|
||||
\frac{\partial \text{softmax}(x_i)}{\partial x_j} = \text{softmax}(x_i) * (\delta_{ij} - \text{softmax}(x_j))
|
||||
\end{equation}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\frac{\partial \text{softmax}(x_i)}{\partial x_j} = \text{softmax}(x_i) * (\delta_{ij} - \text{softmax}(x_j))
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
kjer $ \partial_{ij}$ je Kroneckerjev delta, ki je enak 1, če sta i in j enaka, in 0 sicer.
|
||||
|
||||
Če upoštevamo skaliranje, dobimo:
|
||||
|
||||
\begin{equation}
|
||||
\frac{\partial \text{softmax}(x_i/C)}{\partial x_j} = \frac{1}{C} * \text{softmax}(x_i/C) * (\delta_{ij} - \text{softmax}(x_j/C))
|
||||
\end{equation}
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\frac{\partial \text{softmax}(x_i/C)}{\partial x_j} = \frac{1}{C} * \text{softmax}(x_i/C) * (\delta_{ij} - \text{softmax}(x_j/C))
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
kjer C je faktor skaliranja. Iz tega lahko vidimo, da skaliranje zmanjšuje velikost gradientov, kar lahko pomaga pri stabilizaciji učenja.
|
||||
|
||||
|
@ -720,8 +766,8 @@ kjer so $Q \in \mathbb{R}^{m \times d_{\text{model}}}$, $K \in \mathbb{R}^{n \ti
|
|||
Poleg tega, ob upoštevanju hiperparametra $h$, ki označuje število glav pozornosti, velja: $W_{Qi} \in \mathbb{R}^{d_{\text{model}} \times d_k}$, $W_{Ki} \in \mathbb{R}^{d_{\text{model}} \times d_k}$, $W_{Vi} \in \mathbb{R}^{d_{\text{model}} \times d_v}$, in $W_O \in \mathbb{R}^{hd_v \times d_{\text{model}}}$.
|
||||
|
||||
Dokazimo, da se matrično množenje izide.
|
||||
Najprej vemo iz prejšnjega razdelka, da bo vsaka matrika $\text{head}i$ imela enako število vrstic kot $QW{Qi}$ in enako število stolpcev kot $VW_{Vi}$.
|
||||
Ker velja $QW_{Qi} \in \mathbb{R}^{m \times d_k}$ in $VW_{Vi} \in \mathbb{R}^{n \times d_v}$, to pomeni, da je $\text{head}i \in \mathbb{R}^{m \times d_v}$.
|
||||
Najprej vemo iz prejšnjega razdelka, da bo vsaka matrika $\text{head}_i$ imela enako število vrstic kot $QW{Qi}$ in enako število stolpcev kot $VW_{Vi}$.
|
||||
Ker velja $QW_{Qi} \in \mathbb{R}^{m \times d_k}$ in $VW_{Vi} \in \mathbb{R}^{n \times d_v}$, to pomeni, da je $\text{head}_i \in \mathbb{R}^{m \times d_v}$.
|
||||
Ko združimo $h$ takih matrik, dobimo matriko v $\mathbb{R}^{m \times hd_v}$. Množenje z $W_O$ daje matriko v $\mathbb{R}^{m \times d{\text{model}}}$.
|
||||
Kar drzi - začeli smo z $m$ poizvedbami v $Q$ in končali z $m$ odgovori v izhodu operatorja.
|
||||
|
||||
|
@ -766,7 +812,10 @@ En način za maskiranje vhodov je preprosto dodajanje matrike M k argumentu ki v
|
|||
\end{align*}
|
||||
|
||||
Nato ima izvajanje softmaxa na vsaki vrstici učinek pošiljanja vseh $-\infty$ celic na 0, pri čemer ostanejo samo veljavni izrazi za pozornost.
|
||||
Tretja in zadnja uporaba večglave pozornosti v članku je pozornost kodirnik-dekodirnik, ki se uporablja v blokih dekodirnika neposredno po sloju maske večglave pozornosti, da se povežejo izvorne in ciljne sekvence.
|
||||
|
||||
\subsection{Pozornost kodirnik-dekodirnik}
|
||||
|
||||
Tretja in zadnja uporaba pozornosti v članku \cite{vaswani2017attention} je pozornost kodirnik-dekodirnik, ki se uporablja v blokih dekodirnika neposredno po sloju maske večglave pozornosti, da se povežejo izvorne in ciljne sekvence.
|
||||
Medtem ko so pri samopozornosti vsi trije vhodi enaka matrika, to tukaj ne velja.
|
||||
|
||||
\begin{align*}
|
||||
|
@ -808,7 +857,7 @@ Ta pristop je pokazal obetavne rezultate, saj je Vision Transformer dosegel ali
|
|||
\begin{align*}
|
||||
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O
|
||||
\end{align*}
|
||||
kjer je $\text{head}i = \text{Attention}(QW{Qi}, KW_{Ki}, VW_{Vi})$, $Q$, $K$ in $V$ so poizvedbe, ključi in vrednosti, $W_{Qi}$, $W_{Ki}$, $W_{Vi}$ in $W_O$ so uteži, ki se naučijo, in $\text{Attention}$ je funkcija samo-pozornosti.
|
||||
kjer je $\text{head}_i = \text{Attention}(QW{Qi}, KW_{Ki}, VW_{Vi})$, $Q$, $K$ in $V$ so poizvedbe, ključi in vrednosti, $W_{Qi}$, $W_{Ki}$, $W_{Vi}$ in $W_O$ so uteži, ki se naučijo, in $\text{Attention}$ je funkcija samo-pozornosti.
|
||||
|
||||
\item Klasifikacijska glava: Na koncu se uporabi klasifikacijska glava (ponavadi ena polno povezana plast), da se izračuna končna napoved za dano nalogo (npr. klasifikacija slik). To se lahko zapiše kot:
|
||||
\begin{align*}
|
||||
|
@ -968,12 +1017,125 @@ Po obdelavi je rezultat toplotni zemljevid, točka z najvišjo vrednostjo na top
|
|||
Nato to lokacijo preslikamo na satelitsko sliko. Položaj drona lahko določimo glede na informacije o geografski širini in dolžini, ki jih ohranja satelitska slika.
|
||||
V FPI avtorji uporabljajo dva Deit-S brez deljenih uteži kot modula za ekstrakcijo značilnosti za vertikalne poglede slik drona in satelitskih slik \cite{dai2022finding}.
|
||||
Nato se ekstrahirane značilnosti podvržejo izračunu podobnosti, da se pridobi toplotni zemljevid.
|
||||
Končno preslikamo lokacijo z najvišjo vrednostjo toplotnega zemljevida na satelitsko sliko, da določimo lokacijo UAV.
|
||||
Končno preslikamo lokacijo z najvišjo vrednostjo toplotnega zemljevida na satelitsko sliko, da določimo lokacijo brezpilotnega letalnika.
|
||||
|
||||
V FPI se za izračun podobnosti uporablja zadnja plast zemljevidov značilnosti \cite{dai2022finding}.
|
||||
V FPI se za izračun podobnosti uporablja zadnja plast zemljevidnih značilnosti \cite{dai2022finding}.
|
||||
Ker je končni izhodni zemljevid stisnjen 16-krat, model izgubi veliko prostorskih informacij.
|
||||
Izguba prostorskih informacij prinese nepopravljivo izgubo končne natančnosti pozicioniranja.
|
||||
|
||||
Za izboljšanje lokalizacijske zmogljivosti modela je bila uporabljena struktura piramidnih značilnosti (Twins-PCPVT) in modul utežno prilagodljivega združevanja večznačilnostnih lastnosti(WAMF)
|
||||
|
||||
V osnovi modela so bile narejene izboljšave z uporabo dveh močnejših PCPVT-S kot modulov za ekstrakcijo značilnosti iz brezpilotnega letalnika in satelitske slike.
|
||||
Da bi bolje izvlekli informacije večih meril in obdržali več prostorskih informacij, so prvotno izvlečene značilnosti poslane v omrežje piramide značilnosti za nadaljnjo ekstrakcijo značilnosti,
|
||||
nato pa se modul WAMF uporablja za izračun podobnosti in fuzijo več značilnosti. Končno so združene značilnosti povečane, da se ustvari končna izhodna napovedna mapa.
|
||||
Na izhodu dobimo toplotno karto iste velikosti kot vhodna satelitska slika v WAMF-FPI.
|
||||
|
||||
\subsection{Modul za ekstrakcijo značilnosti}
|
||||
WAMF-FPI uporablja strukturo, podobno omrežju Siamese, vendar se razlikuje od tradicionalnega sledenja objektom.
|
||||
Med satelitskimi in slikami brezpilotnega letalnika je velika razlika, saj izvirajo iz različnih naprav.
|
||||
Zato veji UAV in satelitski pogled v WAMF-FPI ne uporabljata metode deljenja uteži.
|
||||
WAMF-FPI uporablja satelitske slike (400 × 400 × 3) in UAV slike (128 × 128 × 3) kot vhod modela, nato pa se značilnosti slik ekstrahirajo s pomočjo PCPVT-S.
|
||||
Natančneje, odstranili smo zadnjo stopnjo PCPVT-S in uporabili samo prve tri stopnje za ekstrakcijo značilnosti.
|
||||
Ko je velikost vhodnih slik 400 × 400 × 3 in 128 × 128 × 3, lahko iz obeh vej pridobimo značilnostne mape z obliko 25 × 25 × 320 in 8 × 8 × 320.
|
||||
V nasprotju z Deit-S, uporabljenim v FPI \cite{dai2022finding}, ima PCPVT-S piramidno strukturo, ki se lahko bolje prilagodi nalogi goste napovedi.
|
||||
Uporaba piramidne strukture postavlja temelje za kasnejšo uporabo modula WAMF.
|
||||
Hkrati omrežje z piramidno strukturo lahko učinkovito zmanjša količino izračunov in izboljša hitrost izračuna. To je zelo pomembno za dejansko implementacijo metode.
|
||||
Po uporabi PCPVT-S za ekstrakcijo informacij iz slike, se izračun podobnosti izvede neposredno na zadnjih značilnostnih mapah, bo nizka ločljivost izhodne značilnostne mape neposredno vplivala na natančnost končnih rezultatov modela (mapa 25 × 25 na 400 × 400).
|
||||
V ta namen smo uporabili strukturo piramide značilnosti za združevanje izvirnih značilnostnih map z uporabo upsamplinga in lateralne povezovalne strukture, končni izhod pa je bil stisnjen le za faktor štiri v primerjavi z vhodom.
|
||||
|
||||
Lokalizacijska pristranskost, ki jo povzroča nizka ločljivost značilnostne mape, je izključena pri viru. Ker ima plitva značilnostna mapa z visoko ločljivostjo več prostorskih informacij, je globoka značilnostna mapa z bogatimi semantičnimi informacijami združena z lateralno povezovalno strukturo.
|
||||
|
||||
WAMF-FPI uporablja konvolucijske mreže za ekstrakcijo značilnosti iz vhodnih slik. Konvolucija je matematična operacija, ki omogoča filtriranje vhodnih podatkov (v tem primeru slik) z uporabo določenega jedra ali filtra.
|
||||
Ta operacija omogoča modelu, da "vidi" in prepozna različne vzorce in značilnosti v slikah.
|
||||
|
||||
Začetno fazo obdelave v WAMF-FPI predstavlja uporaba konvolucijskega jedra velikosti ena.
|
||||
Ta korak je namenjen prilagoditvi kanalske dimenzije tri-stopnjske značilnostne mape, ki je bila pridobljena s pomočjo PCPVT-S.
|
||||
V praksi je bilo število izhodnih kanalov nastavljeno na 64, kar omogoča kompaktno in učinkovito predstavitev značilnosti.
|
||||
Po tem koraku se na značilnostnih mapah zadnjih dveh stopenj izvede operacija upsamplinga.
|
||||
Ta operacija poveča ločljivost značilnostnih map, kar omogoča bolj natančno lokalizacijo.
|
||||
Pridobljene značilnostne mape se nato združijo z značilnostnimi mapami istega merila, ki jih izhaja iz osnovnega modela.
|
||||
|
||||
V zadnjem koraku se značilnosti dodatno ekstrahirajo z uporabo konvolucijskega jedra velikosti 3.
|
||||
Ta korak omogoča modelu, da izloči bolj kompleksne in globoke značilnosti iz združenih map.
|
||||
Končni rezultat je združena značilnostna mapa, ki vsebuje tako plitve (prostorske) kot globoke (semantične) značilnosti.
|
||||
Ta kombinacija omogoča modelu, da učinkovito prepozna in lokalizira objekte na vhodnih slikah.
|
||||
|
||||
|
||||
\subsection{Arhitektura utežno prilagodljivega združevanja večznačilnostnih lastnosti(WAMF)}
|
||||
Modul za združevanje znaclinosti je zasnovan tako, da združuje informacije iz dveh ločenih vhodnih tokov, v tem primeru iz UAV (brezpilotnega letalnika) in SAT (satelita).
|
||||
Ta modul uporablja piramido značilnosti iz obeh in izračuna korelacije med njimi, da jih združi v en sam izhod.
|
||||
|
||||
Za začetek se izvedejo konvolucijske operacije na značilnostnih mapah UAV in SAT. Konvolucijske operacije so izvedene s konvolucijskimi jedri velikosti
|
||||
$1 \times 1$, kar omogoča prilagoditev kanalskih dimenzij značilnostnih map.
|
||||
|
||||
Za UAV značilnostne mape:
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
U1_{\text{UAV}} = \text{Conv1}_{\text{UAV}}(s3_{\text{UAV}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
U2_{\text{UAV}} = \text{Upsample}(U1_{\text{UAV}}) + \text{Conv2}_{\text{UAV}}(s2_{\text{UAV}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
U3_{\text{UAV}} = \text{Upsample}(U2_{\text{UAV}}) + \text{Conv3}_{\text{UAV}}(s1_{\text{UAV}})
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Za SAT značilnostne mape:
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
U1_{\text{SAT}} = \text{Conv1}_{\text{SAT}}(s3_{\text{SAT}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
U2_{\text{SAT}} = \text{Upsample}(U1_{\text{SAT}}) + \text{Conv2}_{\text{SAT}}(s2_{\text{SAT}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
U3_{\text{SAT}} = \text{Upsample}(U2_{\text{SAT}}) + \text{Conv3}_{\text{SAT}}(s1_{\text{SAT}})
|
||||
\end{equation}
|
||||
\end{center}
|
||||
Kjer je Upsample funkcija, ki poveča prostorsko resolucijo značilnostne mape z uporabo bikubične interpolacije.
|
||||
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
A1 = \text{corr}(U1_{\text{UAV}}, U3_{\text{SAT}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
A2 = \text{corr}(U2_{\text{UAV}}, U3_{\text{SAT}})
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
A3 = \text{corr}(U3_{\text{UAV}}, U3_{\text{SAT}})
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Kjer je $\text{corr}$ funkcija za izračun korelacije med dvema značilnostnima mapama.
|
||||
|
||||
Korelacija v kontekstu obdelave slik je postopek izračuna podobnosti med dvema slikama ali značilnostnima mapama.
|
||||
V osnovi se ena značilnostna mapa (poimenovana poizvedba) "drsi" čez drugo značilnostno mapo (poimenovana iskalna regija) in izračuna podobnost med njima na vsaki lokaciji.
|
||||
Rezultat tega postopka je nova značilnostna mapa, imenovana korelacijska mapa, kjer vsaka vrednost predstavlja stopnjo podobnosti med poizvedbo in delom iskalne mape na določeni lokaciji.
|
||||
|
||||
Matematično je korelacija med dvema funkcijama $f$ in $g$ definirana kot:
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
(f \star g)(t) = \int_{-\infty}^{\infty} f^*(\tau) g(t+\tau) d\tau
|
||||
\end{equation}
|
||||
\end{center}
|
||||
Kjer je $f^*$ kompleksno konjugirana funkcija $f$.
|
||||
|
||||
V kontekstu diskretnih signalov, kot so slike ali značilnostne mape, je korelacija definirana kot:
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
(f \star g)[n] = \sum_{m=-\infty}^{\infty} f^*[m] g[n+m]
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
Nazadnje se izvede uteženo združevanje teh treh koreliranih značilnostnih map s pomočjo naučljivih uteži:
|
||||
\begin{center}
|
||||
\begin{equation}
|
||||
\text{fused\_map} = w_1 \cdot A1 + w_2 \cdot A2 + w_3 \cdot A3
|
||||
\end{equation}
|
||||
\end{center}
|
||||
|
||||
|
||||
\chapter{Eksperimenti}
|
||||
\label{ch4}
|
||||
|
||||
|
|
Loading…
Reference in New Issue