Skip to content

My personal list of what are the things to learn in deep learning.

Notifications You must be signed in to change notification settings

aprbw/ArianDLPrimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 

Repository files navigation

Arian's DL primer

This is a list of what to learn if you want to do deep learning based on my own personal opinion. My biases are:

  • I like neuroscience
  • I am not as good at math and programming as I would like to be (yet)
  • I like pretty pictures
  • I did academia
  • I started with traffic forecasting, so there are more stuff on timeseries and graph
  • This is list was made / updated around 2nd half of 2024. Some things might get outdated in few years (or less).
  • (I haven't actually read everything, this also works as my reading list.)
  • I like a list that started with Khan Academy and ended with Category Theory

More about me: https://www.arianprabowo.com/

Nine small images with schematic representations of differently shaped neural networks, a human hand making a different gesture is placed behind each network.

Alexa Steinbrück / Better Images of AI / Explainable AI / Licenced by CC-BY 4.0

An appetizer board to whet your whistle

Don't expect any real learning to be happening.

Videos:

Interactive stuff:

Reading:

Prerequisite (from literal zero)

  1. Learn the most advanced math that is typically available in hig hschool (Like IB Math HL) : https://www.khanacademy.org/
  2. Learn Python and the typical libraries (NumPy, SciPy, pandas, scikit-learn, matplotlib properly, Vega-Altair)
  3. A Neural Network in 11 lines of Python https://iamtrask.github.io/2015/07/12/basic-python-network/
  4. The famous Andew Ng's Coursera https://www.coursera.org/specializations/machine-learning-introduction
  5. Yann LeCun's NYU Deep Learning course https://atcold.github.io/NYU-DLSP21/
  6. Bishop's PRML https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf
  7. Learn how to read papers. Start by listening to people talking about a paper, and then re-read it after you watch the talk. https://www.youtube.com/c/yannickilcher

(An alternative list of pre-req: https://roadmap.sh/ai-data-scientist)

Tools and practial tips

Time Series

https://github.com/cruiseresearchgroup/DIEF_BTS/blob/main/snippet_6TS_plot.png

Get Dirty

I think this the a good time to get your hand dirty for the first time. Earlier than this is better, but not later.

  • A simple way would be to join competitions: https://www.kaggle.com/
  • Another way is to simply try a new combination of method and dataset that people have not tried before. For example, there are always new timeseries forecasting algorithms: https://paperswithcode.com/task/time-series-forecasting/latest . Yet, usually, these new algorithms have not been tried on many of the timeseries dataset out there: https://forecastingdata.org/ .
  • More experiments and analysis. In an ideal world, every paper out there would be accompanied by a full barrage of experiments and analysis. But due to limited resource (and also efficiency), usually not the entire barrage of analysis have been done. This will give you an opportunity to pick up a paper that you like, and do extra analysis that the paper did not do. The list of analysis includes:
    • Robustness: Hyper-parameter sensitivity
    • Robustness: Initial weight sensitivity
    • Robustness: Random seed for training data loader sensitivity
    • Robustness: Noise in training data
    • Robustness: Noise in input data during inference
    • Scaling: Data
    • Scaling: Compute
    • Error Analysis: Generate a residual plot or a confusion matrix to find the source of systematic error
    • Error Visualisation: Find the sample data with the largest amount of error and visualise the error
    • Attention Mechanism Visualization
    • Saliency Maps
    • Linear Probes and Tuned Lens
  • Module combinations: Example, if there is a paper that uses an LSTM module, try to replace it with GRU or CNN or transformer.

Basic Concepts

By basic, I do not mean that this where people should start. That would be the pre-requisite. I do not mean that this is going to be easy or simple either. In fact, in my opinion, these are quite difficult and complex (or maybe I'm just not that smart). I think people should have gotten dirty with a couple of hands on project before getting to this stage. I think, only by then people are going to be able the appreciate the basics, as in the different theories on what are the elementary building blocks, the fundamentals. Note that, as this is only a baby science, nobody knows what works, and how it works yet. But below is a collection of some theories that are most probably wrong, but contains some useful heuristic to help us along the way. I think it is worth slowing down and understanding every ideas in this section.

Useful Concepts

Other lists

About

My personal list of what are the things to learn in deep learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published