Neuroinformatics, 2009-09-23

Module: 
Neuroinformatics
Examiner: 
Stephan Timmer
Assessor: 
Roland Hafner
Date: 
Wed, 2009-09-23

FORMALIA

Modulprüfung: Neuroinformatik Fachsemester: 6
Prüfer: Dr. Stephan Timmer

VORBEREITUNG

Was hast du zur Prüfungsvorbereitung benutzt?

Vorlesungsfolien und einfach bei jeder Formel / erklärung wo mir irgendwas unklar war solange im Internet / Literatur geschaut bis ich genau wusste was das da soll.

Was wir hilfreich, was war weniger hilfreich?

Mir hat es sehr geholfen auch die Beweise bis ins Detail zu verstehen weil ich so wirklich das gefühl hatte eigentlich alles zu können!
Da an dem Tag nur eine weitere Prüfung war, die auch nur zur hälfte aus NeuroInfo bestand hab ich komplett alleine gelernt, wenn man die Gelegenheit hat zu mehreren zu lernen, bzw. es immer wieder mit anderen durchzusprechen / zu erklären sollte man das aber unbedingt machen, da es zum einen viel einfacher ist dadurch am Ball zu bleiben und viele Probleme schneller offenbar werden, dadurch das jeder einen etwas anderen Blickwinkel auf die Thematik hat.

PRÜFUNG

Wiederholungsprüfung?
Note: 1.0
Bereiche nach Zeit: 25 min Neuroinfo + 10 min Reinforcement Learning (haben leicht überzogen)

Fragensammlung: wie lauteten die Fragen im einzelnen?

F: Mit welcher Vorlesung wollen sie denn loslegen ?
A -> Mir war es egal, sagte das wir ja einfach vorne anfangen können!

F: Gut dann fangen wir mit NeuroInfo an, wir haben da ja ganz verschiedene Methoden kennengelernt springen wir doch einfach direkt zu MLP,
wie sieht denn so ein MLP aus ?
A -> Ich male ein MLP mit drei layern hin fange an was von input output und hidden layern zu erzählen, Vollkonnektivität kurz erwähnt und erwähnt das ein MLP ein genereller Funktionsapproximator ist
das man nur 3 Layer benötigt um mit arbiträrer Präzision eine Funktion zu approximieren.

F: Wo sie schon bei Funktionsapproximation sind, für welche verschiedenen Sachen kann man denn so ein MLP benutzen ?
A -> Ich erzähle was über Regression und Klassifizierung

F: Gut gut und was für eine Funktion wird jetzt durch das MLP dargestellt ?
A: naja wenn wir n input neuronen haben und zB 1 Output Neuron dann haben wir eine Funktion von R^n nach R

F -> er wollte dann genau wissen was denn dann das MLP implementiert das ich aufgemalt hatte
A -> das war dann R^4 nach R

F: Nun nehmen wir mal an wir wollen mit dem MLP etwas berechnen, wie sieht das denn dann überhaupt für so ein neuron aus ?
A -> schreibe net-input und aktivierung eines Neurons hin, und direkt unterschiedliche aktivierungsfunktionen (logistic, tanh, linear)

F: Gut und was ist jetzt der unterschied der Aktivierungsfunktionen und wo benutze ich sie ?
A -> male Aktivierungsfunktionen hin, sage das man normalerweise nicht lineare im hidden layer benutzt und es beim output drauf ankommt ob man eben Regression (lineare Aktivierungsfunktion)
oder Klassifizierung (oft nicht lineare logistic activation) machen möchte.

F: Und was wäre wenn alle Neuronen lineare Aktivierung hätten ?
A: Das wäre eher ungünstig da wir dann eine Verkettung von linearen Funktionen hätten die durch die Perceptrons realisiert wird und diese Verkettung ist wieder linear!

F: Ok dann können wir ein MLP also berechnen, und wie lernen wir dann ?
A -> erzähle über Gewichtsgradienten schreibe kurz den Fehlerterm hin und sage das das Problem im Vergleich zu zB. linearer Regression ist das wir den Fehlerterm nicht geschlossen
analytisch lösen können, da wir i.A. eine nicht-lineare Funktion haben, die unter Umständen lokale Minima hat.

F: Ja und was kann man da dann machen ?
A -> Sage das es 3 Möglichkeiten gibt -> gradient descent(und verwandte ... ), taylor approximation, line search will Anfangen darüber zu erzählen,
aber ihm reicht das dann auch schon.

