This shows you the differences between two versions of the page.
cs601r_w2020:proj1 [2020/01/22 17:49] wingated |
cs601r_w2020:proj1 [2021/06/30 23:42] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====Objective:==== | ||
- | |||
- | To explore significant deep learning projects. | ||
- | |||
- | ---- | ||
- | ====Deliverable:==== | ||
- | |||
- | There are two deliverables for Projects 1 & 2: | ||
- | |||
- | * An excel spreadsheet (or CSV file) that shows the total amount of time you spent on your final, broken down by day | ||
- | * A PDF writeup of your project (3-6 pages) | ||
- | |||
- | ---- | ||
- | ====Grading standards:==== | ||
- | |||
- | Each project counts for about 20-25% of your overall grade (see Learning Suite for a precise breakdown of the value of different assignments). | ||
- | |||
- | Unlike the final project, grading of your projects will be done primarily based on your writeups. | ||
- | |||
- | I will grade your writeups based on: | ||
- | |||
- | * The careful use of the scientific method in your work | ||
- | * The quality of the writing | ||
- | |||
- | I am expecting about 25 hours of effort on each project. | ||
- | |||
- | ---- | ||
- | ====Description:==== | ||
- | |||
- | For your projects, you should execute a substantial project of your own choosing. You will turn in a 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. | ||
- | |||
- | ---- | ||
- | ====Requirements for the time log:==== | ||
- | |||
- | For the time log, you must document the time you spent (on a daily basis) along with a simple description of your activities during that time. **If you do not document your time, it 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. | ||
- | |||
- | So, for example, a time log might look like the following: | ||
- | |||
- | * 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 10 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 10 hours must involve designing, testing, and iterating deep learning-based models, analyzing results, experimenting, etc. | ||
- | * You don't get extra credit for more than 25 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. | ||
- | |||
- | Ideally, your writeup would look and feel like an academic paper in your discipline. | ||
- | |||
- | The primary thing I will be looking for is the **systematic use of the scientific method** in your project. That is, you should have a clearly stated problem, a clearly stated hypothesis, and experiments to test your ideas. | ||
- | |||
- | It is unlikely that your first idea will pan out. **A critical part of the writeup is that I should be able to see an iterative approach to refining your solution.** | ||
- | |||
- | In addition, 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 3-6 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** | ||
- | - Where did it come from? Who published it? | ||
- | - Who cares about this data? | ||
- | - **A discussion of the problem to be solved** | ||
- | - Is this a classification problem? A regression problem? | ||
- | - Is it supervised? Unsupervised? | ||
- | - What sort of background knowledge do you have that you could bring to bear on this problem? | ||
- | - What other approaches have been tried? How did they fare? | ||
- | - **A discussion of your exploration of the dataset**. | ||
- | - 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 | ||
- | - **A clear, technical description of your approach.** | ||
- | - Background on the approach | ||
- | - Description of the model you use | ||
- | - Description of the inference / training algorithm you use | ||
- | - 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** | ||
- | - What was your final RMSE on your private test/training split? | ||
- | - Did you overfit? How do you know? | ||
- | - Was your first algorithm the one you ultimately used for your submission? Why did you (or didn't you) iterate your design? | ||
- | - Did you solve (or make any progress on) the problem you set out to solve? | ||