Individual Proposals
Requirements
Project proposals should be a simple web-page (no styling necessary, but feel free to use a nice template) with the following information:
- Project name
- 100 to 300 word project description
- What are you planning to do?
- Why is your project exciting/fun/educational?
- What does success look like?
- List of three to five goals
- (Optional) Images, diagrams, etc.
You will submit a link to your web-page on gradescope, and you will present your proposal in class. Presentations should take no more than three minutes.
After you all complete your presentations, you will form groups and start on the next project milestone.
Proposal Website (and example)
You can host your proposal however you’d like, but I recommend the following:
- Create a GitHub account (or use your current account).
- Create a new public repository.
- Create a “Project site” using GitHub Pages and Jekyll.
- Follow these instructions to turn a repository into a website.
- Add a
_config.yml
file to configure your site title, description, and theme (here is an example) - Take a look at the supported themes
Here is an example proposal: https://anthonyjclark.github.io/cs152sp21-project/
You do not need to know markdown (or even use it); you do not need to know any web development. You can have a plain text website.
Types of Proposals
You have four (standard) pathways for your projects, but feel free to pitch any idea you find interesting. The most important element is that you pick something that sparks your curiosity. I want you to be excited about learning something.
Comparison. Compare frameworks, algorithms, hyperparameters, architectures, etc.
Research. Come up with an original idea, develop a solution, and report on results (results do not need to be good).
Application. Create and deploy an application using existing tools (this can run on your local computer).
Ethical Investigation. Examine an existing technique(s), research paper(s), and/or dataset(s) and discuss ethical issues such as bias, overuse of metrics, harmful positive feedback loops, etc.
Projects will (mostly) follow this flow:
- Idea
- Data collection
- Preliminary training
- Data cleaning
- Algorithm development
- Hyperparameter tuning
- Full-scale training
- Deployment
Clearly an application project will have more emphasis on step 8 and quite a bit less on step 5. The other project paths have analogous emphases.
Note that these milestones are heavily geared toward code-based projects, but that doesn’t mean that you cannot focus on ethics. You can complete your project without any coding portion.
Past Projects
Projects from spring 2023
- Predicting weather using LSTM neural networks
- Art.AI
- Forecasting Global Atmospheric Composition with Graph Neural Networks
- Stock Market Prediction by LSTM Neural Network
- GEoFFREY: Geographic Estimations of Fairly Faultless Rightness Easily Y’know?
- Designing Tattoos with a Neural Network
- PIXELATE!
- Neural Networks for Self Driving Cars
- Graph Neural Networks for Traffic Flow Prediction
Projects from spring 2022
Projects from fall 2021
Projects from spring 2021
- Tweet Classification and Comparison of Russian Propagandists and U.S. Politicians
- Neural Unearthing
- Welcome to Battle Ship AI
- Assessing the diversity-accuracy dilemma of Spotify’s recommendation systems
- Navigating a 3D maze with deep reinforcement learning
- Risk Assessment Algorithms in the Criminal Justice System - An Ethical Investigation
- pAIcasso: Generating Classic and Quirky Works With Neural Networks
- Iris: A Vehicle Safety Monitoring System
- Trained for Trust: Detecting Misinformation in COVID-related Journalism
- HeartNet
Projects from previous semesters
- playing star craft with deep reinforcement learning
- benchmarking/comparing many networks on MNIST dataset
- detecting sarcasm in sitcoms
- estimating depth from binocular images
- playing NES with deep reinforcement learning
- classifying traffic signs
- classifying different types of electronic devices
A lot of these projects were computer vision centric, but that does not have to be the case. In fact, that is why I introduce fastai at the beginning of the course now–so you can see a wider variety of options. Don’t forget that it supports (and that you do not have to use it):
- computer vision
- tabular data
- text data
- collaborative filtering
You can find a collection of fastai projects here. And this post on the “Top 10 Deep Learning Projects Ideas for Beginners and Professionals” might give you some additional ideas.
Dataset Search
To find inspiration, you might also take a look at some publicly available datasets:
Advice
Since your projects will be semester long affairs, they should use techniques not yet discussed in class. Do not wait until we’ve covered a topic to use framework implementation.
Project write-ups will end up with this outline (more or less):
- Here is a problem
- It’s an interesting problem
- It’s an unsolved problem
- Here is my idea
- Here’s how my idea compares to other peoples’
- My idea works (details, data)
If you want some extra insight on writing a research paper, I agree with most of Simon Peyton Jones’s information in How to write a great research paper.
Some things to consider for your project that you can include in your proposal:
Be ambitious. I will never punish a project for failing to meet the initial goals.
I also am happy to give full credit to a project that failed to achieve good results. Just be able to tell me what might lead to better results in the future.
Can you find or create a dataset?
You need to do more than just follow a tutorial.
Do you have possible extensions (if the project is easy) or contingency plans (if the project becomes too difficult)?
The project should include a neural network, but it doesn’t have to completely use NNs. You can compare with other techniques, or use a NN as part of a larger system.
You are not required to use fastai.
You can deploy an app using a free web-hosting service. I’ve that the following work well:
I don’t recommend spending any money for this course. You can always take what you make here and scale it up by buying cycles from Amazon, and deploy it on a pay-for server, but that is not my expectation.
It is a great idea to include non-CS domain knowledge. Maybe you can combine your other major or minor (or your partner’s).
I will provide some high-level feedback for each of you during your in-class project pitches.
After the project pitches, you will create your own groups and refine your ideas.
Although it might seem like a bit of a waste to throw out so many project ideas, I expect that many projects will overlap, some can be merged, some are too difficult or too easy, and others will be happily abandoned. It is still great practice to come up with your own idea and see the ideas of others.
Take risks. You don’t always get an opportunity to fail miserably. Failed projects can still be great projects as long as you can tell me how and why it failed.
It is very difficult to judge how difficult or easy a project might be. For this reason, it is important to design your project with easy, intermediate, and more difficult tasks.
As long as you work on a regular basis (and don’t back-load) your project should take about the same amount of time as the assignments in a normal class.
I would love to have some ethics-focused projects. You wouldn’t even need to have much code (if any) compared to a research or application focused project. For example, you could take existing tools and show how they fail.
You can use techniques that we don’t cover in-depth (e.g., reinforcement learning, generative adversarial networks, etc.).
I’m less interested in your results, and more interested in your process. You do not have to create something ground-breaking.
Consider turning your project idea into a RAISE project.
Time-line
Submit links to proposals
- I will aggregate all proposals links and put them below.
Read through other projects that sounds interesting the next day
- Feel free to contact the authors of other proposals on Slack
Pitch your proposal idea in class
Form project teams
- I will learn of your teams when you submit an outline of your project introduction
Presentation Instructions
For your pitch, you should focus on what makes your project worth pursuing. Why should anyone want to join you? Is the project doable? Is it well thought-out? Do you have a plan?
While watching pitches, you should write down the project name and the presenter’s name so that you know with whom to speak when trying to form groups.
I will start a running list of groups on Slack.
Submissions
- Predicting Breakout Soccer Stars
- NEAT Algorithm to Play Simple Game
- Flight Price Prediction Using Neural Networks
- CS 152 Sports Betting Project
- AI-Powered Document Reader for BLV Users
- Fantasy Football AI
- Neural Network Log Monitoring
- art classifier
- Predicting Sports Outcomes
- Dynamic Pricing for Sports & Concert Tickets
- NO MAN’S AI: Generating Text-Based Random Encounters and Quests via Neural Networks
- An Application of Neural Networks in Online Sports Betting
- WellNessNetwork
- Adaptive Nemesis
- Video Treasure Finder
- Avalanche Prediction
- Neural Network Technical Analysis
- AI Music Videos Have a favorite song but no music video to go along with it?
- fortune teller ai
- Drowsiness Detection System
- A Neural Network Gaze Estimator
- Metamorph Arena
- MAVIS
- NN for differential equations
- DeepFake Detection
- PPP Loan Fraud Detection
- loan approval decisions and how biases might emerge