F: Gut und wenn wir dann so auf den Trainingsdaten lernen ist die Aufgabe damit erledigt ?
A: Nein, da wir unter umständen ein schlechtes Trainingsset haben könnten und normalerweise auch wollen das die Funktion für input vektoren die nicht im Training set sind
gut approximiert wird.

F: Aha, und was kann man dann da so machen damit das MLP generalisiert ?
A -> zähle ein paar sachen auf, gehe ein wenig auf Cross-validierung ein.

F: Wo wir schon über Cross-Validierung reden, was kann man denn machen, damit der Fehler auf dem Testset minimal ist ?
A -> stehe total auf dem schlauch, nach 2 mal umformulieren komme ich drauf das er wohl einfach nur "early stopping" meint ...

F: Guckt auf die Uhr, ok gehen wir mal schnell noch zu einem anderen Thema, SVM was versucht man denn da zu lösen ?
A -> kurzer schwenk zurück zu perceptrons und hyperplane und sage dann das SVM die optimale hyperplane findet. Schreibe kurz primal auf.

F: und wie können wir dann die margin berechnen, wenn wir das Problem gelöst haben ?
A -> rede kurz darüber das man W = 1/p (freiheitsgrad durch w und b) setzt und das ganze zu einem minimierungsproblem macht und so eben auch die margin berechnen kann.

F: Genau und warum wollen wir die margin maximieren ?
A -> Generalisierung angesprochen, hyperplane eben kurz als Beispiel aufgemalt.

F: Ok kommen wir noch ganz kurz zum Kernel trick, wofür ist der gut?
A -> über projektion der vektoren geredet, dual hingeschrieben gezeigt das input vektoren im skalarprodukt vorkommen und erklärt was genau der Kernel macht

---------------------

F: Ok kommen wir noch schnell zu RL, man geht da ja davon aus das man einen Agenten in einer möglicherweise unbekannten Umgebung hat, wie formalisiert man das denn dann alles mathematisch ?
A -> MDP erklärt, über die markov-assumption geredet ...

F: Ok und dann wollen wir ja eine Wertefunktion approximieren, wofür ist die denn gut ?
A -> Frage mich erst worauf er denn da jetzt hinaus will, fange dann einfach an die Formel für die optimale Wertefunktion hinzuschreiben

F -> er fragt dann mehrmals Kleinigkeiten nach und wir kommen auf den T Operator und das die optimale Wertefunktion ein Fixpunkt des Operators ist,
ich soll dann noch grob den VI Algorithmus hinschreiben, dann die Frage wie der Algorithmus sich ändert wenn man jetzt einen begrenzten Horizont annimmt
A -> bin kurz etwas verwirrt ob der vielen kleinen Nachfragen, erzähle dann kurz den BDP Algo und über das Bellmansche Optimalitätsprinzip

F -> Er sagt dann das ja durch den optimalen Kosten-Vektor auch eine optimale Strategie bestimmt ist und fragt was man denn über die Strategie im Bezug auf den Horizont sagen kann ?
A -> denke kurz nach und erzähle dann das man stationäre und nicht stationäre Strategien unterscheiden kann und das die optimale Strategie bei unendl. Horizont immer stationär ist,
das nicht stationäre Strategien da auch wenig Sinn machen würden ...

F -> ich werde dann kurz rausgebeten und dann kommt die Notenverkündung

Was mußte schriftlich gelöst werden?

hab eigentlich alles freiwillig schriftlich hingeschrieben, siehe Text

Persönlicher Kommmentar, Was war toll? Was war doof? Was war auffällig?

Alles gut soweit, entspannte Atmosphäre, Prüfer gibt sich wirklich mühe das man die Fragen auch versteht, ich stand 3 mal mächtig auf dem Schlauch,
bin dann aber immer nach Umformulierung drauf gekommen, er hat sich dann echt Mühe gegeben einfach noch weiter in die Tiefe zu fragen, sodass klar wurde das ich wirklich nur kurz auf dem Schlauch stand, aber eigentlich alles gut verstanden hatte.

Wie waren Einstieg, Ablauf, Ende, Bewertung und Begründung?

Einstieg: Ablauf: Ende:
siehe Text

Bewertung und Begründung:

Note 1.0 obwohl ich 2 mal etwas verwirrt war und es mir zu schwer gemacht habe, aber wohl klar wurde dass ich alles kann und wenn man Zeit hätte um Nachzubohren wohl auch beantworten könnte.

Lässt sich der Prüfer von den Antworten leiten?

Ja, schon, ich habe ihn mehrmals quasi auf die nächste Frage gebracht, allerdings weiß er schon ziemlich genau was er hören will!