Deep Learning for Beginners

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.

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. You can find some of the major research groups 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.

API Reference

API Reference

Detailed API docs for all libraries including DL4J, ND4J, DataVec, and Arbiter.

Examples

Examples

Explore sample projects and demos for DL4J, ND4J, and DataVec in multiple languages including Java and Kotlin.

Tutorials

Tutorials

Step-by-step tutorials for learning concepts in deep learning while using the DL4J API.

Guide

Guide

In-depth documentation on different scenarios including import, distributed training, early stopping, and GPU setup.

Deploying models? There's a tool for that.