**Proposal** [Back to Neural Networks](https://cs.pomona.edu/classes/cs152/) # Project Milestones 01. **Individual Proposals (due week 3)** 02. [Introduction Outline (due week 4)](02-introduction-outline.mdeep.html) 03. [Related Works Search (due week 5)](03-related-works-search.mdeep.html) 04. [Project Update 1 (due week 6)](04-update1.mdeep.html) 05. [Self-Assessment and Peer Evaluations 1 (due week 6)](05-evaluations1.mdeep.html) 06. [Introduction and Related Works Draft (due week 7)](06-introduction-related-works-draft.mdeep.html) 07. [Project Update 2 (due week 8)](07-update2.mdeep.html) 08. [Methods Outline (due week 9)](08-methods-outline.mdeep.html) 09. [Self-Assessment and Peer Evaluations 2 (week 10)](09-evaluations2.mdeep.html) 10. [Discussion Outline (due week 11)](10-discussion-outline.mdeep.html) 11. [Complete Rough Draft (due week 14)](11-completed-rough-draft.mdeep.html) 12. [Final Self-Assessment and Peer Evaluations (due Monday finals week)](12-evaluations3.mdeep.html) 13. [Complete Project and Revisions (due Wednesday finals week)](13-completed-project.mdeep.html) # 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 - 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 project proposals, you will form groups and submit the next project milestone: [Introduction Outline (due week 4)](02-introduction-outline.mdeep.html). # Proposal Website (and example) You can host your proposal however you'd like, but I recommend the following: - Create a [GitHub](https://github.com/) account (or use your current account). - Create a new public repository. - Create a **"Project site"** using [GitHub Pages](https://pages.github.com/) and Jekyll. 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. 1. **Comparison**. Compare frameworks, algorithms, hyperparameters, architectures, etc. 2. **Research**. Come up with an original idea, develop a solution, and report on results (results do not need to be *good*). 3. **Application**. Create and deploy an application using existing tools (this can run on your local computer). 4. **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: 1. Idea 2. Data collection 3. Preliminary training 4. Data cleaning 5. Algorithm development 6. Hyperparameter tuning 7. Full-scale training 8. 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 fall 2021: - [Poster Generator using GANs](https://carsonfrench.github.io/Project-Site/) - [Snake Game with Reinforcement Learning](https://davidd-55.github.io/sNNake/) - [Soccer Outcome Predictor](https://eshaan-lumba.github.io/FIFAI/) - [Physics Simulator](https://gthampak.github.io/physinet.io/) - [Neural Reasoning](https://jlucassen.github.io/NeuralNetCircuitsForTransparency/) - [eBay Shipping Predictor](https://milliemince.github.io/eBay-shipping-predictions/) - [Robot Navigator](https://oliverc1623.github.io/cs152/outline) - [Spotify Music Classifier](https://simon-heck.github.io/Spotify-Mood-Ring-Playlist-Generator/) - [Climate Displacement Predictor](https://suzanna-neely-yates.github.io/climate-displacement/) - [Plant Recognition App](https://yejiahaoderek.github.io/cs152sp21-project.github.io/) ## Projects from spring 2021: - [Tweet Classification and Comparison of Russian Propagandists and U.S. Politicians](https://jennabrandt.github.io/) - [Neural Unearthing](https://adelineyu.github.io/neural-unearthing/) - [Welcome to Battle Ship AI](https://choughton21.github.io/Battle-Ship-AI/) - [Assessing the diversity-accuracy dilemma of Spotify’s recommendation systems](http://beckyxzhang.github.io/paper) - [Navigating a 3D maze with deep reinforcement learning](https://jcillay.github.io/cs152-project/) - [Risk Assessment Algorithms in the Criminal Justice System - An Ethical Investigation](https://mdortignacq.github.io/cs152project/risk_assessment_algs) - [pAIcasso: Generating Classic and Quirky Works With Neural Networks](https://mivler.github.io/cs152sp21-project/) - [Iris: A Vehicle Safety Monitoring System](https://rubeneezy.github.io/Iris/) - [Trained for Trust: Detecting Misinformation in COVID-related Journalism](https://chiralevy.github.io/cs152sp21-project/) - [HeartNet](https://oapostrophe.github.io/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](https://forums.fast.ai/t/share-your-v2-projects-here/65757). And this post on the ["Top 10 Deep Learning Projects Ideas for Beginners and Professionals"](https://www.ubuntupit.com/top-deep-learning-projects-ideas-for-beginners-and-professionals/?amp=1 "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: - https://paperswithcode.com/datasets - https://www.kaggle.com/datasets - https://datasetsearch.research.google.com/ - https://www.datasetlist.com/ - https://github.com/awesomedata/awesome-public-datasets - https://registry.opendata.aws/ - https://old.reddit.com/r/datasets/ - https://archive.ics.uci.edu/ml/datasets.php # 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](https://www.microsoft.com/en-us/research/academic-program/write-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: + [Heroku](https://www.heroku.com/) + [Microsoft Azure](https://azure.microsoft.com/en-us/free/) - 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 1. Submit links to proposals + I will aggregate all proposals links and put them below. 2. Read through other projects that sounds interesting the next day + Feel free to contact the authors of other proposals on Slack 3. Pitch your proposal idea in class 4. 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 - [pdf-translator | An easy and accessible way to translate difficult words and phrases in a pdf.](https://omarzintan.github.io/pdf-translator/) - [Free Verse Poetry Generator](https://awguo2019.github.io/cs152sp22/) - [Accurate Detection of Breast Cancer](https://shifasomji.github.io/nn-proposal/) - [Tennis IQ](https://jcoma13.github.io/) - [Learning Flappy Bird](https://sadie-zhao.github.io/CS152-Project-Proposal/) - [Analyzing the Applications of Facial Recognition](https://olinaw.github.io/cs152project.github.io/) - [Using Neural Networks to Predict Cross Country and Track Race Times](https://claireleblanc.github.io/neural_networks/) - [Amaltheum: a gaming recommendation system](https://www.vanillalatte.page/2022/02/neural-networks-project.html) - [drawNN](https://erdsal4.github.io/cs152-proj/) - [Title: Dog breed classification app](https://lyvenmaria.github.io/cs152sp22-project/) - [Location Details using Image Analysis](https://sammsaski.github.io/cs152-project/) - [Music Generation Using MIDI Data](https://irmakbky.github.io/CS152-Project-Proposal/) - [Image Captioning](https://adeenaliang.com/cs152project/) - [AI-Ception](https://shauryapednekar1.github.io/cs152-project/) - [Spanish Dialect Predictor](https://joramador.github.io/spanish-dialects/) - [Generating Hard Math Problems](https://tonyaradzwa.github.io/) - [No-Limit Texas Hold 'Em Solver](https://cs152projectmaster.gatsbyjs.io/) - https://tesfaasmara.com/ - [political prediction](https://nickmorgenstein.github.io/political-prediction/) - [NBAI Project](https://dnamanat049.github.io/NeuralNets/)