
i
i
i
i
i
i
i
i
1.6 Notation and Mathematical Background
Notes and References
Since this book is purposefully agnostic both to implementation issues and to the historical account
of deep learning, we use an unnumbered section such as this at the end of every chapter to provide
key notes and references. More additional information is also available via the book’s website.
15
The
website also includes links to articles and references, tutorials, videos, and mathematical background.
In terms of implementation, at the time of writing this book, almost any introductory (or advanced)
work in deep learning uses the Python language. See for example [
35
] for a general intermediate guide
to Python. Neat examples in Python for general machine learning are in [
22
], and that resource can
also serve as a comprehensive mathematical introduction to the whole field of machine learning and
data science. Another language slowly stepping into the spotlight is Julia, see [
28
] for a statistical
introduction to the language and [
34
] to get a taste for scientific machine learning, where Julia
is often used. Further, the R statistical computing system has a vast user base in statistics and
supports tens of thousands of packages as well as multiple interfaces to deep learning frameworks.
See for example [
23
] for a classical introduction to statistics with R and [
2
] for ways of using R
with deep learning. Until around 2015, programming in C/C++ for deep learning was the norm.
However, these days it is much more of a speciality and is only required in very specific cases. See for
example [
31
] for a classical text involving pattern recognition and C/C++. Paid language platforms
such as Mathematica, Maple, and MATLAB are attempting to retain some of their user base by
incorporating deep learning libraries. However to date, these commercial systems have shown to be
much less mature with deep learning in comparison to the open source arena.
Beyond the computer languages in use, a key aspect of deep learning is the usage of deep learning
frameworks. These are software packages for training and execution of the model. In the near past,
the most popular framework was TensorFlow supported with the higher level interface of Keras.
See for example [
11
]. However more recently PyTorch, see for example [
32
], has gained much more
popularity and it has higher level interfaces such as fast.ai or PyTorch Lightning. See also Flux.jl in
the Julia arena. In general, [
19
] provides a comprehensive applied introduction to deep learning
with fast.ai and PyTorch. Further, consider the video lecture series coordinated by Andrew Ng
16
;
see also [29]. Our book’s website provides more information and suggested resources.
Some quantitive measures of the size of the human brain and other brains is in [
17
]. As we do not
provide a complete historical account of deep learning and its relationship with neuroscience, we
recommend the article [
38
] for a taste of recent work on neuroscience inspired by deep learning.
Also see [
16
] for a comprehensive condensed review of the interface of the fields, both historically
and today. An interesting style of neural network architecture which attempts to resemble the brain
more closely than standard architectures is the spiking neural network; see for example [
43
]. More
relationships with neuroscience as well as other views of deep learning can be found in other deep
learning texts. A now classical deep learning book is [
12
], and a slightly more recent comprehensive
textbook is [
1
]. See also the book [
30
], as well as a more recent book taking a mathematical
approach [5].
A recognized reference for the Turing test from 1950 is [
44
]. The first major work on neural network
architectures is the perceptron by Frank Rosenblatt [
37
] in 1958. A major landmark that helped
spark general attention in deep learning is the AlexNet success in the 2012 ImageNet challenge, [
21
].
The literature and work between Rosenbladtt’s early work and the 2012 AlexNet success is too
numerous to list here. It involved an evolution of many ideas and experiments over decades. A good
starting point for the key references is the nature paper [
24
]. Further key references are mentioned
at the end of the chapters in the sequel.
The creation of the ImageNet database by Fei-Fei Li, her team, and collaborators has had a profound
affect on deep learning in the second decade of this century. ImageNet, [
8
], was created with the
aid of Amazon’s Mechanical Turk service and with the WordNet, [
27
], hierarchical word database.
The VGG19 model (see [
40
] as well as the VGG16 model) mentioned in this chapter is one of
several models that at the time of creation had near-top performance in the ImageNet challenge,
associated with the ImageNet database. There are many additional models that are both more
efficient and outperform VGG19 and VGG16. The frontier keeps improving. See for example the
empirical analysis [
6
] to get a feel for the performance metrics at play. Chapter
??
provides more
references to landmark convolutional architectures.
15
See https://deeplearningmath.org/.
16
See https://www.deeplearning.ai/.
25