Images classification with Convolutional Neural Networks, Deeplearning4j and Spark
Deeplearning4j is a library which provides implementation for some deep learning algorithms. Among the others it supports Convolutional Neural Network, which is kind of artificial neural network inspired by nature (how animal visual cortex works). The idea behind CNN is quite similar to "regular" neural network. There are layers of neurons which have inputs, weights and biases that are used to compute dot-product, and its linear or non-linear transformation. The most significant difference is that images are assumed as network inputs, neurons between layer are not fully connected to each other and some of them share their weights. More detailed information about such neural networks can be found on this web site created by Andrej Karpathy from Stanford University. Here, all code is written in Java.