人工智能历来在两个有点矛盾的阵营之间来回摇摆。一派是以Noam Chomsky、Marvin Minsky、Seymour Papert及其他许多人为代表的这种想法:认知智能本质上是算法;有一套基本的规则成为语言的基础,进而成为智能的基础。另一派是Donald Hebb、Frank Rosenblatt、Wesley Clarke、Henry Kelly、Arthur Bryson Jr.及其他一些人,他们大多默默无闻,逐渐形成了梯度下降、遗传算法、反向传播及神经网络的其他部分。
这两个阵营之间的竞争非常激烈;曾经一度,在Minsky和Papert对Rosenblatt的感知器(早期神经模型之一)进行相当苛严的分析后,争论似乎很大程度上在算法方法的方向上已经偃旗息鼓了。事后看来,双方面临的一个主要障碍(也是让人工智能研究陷入十多年寒冬期的障碍)是,双方都低估了其中任何一种模式真正取得成果所需要的计算能力(计算能力增加21个数量级);再过50年,计算机和网络才会达到这两种技术中的任何一种切实可行的程度。
结果证明,双方实际上在某些方面是对的,而在另一些方面是错的。神经网络(和机器学习)处理在1964年被视为很关键的许多问题方面变得非常有效:图像识别、自动分类、自然语言处理和系统建模等其他方面。尤其是分类功能迈出了一大步,特别是考虑到大量内容(从 Twitter帖子到电影)从中受益。
与此同时,Minsky和Papert关于感知器的论点在当前关于机器学习的争论中得到了回响——可发现性和可验证性都证明是两个非常难以解决的问题。如果无法确定为何某个特定解决方案正确,这意味着存在未适当建模的重要的隐藏变量,并且不知道这些变量的限制——存在不连续性和奇异性的地方,将模型应用于除其自己的训练数据之外的任何内容时,就会遇到问题。
此外,您将开发逻辑(有时是社会)结构中的人工干预这个问题换成了查找和筛选大量数据这个常常费时又费力的操作;可以说,后一种操作实际上就是前一种操作的变体,大概效率较低。
另一方面,算法方面的情况不一定好得多。事实上,算法方法有两个方面:分析和语义。分析方法目前被认为是一门数据科学,使用统计分析(或随机法)来确定分布和概率。可以说,随机法的优势在于,针对足够庞大的数据集,它可以用来确定特定事件发生的可能性,精确度在一定的误差范围内。然而,随机法正从传统的统计分析转而使用贝叶斯网络,其中可以借助图分析来分析单个变量(特征)。
另一方面,语义是利用连接断言的网络图,以及对断言本身进行额外断言(通过建模)的能力,这个过程名为具体化(reification)。语义非常适合更传统的建模方法,这正是由于传统的(关系)建模是语义模型的一个封闭子集,同时又提供文档对象建模语言(DOM)中固有的功能,XML或JSON就是佐证。
重要的是,贝叶斯网络可以呈现为具有具体化的语义图,决策树也是如此。的确,SPARQL查询在每个重要的方面都与决策树同构,因为决策树中的每个节点实际上都是基于存在特定模式或约束的两个数据集的交集(提示:您想要构建合规测试系统?使用SPARQL!)。
软件发展史充斥着纯粹主义者和实用主义者。纯粹主义者在他们自己的特定工具和语言方面标明了立场:C++与Java、命令式与声明式、SQL与NoSQL、Perl与......等等。实用主义者通常试图找到一个中间立场,精挑细选最好的,对争论的种种喧嚣置之不理。大多数纯粹主义者最终渐渐变成了实用主义者,但由于大多数程序员往往多年后成为项目管理员,因此这种学习的实际影响微乎其微。
眼下,由于神经网络、贝叶斯和语义这三个方面的最新一代比较新,人们有一种强烈的倾向,希望将自己选择的工具视为适用于所有潜在情况的优秀工具。然而,我认为这些最终都是图或处理图的工具,我相信这种底层的共性将带来更广泛的大统一。比如说:
这最后一点非常重要,因为正如最新一代的敏捷/DevOPS/机器学习运营模式所示,管道和转换是未来。如果能够处理链式转换(尤其是那种转换中的特定管道根据上下文来加以确定,而不是事先设定),这样的管道开始显得越来越像有机的认知过程。
原文标题:Where Semantics and Machine Learning Converge,作者:Kurt A Cagle



