Top positive review
21 of 27 people found this helpful
Great thought starter on applying machine learning to evolution
on July 20, 2013
In short: whether you're a computer scientist familiar with machine learning algorithms, or whether you don't know much about artificial intelligence, this book has profound and novel insights to offer. I've been a practitioner of machine learning for a long time, and yet the book's framework relating machine learning to evolution gave me a whole bunch of "aha" moments. So pick it up and give it a read.
The book's thesis in a few words: cognitive concepts are computational, and they are acquired by a learning process, before and after birth. Nature, the grand designer, uses ecorithms to guide this process - systems whose functioning and whose parameters are learned and evolved, as opposed to written down once (like algorithms). The processes of learning, evolution and reasoning are the building blocks of ecorithms.
This, in and of itself, is not a new framework. Open any artificial intelligence textbook, and the table of contents will be organized into algorithms for "learning" and "reasoning". So nothing new there. But then, the book launches into an excellent, simple and mind-blowing thought experiment: what if nature were simply relying on the same simple learning algorithms that we as humans have been researching, with the same constraints - and evolution is just that formal learning process in action? And then: given all we know about the parameters of these learning algorithms, would evolution have been mathematically possible?
To answer that, the author goes into some detail on computational complexity theory. Computer science has shown that there are many seemingly simple processes that aren't solvable in polynomial time - meaning, if you make them big enough, solving them will take longer than the universe existed. The question of the shortest overall path in visiting all cities in a particular geography is such a problem. So if it is so easy to mathematically prove that so many really simple problems aren't solvable in the time the universe existed, how would it even be remotely possible that evolution build something as complex as the human brain in an even shorter time frame?
The book then essentially explores areas of machine learning just deep enough to show that it probably would be possible. There are enough real-world functions of the "probably approximately correct"-learnable class that are learnable in polynomial time, and algorithms that do the learning that we already know (and use) today, that it's imaginable that nature relies on variants of those. The book has some strong tidbits it throws out in the course of discussing this. For example, it turns out that parity functions (deciding, without counting, whether something is odd or even) aren't PAC-learnable. So far, so satisfying a read.
One of the book's drawbacks is that a lot of the details are left open. In the author's thesis, the genome and our protein networks somehow encode the parameters of the learning algorithms nature uses. But of course we have no idea how that actually happens (and the book doesn't pretend that it knows). Another drawback is that the book seemingly can't quite decide on its audience: is it pop science or more serious work? It oscillates strangely between being very concrete and being hand-wavy: for example, when discussing the limits of machine learning (semantics, brittleness, complexity, grounding), there isn't anything offered in terms of why machine learning is so brittle (just try Apple's Siri). It also somewhat casually throws around ideas that are mind-blowing but totally unproven: for example, it is known that our working memory can only hold 7 +/- 2 objects at any point in time. The author argues that this is by design, so that the subsequent learning algorithms have an easier time picking up features. That's a pretty cool line of thinking, because it would suggest that nature uses the same heuristics that we as computer scientists use when tackling a learning problem (reduction in features and dimensionality). But it's also totally unproven that THIS is why we have limited working memory, or that THIS is what it does. The book also doesn't go into any depths on learning algorithms we already know, even though a lot of the known algorithms actually have pretty simple intuitions underlying them that could nicely be treated for a non-computer science audience.
But overall, there are some awesome thought starters in this book. It is not always an easy read. But certainly worth it.