Image Classification using Convolutional Neural Networks

So far, we haven't developed any machine learning (ML) projects for image processing tasks. Linear ML models and other regular deep neural network (DNN) models, such as Multilayer Perceptrons (MLPs) or Deep Belief Networks (DBNs), cannot learn or model non-linear features from images.

On the other hand, a convolutional neural network (CNN) is a type of feedforward neural network in which the connectivity pattern between its neurons is inspired by the animal visual cortex. In the last few years, CNNs have demonstrated superhuman performance in complex visual tasks such as image search services, self-driving cars, automatic video classification, voice recognition, and natural language processing (NLP).

In this chapter, we will see how to develop an end-to-end project for handling multi-label (that is, each entity can belong to multiple classes) image classification problems using CNN based on the Scala and Deeplearning4j (DL4j) framework with real Yelp image datasets. We will also discuss some theoretical aspects of CNNs and how to tune hyperparameters for better classification results before getting started.

In a nutshell, we will learn the following topics throughout this end-to-end project:

  • The drawbacks of regular DNNs
  • CNN architectures: convolution operations and pooling layers
  • Image classification using CNNs
  • Tuning CNN hyperparameters
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset