From 7a4c932dcd9259a395d56fb56f6c9123bc7e2b45 Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Thu, 21 Feb 2019 14:19:33 +0100 Subject: [PATCH] =?UTF-8?q?Finished=20expos=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jim Martens --- body_expose.tex | 216 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 213 insertions(+), 3 deletions(-) diff --git a/body_expose.tex b/body_expose.tex index 96896b0..3493e19 100644 --- a/body_expose.tex +++ b/body_expose.tex @@ -41,7 +41,7 @@ of technology to allow adoption in mass. Obviously this setting poses the question, how such an endeavour can be achieved. For neural networks there are fundamentally two type of tasks: -regression, and classification. Regression deals with any case +regression and classification. Regression deals with any case where the goal for the network is to come close to an ideal function that connects all data points. Classification, however, describes tasks where the network is supposed to identify the @@ -71,7 +71,7 @@ This goes back to the need for automatic explanation. Such a system should by itself recognize that the given object is unknown and hence mark any classification result of the network as meaningless. Technically there are two slightly different things that deal -with this type of task: model uncertainty, and novelty detection. +with this type of task: model uncertainty and novelty detection. Model uncertainty can be measured with dropout sampling. Dropout is usually used only during training but @@ -190,4 +190,214 @@ but not critical for successful completion of the thesis. \section{Timetable} -% TODO +This timetable is structured by milestones that I want to +achieve. Every milestone has the related tasks grouped beneath it. +The scheduling is done with respect to my full personal calendar +and will only account Monday through Friday at most. Weekends will +not be scheduled work time for the thesis. This allows for +some additional unreliable emergency buffer in the end if things do +not proceed as planned. Furthermore I will only be able to +regularly plan the time between 11 am and 5 pm for working on the +thesis as the evenings are mostly full and regardless of that +fact I do want to reserve free time. + +\subsection*{Environment set up} + +\textbf{Due date:} 20th March + +\begin{description} + \item[Download SceneNet RGB-D to cvpc\{7,8\} computer] + Requires external resource. +\end{description} + +\subsection*{Fine-tuned SSD on SceneNet RGB-D} + +\textbf{Due date:} 5th April + +\begin{description} + \item[Download pre-trained weights of SSD for MS COCO] + This is trivial. Takes not more than two hours. + \item[Modify SSD Keras implementation to work inside masterthesis package] + Should be possible to achieve within one day. + \item[Implement integration of SSD into masterthesis package] + Implementing the glue code between the git submodule and + my own code. Should be doable within one day. + \item[Group SceneNet RGB-D classes to MS COCO classes] + SceneNet contains more classes than COCO. Miller et al have + grouped, for example, various chair classes in SceneNet into + one chair class of COCO. This grouping involves researching + the 80 classes of COCO and finding all related SceneNet + classes and then writing a mapper between them. + + All in all this could take up a full day and perhaps slip + into a second one. + \item[Implement variant of SSD with dropout layers (Bayesian SSD)] + This is a rather trivial task as it only involves adding two + Keras dropout layers into SSD. Can be done in one hour. + \item[Fine-tune vanilla SSD on SceneNet RGB-D] + Requires external resource and length of required training is + unknown. Due to two unknown factors (availability of resource, + and length of training) this task can be considered a project + risk. + \item[Fine-tune Bayesian SSD on SceneNet RGB-D] + Similar remarks like the previous task. +\end{description} + +The tasks prior to the training could be achievable by the 21st +March if work starts on the 18th. Buffer time will go to the 25th +of March. Training is scheduled to commence as early as possible +but no later than the 26th of March. + +Since the SSD network is a proven one, I am confident that this +milestone can be reached and the time between 26th of March and +5th April should provide more than enough time for training. +Once training has started, I can work on tasks from other milestones +so that the training time is used as efficiently as possible. + +\subsection*{Fine-tuned GPND on SceneNet RGB-D} + +\textbf{Due date:} 12th April + +\begin{description} + \item[Adapt GPND implementation for SceneNet RGB-D using MS COCO classes] + Requires research to figure out the exact architecture needed + for a different data set. The code is not well + documented and some logical variables like image size are + sometimes hard-coded, which makes this adaption difficult + and error-prone. + + Furthermore, some trial-and-error regarding training successes + is likely needed, which makes this task a project risk. + If the needed architecture was known the time to implement + it would be at most one day. The uncertainty therefore + lies with the research part. + \item[Implement novelty score calculation for GPND] + There is an implementation for this in the original + author's implementation. It would have to be ported + to Tensorflow and integrated into the package structure. + Takes likely one day or two. + \item[Apply insights of GAN stability to GPND implementation] + The insights from the GAN stability\footnote{\url{https://avg.is.tuebingen.mpg.de/publications/meschedericml2018}} research should be applied to + my GPND implementation. Requires research what, if any, + insights can be used for this thesis. The research is + doable within one day and the application of it + within another. + \item[Train GPND on SceneNet RGB-D] + Requires external resource. + In contrast to the SSD network, there are no pre-trained + weights available for the GPND. Therefore it has to be + trained from scratch. Furthermore, it will have to be + trained for every class separately, which prolongs the + training even further. This task than be classified as + project risk. +\end{description} + +I will only be able to start working on these tasks on April 1st. +Assuming that the research in the first task goes well, I will +be able to finish the preparatory work on April 5th. Training +could start as early as April 5th. The seven days to the due date +April 12th are tight and maybe it takes longer but this is +the aggressive date I will work towards. + +\subsection*{Networks evaluated} + +\textbf{Due date:} 10th May + +\begin{description} + \item[Implement evaluation pipeline for vanilla SSD] + Involves the implementation of the evaluation steps + according to the chosen metrics. Takes likely two days. + \item[Implement evaluation pipeline for Bayesian SSD] + Involves the implementation of the evaluation steps + for the Bayesian variant. As more is has to be done, + it will likely take three days. + \item[Implement evaluation pipeline for vanilla SSD with GPND for novelty score] + The implementation of this pipeline will take probably two + days. + \item[Run vanilla SSD on test data] + The trained network is run on the test data and the results + are stored. Requires external resource but should be + far quicker than the training and will probably be done + in two days at most. + \item[Run Bayesian SSD on test data] + Similar remarks to previous task. + \item[Run vanilla SSD detections through GPND] + For my approach the SSD detections need to be run through + the GPND to have all the relevant data for evaluation. + Requires external resource. Will take likely two days. + \item[Calculate evaluation metrics for vanilla SSD] + Takes one day. + \item[Calculate evaluation metrics for Bayesian SSD] + Takes one day. + \item[Calculate evaluation metrics for vanilla SSD with GPND] + Takes one day +\end{description} + +If I can start on April 15th with the preparatory work it should be +done by April 23rd. The testing runs can begin as early as April 24th +and should finish around April 30th. This leaves the week from +May 6th up to the due date to finish the calculations, which can +happen on the CPU as all the data is already there by then. + +\subsection*{Visualizations created} + +\textbf{Due date:} 31st May + +I won't be able to work on the thesis between May 13th and May 26th +due to the election campaign. I am involved into the campaign already +as of this writing but I hope that up until May 10th both thesis +and campaign can somewhat co-exist. + +The visualizations should be creatable within one week from May 27th +to May 31st. + +\subsection*{Stretch goals} + +\textbf{Due date:} 27th June + +As I mentioned earlier, there are no specific tasks for the +stretch goals. If the critical path is finished by the end +of May as planned then the month of June is available for +stretch goals. If the critical path is not finished then +June serves as a buffer zone to prevent spillover into the +writing period. + +\subsection*{Thesis writing} + +\textbf{Due date:} 30th August + +A first complete draft of the thesis should be finished +at the latest by August 16th. The following week I am not +able to work on the thesis but it can be used for feedback. + +The last week of August should allow for polishing of the +thesis with a submission-ready candidate by August 30th. + +\subsection*{Finishing touches} + +\textbf{Due date:} 13th September + +The submission requires three printed copies of the thesis, +together with any digital components on a CD glued to the back +of the thesis. A non-editable CD ensures that the code submitted +cannot be modified and will be exactly as submitted when reviewed. + +I will use these two weeks to print the copies and to make +last publication steps for the code like improving the code +documentation and adding usage examples. + +\subsection*{Colloquium} + +Last but not least is the colloquium which will probably take +place within the second half of September. I will prepare +a presentation for the colloquium in the time before such date. + +\section{Project Risks} + +In this section other project risks will be listed in +addition to those indicated in the timetable section. + +The workload for the election campaign, in which I have an +organizational responsibility in addition to being a candidate +myself, could come into conflict with the progress of the +thesis.