How Smart Machines Think (MIT Press)
All of us know that autonomous self-driving cars are being actively tested and will be coming to roads near us very soon. Likewise, we know that computers can be programmed to offer us Netflix movie suggestions based on previous choices, can play chess, have beaten Ken Jennings on the TV game show Jeopardy and bested the Japanese master at the game of GO. Many of us use voice recognition software to produce typed words on a page by speaking to the computer. What we may not know is what lies “under the hood” of computers, allowing them to accomplish these complex and at times, seemingly magical tasks. Sean Gerrish in his book How Smart Machines Think takes us on a deep dive into how machines accomplish these challenges.
In truth, perhaps the book title should be How Smart Machines “Think,” since even the most sophisticated computers don’t really “think.” They respond to preprogrammed sequential mathematical rules called algorithms. Nonetheless, the amazing tasks that these machines can perform and the speed with which they react make it appear that they truly have cognition.
Sean Gerrish, who works at Google, is a software engineer and self-proclaimed “machine learning geek.” In the book, he describes the operations that computers must perform to successfully accomplish a desired goal.
The first and most intriguing scenario presented is the operation of self-driving cars and what their computers must do to safely transport us from one place to another. These chapters start with the first self-driving car competition in 2007, in which all of the vehicles failed miserably. The author then describes how successive iterations of the software has become more and more effective.
Most of us already use a Global Positioning System (GPS) to navigate with remarkable accuracy. However having a driverless car accomplish this safely requires many considerations. In the course of driving, a competent human driver performs a number of tasks almost automatically. Now these functions must be translated into mathematical formulas that the computer can obey—such as:
• Keeping the car within the appropriate lane.
• Yielding at intersections.
• Planning a path and following it.
• “Seeing” obstacles and successfully avoiding them.
• Perceiving that the car can drive over a small amount of ice without swerving off the road—just to name a few.
The downside of this book is that no matter how transparent and clear the author attempts to make these concepts, they remain complex and outside the experiential realm of the typical reader. For example:
“The problem with this Q function is that, if we wanted to represent the action value cube perfectly, then to encode that function on a computer, we would still need an enormous amount of disk space to store the program.”
“Why doesn’t the ReLu have the same problem the S-curve had, given that large parts of the ReLu are also flat?”
“Deep QA has nothing to do with Deep learning. The ‘Deep’ in DeepQA refers to deep natural language processing or deep question answering, phrases that IBM used to contrast it with simpler approaches to natural language processing, like the methods used in its individual scorers.”
Readers who are themselves computer geeks will find the text easier to read and more illustrative than the casual reader who will find the material dense. Latter types of readers may find the book easier to skim, getting the gist of the material rather than reading paragraph by paragraph. Hello World: Being Human in the Age of Algorithms by Hannah Fry (reviewed at NYJB in October 2018) is an easier read and an eminently more comprehensible book on the same topic.