第一推动丛书·综合系列(套装共8册)
上QQ阅读APP看书,第一时间看更新

随机对于学习是必须的吗?

这一章有4个要点。一是进化并不仅限于生物领域。二是解空间(状态空间)通常都很大,纯粹随机地搜索答案注定会失败。三是往往可以进化出随机猜测发现不了的好答案。四是如果需要新的信息又不知道到哪里去找,随机会是一个很有用的来源,而且经常是唯一的来源,但也需要对搜索管理得当。

从计算的观点看,对事物的操作可以是确定性的也可以不确定,或者两者兼而有之。确定性过程的结果可以从开始获知,而不确定过程的结果只有到实际发生之后才能知道细节。不确定一词意味着随机性对结果起作用。就算99%肯定的结果也是不确定的,因为没有100%的肯定。

各种背景下使用的进化算法,以及更广义的机器学习,面对的解空间都具有一定的相关性,好的答案聚在一起,最佳答案附近的答案没那么好但也不错。因此学习算法可以将多维解空间划分为多个区域,将好答案与差答案区分开来,从而允许进化算法成功“登山”并发现越来越好的答案。

如果你对答案一无所知,随机猜测将是唯一的选择。在大多数情况下我们对答案有一些了解,根据已知的信息进行适度的随机猜测往往能找到一些不错的答案;如果我们继续在“附近”(解空间)随机寻找答案,就能找到更好的答案。重复这个过程通常能很快找到相当不错的答案。如果你想要最好的答案,可能要很长时间,但经常还是能找到。

通过有约束的随机猜测(在附近的可能性空间取样),找到更好答案的机会大得出奇。只要跟着越来越好的答案,就能很快找到相当不错的答案。这就是复杂引擎的“秘诀。”很多生物进化的批评者认为,一些事物不可能进化出来,因为概率太低了,这是因为他们没有明白这一点。所有学习算法都利用了自然界潜在的有序性。复杂引擎也不例外。数学家能构造出不那么有序的解空间,从而让进化算法不再有效,幸运的是我们的宇宙不是这样构造的。

归根结底,所有成功的学习算法都要获取信息,复杂引擎也不例外。学习算法并不一定必须借助随机性,但如果没有随机输入,学习过程就是确定性的;学习的内容要么内建在算法中,要么从其他来源引进。在解空间中受到适当约束的随机采样与选择结合是获取信息的有力途径。就复杂引擎来说,可以认为这个算法的功能就是从随机性中提取有用信息。