• Gør med relevante matematiske formler rede for opbygningen af et neuralt netværk til multipel klassifikation, herunder aktiveringsfunktion, tabsfunktion og opdatering af vægte.
  • Vis konkrete udregninger for et selvvalgt input-eksempel for feedforward i et neuralt netværk til multipel klassifikation med to input neuroner, et skjult lag med en neuron og tre output neuroner. Du skal anvende sigmoid og softmax. Anvend små heltallige værdier (for eksempel \(-2\), \(-1\), \(0\), \(1\), \(2\)) til startvægte og bias.
  • Udled opdateringsreglen for backpropagation med softmax og cross-entropy i samme netværk med fokus på opdatering af én vægt mellem det skjulte lag og outputlaget. Foretag opdateringen på dit eget datasæt. Brug en selvvalgt one hot vektor som targetværdi.
  • Implementer et neuralt netværk til multiple klassifikation for eksempel i Orange. Træn og vurder netværket på dette datasæt Iris blomster. Du skal inddrage begreber som træningsdata, testdata, learning rate (skridtlængde), classification accuracy (klassifikationsnøjagtighed) og confusion matrix. Undersøg hvordan ændringer i learning rate, antal skjulte lag eller antal neuroner i det/de skjulte lag påvirker klassifikationsnøjagtighed og confusion matrix.
  • Redegør for sigmoid-funktionen og gradientnedstigning.
  • Redegør for hvad der forstås ved et simpelt kunstigt neuralt netværk med to skjulte lag. Du skal i din redegørelse komme ind på feedforward og backpropagation. Specielt skal du vise, hvordan man opdaterer vægtene tættest på outputlaget.
  • Forklar kort, hvad forskellen er på et simpelt kunstigt neuralt netværk og en kunstig neuron.
  • Ved hjælp af et selvvalgt datasæt skal du træne en kunstig neuron med Kunstig Neuron App og vurder modellens nøjagtighed.
  • Redegør for feedforward og backpropagation i et kunstigt neuralt netværk med fokus på at foretage beregningerne med brug af matricer.

  • Implementer beregningerne på et meget lille netværk i eget CAS-værktøj med brug af matricer.

Formuleringen skal foldes mere ud med mere konkrete krav til teoridelen. Man kan eventuelt give eleven et konkret datasæt til implementeringen.

Dele af forberedelsesmaterialet om matricer fra 2011 til forsøgtordningen til Stx A kan for eksempel benyttes som kilde.

Gilbert Strangs bog "Linear Algebra and Learning from Data" samt kursus 18065 på ocw.mit.edu kan også være brugbart for en dygtig elev.

  • Redegør for opbygningen af et simpelt neuralt netværk til regression, herunder struktur, feedforward og aktiveringsfunktioner.

Betragt et neuralt netværk med ét input \(x\), én neuron i det skjulte lag og ét output \(o\) givet ved

\[ o = v_1 \cdot f(w_1 \cdot x + w_0) + v_0 \]

hvor \(f\) er en differentiabel funktion. Anvend tabsfunktionen

\[ L = (t - o)^2 \]

  • Bestem ved hjælp af kædereglen de partielle afledede af \(L\) med hensyn til \(o\), \(w_1\), \(w_0\), \(v_1\) og \(v_0\). [For en mindre stærk elev kan dette krav reduceres].

  • Udled opdateringsreglerne og fortolk betydningen af de fundne afledte i forhold til opdatering af vægtene.

  • Anvend modellen på et selvvalgt datasæt med en kontinuert afhængig variabel, og sammenlign med en lineær model.

  • Analyser og fortolk modellens resultater, og diskutér om modellen er i stand til at beskrive ikke-lineære sammenhænge.

  • Perspektivér til forskellen mellem regression og klassifikation i neurale netværk. [Dette kan fjernes for en mindre stærk elev].

Opgaven kan eventuelt kombineres med et andet fag. Så skal kravene til matematik selvfølgelig reduceres, så der er plads til begge fag. Datasæt og databehandling fra et andet fag kan skabe en fin kobling til matematikdelen.

  • Redegør for, hvordan ord kan repræsenteres som vektorer med Word2Vec algoritmen, og hvordan sandsynligheder for ord kan modelleres ved hjælp af softmax-funktionen.

  • Forklar og anvend modellen

    \[ \begin{aligned} P(\text{kontekst = ord}_i\mid \text{fokus = }w) &= \frac{\mathrm{e}^{y_i}}{\mathrm{e}^{y_1} + \dotsm + \mathrm{e}^{y_V}} \\ &= \frac{\mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_i}}}{\mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_1}} + \dotsm + \mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_V}}} \end{aligned} \tag{1}\]

    til konkrete beregninger. [Her kan man eventuelt give eleven et konkret, meget lille datasæt.]

  • Undersøg, hvordan modellen kan trænes ved hjælp af en tabsfunktion, og perspektivér til moderne sprogmodeller.