> For the complete documentation index, see [llms.txt](https://vihaans-cp-notes.gitbook.io/teenhacks-long-island-quickstart-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vihaans-cp-notes.gitbook.io/teenhacks-long-island-quickstart-guide/projects/machine-learning.md).

# Machine Learning

* **We have a $50 prize for anyone who builds a&#x20;*****really*****&#x20;cool ML project. T**he prize may not go to anyone or may go to multiple people. You can seek out Vihaan Sondhi, Kyle Lee, and/or Dean Chen at the event to see if your project idea might qualify or email one of them in advance at first\_name dot last\_name @teenhacksli.com.&#x20;
* [Fast.ai](https://docs.fast.ai/tutorial.html) is definitely a good choice for a library if you're just getting started with machine learning.&#x20;
* [Kaggle](https://www.kaggle.com/) competitions are great for finding datasets and getting ideas for things to work on.
* Image Classification
  * Fast.ai is definitely what you want to use here. Look through their tutorials to get an idea.&#x20;
* Language Modeling (aka generating text)
  * Learn using Andrej Karpathy's [great introductory course](https://karpathy.ai/zero-to-hero.html). It goes from scratch to building a transformer. Extending on any of these significantly and/or implementing all of the coding exercises would be a valid project that would be both fun and an incredible learning experience.  &#x20;
* Reinforcement Learning
  * The following two resources are great for both learning and finding ideas for projects to work on.&#x20;
  * [https://arena3-chapter2-rl.streamlit.app/](https://arena3-chapter2-rl.streamlit.app/%5B2.2%5D_Q-Learning_and_DQN) -> if you're already comfortable with rl, look at the end of each section for bonus exercises if you want ideas.&#x20;
  * <https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf> -> implement algorithms from the canonical tabular RL textbook.&#x20;
* General ideas if you already have experience:
  * Get started on an autodiff library like [this](https://github.com/UlisseMini/light)
  * Implement a neural net class from scratch in Numpy. Include normalization (batch norm, layer norm), gradient clipping, lr-scheduling, dropout, several different optimizers, activation functions, and more.
* For relatively cheap GPU rental, check out [Vast.ai](https://vast.ai/) and [Lambda Labs](https://lambdalabs.com/), but Google Colab should be sufficient for most projects.
  * If you anticipate that paying for GPU rental will be a bottleneck for you, email us at <finance@teenhacksli.com> (cc <vihaan.sondhi@teenhacksli.com>) and we'll see if we can help you out.&#x20;
