This lesson is still being designed and assembled (Pre-Alpha version)

Deep Learning in the Real World

Overview

Teaching: 0 min
Exercises: 0 min
Questions
  • What kinds of layer can be built into a neural network?

  • Based on different questions, what kind of layers should we used?

Objectives
  • Learning more advanced layer design

Neural Networks in Realistic Applications

Today, deep learning has been applied in many sophisticated applications which were previously thought impossible to do by computers. These include

In cybersecurity, neural network models have been deployed to filter spam emails, network intrusion and threat detection, detection of malware on a computer system, among other uses. Some real-world examples are listed in the following articles: “Five Amazing Applications of Deep Learning in Cybersecurity”; as well as “Google uses machine learning to catch spam missed by Gmail filters”.

These sophisticated applications call from more complex network architectures, which include additional types of layers to help these networks in identifying patterns from spatial data points (collected from 2-D or 3-D images) and learning from sequences of data points (event correlation analysis, voice and video analysis). In this episode, we will briefly touch on various layers (beyond traditional dense neuron layers) that are used in state-of-the-art neural network models. We will also present an overview of several network architectures and their applications.

Types of Layers in Neural Networks

In order to build a neural network, one needs to know the different kinds layers which make up the building block of a neural network. In addition to the fully connected neuron layer (described in the previous episode), which constitutes the “thinking” part of the network, there are other types of layers that can provide spatial or temporal perception, “memory”, etc.

Activation Functions

There are several types of activation functions that can be used in modeling the neurons.

Some popular activation functions

Figure 4: Some popular activation functions (credit: Medium user @krishnakalyan3).

The Sigmoid function is the classic choice in the older days of neural networks. Recently, the ReLU (rectified linear unit) function has gained popularity because it is much cheaper to compute. The ELU (exponential linear unit) function is gaining popularity as it has been shown to perform faster and more accurately on some benchmark data.

Building a Neural Network

Building an appropriate network for a given task requires intuition and many experimentations to pick the best network. There are many tutorials and courses on deep learning which covers this topic (see the References section). A brief article by Jason Brownlee covers some of the approach, with some pointers for further reading. In reality, it will take a lot of trial-and-error to build a network that performs best for a certain task.

Other Neural Network Architectures

There are some more advanced layers which we will mention because it will be used in some exercises:

Resnet architecture

Figure 5: A residual block where x is the input, F(x) is the output vector and F(x) + x is the residual mapping to be learned (cite: He et. al.).

RNN architecture

TNN architecture

Figure 8: Transformer Neural Network architecture (cite: “Attention Is All You Need” (et. al.)).

“Transformers Explained Visually …” uses a text sequence example to illustrate how a TNN works.

DBN architecture

Figure 9: Deep Belief Network architecture (cite: “An Overview of Deep Belief Network (DBN) in Deep Learning” (Kalita)).

Further Reading

Here are cheetsheets of convolutional neural network and Recurrent Neural Network from Stanford University.

There is an interesting chart by Fjodor Van Veen for well-known neural network types.

Key Points

  • Layer design