Deeplearning4j
Community ForumND4J JavadocDL4J Javadoc
EN 1.0.0-beta6
EN 1.0.0-beta6
  • Eclipse DeepLearning4J
  • Getting Started
    • Quickstart
    • Tutorials
      • Quickstart with MNIST
      • MultiLayerNetwork And ComputationGraph
      • Logistic Regression
      • Built-in Data Iterators
      • Feed Forward Networks
      • Basic Autoencoder
      • Advanced Autoencoder
      • Convolutional Networks
      • Recurrent Networks
      • Early Stopping
      • Layers and Preprocessors
      • Hyperparameter Optimization
      • Using Multiple GPUs
      • Clinical Time Series LSTM
      • Sea Temperature Convolutional LSTM
      • Sea Temperature Convolutional LSTM 2
      • Instacart Multitask Example
      • Instacart Single Task Example
      • Cloud Detection Example
    • Core Concepts
    • Cheat Sheet
    • Examples Tour
    • Deep Learning Beginners
    • Build from Source
    • Contribute
      • Eclipse Contributors
    • Benchmark Guide
    • About
    • Release Notes
  • Configuration
    • Backends
      • CPU and AVX
      • cuDNN
      • Performance Issues
    • Memory Management
      • Memory Workspaces
    • Snapshots
    • Maven
    • SBT, Gradle, & Others
  • Models
    • Autoencoders
    • Multilayer Network
    • Computation Graph
    • Convolutional Neural Network
    • Recurrent Neural Network
    • Layers
    • Vertices
    • Iterators
    • Listeners
    • Custom Layers
    • Model Persistence
    • Activations
    • Updaters
  • Model Zoo
    • Overview
    • Zoo Models
  • ND4J
    • Overview
    • Quickstart
    • Backend
    • Basics
    • Elementwise Operations
    • Matrix Manipulation
    • Syntax
    • Tensors
  • SAMEDIFF
    • Importing TensorFlow models
    • Variables
    • Ops
    • Adding Ops
  • Tuning & Training
    • Evaluation
    • Visualization
    • Trouble Shooting
    • Early Stopping
    • t-SNE Visualization
    • Transfer Learning
  • DISTRIBUTED DEEP LEARNING
    • Introduction/Getting Started
    • Technical Explanation
    • Spark Guide
    • Spark Data Pipelines Guide
    • API Reference
    • Parameter Server
  • Keras Import
    • Overview
    • Get Started
    • Supported Features
      • Activations
      • Losses
      • Regularizers
      • Initializers
      • Constraints
      • Optimizers
    • Functional Model
    • Sequential Model
    • API Reference
      • Core Layers
      • Convolutional Layers
      • Embedding Layers
      • Local Layers
      • Noise Layers
      • Normalization Layers
      • Pooling Layers
      • Recurrent Layers
      • Wrapper Layers
      • Advanced Activations
  • Arbiter
    • Overview
    • Layer Spaces
    • Parameter Spaces
  • Datavec
    • Overview
    • Records
    • Reductions
    • Schema
    • Serialization
    • Transforms
    • Analysis
    • Readers
    • Conditions
    • Executors
    • Filters
    • Operations
    • Normalization
    • Visualization
  • Language Processing
    • Overview
    • Word2Vec
    • Doc2Vec
    • Sentence Iteration
    • Tokenization
    • Vocabulary Cache
  • Mobile (Android)
    • Setup
    • Tutorial: First Steps
    • Tutorial: Classifier
    • Tutorial: Image Classifier
  • FAQ
  • Press
  • Support
  • Why Deep Learning?
Powered by GitBook
On this page
  • How Do I Start Using Deep Learning?
  • Free Machine- and Deep-learning Courses Online
  • Math
  • Programming
  • Python
  • Java
  • Deeplearning4j
  • Other Resources

Was this helpful?

Edit on Git
Export as PDF
  1. Getting Started

Deep Learning Beginners

Road map for beginners new to deep learning.

PreviousExamples TourNextBuild from Source

Last updated 5 years ago

Was this helpful?

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.

Free Machine- and Deep-learning Courses Online

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

  • (For those interested in image recognition.)

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.

Python

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

Other Resources

; Patrick van der Smagt

(Vim is an editor accessible from the command line.)

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

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

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 .

Andrew Ng's Machine-Learning Class on YouTube
Geoff Hinton's Neural Networks Class on YouTube
Patrick Winston's Introduction to Artificial Intelligence @MIT
Andrej Karpathy's Convolutional Neural Networks Class at Stanford
ML@B: Machine Learning Crash Course: Part 1
ML@B: Machine Learning Crash Course: Part 2
Gradient descent, how neural networks learn, Deep learning, part 2
Calculus Made Easy, by Silvanus P. Thompson
Seeing Theory: A Visual Introduction to Probability and Statistics
Andrew Ng's 6-Part Review of Linear Algebra
Khan Academy's Linear Algebra Course
Linear Algebra for Machine Learning
CMU's Linear Algebra Review
Math for Machine Learning
Immersive Linear Algebra
Probability Cheatsheet
The best linear algebra books
Markov Chains, Visually Explained
An Introduction to MCMC for Machine Learning
Eigenvectors, Eigenvalues, PCA, Covariance and Entropy
Markov Chain Monte Carlo (MCMC) & Machine Learning
Relearning Matrices as Linear Functions
Scratch: A Visual Programming Environment From MIT
Learn to Program (Ruby)
Grasshopper: A Mobile App to Learn Basic Coding (Javascript)
Intro to the Command Line
Additional command-line tutorial
A Vim Tutorial and Primer
Intro to Computer Science (CS50 @Harvard edX)
A Gentle Introduction to Machine Fundamentals
Teaching C
Theano
Keras
Lasagne
Learn Python the Hard Way
Google's Python Class
Udemy: Complete Python 3 Masterclass Journey
MIT: Introduction to Computer Science and Python Programming
David Beazley: Python Tutorials
CS231n: Python Numpy Tutorial
Pyret: A Python Learning Environment
Think Java: Interactive Web-based Dev Environment
Learn Java The Hard Way
Introduction to JShell
JShell in 5 Minutes
Java Resources
Java Ranch: A Community for Java Beginners
Intro to Programming in Java @Princeton
Head First Java
Java in a Nutshell
Java Programming for Complete Beginners in 250 Steps
examples
Quickstart
here
Stackoverflow
Math Stackexchange