User Tools

Site Tools


cs501r_f2016:fp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cs501r_f2016:fp [2016/11/22 15:50]
wingated created
cs501r_f2016:fp [2021/06/30 23:42] (current)
Line 6: Line 6:
 ====Deliverable:​==== ====Deliverable:​====
  
-For your final project, you should execute a substantial project of your own choosing. ​ Many different kinds of final projects are possible. ​ A few examples include:+There are two deliverables for the final:
  
-  ​- Learning how to render a scene based on examples of position and lighting +  ​* An excel spreadsheet ​(or CSV filethat shows the total amount of time you spent on your final, broken down by day 
-  - Learning which way is "​up"​ in a photo (useful for drone odometry) +  ​* A PDF writeup of your project ​(one page)
-  - Training an HTTP server to predict which web pages a user will likely visit next +
-  - Training an earthquake predictor +
-  - Using GANs to turn rendered faces into something more realistic (avoiding ​the "​uncanny valley"​) +
-  ​- Transforming Minecraft into a more realistic looking game with DNN post-processing +
-  - Using style transfer on a network trained for facial recognition ​(to identify and accentuate facial characteristics) +
-  - Using RGB+Depth datasets to improve geometric plausibility of GANs+
  
-The project can involve any application area, but the core challenge must be tackled using some sort of deep learning.+---- 
 +====Grading standards:​====
  
-Your project ​will be graded more on effort than results As I have stated in class, I would rather have you swing for the fences and miss, than take on a simple, safe project.  ​+Your final project ​counts as 20% of your overall grade.
  
-The best projects involve a new, substantive idea and novel dataset. ​ It may also be acceptable to use vanilla DNN techniques ​on a novel dataset, as long as you demonstrate significant effort in the "​science" ​of the project -- evaluating results, exploring topologies, thinking hard about how to train, and careful test/​training evaluation. ​ It may also be acceptable to simply implement a state-of-the-art method from the literature, but clear such projects with me first.+Grading is divided into two parts: 80% of your final project grade is based on the number ​of hours you spent, and 20% is based on your writeup.
  
----- +For the number of hours, I will take the total number of hours and divide by 35, then multiply by 100 (and capped at 100%). ​ This will be your percentage. ​ (So, 35 hours == 100%, 17.5 hours == 50%, etc.)
-====Grading standards:====+
  
-Your entry will be graded ​on the following elements:+will evaluate your writeup primarily based on the quality of your writing, although I reserve the right to assign some points based on the quality of your project.
  
-  ​5% Clearly motivated problem +**Note that no late submissions are possible for this projectbecause it is done in lieu of the final exam.**
-  ​10% Exploratory data analysis +
-  * 35% Description of technical approach +
-    * 15% How did you prepare and analyze your data?  How did you establish baselinesand test/train splits? +
-    * 15% Describe how  DNNs fit into your solution method. ​ Discuss whether this is a supervised, unsupervised,​ or RL problem. +
-    * 5% Is there anything unique about your problem, or about the way you applied DNNs?  How will you know if you succeed? ​ Are there quantitative metrics for success (such as a classification error rate), or will success be judged qualitatively (such as the image quality ​of GAN-generated images)? +
-  * 45% Analysis of results +
-    * 25% Present your final results, including comparison to baselines, in whatever format is most appropriate to your problem +
-    * 20% Describe ​the process of getting to your final result What did you tweak? ​ Did you iterate on your topology? ​ How did you debug your model? ​ Include anything relevant to support your discussion, such as tensorboard screenshots,​ graphs of cost decreasing over time, charts comparing different topologies, etc. +
-  ​5% Tidy and legible final writeup+
  
 ---- ----
 ====Description:​==== ====Description:​====
  
-The final project ​is designed to give you a chance to explore ​data science ​project ​end-to-endwith minimal restrictions.+For your final projectyou should execute ​substantial project of your own choosing. ​ You will turn in single writeup (in PDF format only, please!). ​ Your writeup can be structured in whatever way makes sense for your project, ​but see below for some possible outlines.
  
-For this project, you must:+**Your ​project ​will be graded more on effort than results.** ​ As I have stated in classI would rather have you swing for the fences and miss, than take on a simple, safe project. ​ **It is therefore very important that your final time log clearly convey the scope of your efforts.**
  
-  * Select a dataset to analyze (perhaps one from Kaggle?) +I am expecting some serious effort on this projectso I am expecting that your writeupeven if it's shortreflects that.
-  * Define a question or task to be performed +
-    * What is your goal in analyzing ​this dataset? ​ Is it a prediction problem? ​ Or are you searching for patterns? +
-    * If appropriatedefine a cost function to be optimized +
-  * Choose an analysis strategy +
-  * If appropriatedefine a model +
-  * If appropriate,​ choose an inference algorithm to answer your questiongiven a model+
  
-You are welcome to use any publicly available code on the internet to help you.  For example, you may wish to use the Stan language to help you construct an HMC sampler. ​ Other possibilities include PyMC, the Venture probabilistic programming language, BayesDB, etc.+---- 
 +====Requirements for the time log:====
  
-Your writeup should be a serious report on the dataset you chosethe problem ​you set out to solve, ​the technical approach ​you took (and your rationale for it), the results ​of any exploratory data analysisand the results of your final model / inference / optimization algorithm.+For the time log, you must document ​the time you spent (on a daily basisalong with a simple description ​of your activities during that time.  **If you do not document your timeit will not count.** ​ In other words, it is not acceptable to claim that you spent 35 hours on your project, without a time log to back it up.  I will not accept any excuses about this requirement.
  
-Your writeup ​should discuss questions similar ​to your recommender engine report+So, for example, a time log might look like the following:​ 
-This writeup must include ​five main sections:+ 
 +  * 8/11 - 1 hour - read alphago paper 
 +  * 8/12 - 2 hours - downloaded and cleaned data 
 +  * 8/21 - 4 hours - found alphago code 
 +  * 8/24 - 1 hour - implemented game logic 
 +  * 9/17 - 2 hours - worked on self-play engine 
 +  * 9/18 - 1 hour - worked on self-play engine 
 +  * 10/1 - 2 hours - started training 
 +  * ... etc. 
 + 
 +Additional requirements:​ 
 + 
 +  * You may not count any more than 5 hours of research and reading 
 +  * You may not count any more than 15 hours of "prep work"​. ​ This could include dataset preparation,​ collection and cleaning; or wrestling with getting a simulator / model working for a deep RL project; etc. 
 +  * At least 20 hours must involve designing, testing, and iterating deep learning-based models, analyzing results, experimenting,​ etc. 
 +  * You don't get extra credit for more than 35 hours. ​ Sorry. ​ :) 
 + 
 +---- 
 +====Requirements for the writeup:​==== 
 + 
 +Your writeup ​serves ​to inform me about what you did, and simply needs to describe what you did for your project. ​ You should describe
 + 
 +  * The problem you set out to solve 
 +  * The exploratory data analysis you did 
 +  * Your technical approach 
 +  * Your results 
 + 
 +It should be about 1-2 pages. 
 + 
 +---- 
 +====Possible project ideas:​==== 
 + 
 +Many different kinds of final projects are possible. ​ A few examples ​include
 + 
 +  * Learning how to render a scene based on examples of position and lighting 
 +  * Learning which way is "​up"​ in a photo (useful for drone odometry) 
 +  * Training an HTTP server to predict which web pages a user will likely visit next 
 +  * Training an earthquake predictor 
 +  * Using GANs to turn rendered faces into something more realistic (avoiding the "​uncanny valley"​) 
 +  * Transforming Minecraft into a more realistic looking game with DNN post-processing 
 +  * Using style transfer on a network trained for facial recognition (to identify and accentuate facial characteristics) 
 +  * Using RGB+Depth datasets to improve geometric plausibility of GANs 
 + 
 +The project can involve any application area, but the core challenge must be tackled using some sort of deep learning. 
 + 
 +The best projects involve a new, substantive idea and novel dataset. ​ It may also be acceptable to use vanilla DNN techniques on a novel dataset, as long as you demonstrate significant effort in the "​science"​ of the project -- evaluating results, exploring topologies, thinking hard about how to train, and careful test/​training evaluation. ​ It may also be acceptable to simply implement a state-of-the-art method from the literature, but clear such projects with me first. 
 + 
 +---- 
 +====Notes:​==== 
 + 
 +You are welcome to use any publicly available code on the internet to help you. 
 + 
 +Here are some possible questions that you might consider answering as part of your report:
  
   - **A discussion of the dataset**   - **A discussion of the dataset**
Line 72: Line 104:
     - Before you start coding, you should look at the data.  What does it include? ​ What patterns do you see?     - Before you start coding, you should look at the data.  What does it include? ​ What patterns do you see?
     - Any visualizations about the data you deem relevant     - Any visualizations about the data you deem relevant
-  - **A clear, technical description of your approach.** ​ This section should include:+  - **A clear, technical description of your approach.** ​
     - Background on the approach     - Background on the approach
     - Description of the model you use     - Description of the model you use
     - Description of the inference / training algorithm you use     - Description of the inference / training algorithm you use
     - Description of how you partitioned your data into a test/​training split     - Description of how you partitioned your data into a test/​training split
 +    - How many parameters does your model have?  What optimizer did you use?
 +    - What topology did you choose, and why?
 +    - Did you use any pre-trained weights? ​ Where did they come from?
   - **An analysis of how your approach worked on the dataset**   - **An analysis of how your approach worked on the dataset**
     - What was your final RMSE on your private test/​training split?     - What was your final RMSE on your private test/​training split?
Line 107: Line 142:
  
 BYU DSC competition BYU DSC competition
- 
cs501r_f2016/fp.1479829810.txt.gz · Last modified: 2021/06/30 23:40 (external edit)