在近10年的时间里,机器学习算法这项技术的发展取得突破性进展,改变了众多行业,已经深入到我们生活的方方面面,起着不可或缺的作用。在今天,当你调戏Siri和小冰的时候,当你刷抖音、头条资讯的时候,甚至在你搜索信息歌曲的时候,其实都是背后的机器学习算法在为你服务,因此对于这样一项重要技术,对于我们来说非常有必要进行了解。
本书就从一种特别的角度对机器学习算法进行了介绍,即是否存在一种可以解决所有问题的通用算法?通过先抛出这样一个引人深思的问题,一步步回顾机器学习发展史上的重要流派和代表算法,即给我们介绍了基本概念和技术的优缺点、能力边界,又鼓励我们思考终极算法如何借鉴这类算法的优点。当我们带着好奇读完这本书后,不论是否相信终极算法的存在,至少已经对各类机器学习算法都有了一定的印象,对机器学习也有了自己的思考体会,相信都会收获不少。接下来,我就会谈一下自己对本书中五个学派的了解和对于终极算法是否存在的思考。
首先,先简单的介绍一下机器学习算法这一个概念。在互联网时代,随着技术的发展,我们的一举一动、每个想法都在一定程度上能用数据表示,也就是说,我们都会被数据化,尤其在未来,我们可能都只是一个超级网络中的一个数据源,不断产生各种可被分析的数据,而机器学习算法,就有从这些数据中学习总结规律的作用,就可以为我们的生活提供各种功能,比如识别你喜欢的歌曲类型进而推荐相同类型的歌曲、从你的浏览记录中识别你可能感兴趣的商品并进行推荐、为你寻找上班的最优路线、辅助设定和检测吃药的最佳时间等等,并且掌握的数据越多,算法越准确,有了它,世界就能感知你想要的东西,并以此做出改变,这就是机器学习算法所能产生的作用,并且对未来有着极大的想象空间。
其次,介绍一下终极算法的由来。在机器学习的应用中,相同的算法可以完成不同事,并且与传统程序相比,学习算法要简单的多,所以很少的学习算法就可以完成很多的事,但我们总是贪心的,想要更加的省力,因此就会产生一个逻辑上的疑问:单个学习算法可以把所有事情都做完吗?换句话说,单个算法可以学习所有能从数据中学习的东西吗?如果存在,那么所有的知识,无论过去的、现在的还是未来的,都有可能通过这单个算法从数据中得到,它的发明将是人类最伟大的科学成就之一。接下来的5个学派,也是从各个方面提供了该终极算法可能包含的理论基础,但是否能够组成就是一个启发我们探索未来的问题,希望能从中有所收获。
第一个将要出场的是符号学派,对于其来说,核心理念就是所有信息都可以简化为操作符号,所有和智力相关的工作都可以归结为对符号的操作。因此首先要确定的就是符号,而符号就是已经存在或者我们归纳出的知识,即存在的公理和逻辑,然后基于这些规则编程,让机器能按程序中存在的逻辑处理特定的任务,采用的主要方法是逆向演绎,评价的指标就是在预测新数据方面的准确度。其中存在的问题,一是逆向演绎,也就是归纳法,需要依赖大量先验的知识,如果没有知识就无法进行处理,并且归纳法存在著名的休谟问题:是否能从已知中合理推出未知?二是能通过逻辑定义的概念仅仅是冰山一角,还有很多东西是形式推理无法看到的,因此归纳法的规则集中总是缺少相当多的信息假设,而且在应用该类学习算法时,会存在假设和数据间指数级博弈问题,造成组合爆炸问题。
第二个出场的就是联结学派,该学派的核心理论就是神经学,是对大脑神经结构的模拟,主要模型是神经元模型,提出基于权值的学习,主要的算法也就是现在大火的神经网络,通过采取反向传播、梯度下降等方法对结果进行优化,主要的评价指标一般是采用平方误差,在实际问题的解决中起到了很好的效果,但也存在一些问题,一是局部最优问题,算法可能收敛到一个局部最优值而非全局最优值;二是随着层数的增多,误差信号的传递会越来越散漫,甚至消失;三是整个神经网络如同一个黑箱一样,我们无法探知其内部主要的作用原理;四是参数非常多,调参方法很重要,如何不知道调参方法,即使是相同的数据和算法也无法呈现相同的结果。
第三个出场的就是进化学派,其思想来源于生物学进化论的自然选择,强调适者生存,解决的关键问题是学习结构:不想只是反向传播那样调整参数,它还创造大脑,用来对参数进行微调。主要的算法是遗传程序,和自然有机体交配和进化那样,计算机程序会产生突变、交叉重组,而遗传程序会对其进行选择,然后通过遗传搜索算法进行优化,主要评价指标就是适应度函数,即程序与目标的契合度,其存在的问题是进化重组的产物有很多明显的错误,并且易停留在局部最大值,直至新突变的出现,还有交叉行为的合理性问题等
第四个出场的是贝叶斯学派,该学派的主要理论就是基于统计学的贝叶斯推理,关注的是不确定性问题,解决方法就是概率推理,可以利用新信息来对已有假设的信任度进行改变,如果新出现的论据与假设一致,假设成立的概率上升,反之,概率下降。主要的算法就是贝叶斯定理以及其衍生定理,但是不相信逻辑,并且贝叶斯学派指出来逻辑的脆弱性,主要评价指标就是后验概率。存在的问题就是无法学习小数据,并且不能将不同目的的数据联合起来,例如它不懂如何将基因表达数据和DNA片段转译成蛋白质的数据结合起来,而利用逻辑,我们可以轻易写出所有这些方面相关的规则。
最后一个出场的就是类推学派,学习的关键在于识别不同场景中的相似性,然后由此推导其他相似性,其假设有已知相似实体的属性,也会有相似的未知属性,主要算法是支持向量机,优化算法是约束优化,评价指标就是边际,即支持向量与界限的距离,问题就是存在维数灾难,无法在高维中找到相似性。
有了这些学派的理论基础,那么我们推知终极算法一种可能的存在就是在结构上类似于大脑的神经结构,基于逻辑和概率来推理知识,而知识之间会交叉重组,然后用自然选择来评价结果产生进化,而书中提出的一个可能的算法就是马尔科夫逻辑网络(MLN),将逻辑公式及其权值嵌入马尔科夫网络,利用后延概率作为评估函数,利用梯度下降结合基因搜索作为优化器。这其实就是对五个学派方法原理的重组,利用了各个算法的优点结合出来的,但至于是否有用还需要进一步的检验证明,但其实作者更多地是提供一个思路给我们。而我的看法是,一个凌驾于五个学派的通用算法一定不仅包含这五个学派的优点,也就是说作者提出的终极算法的思路只具备必要性,但不具备充分性。那么如果存在终极算法,它一定是具有一个比现在五个学派算法更高维度的表示法,可以加上具体假设推导出现有的五个学派的算法,但无法向上推导,因为还存在很多未知,从这个角度看,我们需要解决的是更高维度的问题,也就是本质和为什么存在的问题,比如意识是什么的问题,我想对于作者所提出的终极算法存在性问题的解决,将会是人工智能技术的下一次突破,而这次突破不仅需要科学家来解答,更需要哲学家从更高维度进行解答,进行理论基础的构建。