arrow-left
All pages
gitbookPowered by GitBook
1 of 1

Loading...

Beginners

Road map for beginners new to deep learning.

hashtag
How Do I Start Using Deep Learning?

Where you start depends on what you already know.

The prerequisites for really understanding deep learning are linear algebra, calculus and statistics, as well as programming and some machine learning. The prerequisites for applying it are just learning how to deploy a model.

In the case of Deeplearning4j, you should know Java well and be comfortable with tools like the IntelliJ IDE and the automated build tool Maven.

Below you'll find a list of resources. The sections are roughly organized in the order they will be useful.

hashtag
Free Machine- and Deep-learning Courses Online

  • (For those interested in a survey of artificial intelligence.)

hashtag
Math

The math involved with deep learning is basically linear algebra, calculus and probability, and if you have studied those at the undergraduate level, you will be able to understand most of the ideas and notation in deep-learning papers. If haven't studied those in college, never fear. There are many free resources available (and some on this website).

hashtag
Programming

If you do not know how to program yet, you can start with Java, but you might find other languages easier. Python and Ruby resources can convey the basic ideas in a faster feedback loop. "Learn Python the Hard Way" and "Learn to Program (Ruby)" are two great places to start.

If you want to jump into deep-learning from here without Java, we recommend and the various Python frameworks built atop it, including and .

hashtag
Python

hashtag
Java

Once you have programming basics down, tackle Java, the world's most widely used programming language. Most large organizations in the world operate on huge Java code bases. (There will always be Java jobs.) The big data stack -- Hadoop, Spark, Kafka, Lucene, Solr, Cassandra, Flink -- have largely been written for Java's compute environment, the JVM.

hashtag
Deeplearning4j

With that under your belt, we recommend you approach Deeplearning4j through its .

hashtag
Other Resources

Most of what we know about deep learning is contained in academic papers. You can find some of the major research groups .

While individual courses have limits on what they can teach, the Internet does not. Most math and programming questions can be answered by Googling and searching sites like and .

Andrej Karpathy's Convolutional Neural Networks Class at Stanfordarrow-up-right (For those interested in image recognition.)

  • ML@B: Machine Learning Crash Course: Part 1arrow-up-right

  • ML@B: Machine Learning Crash Course: Part 2arrow-up-right

  • Gradient descent, how neural networks learn, Deep learning, part 2arrow-up-right

  • Khan Academy's Linear Algebra Coursearrow-up-right
  • Linear Algebra for Machine Learningarrow-up-right; Patrick van der Smagt

  • CMU's Linear Algebra Reviewarrow-up-right

  • Math for Machine Learningarrow-up-right

  • Immersive Linear Algebraarrow-up-right

  • Probability Cheatsheetarrow-up-right

  • The best linear algebra booksarrow-up-right

  • Markov Chains, Visually Explainedarrow-up-right

  • An Introduction to MCMC for Machine Learningarrow-up-right

  • Eigenvectors, Eigenvalues, PCA, Covariance and Entropyarrow-up-right

  • Markov Chain Monte Carlo (MCMC) & Machine Learningarrow-up-right

  • Relearning Matrices as Linear Functionsarrow-up-right

  • Intro to the Command Linearrow-up-right
  • Additional command-line tutorialarrow-up-right

  • A Vim Tutorial and Primerarrow-up-right (Vim is an editor accessible from the command line.)

  • Intro to Computer Science (CS50 @Harvard edX)arrow-up-right

  • A Gentle Introduction to Machine Fundamentalsarrow-up-right

  • Teaching Carrow-up-right

  • MIT: Introduction to Computer Science and Python Programmingarrow-up-right
  • David Beazley: Python Tutorialsarrow-up-right

  • CS231n: Python Numpy Tutorialarrow-up-right

  • Pyret: A Python Learning Environmentarrow-up-right

  • JShell in 5 Minutesarrow-up-right
  • Java Resourcesarrow-up-right

  • Java Ranch: A Community for Java Beginnersarrow-up-right

  • Intro to Programming in Java @Princetonarrow-up-right

  • Head First Javaarrow-up-right

  • Java in a Nutshellarrow-up-right

  • Java Programming for Complete Beginners in 250 Stepsarrow-up-right

  • Andrew Ng's Machine-Learning Class on YouTubearrow-up-right
    Geoff Hinton's Neural Networks Class on YouTubearrow-up-right
    Patrick Winston's Introduction to Artificial Intelligence @MITarrow-up-right
    Calculus Made Easy, by Silvanus P. Thompsonarrow-up-right
    Seeing Theory: A Visual Introduction to Probability and Statisticsarrow-up-right
    Andrew Ng's 6-Part Review of Linear Algebraarrow-up-right
    Scratch: A Visual Programming Environment From MITarrow-up-right
    Learn to Program (Ruby)arrow-up-right
    Grasshopper: A Mobile App to Learn Basic Coding (Javascript)arrow-up-right
    Theanoarrow-up-right
    Kerasarrow-up-right
    Lasagnearrow-up-right
    Learn Python the Hard Wayarrow-up-right
    Google's Python Classarrow-up-right
    Udemy: Complete Python 3 Masterclass Journeyarrow-up-right
    Think Java: Interactive Web-based Dev Environmentarrow-up-right
    Learn Java The Hard Wayarrow-up-right
    Introduction to JShellarrow-up-right
    examplesarrow-up-right
    Quickstart
    herearrow-up-right
    Stackoverflowarrow-up-right
    Math Stackexchangearrow-up-right