许多人第一次听到进化论是一种学习形式的想法时,都觉得难以置信。因此,我将首先认识到这两种现象在某种意义上确实是不同的——尽管在某种意义上进化实际上比PAC学习更弱。稍后我将继续论证达尔文进化论可以被表述为PAC学习的一种特殊形式。
考虑下面这个寓言。假设有一只生活在森林里的猴子吃了任何一种香蕉、浆果、橙子和苹果。这可以看作是一个分离的或或或,其中, , , 分别表示香蕉,浆果,橙子和苹果。现在假设一种味道不好的浆果入侵了这个地区。然后,猴子可以学习最优的新分离,即或或,通过消除浆果变量从它的分离后,第一次体验一个糟糕的浆果。这相当于执行我们前面讨论过的学习分离的消除算法。
现在,假设新的浆果实际上是致命的。进化是否可以学习避免致命的浆果,就像学习可以避免味道不好的浆果一样?达尔文说不完全是。如果一只猴子因为吃了有毒的浆果而死亡,那么它的后代的基因组将不会立即被纠正,以从它们的分离中消除。猴子的后代不仅仅是进入并更新自己的基因组。达尔文提出的机制是,通过突变,在不同的后代中也会产生与亲本的、、或基因相似但又不同的各种分离。例如,有些将包含、或,而有些将包含、或。只有拥有幸运的DAN (、或)的个体才会幸存下来,因为它们在分离过程中忽略了致命的。
当然,虽然这种达尔文机制最终可能会达到同样的结果,即在后代中有一群猴子,它们都像淘汰算法那样避免进食浆果,但它不那么直接,也不那么有效,因为有更多的个体出生后过早死亡。从糟糕的经历到好的基因组的达尔文反馈机制,至少比学习算法允许的直接消除更迂回。与直接学习方法相比,达尔文机制是否效率低下到无法忍受的地步,这是需要回答的基本问题。很明显,在某些无限极限下,达尔文的机制肯定会达到同样的结果。而现实世界,一如既往,又是另一回事。
这个达尔文反馈约束可以重新表述如下。在感知器算法中,假设的更新,如图3.7所示,很大程度上取决于所看到的特定例子,甚至是它们被看到的顺序。在进化的背景下,这意味着如果猴子最后吃的两种食物是香蕉和浆果,它们吃的顺序可能会影响后代的基因组。也就是说,感知器算法是拉马克式的。然而,在达尔文的进化论中,不同于拉马克早期的理论,基因变异是独立于当前的经验产生的。经验的唯一作用是比较各种后代假设产生后的适用性。相反,在一般的学习中,一个例子可以立即影响后续学习过程的各个方面。事实证明,这种区别确实在计算能力上造成了可论证的差异:存在PAC可学习的概念类,但在受到达尔文约束的情况下就不是这样了。由此产生的实质性问题是:达尔文进化论是否几乎和PAC学习一样强大,或者在它可以学习的机制范围内,它实质上更弱?
在更深的层面上,进化比学习更加繁重。在学习中,或者至少在机器学习中,坚持允许从任何初始假设开始这个过程是合理的。我们可能想要选择计算上最有效的初始假设。在学习连接的消除算法中,我们总是以同样的方式开始,所有变量及其否定的连接。由于该算法只在过程中消除了变量,所以如果要学习任何连接,它需要从所有可用的变量开始。
进化负担不起这种奢侈。它需要能够从它拥有的任何基因组开始成功。重新初始化到算法上方便的起点的可能性是不现实的。迁移到这样一个新的起点的问题是,它可能会使这个物种比目前的适应能力差很多,因此不会与任何没有迁移的表亲竞争。生物实体一般不能承受如此武断的适应度大幅度下降。事实上,人们相信,在生物学上持续的突变大多是有益的,或至少在采用时接近中性。令人高兴的是,对于一般的学习算法来说,这种任意起点的要求并不是完全陌生的,某些特定的算法满足了这个要求。例如,已知感知器算法从任何初始假设开始都能正确工作。