Top critical review
A surprisingly poor book--who is the audience?
Reviewed in the United States on September 26, 2017
I am surprised by how poorly written this book is. I eagerly bought it based on all the positive reviews it had received.
Bad mistake. Only a few of the reviews clearly state the obvious problems of this book. Oddly enough, these informative
reviews tend to attract aggressively negative comments of an almost personal nature.
The disconnect between the majority of cloyingly effusive reviews of this book and the reality of how it is written
is quite flabbergasting. I do not wish to speculate on the reason for this but it does sometimes does occur with
a first book in an important area or when dealing with pioneer authors with a cult following.
First of all, it is not clear who is the audience--the writing does not provide details at the level one
expects from a textbook. It also does not provide a good overview ("big picture thinking"). Advanced readers
would also not gain much because it is too superficial, when it comes to the advanced topics (final 35% of book).
More than half of this book reads like a bibliographic notes section of a book, and the authors seem
to be have no understanding of the didactic intention of a textbook (beyond a collation or importance sampling
of various topics). In other words, these portions read
like a prose description of a bibliography, with equations thrown in for annotation. The level of
detail is more similar to an expanded ACM Computing Surveys article rather than a textbook in
several chapters. At the other extreme of audience expectation, we have a review of linear algebra in the beginning,
which is a waste of useful space that could have been spent on actual explanations in other
chapters. If you don't know linear algebra already, you cannot really hope to follow
anything (especially in the way the book is written). In any case, the linear
algebra introduced in that chapter is too poorly written to even brush up on known material-- so who is that for?
As a practical matter, Part I of the book is mostly redundant/off-topic for a neural network book
(containing linear algebra, probability, and so on)
and Part III is written in a superficial way--so only a third of the book is remotely useful.
Other than a chapter on optimization algorithms (good description of algorithms like
Adam), I do not see even a single chapter that has done a half-decent job of presenting
algorithms with the proper conceptual framework. The presentation style is unnecessarily terse,
and dry, and is stylistically more similar to a research paper rather than a book.
It is understood that any machine learning book would have some mathematical sophistication, but the
main problem is caused by a lack of concern on part of the authors in promoting readability and an inability to
put themselves in reader shoes (surprisingly enough, some defensive responses to negative reviews tend to place
blame on math-phobic readers). At the end of the day, it is the author's responsibility to make
notational and organizational choices that are likely to maximize understanding.
Good mathematicians have excellent manners while choosing notation (you don't use nested
subscripts/superscripts/functions if you possess the clarity to do it more simply).
And no, math equations are not the same as algorithms-- only a small part of it. Where is the rest?
Where is the algorithm described? Where is the conceptual framework?
Where is the intuition? Where are the pseudocodes? Where are the illustrations? Where are the examples?
No, I am not asking for recipes or Python code. Just some decent writing, details, and explanations.
The sections on applications, LSTM and convolutional neural networks are hand-wavy at places and
read like "you can do this to achieve that." It is impossible to fully reconstruct the methods from the
A large part of the book (including restricted Boltzmann machines)
is so tightly integrated with Probabilistic Graphical models (PGM), so that it loses its neural network focus.
This portion is also in the latter part of the book that is written in a rather superficial way and
therefore it implicitly creates another prerequisite of being very used to PGM (sort-of knowing it wouldn't be enough). .
Keep in mind that the PGM view of neural networks is not the dominant view today, from either a practitioner
or a research point of view. So why the focus on PGM, if they don't have the space to elaborate?
On the one hand, the authors make a futile attempt at promoting accessibility by discussing redundant
pre-requisites like basic linear algebra/probability basics. On the other hand, the PGM-heavy approach implicitly
increases the pre-requisites to include an even more advanced machine learning topic than neural networks
(with a 1200+ page book of its own). What the authors are doing is the equivalent of trying to teach someone
how to multiply two numbers as a special case of tensor multiplication. Even for RNNs with deterministic hidden states
they feel the need to couch it as a graphical model. It is useful to connect areas, but mixing them
is a bad idea. Look at Hinton's course. It does explain the connection between Boltzmann machines and PGM
very nicely, but one can easily follow RBM without having to bear the constant burden of a PGM-centric view.
One fact that I think played a role in these types of strategic errors of judgement is the fact that the
lead author is a fresh PhD graduate There is no substitute for experience when it comes to maturity
in writing ability (irrespective of how good a researcher someone is). Mature writers have the ability to put
themselves in reader shoes and have a good sense of what is conceptually important. The
authors clearly miss the forest from the trees, with chapter titles like "Confronting
the partition function." The book is an example of the fact that a first book in an important area with the name of
a pioneer author in it is not necessarily a qualification for being considered a good book.
I am not hesitant to call it out. The emperor has no clothes.