Hjemmeopgave 1#
Læs reglerne her: Hjemmeopgaver
Husk alle svar skal begrundes.
Opgave 1: Jacobi-matrix af et neuralt netværk#
Vi betragter et simpelt neuralt netværk, der består af to lag. Netværket tager en inputvektor \(x\in \mathbb{R}^{2}\) og producerer en sandsynlighedsvektor \(p\in \mathbb{R}^{3}\).
Netværket kan beskrives som en sammensat funktion \(\pmb{h}=\pmb{g}\circ \pmb{f}\), hvor:
\(\pmb{f}:\mathbb{R}^{2} \to \mathbb{R}^{3}\) er en affin funktion \(\pmb{f}(\pmb{x}) = A \pmb{x} + \pmb{b}\) (som i bogen skrives \(T_{A,\pmb{b}}\) – det er det “skjulte” lag før aktivering).
\(\pmb{g}:\mathbb{R}^{3} \to \mathbb{R}^{3}\) er Softmax-funktionen.
Det oplyses, at forskriften for \(\pmb{f}\) er givet ved:
Funktionen \(\pmb{g}\) (Softmax) tager en vektor \(z=\left[z_{1},z_{2},z_{3}\right]^{T}\) og returnerer:
Det oplyses desuden (uden bevis, vi klarer det i næste opgave), at Jacobimatricen for Softmax-funktionen \(\pmb{g}\) i et vilkårligt punkt \(\pmb{z}\) kan udtrykkes ved output-vektoren \(\pmb{p}=\pmb{g}\left(\pmb{z}\right)\) som:
Vi ønsker at bestemme Jacobimatricen \(\pmb{J}_{\pmb{h}}\) for hele netværket i punktet: \(\pmb{x}_0 = (1, -1)\).
Spørgsmål a#
Bestem den mellemliggende vektor \(\pmb{z}_{0}=\pmb{f}\left(1,−1\right)\) samt netværkets endelige output \(\pmb{p}_{0}=\pmb{g}\left(\pmb{z}_{0}\right)\) . Du må gerne bruge Python/lommeregner til at evaluere \(e^{z}\) , men angiv også det eksakte udtryk.
Spørgsmål b#
Bestem Jacobimatricen \(\pmb{J}_{\pmb{f}}\left(1,−1\right)\). Beregn desuden de numeriske værdier for Jacobimatricen \(\pmb{J}_{\pmb{g}}\left(\pmb{z}_{0}\right)\) ved at indsætte værdierne for \(\pmb{p}_{0}\) fundet i spørgsmål a.
Spørgsmål c#
Argumenter for, at den sammensatte funktion \(\pmb{h}=\pmb{g}\circ \pmb{f}\) er differentiabel. Anvend kædereglen til at bestemme Jacobimatricen \(\pmb{J}_{\pmb{h}}\left(1,−1\right)\).
Dette svarer til at finde netværkets “gradienter” mht. inputtet, hvilket bruges til at forstå modellens følsomhed overfor ændringer i input.
Opgave 2: Differentiabilitet af Softmax#
I denne opgave skal du bevise formlen for Jacobimatricen til Softmax-funktionen, som blev benyttet i forrige opgave. Vi definerer Softmax-funktionen som en vektorfunktion \(g: \mathbb{R}^{n} \to \mathbb{R}^{n}\). Vi kalder input-vektoren for \(\pmb{z}=\left[z_{1},\dots,z_{n}\right]^{T}\) og output-vektoren for \(\pmb{p}=g\left(\pmb{z}\right) =\left[p_{1},\dots,p_{n}\right]^{T}\).
Spørgsmål a#
Lad \(S(\pmb{z}) = \sum_{k=1}^{n} e^{z_{k}}=e^{z_{1}}+e^{z_{2}}+ \dots +e^{z_{n}}\). Find de partielle afledte af \(S\) med hensyn til \(z_{j}\), dvs. find \(\frac{\partial S}{\partial z_{j}}(\pmb{z})\) for \(j=1,\dots,n\).
Spørgsmål b#
Benyt kvotientreglen til at differentiere \(p_{i}=\frac{e^{z_{i}}}{S(\pmb{z}) }\) med hensyn til \(z_{i}\) (altså hvor output-indeks og input-indeks er ens). Vis, at resultatet kan skrives som:
Spørgsmål c#
Benyt kvotientreglen til at differentiere \(p_{i}=\frac{e^{z_{i}}}{S(\pmb{z}) }\) med hensyn til \(z_{j}\) , hvor \(j\ne i\) (altså elementer uden for diagonalen af Jacobimatricen). Vis, at resultatet kan skrives som:
Spørgsmål d#
Opskriv Jacobimatricen \(\pmb{J}_{\pmb{g}}\left(\pmb{z}\right)\) for tilfældet \(n=4\) ved hjælp af resultaterne fra spørgsmål b og c, hvor Jacobimatricen kun må udtrykkes ved værdierne af \(p_1, p_2, p_3, p_4\).
Det er en smule usædvanligt at udtrykke \(\pmb{J}_{\pmb{g}}\left(z\right)\) ved output-variablen \(\pmb{p}\) og ikke input-variablen \(\pmb{z}\). Man foretrækker her at bruge \(\pmb{p}\), da formlen bliver meget simpel.
Opgave 3: Et nyt indreprodukt#
Betragt \(\mathbb{C}^n\) med det sædvanlige indreprodukt \(\langle \cdot, \cdot \rangle\). Lad
\(U \in \mathbb{C}^{n \times n}\) være en unitær matrix (dvs. \(U^*U=I\)),
\(\Lambda \in \mathbb{R}^{n \times n}\) være en diagonal matrix med strengt positive diagonalelementer, dvs. \(\lambda_i>0\) for \(i=1,\ldots,n\).
Definer
Definer videre
hvor \(D\) er en diagonal matrix med elementerne
Spørgsmål a#
Vis, at
Spørgsmål b#
Bestem den inverse matrix \(A^{-1}\).
Spørgsmål c#
Definer for søjlevektorerne \(\pmb{x}, \pmb{y} \in \mathbb{C}^n\) indreproduktet
Vis, at
Spørgsmål d#
Vis, at \(\langle \pmb{x}, \pmb{y} \rangle_B\) faktisk er et indreprodukt på \(\mathbb{C}^n\). Du må gerne bruge uden bevis at det sædvanlige indreprodukt \(\langle \pmb{x}, \pmb{y} \rangle\) er et indreprodukt på \(\mathbb{C}^n\).
Spørgsmål e#
Lad \(B = \operatorname{diag}(2,5)\). Angiv to vektorer \(\pmb{x}, \pmb{y} \in \mathbb{C}^2\) der er ortogonale på hinanden m.h.t. \(\langle \cdot, \cdot \rangle_B\). Vektorerne må ikke være nulvektoren i \(\mathbb{C}^2\).