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. Skymind’s SKIL also includes a managed Conda environment for machine learning tools using Python.

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

GET STARTED WITH DEEP LEARNING

Free Machine- and Deep-learning Courses Online

Math

The math involved with deep learning is basically linear algebra, calculus and probility, 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).

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 Theano and the various Python frameworks built atop it, including Keras and Lasagne.

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.

Deeplearning4j

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

You can also download a free version of the Skymind Intelligence Layer, which supports Python, Java and Scala machine-learning and data science tools. SKIL is a machine-learning backend that works on prem and in the cloud, and can ship with your software to provide a machine learning model server.

Other Resources

Most of what we know about deep learning is contained in academic papers. We’ve linked to a number of them here.

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 Stackoverflow and Math Stackexchange.

Beginner’s Guides for Deep Learning and Machine Learning

Chat with us on Gitter