admin管理员组

文章数量:1584345

原文:Inside AI

译者:飞龙

协议:CC BY-NC-SA 4.0

第十一章:下一代 AI

本章涵盖了

  • 为 AI 模型准备数据的建议

  • 用于何种技术的建议

  • 下一代 AI 系统应该具备的属性

  • 关于未来 AI 系统应该支持的思考

构建未来的 AI 解决方案要求我们解决当今系统中的当前限制。本书的一个关键目标是提供对当前 AI 状态的清晰和诚实的评估,因为只有了解我们今天的状态,我们才能制定出一个现实的未来道路。尽管媒体对 AI 的描述往往倾向于耸人听闻,但我的目标是提供一个平衡的观点。许多我们今天发现令人兴奋和创新的技术实际上已经在开发了半个多世纪。尽管还存在挑战,如效率、成本效益和适应性,但它们为我们继续这段令人兴奋的 AI 之旅提供了增长和改进的机会。

在本章中,我借鉴了超过 30 年的开发和部署关键任务的 AI 系统的经验,其中可靠性、精确性和效果不仅仅是雄心壮志,而是必须的。我将概述一组特性,我认为将标志着下一代 AI 平台的特征。我的例子大多涉及临床推理和金融交易,因为这些是我广泛参与的领域,但这些愿望普遍适用于大多数类型的 AI 平台。我们正在努力实现这样一天,企业可以轻松部署可扩展、有韧性、适应性强的 AI 系统,其功能比今天可用的系统更多,缺陷更少。

11.1 数据灵活性

商业应用经常需要访问来自不同来源的数据。现实世界的数据可以以结构化或非结构化格式出现,并且可能以各种方式存储。考虑一下医疗保健领域的 AI 应用;它可能需要利用诸如医生的笔记、放射学图像、电子健康记录、已建立的最佳实践、解剖数据、生物传感器和实验室结果等来源。有效的 AI 系统必须能够高效地访问和利用所有相关资源。

11.2 采样

在商业世界中,数据集通常达到令人震惊的规模。探索纽约证券交易所一年的交易数据、一年的社交媒体数据或沃尔玛等零售商一年的交易数据可能涉及处理数千亿数据点。在如此庞大的数据上训练 AI 模型可能是一个艰巨的过程,可能需要大量时间而永远不会收敛。为了加速这一过程,并促进多个模型的开发和测试,AI 系统应该提供各种数据采样方法。

最直接的方法是随机抽样,其中每个数据点被选中的机会相等。然而,在某些应用中,数据可以被分类不同,每个类别可能希望被平等地代表。每个业务应用都需要其自定义的抽样解决方案。例如,在欺诈防范中,抽样可能需要以足够捕捉特定行为或确保样本的某些属性遵循特定分布的方式进行。抽样方法的选择具有重要意义。例如,通过对其交易进行随机抽样来有效了解持卡人行为是不可能实现的。

11.3 消除无关紧要的属性

许多数据集包含冗余或无关紧要的属性。因此,一个设计良好的 AI 系统应该包含检测和消除这些不必要信息的功能。这个过程简化了模型的设计和测试,使其更加高效,更不易受到过拟合的影响。例如,如果某个特定属性的大部分值都缺失,那么它可能对模型没有意义,无论其潜在相关性如何。在某些情况下,某些数据,例如邮政编码或电话号码,可能会引入偏见到模型中,应该省略。

从数据集中消除冗余和无关紧要的属性对优化 AI 系统的性能至关重要。冗余属性引入噪声和复杂性,使模型更难以辨别有意义的模式,而无关紧要的属性则可能导致过拟合。消除这些无关紧要的特征使模型更加高效,最终提高了预测准确性。此外,它增强了模型的泛化能力,减少了计算复杂性,从而缩短了训练时间,提高了资源利用效率。

11.4 数据的一致性

数据通常是复杂且无结构的,来自不同格式的不同来源,并且可能包含缺失或错误的值。数据的实例可能部分重叠,甚至相互矛盾。数据集内或不同数据集之间可能存在不一致、矛盾或差异,这是由于数据点或记录之间不对齐或不一致造成的。这可能是由于多种原因引起的,包括数据收集错误、数据输入错误、数据合并问题或随时间变化的数据来源。数据不一致性削弱了数据的质量和可靠性,使其难以有效地用于分析、机器学习或决策。

检测和解决数据不一致性对于确保准确可靠的数据驱动过程和模型至关重要。在 AI 系统中解决数据质量问题远远不止于应用公式、查找和替换值或对数据进行排序和整理这样简单的方法。训练 AI 系统时避免标签错误也是至关重要的。例如,一个基于错误标记数据训练的医疗诊断系统可能会导致一些疾病未被治疗,同时让健康的个体接受不必要的医疗程序。一个有效的 AI 系统应该有机制来标记潜在的标签问题。此外,AI 模型必须准确反映系统将遇到的真实世界数据。如果系统是基于精心清理的数据进行训练的,但在生产环境中遇到不完整或不一致的样本,错误很可能会发生。

11.5 数据和算法中的缺乏偏见

社会由来自不同背景、生活在各种社会经济条件下的个人组成,每个人都拥有独特的优势和劣势。AI 模型必须承认并考虑到这种多样性,避免无意中偏向或歧视特定个人或群体的评估或建议。建立在人类程序员创建的逻辑之上的算法可能携带有意识或无意识的偏见,导致意想不到的后果。此外,如果用于训练模型的数据未提供代表性样本,偏见可能会在系统内部根深蒂固。

一个相关的例子是 2020 年英国的 A-level 评分争议,这清晰地展示了偏见如何无意间进入计算机程序。这些考试类似于美国的 SAT 和 ACT,对大学入学起着至关重要的作用。针对 COVID-19 的社交距离措施,2020 年的考试被取消,一个算法被用来生成估计分数。该算法利用了看似合理的参数,包括学生在相关课程中的学校成绩和他们学校学生的历史 A-level 考试表现[1]。然而,近 40%的学生收到的分数比他们和他们的老师预期的要低。批评者指出,该算法对私立学校的学生存在一种内置的偏见。虽然私立学校的学生平均来说考试成绩较高,但该算法可能会给一个来自公立学校的成绩优秀的学生分配一个比起一个客观上较弱的私立学校学生分数更低的分数。这一结果显然与预期的目标相矛盾。最终,算法生成的分数被丢弃,改为使用学生老师评估的分数。

在执法部门的人脸识别系统或房屋抵押贷款中的贷款审批系统等应用中,消除偏见至关重要。已制定正式规则和法规以保护个人权利,侵犯规定将受到严厉制裁。人工智能系统应该有机制审查预测和决策中的偏见。

11.6 特征工程

特征工程是机器学习项目中最关键的步骤之一。它涉及从原始数据中选择、转换和创建相关特征或变量的过程,以增强机器学习模型的性能。它在设计强大人工智能模型中是关键步骤,因为所使用特征的质量和相关性直接影响模型学习和准确预测的能力。由于每个企业都有自己独特的特点,通常需要领域专家来定义规格、描述背景和标记异常。例如,投资分析师会知道股市存在季节性变动和每周和每季度末出现的预期但不可预测的波动。夏季交易活动较少,而到年底由于税收原因交易活动加剧。信用卡行业的专家也会发现季节模式,但他们可能还会了解按日、按周和按月滚动支出率的数据丰富潜力。

即使有些模式很容易理解,也有一些可能不那么清楚。即使我们知道其存在,这些模式也可能更难弄清楚。例如,卡交易可能会根据考虑地理属性、现金回馈请求、退款请求和手动数据输入需求的算法分组。对于医学数据,也可能存在使趋势难以看清的偏斜。

下一代人工智能系统应该自动化模型构建中至关重要的特征工程步骤。这将显著加快开发速度,并使这些系统变得极其高效。

11.7 技术组合

人工智能包括一系列技术和方法,每种技术都有其自身的优点和缺点。下一代解决方案应该结合各种人工智能技术,就像第 2 和第三章中描述的那些。就像征求多样化专家意见能够提高项目的效力和效率一样,结合多种人工智能技术的人工智能系统可以从各种技术的优点中受益。例如,在开发用于欺诈预防的人工智能模型中整合数据挖掘、基于案例的推理、模糊逻辑、深度学习、遗传算法、基于规则的系统和智能代理代表了防止欺诈活动的一大飞跃。

这些技术的组合赋予系统无与伦比的分析能力。数据挖掘使得从庞大复杂的数据集中提取有意义的见解成为可能,从而可以识别出欺诈行为的微妙模式。案例推理通过借鉴历史案例来对新出现的威胁做出明智的决策。模糊逻辑处理与欺诈检测相关的固有不确定性和不精确性,增强了系统的适应性。深度学习在捕获数据中的复杂关系方面表现出色,而遗传算法优化模型的参数。基于规则的系统为决策提供了透明且可解释的框架,有助于解释模型的输出。最后,智能代理实现了实时监控和自适应能力,允许针对新威胁迅速采取行动。这些人工智能技术的组合导致了一种欺诈预防解决方案,该方案不仅高度准确和适应性强,而且能够在不断演变的欺诈活动格局前保持一步领先。

11.8 无监督学习

在 2019 年,埃隆·马斯克(Elon Musk)发推强调了无监督学习对于人工智能未来的重要性。马斯克最初在 2015 年声称自动驾驶车辆将在几年内征服任何道路,但后来在意识到监督学习方法的局限性时改变了主意。他表达了以下观点,

为了实现无人驾驶、泛化、完全自主驾驶,必须解决现实世界中的大部分 AI 挑战,因为我们整个道路基础设施都是为配备光学传感器的生物神经网络而设计的。

的确,虽然监督学习在通过标记数据集训练 AI 模型方面发挥了重要作用,但这种方法在现实世界中面临着实际挑战,主要是由于大型高质量数据集的稀缺性,以及标记数据的任务通常困难且昂贵。相比之下,无监督学习赋予了 AI 系统在没有明确指导的情况下学习数据中的模式、关系和结构的能力。这种能力对处理各种领域中遇到的未注释信息的复杂性和多样性至关重要。

11.9 人工智能工厂

目前,人工智能的利用受到一定限制,主要是由于实施人工智能所需的大量资源和高级技术专业知识。这些先决条件通常只有大型企业和具有重要财务和人力资源的学术机构可以掌握。下一代人工智能平台转型正在视野范围内,因为我们正朝着成熟的解决方案前进,这些解决方案使人工智能民主化,最终使其强大的功能对各种规模的公司都可获得。

当我们将亨利·福特的创新思维与之相提并论时,亨利·福特通过在流水线上引入大规模生产零部件和简化汽车组装为重复任务而彻底改变了汽车制造业,从而清楚地表明我们应该采用“人工智能工厂”方法。例如,一个模块自主评估数据源,提取和清理相关数据。第二个模块负责丰富这些数据,而第三个模块专注于创建和优化模型参数。另一个模块负责训练大量模型,而另一个模块则专门用于测试和评估这些模型。另一个独立的模块可以擅长于组合最有效的模型,构建一个可供生产使用的人工智能解决方案。此外,其他模块可以在确保模型治理和处理特殊功能(如网络安全)方面发挥关键作用。

人工智能的民主化将导致一个新时代的到来,在这个时代,人工智能将成为更广泛范围专业人士的可访问工具,改变企业和组织使用其能力的方式。

11.10 质量保证

质量保证涉及确保系统按预期运行。在处理人工智能系统时,由于其内在的不可预测性,这项任务变得复杂。在传统软件中,我们可以使用图表和代码分析来理解和验证其行为。然而,人工智能系统提出了一个挑战,因为它们的运行依赖于人类不容易识别的复杂数据模式。通过试错来微调参数不能增加对监督学习程序的信任,而无监督学习更加不确定。通常情况下,无监督算法只能通过其性能来验证,因为没有正式的度量标准或标记样本可用。

下一代人工智能应依赖于专门为人工智能设计的专用质量保证协议。测试应该在模型开发的每个阶段进行,涵盖数据完整性、性能、适应性和对意外情况的弹性等方面。应使用多样化的数据集来评估系统的多功能性,并且我们应有意引入新颖的数据和错误进行广泛测试。即使在多个地理位置镜像时,也应测试关键任务系统以防止受到攻击的安全性,以及应对诸如停电等场景的弹性。

11.11 预测可靠性

任何有效的人工智能系统的基础在于其提供精确预测的能力。为了突出不可靠的人工智能性能的后果,让我们以交易处理领域的一个例子为例。全球支付咨询公司 CMSPI 发现,如果人工智能系统表现不佳,它会严重影响企业和经济 [3]:

据美国人口普查局报道,2020 年美国的在线消费比前一年大增了 1937 亿美元。虽然这一涌现的在线商业应该使零售商受益,但出乎意料的是,由于在线空间的批准率降低,导致了大约 300 亿美元的销售机会流失。为了让这个数字更具有说服力,可以考虑一个年销售额为 100 万美元的小企业进入在线市场。与其仅仅在实体店销售上损失 30,000 美元相比,这家企业在线上可能会看到高达 150,000 美元的合法交易被拒绝。

在线交易拒绝在防止欺诈活动方面发挥着关键作用。然而,CMSPI 的数据分析显示,每五个被拒绝的交易中就有一个是错误的,这意味着真实的客户被不公正地拒之门外。更令人不安的是,超过一半这些被错误拒绝的客户随后将他们的业务转移到了竞争对手。事实上,错误地将合法交易识别为欺诈行为的系统构成了一个严峻的挑战。这导致了一个双输的局面,客户感到不满,企业则遭受了失去客户和潜在利润的双重打击。

这凸显了欺诈检测系统具有两个基本属性的关键需求:对实际欺诈活动具有高检测率,对合法交易的误报率要极低。这种要求并不仅限于支付处理领域;它适用于各种领域。因此,提供可靠的预测能力对于任何 AI 解决方案来说都是一项必不可少的需求。

11.12 有效的数据存储和处理

传统数据库在应用于实时 AI 应用时面临重大挑战。它们的表格数据结构难以处理复杂性,限制了它们用于 AI 任务的适用性。此外,这些数据库在处理 AI 算法要求的复杂计算和查询时遇到困难,通常导致响应时间缓慢。随着 AI 数据集的增大,数据库在横向扩展以满足加快处理速度和容量需求方面遇到了困难,而实时信用卡授权中的防欺诈等需要低响应时间的应用对此格外关注。

例如,我们对于一个 AI 风险评分系统的要求是,它可以以每秒超过 50,000 笔的速率处理每年超过 1000 亿笔交易,并且响应时间为 5 毫秒。该系统需要分析数百个变量和约束,并在每个交易的多个时间框架内汇总数据。在这种约束下,即使使用最先进的硬件和编程技术,数据库也是不切实际的。为了克服这些障碍,需要使用分布式文件系统和专门的数据处理框架等替代技术。

11.13 部署性和互操作性

AI 平台应该具备与各种软件和系统无缝接口的基本能力,从而确保组织能够充分利用 AI 的潜力。这不仅限于简单的集成;它包括了简化工作流程和实现数据交换的能力,同时最大限度地减少运营复杂性和成本。此外,强大的 AI 平台还应提供动态模型部署的灵活性,使组织能够在不干扰系统运营或工作流程的情况下,将新的或更新的 AI 模型纳入其流程中。

11.14 可扩展性

许多计算机系统在走向实用性的道路上面临着重大挑战:无法有效处理高要求的工作负载。这个问题在商业世界中尤为突出,因为可扩展性是任何计算机程序的首要要求。可扩展性意味着 AI 系统能够灵活地适应和应对不断增加的工作负载和数据量,而不会牺牲性能或响应能力。这是至关重要的,因为企业往往在数据生成和处理需求迅速增长的动态环境中运营。可扩展性使组织能够在其业务扩张时有效地使用 AI,确保系统能够持续提供及时的见解、支持决策制定并提供有价值的成果。它还通过允许企业有效地分配资源并避免昂贵的系统升级来实现成本优化。

下一代 AI 系统应该优先考虑可扩展的 AI 算法,因为可扩展性代表着解决方案是否值得的关键测试。即使是最聪明、最精确的预测模型,如果缺乏满足业务应用需求的可扩展性,也可能会不足以应对挑战。

11.15 弹性和健壮性

当系统能够在挑战性情况下保持其性能时,被视为具有弹性。这些不利条件可能涵盖硬件故障、网络攻击、停电、网络中断或同时发生这些问题的组合。弹性是在面临挑战时保持性能的重要能力。例如,在航空航天行业,飞机导航依赖于先进的航空电子系统,在这种情况下,弹性确保单个硬件故障或网络攻击不会危及乘客安全。同样,在能源部门,电网控制系统必须表现出弹性,以减轻自然灾害的影响,确保持续向家庭和企业供电。在医疗保健领域,电子健康记录系统必须在网络中断或网络威胁的情况下保持运行。

要想证明人工智能工具的真正有效性,它必须通过确保其功能在各种情况下保持完整,甚至在次优条件下。

11.16 安全

在人工智能领域,特别是对于关键应用,安全至关重要。不幸的是,新兴技术的格局也成为了恶意行为者,包括恐怖主义组织的游乐场。这些实体已经证明了他们的适应能力,利用最新的进展来策划攻击。随着人工智能系统的不断发展和变得更加强大,它们所带来的风险也变得更大。恶意行为者准备利用人工智能的能力发动毁灭性的网络攻击,并创建高度破坏性的恶意软件。这种威胁格局的一个引人注目的表现是勒索软件攻击的激增和复杂化。这些攻击以各种形式出现,其中一种常见的情形涉及对受害者文件系统的远程加密。然后,肇事者要求赎金以换取解密密钥,有效地将关键数据挟持。

根据 2020 年的一项令人沮丧的统计数据,仅在美国就有近 2400 个政府办公室、医疗机构和教育机构成为了勒索软件攻击的受害者。一次特别令人难忘的事件发生在 2015 年,当时殖民管道公司因为一次网络攻击被迫关闭了一整周的运营。这次中断导致了重大的混乱,破坏了美国范围内柴油、汽油和喷气燃料等重要燃料的供应。强调了情况的严重性,殖民管道公司的首席执行官约瑟夫·布劳恩特做出了支付 440 万美元的赎金的决定。《华尔街日报》报道称:“鉴于涉及到如此关键的能源基础设施的关闭所涉及的风险,这是他觉得必须采取的一种选择。据公司称,殖民管道提供了美国东海岸约 45%的燃料”。

根据 CNBC [6] 报道,在 2023 年 9 月,赌场运营商凯撒支付了一笔价值 1500 万美元的赎金给一家成功渗透和破坏其系统的网络犯罪团伙。

随着世界越来越依赖先进的计算技术,潜在的危害场景清单变得越来越长。这凸显了设计具有端到端加密功能的人工智能平台的重要性,以保护数据免受截获到未经授权访问,并保护决策过程的完整性。

11.17 可解释性

确保人工智能系统的广泛接受,特别是在决策具有重要社会后果的情况下,取决于能够解释这些系统如何得出其结论。使用黑匣子算法,特别是根植于深度学习神经网络的算法,在符合要求可解释性和透明性的监管方面提出了巨大挑战。这使得这些算法不适合在借贷和刑事司法等领域做出关键性决策。此外,这个问题不仅仅是监管方面的遵从。可信度在任务关键型应用中变得尤为重要。在这些情况下,责任需要全面了解决策是如何达成的。“电脑告诉我这样做”通常达不到期望。

为此,下一代人工智能系统必须具有操作上的可理解性和对其输出提供连贯解释的双重目标。这种透明性应该包括人工智能的内部工作原理,允许利益相关者和最终用户分辨每个决定背后的理由。

11.18 可追溯性和监控

能够追踪人工智能系统的变化并回溯其历史对于防止其被滥用以及帮助澄清责任非常重要。例如,考虑这样一个场景:一名医生依赖人工智能系统提供了不准确的诊断;这引发了一个复杂的问题:责任应该主要落在使用人工智能工具的医生身上,还是应该由负责其创建的公司承担责任?解决这个复杂的问题需要进行全面的调查,分析不仅所有事件和人工智能系统的使用方式,还有在使用时其状态和性能。

此外,人工智能系统应提供一个强大的框架,以跟踪其模型性能和其处理的数据内部趋势的演变,确保其持续的有效性和相关性。

11.19 隐私

在当今快速发展的技术格局中,我们的个人信息正以前所未有的速度积累,这是由不断扩大的先进技术阵列所驱动的。从精确记录我们生物节律的健身追踪器到记录我们指纹和面部表情的复杂登录系统,我们重要数据的相当一部分越来越容易被利用。此种脆弱性不仅给有组织的罪犯创造了机会,还对渴望进行诸如身份盗窃、欺诈和其他非法活动的国家提出了诱人的邀请。隐私保护不足的后果往往是灾难性的。例如,考虑一下频繁发生的数据泄露暴露了数百万人的个人数据,使这些个人易受金融欺诈和身份盗窃之害。这类泄露的后果可能是长久的,并且对受影响的个人造成财务上的破产。

针对这些威胁,下一代人工智能系统必须纳入强大的隐私保护模块是至关重要的。例如,它们应当采用先进的匿名化技术,从原始数据中剥离个人标识符,使其不可能追溯到个人。此外,人工智能系统应允许个人保留对自己数据的控制,决定谁可以访问以及出于什么目的,从而加强他们的隐私权。

11.20 时间推理

时间概念是我们理解世界的固有特性。原因和结果之间的关系需要理解一个事件发生在另一个事件之前和之后。事件在时间上的特性各不相同;有些是瞬间发生的,而另一些则有持续时间,并且它们可以发生在不同的时间框架内或展现出不同形式的重叠。某些事件可能是其他事件的先决条件。虽然这些观察对人类来说是直观的,经常被视为理所当然,但机器将需要特定的编程逻辑。

一个可能的方法是依赖于艾伦区间,这是一个全面的框架,定义了事件之间可能的 13 种时间关系。例如,它可以确定一个事件何时遇到另一个事件(相遇),一个事件发生在另一个事件之前,或者一个事件何时相对于另一个事件开始(开始)或结束(结束)。重叠区间(重叠)意味着同时发生但不完全重合的事件,而"期间"(During)意味着包含。系统还可以识别相反的关系,例如被遇见、后、开始、结束,以捕捉这些时间连接的相反方向。此外,它还可以识别一个事件何时完全重叠或包含另一个事件,以及两个事件在持续时间上相等(相等)。这一全面的时间关系集使人工智能系统能够理解数据的时间方面,促进了在各个领域的应用,从日程安排到自然语言理解等等。

11.21 上下文推理

上下文推理是任何智能决策系统不可或缺的元素,因为它使人工智能能够超越数据的表面水平,理解给定情况的复杂性。这使得系统能够考虑各种要素和情况,根据特定的上下文调整其逻辑和响应。这种适应性对于做出明智的选择、防止错误并实现最佳结果至关重要。无论是在医疗保健、金融、内容审核还是其他任何领域,能够理解和整合上下文的人工智能系统可以提供更精确、相关和可靠的帮助,从而成为增强人工智能解决方案在现实世界中效用和可靠性的重要组成部分。

为了突出上下文理解和推理的重要性,让我们重新审视本书早期章节中讨论过的一些例子。临床推理,例如,严重依赖于上下文。考虑一个怀孕的女人,上下文会极大地改变对药物处方的方法。许多药物可能会对发育中的胎儿造成伤害,而其他一些药物可能是安全的,甚至对母亲和婴儿的健康都是必要的。在这种情况下的上下文推理涉及考虑妊娠阶段、具体医疗状况、任何现有状况、风险与利益的比例以及替代治疗选项。

同样,在欺诈预防方面,人工智能系统必须适应特殊事件期间的支出行为变化,如黑色星期五或度假期间预期会有大量交易是正常的情况下。识别上下文并自动调整参数可以显著减少虚警。

另一个上下文敏感的领域是股票交易,在这里,诸如高利率、地缘政治问题、失业、通货膨胀等因素至关重要。这些因素中的每一个都可能深刻影响股市,需要一种灵活和上下文敏感的人工智能方法。

在文本挖掘中,理解一篇文章需要推断正确的上下文,因为同一个词在不同的上下文中可能具有不同的含义。例如,苹果可以指水果、纽约市、计算机或一家公司。

在内容审核中,上下文起着关键作用。想象一下关于第三帝国的视频,它既可以作为一个教育工具,向人们介绍纳粹主义的暴行,也可以作为新法西斯主义团体的宣传工具。在一个情境中,会鼓励推广,而在另一个情境中,封锁将是必要的。

因此,下一代 AI 系统必须将上下文推理作为其功能的一个组成部分,因为现实世界的动态和复杂性。上下文为每个领域和情境提供了制定智能决策和行动所需的重要信息。没有上下文,AI 系统可能会产生不准确或不合适的结果。

11.22 因果推理

因果关系是我们对世界的理解的基础,就像我们对时间的感知一样。它作为理解事件、行为和结果之间关系的关键框架。然而,当我们考虑如何将因果关系的概念编码到计算机程序中时,它就成为了一个挑战。因果关系远不止是观察事件按时间顺序发生。它分析了定义事件发生原因的复杂关系网。这就涉及到事件、条件、对象和过程都可以在相互影响中发挥作用的想法。

下一代 AI 系统必须能够不仅识别模式和相关性,而且理解潜在的因果因素。这使 AI 能够创建能够以更高效率进行推理、规划和行动的商业解决方案,最终在许多方面造福社会。

11.23 类比推理和可转移性

人类拥有非凡的类比推理天赋,这是一种深深植根于我们识别模式、建立联系并在各种情况下借鉴过去经验的认知技能。这种心智能力与我们对抽象和概括的能力密切相关,使我们能够识别看似无关的场景之间的相似之处。这种独特能力使我们能够顺利地将知识和有效的解决问题策略从一个领域转移到另一个领域。在历史上,类比推理一直是许多具有突破性发明的推动力。例如,乔治·德梅斯特拉通过观察草籽粘在他的衣服和狗毛上的方式找到灵感,最终发明了 Velcro。同样,詹姆斯·戴森通过在锯木厂离心机的高效、不易堵塞的动作和自己的真空吸尘器原型之间找到类比,从而颠覆了吸尘器领域。

下一代 AI 应该具有执行类比推理并将从一个领域学到的解决问题技巧应用到另一个领域的能力。这种增强将显著提高它们的效率和适应性。

11.24 个性化

个性化是各个领域的一个关键因素。当前的人工智能系统,它们从广泛的数据集中学习,往往只能识别在整体人群水平上相关的模式。以今天在金融交易中常见的典型人工智能系统为例;它通常将相同的逻辑应用于每个商家。然而,每个商家都有独特的特点和活动模式。同样,持卡人表现出不同的消费模式和购买习惯。忽视这些个体差异可能导致更低的欺诈检测率和更高的误报率。个性化可以增强人工智能系统的效率。例如,在教育领域,由人工智能驱动的个性化学习平台可以适应每个学生的学习速度和学习风格。在医疗保健领域,个性化确保每个患者都接受到最合适的治疗方案。

个性化承认个体和情境的独特性。因此,将其整合到人工智能系统中将使它们能够满足个体和情境的独特特征和要求,从而改善结果。

11.25 可持续人工智能

当前的人工智能系统在各个领域取得了显著进展,但其背后伴随着巨大的环境成本。其中一个主要关注点是与人工智能相关的巨大能源消耗,这是由训练和运行复杂模型的计算需求所驱动的。承载这些人工智能基础设施的数据中心是碳排放的重要贡献者,通常依赖于非可再生能源。

这种环境影响进一步体现在WIRED杂志报道的人工智能里程碑所需的计算能力的惊人增长上,从 2012 年到 2018 年增加了 300,000 倍 [7]。此外,麻省理工技术评论最近的一份报告 [8] 揭示了一个令人震惊的事实:从零开始构建和训练一个人工智能系统的整个过程产生了惊人的 78,468 磅 CO2 排放量。这个数量超过了一个人一生中呼出的数量,也超过了他们整个汽车使用寿命所产生的排放量。考虑到这些令人担忧的数字,人们担心人工智能系统可能越来越被视为对气候的威胁。

为了解决这一环境挑战,下一代人工智能必须将效率作为核心设计原则。这包括开发和利用更加简化的算法,能够以显著更少的计算资源实现可比较的结果。此外,努力应该集中在减少人工智能训练的数据需求,从而减少与数据存储和传输相关的环境影响。

通过采用这些策略,下一代人工智能不仅可以保持其技术实力,还可以履行其环境意识的责任,为更可持续的未来做出贡献。

11.26 适应性

在充满不可预测性和不断变化的真实世界中,准确预测未来事件和趋势可能是一项极具挑战性的任务。这正是适应性概念在各种商业应用成功中的关键因素。

为了进一步探讨这个概念,让我们回顾一下第四章的先前讨论,我们的焦点主要是支付行业。在那个背景下,我们强调了采用灵活的 AI 解决方案的重要性。这些解决方案对于有效应对不断变化的欺诈活动和不断发展的洗钱策略的挑战至关重要,这些挑战对这个行业构成了重大挑战。我们讨论的挑战之一是,传统的 AI 系统在面对甚至是对给定问题参数的微小修改或调整时往往表现得僵化而笨重。这些系统通常需要进行彻底的改革和重新培训,这个过程不仅消耗了大量资源,而且远非可扩展的。

因此,下一代 AI 平台必须依赖于具有持续学习和适应能力的框架。

11.27 人机协作

AI 系统通常在孤立环境下运作,独立于人类交互。然而,科技领域的不断发展以及我们对 AI 的依赖日益增长,要求向不仅能够独立完成任务,而且能够与人类形成合作伙伴关系的 AI 平台转变。这种转变是由于人类创造力和人工智能相交融才能真正实现创新和提高生产力的认识驱动的。因此,下一代 AI 系统应该具备促进人机之间顺畅沟通和合作的能力,从而最终提升双方的能力。

摘要

  • 一个好的 AI 模型应该处理多样化和大规模的数据来源,并且通过特征工程进行增强。

  • 项目团队应该考虑将多种技术结合起来,包括(好的)无监督学习。

  • AI 解决方案应该是简单易用的模块,非专家也能轻松集成的。

  • 公司在使用 AI 模型时应该应用适当的质量保证,以确保它们能按预期工作,具有韧性,并且能够有效扩展。

  • AI 模型应该易于部署和安全,并且应该解决隐私问题。人类应该能够理解它们的运作方式。

  • 为了达到一定程度的智能,未来的 AI 系统应该理解类比、推理、上下文等当前缺失的许多概念。

附录 A:追溯根源:从机械计算器到数字梦想

对于普通人来说,人工智能似乎是最近的一个领域,考虑到近年来公众对人工智能的关注增加。然而,支撑这一学科的概念和理论的基础可以追溯到几个世纪以前。本章将踏上一段时光之旅,追溯那些引领我们走向今天人工智能的先驱的足迹。我们将发现那些梦想着能够推理和学习的机器的先见者:从帕斯卡对机械计算器的巧妙设计,这标志着人类与机器互动历史的一个重要时刻,到莱布尼茨的二进制系统,至今仍然是今天数字计算的表征基础,巴贝奇对分析引擎的构思作为一台机械大脑,以及爱达·洛芙莉丝对编程的洞察。了解这些历史发展将为我们展示人工智能曾经走过的道路,今天的位置以及其潜在的未来。

A.1 机器能思考吗?

几乎四个世纪前,在 1642 年,有人首次提出了机器是否具有思考能力的问题。这个问题是在布莱斯·帕斯卡(1623-1662)介绍帕斯卡计算器(Pascaline)时出现的,这是最早记录的计算设备。帕斯卡在 19 岁时构思了这台机器,主要目的是帮助他的父亲,他的父亲是一名税收征收员。它的目的是两方面的:最小化错误并减轻枯燥计算的负担。

帕斯卡计算器(Pascaline)通过无误地执行加法、减法、乘法和除法(图 A.1)显著增强了人类的认知能力。这个机械奇迹接受输入,执行运算,并产生数字结果。通过自动化这些功能,它减少了对人力的手工劳动的需求。这一创新对帕斯卡的父亲尤为宝贵,否则他将沉浸在繁琐且耗时的手工计算任务中。

图 A.1 帕斯卡计算器(法国 CNAM)

帕斯卡计算器(Pascaline)还具有一个巧妙的进位机制(称为 le sautoir),设计用于处理进位操作(la retenue)。这一创新解决了帕斯卡在协助父亲时观察到的主要计算错误之一。正如你可能从你自己的算术课上记得的那样,当计算类似 2…9 这样的东西时,我们首先加上最右边的数字,写下 6,然后“进位 1”到下一列。对这一发明印象深刻,路易十四国王于 1649 年授予帕斯卡在法国制造他的计算机的独家权利。

在他的作品《思想录》[1]中,帕斯卡对机器和有感知的生物进行了最早的重要比较。例如,他说:“算术机器产生的效果比动物的所有行为都更接近思想。但是,它并没有执行任何可以让我们归因于它的意愿的行为,就像我们对待动物一样。”

同样,在《帕斯卡先生的生活》[2]中,他的妹妹佩里埃夫人将帕斯卡林描述为“完全存在于思想中的任务”。她回忆了她兄弟的成就:

在那个时候(1642 年至 1643 年),他 19 岁时发明了这台算术机器,通过这台机器,不仅可以进行各种操作而不需要笔和记号,而且我们甚至不需要了解任何算术规则,也能百分之百地确定结果。这项工作被认为是一种来自自然界的新事物,将完全存在于思想中的一门科学机械化,并找到了在其中进行所有操作的手段,完全不需要推理。这项工作让他很疲惫,不是因为思考或动作,这些他都毫不费力地完成了,而是要让工人们理解所有这些事情,以至于他花了两年时间将它完美地实现。

尽管帕斯卡林需要熟练操作机器控制的人类操作员,但它执行的任务通常需要精通数学的个人。这引出了一个问题:我们应该将帕斯卡林归类为开创性的人工智能机器吗?这个考虑是相关的,因为,就像帕斯卡林一样,当今的计算机执行着由人类程序员精心设计和编码的根植于算法的计算任务。即使是今天最先进的人工智能系统本质上也代表了人类设计和调整的技术的集合,以生成特定的行为,而不具有真正的理解或推理能力。

在 1671 年,大约三十年后,帕斯卡林诞生,戈特弗里德·威廉·莱布尼茨推出了阶梯式计算器,这是一种巧妙的计算设备,采用十进制表示法,通过迭代加法执行乘法,由手摇曲柄机构(图 A.2)驱动。在他的数字表示机械化努力的指导下,莱布尼茨于 1703 年撰写了一篇著名的论文,题为《仅使用字符 0 和 1 解释二进制算术,以及有关其实用性和给予伏羲古老汉字意义的评论》[3]。在这部开创性的作品中,他引入了二进制数系统,该系统仅依赖两个数字 0 和 1。这个二进制系统现在几乎是所有现代计算机的基石。

图 A.2 德国博物馆里的莱布尼茨台阶式计算器复制品

我们都熟悉十进制数系统,通常称为“十进制数”。该系统使用数字 0、1、2、3、4、5、6、7、8 和 9,每个数字在数字中的位置表示其在个位、十位、百位等位置的价值。我们的祖先发明了十进制系统,很可能受到了他们用十根手指计数的影响。在我们的日常计算中,比如加法…得到 8 或从 27 减去 7 得到 20,我们无意识地使用十进制系统。许多人可能没有意识到这种选择是任意的,而且还存在其他选择,比如二进制。

计算机、智能手机和各种数字设备完全依赖于二进制系统,使用 1 和 0 进行所有操作。文档、图像、音频以及各种文件都以 1 和 0 的序列存储,并且计算机通过将数字表示为二进制位序列并执行类似于十进制系统的过程来执行数学运算。鉴于二进制在计算中的关键作用,熟悉它是有益的。我们可以从在二进制系统中表示几个十进制数开始(表 A.1)。

表 A.1 十进制数及其二进制等效值
十进制数二进制等效值
00
11
210
311
4100
5101
6110
7111
81000
91001

十进制数表示为数字序列,最右边的数字表示单位。向左的每个连续的数字表示十的幂的倍数,其中第 n 个十的幂表示 10 乘以自己 n 次。例如,十进制数 207 可以看作是 2 × 100 + 0 × 10 + 7 × 1,符合我们对它的理解,即两个 100、没有 10 和七个 1。以更简明的形式,这个数字可以用指数表示为 2 × 102 + 0 × 101 + 7 × 100。

二进制数遵循类似的概念,但它们的数字表示的是二的幂的倍数,而不是十的幂的倍数。举例来说,十进制数 27 在二进制中表示为 11011,因为 27 可以表示为十进制中的 16 + 8 + 0 + 2 + 1,而这个和可以表示为二的幂的和,如 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20。

计算机中的文本存储为二进制代码,其中每个字母和印刷符号根据通用约定被分配一个固定的二进制字符串。例如,本书早期的工作标题 AI Reality and Illusion 存储在计算机内存中的二进制序列如下:

01000001 01001001 00100000 01010010 01000101 01000001 01001100 01001001 01010100 01011001 00100000 01100001 01101110 01100100 00100000 01001001 01001100 01001100 01010101 01010011 01001001 01001111 01001110

每组数字代表一个字母或一个空格,其中 A = 01000001,I = 01001001,等等。

任何依赖于仅有两个符号的系统都被认为是二进制的。例如,路易·布拉叶在三岁时失去了视力,在 1824 年 15 岁时,在法国盲童学院(Institute for Blind Children)的学生时,他发明了盲文代码(图 A.3)。盲文代码利用表面上凸起和不凸起的点来通过触觉传达信息。这一系统使盲人或视力有限的人能够阅读。

图 A.3 盲文代码

莫尔斯电码,另一种二进制编码形式,依靠点和线来表示信息(图 A.4)。短脉冲表示点,而长脉冲对应短线,这些信号通过电报线传输。通过为特定字母分配二进制序列,莫尔斯电码实现了信息的传输。

图 A.4 莫尔斯电码

在 1844 年 5 月 24 日,塞缪尔·莫尔斯成功地利用他的电码在华盛顿特区和巴尔的摩之间传递了开创性的电报消息,“上帝造了什么?”

延续了帕斯卡和莱布尼茨在 18 世纪的贡献,欧洲创新者打造了一系列出色的自动机器,旨在模仿人类行为。其中最著名的发明家是法国的雅克·德·沃克松(Jacques de Vaucanson,1709–1782),于 1727 年创造了一台能够端菜和擦桌子的初始自动机器。然而,一名政府官员批评他的发明是亵渎的,导致沃克松的工作室关闭。尽管如此,沃克松后来用他的机械鸭子、机械吹笛者和机械吹奏者征服了欧洲。

除了他富有娱乐性的自动机器外,沃克松还对工业革命做出了重要贡献。在担任丝绸制造检查员期间,他于 1745 年通过发明第一台自动织机彻底改革了法国的纺织业。这台机器利用穿孔卡片来引导与经线相连的钩子,代表着自动机器按照二进制指令的最早实例之一。令人遗憾的是,织工们反对这一发明,担心会失去工作,沃克松被迫放弃了他的项目并为自己的生命逃亡。

沃克松的概念在 1804 年由法国织工和商人约瑟夫-玛丽·雅卡尔(Joseph-Marie Jacquard)进一步完善,并最终实现。他开发了一种使用穿孔卡片的自动织机,卡片上的孔决定了针、线和织物的移动,从而创建了具有复杂图案的丝绸织物。这种技术使得可以生产出挂毯、锦缎和有图案的针织织物。穿孔卡片的巧妙使用后来为数字计算机的设计提供了灵感,在 20 世纪早期的计算机中使用穿孔卡片进行数据输入。

瑞士奢侈钟表制造商皮埃尔·雅克-德罗兹制作了他那个时代最为出色的自动机器人之一。他最复杂的创作是一台坐在书桌旁的机械男孩,于 1768 年制作完成。这个机械人可以用笔和纸写字,由操作者控制一个轮子组合出最多 40 个预选字符。它使用鹅毛笔,在墨水中蘸取,摇动手腕以防止涂抹。它的眼睛在写作时会跟随文字移动,头部在蘸墨的时候也会动。这个写字机器人目前仍在运行,并在纳沙泰尔历史博物馆展出。

受这些越来越逼真的机器人影响的一位思想家是法国医生和哲学家朱利安·奥夫瓦·德·拉·梅特里。在他 1747 年出版的著作《人是机器》中,他提出了物质主义对心理感受的观点,为行为主义奠定了基础,质疑道:“认为我们之外存在着几乎与我们自己一样完美的机器的生灵,这样想有什么荒谬的地方吗?”

进一步普及类人机器概念的是沃尔夫冈·冯·坎普伦在 1769 年在奥地利匈牙利皇后玛丽亚·特蕾莎宫中展示了一种巧妙的自动下棋机器人。这台机器人被称为“土耳其人”,吸引了观众的注意,并让战败的对手感到恐惧。它的外观类似木偶,装饰有齿轮、曲柄和杠杆,使人想起钟表的机械装置。令人惊讶的是,“土耳其人”不仅会下棋,而且擅长下棋,击败了大多数挑战者,让试图解释其高超棋艺的科学家感到疑惑。坎普伦带着他的自动下棋机器人在欧洲巡回演出,在巴黎,“土耳其人”不仅击败了著名发明家查尔斯·巴贝奇,还击败了当时担任驻法国美国大使的本杰明·富兰克林。

“土耳其人”也开始了一场美国之行,在 1826 年初,数百人聚集在纽约百老汇国民酒店观看其首场比赛展示。这些观众被承诺能看到第一台能在赢过人类在智力挑战游戏象棋中机械机器人。然而,“土耳其人”实际上是一个骗局。隐藏在机器外壳内的是一个微小的象棋高手,他在操作象棋棋盘。在现代,魔术装备的创造者约翰·高恩制作了一个“土耳其人”的功能复制品,可以在 BBC 网站上观察到其动作。

误解“土耳其人”为真正下棋机器的可能原因之一是其推出期间正值工业革命早期阶段,这个时期从 1760 年到 1850 年,其特点是农业、制造业、纺织业和运输方面的重大创新。

虽然肯佩伦以土耳其人而闻名,但他一生中还完成了许多其他项目。最值得注意的之一是他在 1791 年的书籍《人类言语的机制》中描述的一个说话机。这个装置可以合成法语、意大利语和英语的语音、词语、句子和完整的短语。与土耳其人不同,这项发明的运作效果如广告所述,最初的机器之一仍在慕尼黑的德国博物馆展出。

在 18 世纪,一个被迅速技术进步所标志的时期,人们发现自己既被新兴发明的世界所吸引,又对此感到担忧。土耳其人的在欧洲的展览与一股反技术情绪的浪潮相吻合。卢德派骚乱是英国 19 世纪初纺织工人的一系列抗议和破坏行为,这是对这种焦虑的一种表现。这些工人担心自动化会导致大规模失业和工资下降。

玛丽·雪莱于 1818 年出版的开创性小说《弗兰肯斯坦》加剧了这些担忧。故事描绘了从无生命物质中创造生命,引发了对无节制的技术进步后果的质疑。1811 年,在英国的诺丁汉郡,纺织业引入自动化机械引发了一场暴力工人暴动。这场起义迅速蔓延到其他地区,抗议者要求摧毁他们认为导致经济困境的机器。紧张局势升级,导致卢德派和政府武装部队之间发生冲突。到 1812 年,毁坏机械的行为被视为一种死刑罪,可处以死刑。总共,1813 年有 17 名男子因此罪行被处以死刑,这是技术进步引起的社会动荡的鲜明提醒。

在这种动荡中,现代技术的基础也正在奠定。19 世纪中期,逻辑学家乔治·布尔在数学领域取得了重大进展。他 1853 年的论文《思维法则的研究》[6]引入了布尔代数。这种数学框架后来在数字计算机的设计和运行中被证明是不可或缺的。布尔代数处理的是只能有两个可能值的系统,通常表示为“真值”,如是/否,真/假,0/1 或开/关。

这个时代的另一位梦想家是查尔斯·巴比奇(1791-1871),他的工作奠定了现代计算机的基础。他花了多年时间开发一种能够进行导航和弹道所需的复杂计算的自动表计算器。然而,巴比奇最引人瞩目的概念是分析引擎[7]。它被设想为一台机械计算机,预示了我们今天使用的计算机。受约瑟夫·玛丽·雅卡尔在可编程织布机中使用的打孔卡技术的启发,巴比奇设想了一种通用的可编程机器,它可以使用打孔卡进行输入、输出和数据存储。艾达·洛芙蕾斯(1815-1852),常常被认为是世界上第一位计算机程序员,认识到了巴比奇的分析引擎的潜力。在她的作品《洛夫莱斯 & 巴比奇及其于 1843 年的《笔记》的创作》中,她记录了这一卓越发明的能力和可能性,为计算机的未来奠定了基础[8]:

在使机制能够将一般符号以无限的多样性和范围相连的方式组合起来时,建立了物质的操作和数学科学中最抽象的心智过程之间的联系。为未来的分析开发了一种新的、广阔的、强大的语言,用来处理其真相,使得这些真相能够比我们目前拥有的手段更快速、更准确地应用于人类的目的。

对洛夫莱斯和巴比奇的文件进行审查揭示了他们优先事项的分歧。巴比奇主要强调计算,而洛夫莱斯在她的梦想视野中,思考了进化后的分析引擎不仅能够进行计算,还能创作音乐和生成图像的潜力。在她的著作中,她表达了:

比如,假设在和声学和音乐作曲的科学中,音高的基本关系可以进行这种表达和适应,那么这台机器就可以创作出任何复杂程度或范围的精致和科学的音乐作品。

尽管巴贝奇和洛夫莱斯所构想的分析引擎从未真正存在,但他们在讨论通用可编程计算机方面的远见卓识,在考虑到即将展开的发展时尤为超前。这些富有远见的想法最早的实现之一可归功于赫尔曼·霍勒里斯(1860-1929),他经常被认为是自动化数据处理的先驱。霍勒里斯曾短暂担任美国人口普查局的统计员,这段经历凸显了改进计算方法的迫切需求。受到雅卡德织机和铁路上使用打孔图像来在车票上编码乘客特征的做法的启发,霍勒里斯发明了一种电子制表机,将在 20 世纪上半叶彻底改变数据处理的方式[9]。

为了 1890 年的人口普查,霍勒里斯提出了一个系统,其中每个人的数据将被编码到一张单独的卡片上,然后由他的创新机器进行统计处理[10](图 A.5)。这种方法显著加速了数据处理过程,以较低的成本提供了更多的统计数据。这种方法的成功导致了与各种实体的合同,包括铁路公司和加拿大、挪威和奥地利等国外政府。1896 年,在他的人口普查机器取得成功的基础上,霍勒里斯成立了制表机公司。1924 年,销售员托马斯·J·沃森加入公司后,他们将其更名为国际商业机器公司(IBM)。经过多年的专注研究和开发,IBM 提升了制表技术,创造了一台能够执行 if-then 逻辑操作的机器。

图 A.5 电子制表的霍勒里斯系统(照片由国会图书馆提供)

为现代计算机铺平道路的关键突破是电磁技术的利用。在二战期间对计算技术的需求推动下,霍华德·H·艾肯教授设计了世界上第一台大型计算机——哈佛马克一号。这台令人瞩目的机器采用打孔卡片和磁带进行数据处理和存储。与早期为特定任务量身定制的计算机不同,哈佛马克一号是一台多功能的通用计算机。最初的马克一号重达五吨,长达 50 英尺。1944 年 8 月正式揭幕时,它被誉为“世界上最伟大的数学计算器”,甚至有人将其称为“自动大脑”。

下一个在计算领域的重大进展是克劳德·香农在 1937 年提出了布尔代数的概念,以简化电气网络中继电器的排列。他的开创性工作在 1937 年的硕士论文中提出,题为“对继电器和开关电路的符号分析”[11]。香农的贡献奠定了现代数字电路设计的基础。

类似地,在 20 世纪 40 年代末,约翰·冯·诺伊曼通过想出一种方法将代码和数据存储在计算机的内部存储器中做出了开创性贡献。这一创新对计算机科学的发展至关重要,并导致了电子离散自动计算机(EDVAC)的诞生,该机器是 ENIAC 的继任者。尽管 ENIAC 通常被公认为是第一台数字电子计算机,但不容忽视的是大英帝国在 1943 年建造的高度专业化机器 Colossus,用以解密纳粹恩尼格玛密码。使用 Colossus 解码截获的消息揭示了关键信息,缩短了战争时间,并加速了纳粹的失败。温斯顿·丘吉尔生动地描述了 Colossus 团队是“下金蛋的鹅,永远不会嘎嘎叫”,以强调他们的无价贡献。

虽然计算机变得越来越先进和强大,但它们也变得难以控制。例如,UNIVAC 每秒可以进行 1,000 次计算,但需要 5,000 个真空管,这些管体积庞大且产生大量热量。个人计算机的发展必须借助晶体管的发明,这是 20 世纪的一个重大进步。

与真空管相比,晶体管体积小、节能、产生少量热量。这些特征允许将大量晶体管集成到单个设备中。1947 年,贝尔实验室的物理学家约翰·巴德因和沃尔特·布拉泰因将一块锗放大器连接到一块金箔条上,制造了第一个晶体管。经过数年的原型设计和测试,晶体管于 20 世纪 50 年代初开始大规模生产,并成为几乎所有电子设备的组成部分。晶体管的重要意义得到了承认,约翰·巴德因、沃尔特·布拉泰因和威廉·肖克利因其在半导体研究和发现晶体管效应方面的贡献被共同授予 1956 年诺贝尔物理学奖。

另一项重大突破发生在 1958 年,杰克·基尔比和罗伯特·劳伊斯制造了第一块集成电路,现在通常称为微芯片。这些集成电路包括各种电路元件,包括晶体管、电容器和电阻器,都以硅片上的单个单元的形式制造。劳伊斯随后于 1968 年在北加利福尼亚州圣何塞地区创立了英特尔公司,推广了“硅谷”的名词。微芯片在推动现代计算机革命和数字时代方面发挥了重要作用,并使基尔比于 2000 年获得诺贝尔物理学奖。

随着半导体芯片技术的迅速发展,计算机变得更小、更实惠,使得它们的可访问性大大提高,并在各个行业广泛应用。1981 年 8 月 12 日,在纽约市华尔道夫阿斯托里亚球场的一次新闻发布会上,IBM 推出了价格为$1,565 的 IBM 个人计算机。这与二十年前的计算机格局形成了鲜明对比,二十年前,一台 IBM 计算机的成本可能高达 900 万美元,需要大量的空间和人员进行操作。IBM 个人计算机由 Intel 8088 微处理器驱动,运行速度以百万分之一秒为单位测量,并且大约和一个便携式打字机一样大小。它包含 40K 的只读存储器和 16K 的用户存储器,甚至还配备了一个用于音乐生成的内置扬声器[13](见图 A.6)。

图 A.6 我于 1988 年创立了我的第一家公司,当时的机器配备了 1 MB RAM 和 40 MB 硬盘空间。

到 2024 年,配备 16 GB RAM 的机器已成为常态,许多公司慷慨地为客户提供 1 TB 甚至更多的免费存储空间。为了强调这些进步的重要性,让我们讨论一下主要概念。一个比特(bit)代表计算机内存中的一个 0 或 1,一个字节(byte)包含 8 个比特,而 1 千字节(kB)包含 1024 个字节。在此基础上,1 兆字节(MB)等于 1024 千字节,1 千兆字节(GB)包含 1024 兆字节,1 TB 包含 1024 GB。

在过去的四十年里,计算机的容量和处理能力已经成倍增加。这些显著进步的主要推动因素是能够将越来越多的晶体管集成到单个芯片上。早在 1970 年代,计算机已经开始整合每个晶体管超过 10 万个的芯片。值得注意的是,每个芯片的计算能力是 UNIVAC 的 20 倍,而 UNIVAC 曾经填满了整个房间,并且根据通货膨胀调整后的成本约为 1000 万美元!必须认识到,如果没有这些芯片,像互联网、手机、笔记本电脑以及苹果、微软、脸书和谷歌等行业巨头的存在都不可能实现。

晶片上的晶体管数量自那时以来继续以每两年翻倍的速度增长,这一现象通常被称为摩尔定律。到 2018 年,我们已经跨越了“七纳米器件”的门槛,这是指这些晶体管的尺寸。在这种微小的尺度上,我们可以在一块不大于指甲大小的芯片上容纳超过 200 亿个晶体管。以一英寸计,一个单独的纳米米为 25,400,000,而人类头发的宽度通常约为 80,000 到 100,000 纳米。因此,仅仅 12,000 个晶体管,其计算能力相当于两台 UNIVAC 电脑,占据了人类头发的宽度。

附录 B:算法和编程语言

本附录奠定了理解 AI 概念的基础,并介绍了两个关键原则,即算法和编程语言,它们是计算机科学和 AI 发展的重要组成部分。

B.1 算法

计算机程序是以可执行的形式表达的一组指令。主要地,计算机程序可以分类为操作系统或应用程序。操作系统管理计算机的内部功能,而应用程序允许计算机用户做诸如玩视频游戏或打字文档的事情。操作系统和应用程序都使用算法来定义它们的逻辑,并描述计算机执行特定任务时需要遵循的步骤。因此,算法是计算机科学的核心。

算法 一词是波斯数学家 Al-Khwarizmi 的名字的拉丁化,他在公元 813 年至 833 年间写了《通过补充和平衡进行计算的简明书》。这本历史性的著作的唯一剩余副本保存在牛津大学,Al-Khwarizmi 在其中介绍了解决各种类型问题的逐步过程。例如,他是第一个正式引入像二次方程解 ax2 + bx + c = 0 这种类型问题的方法的人。

算法对计算机的运行方式就像食谱对烹饪的作用一样重要。为了创建所需的结果,我们必须预先定义一组特定的操作,以固定的顺序应用。算法使计算机能够无疲倦地、准确地重复长序列的逻辑操作,只要它的逻辑和输入是正确的。创建算法通常涉及将问题解决过程分解为离散步骤。设计算法需要理解问题的结构、解决方案所需的属性、可能的输入和期望的输出。

一个创建和实现算法的方法是从使用流程图来勾勒解决方案的逻辑开始。图 B.1 显示了我在与根据内容的词汇表进行的语境分析相关的专利中提交的一个流程图之一。

图 B.1 显示了一个流程图的示例,描述了算法中的各个步骤。

众所周知,互联网已经彻底改变了信息传播和共享的方式。在任何给定时间,全球数百万人,包括儿童、学生、教育工作者、商人和政府官员,通过电子方式交换大量的数字数据,他们有各种不同的背景和个性。尽管这些信息可以轻松地分发给任何有电脑或网页访问权限的人,但它可能包含不适合所有用户的令人反感和冒犯的材料。特别是,成人或暴力的在线内容可能不适合儿童。

我们将使用基于上下文的方法推断单词使用的上下文。上下文可能基于内置词库或其他技术。内置词库可以是单词及其上下文的数据库。例如,单词苹果的上下文可能是水果纽约计算机。我们通过计算其与不良材料的相关度值来评估特定内容的适当性。

一旦确定了高级流程,就可以设计模块来解决特定的任务。将算法形式化为逻辑和模块后,我们必须选择适当的编程语言在计算机上编码。每个模块可以由不同的团队编写和测试,以提高实现的效率。

B.2 编程语言

人们通常通过口语或书面语言与其他人交流,如英语或法语。然而,与计算机的交流可能需要使用计算机编程语言。这些语言涉及通过键入的符号传递思想,尽管像我们熟悉的语言一样,这些符号根据语法、句法和语义规则组合。编程语言用于将算法从人类的言语和书写转换为计算机可以解释和执行的符号和指令。

计算机编程语言在许多方面比人类语言简单得多。例如,它们使用非常有限的词汇量,只能表达概念,例如“如果这样,那么就这样做;否则,就那样做”或“检查条件 X 是否成立,并且语句 Y 是否为真。”使用编程语言表达某事需要严格遵循规则;不允许偏离。将这种严格性与英语或法语进行比较,尽管它们要求词语和句子遵循句法和语义规则组合,但可以以极其灵活的方式表达无限多的概念。

在 1951 年,由威尔克斯、惠勒和吉尔[1]编写的《用于电子数字计算机程序的准备》成为有史以来第一本关于计算机编程的书,它激发了许多第一代语言的创造。例如,Flow-Matic 是第一种类似英语的编程语言,于 20 世纪 50 年代后期由格雷斯·霍普领导为 UNIVAC I 创建。用“类似英语”这样的术语描述编程语言,可以让人了解程序代码的可理解程度。例如,与其不得不输入明确的指令让计算机从其内存的某个部分检索数据并通过特定通道传输,不如输入一个简单的指令“打印 X”来完成相同的任务。

为了使编程语言更加用户友好,促使了 1959 年通用商业导向语言(COBOL)的出现。它被设计用于处理业务数据,并提供了自然语言风格的编程。它重视数据描述,并引入了数据结构的概念,这是存储和检索特定类型信息的特殊格式。COBOL 还将一般程序的结构分为几个部分——标识部分、环境部分、数据部分和过程部分。

当 COBOL 成为美国国防部计算机的强制性语言时,它在编程界的影响力显著增加。尽管自那时以来语言已经发展,但 COBOL 仍然是一种广泛使用的编程语言。根据哈特曼[2]的说法,截至 2022 年,超过 2200 亿行 COBOL 代码仍在联邦政府机构和金融机构的计算机上运行。大约 95%的 ATM 刷卡交易使用 COBOL 代码处理,而每天 80%的面对面交易都由 COBOL 编写的程序处理。

另一种重要的编程语言 Fortran,是由约翰·贝克斯(John Backus)及其团队于 20 世纪 50 年代末发明的。回顾他的动机,贝克斯写道:“当我在 IBM 701 上(一台早期计算机)工作,为计算导弹轨迹编写程序时,我开始着手设计一个编程系统,以使编写程序更容易”[3]。Fortran 的目的是使编程变得更易于实现,而在很大程度上,它做到了。

曾经繁琐、困难和昂贵的为单个问题打字数千条程序指令的任务可以通过几十条 Fortran 指令完成。因此,自 1957 年商业发布以来,Fortran 成为第一个计算机语言标准。它通过向普通大众开放计算机科学领域极大地帮助了现代计算。像 COBOL 一样,Fortran 在创建后 60 多年仍在使用。

在人工智能领域,我们需要用于建模学习和推理等智能过程的编程语言。这些要求超出了设计用于执行数值计算的语言的能力,例如 Fortran。AI 需要能够操作程序和数据、处理和解释符号,并表示在语言处理、计算机视觉和推理系统等应用中出现的不同对象和格式的特征的语言。为了满足这些要求,约翰·麦卡锡在 20 世纪 50 年代末设计了 Lisp。他描述了语言的目标如下[4]:

作为一种编程语言,LISP 的特点包括以下几点:使用符号表达式而不是数字进行计算,在计算机的内存中通过列表结构表示符号表达式和其他信息。

Lisp 在计算机科学中开创了许多思想,包括树数据结构,自动存储管理,动态类型,条件,高阶函数,递归等。

源代码是用于编写计算机程序的一组指令,使用其中一种语言,并且大多数计算机语言都是编译的或解释的。编译语言,如 C 和 C ++,使用另一种称为编译器的软件在程序执行之前将源代码转换为目标代码。编译器将源代码转换为特定的机器指令,可以直接由微处理器执行(图 B.2)。

编译器实现图 B.2

解释语言的源代码,如 Lisp,可以直接执行,无需编译(图 B.3)。因此,应用程序可以更快地开发。此外,解释语言与硬件无关,因为它们可以在解释器支持的任何体系结构上运行。解释器的缺点是,例如在 Lisp 中编写的相同代码将比使用编译语言(如 C 或 C ++)编写的代码慢一个数量级。当解释器执行程序时,必须逐行阅读源代码并即时将其转换为机器代码;相比之下,编译代码在执行程序之前已经被翻译成机器代码。

解释器实现图 B.3

其他语言,如 Java,采用混合方法。如果计算机程序可以在各种类型的计算机上执行,则将其分类为可移植的。即使可以在不同类型的计算机上编译高级语言,例如 C ++,但由此生成的目标代码通常只能在一种类型的计算机上执行。用解释语言编写的源代码只要安装了解释器语言,就可以在任何计算机上执行。Java 被称为可移植,因为源代码被转换为虚拟机代码,以便不限制编译器生成的代码到特定的处理器架构。

Lisp 是第一种引入“垃圾收集”的语言。此术语是指一种自动过程,可以释放曾用于存储程序数据但不再需要的内存,以供其他用途使用。

另一个广泛使用的语言是 BASIC,是初学者全用途符号指令代码的首字母缩写。由约翰·凯门尼(John Kemeny)和托马斯·库尔兹(Thomas Kurtz)于 1964 年开发,这种简单直接的语言,与 Fortran 一样,专门设计用于易用性。凯门尼和库尔兹希望使科学和非科学领域的学生都能在工作中使用计算机。

在 Fortran 和 BASIC 等高级语言引入之前,编程计算机通常是相当困难的,因为这些语言更抽象,硬件独立,更贴近人类语言,使用起来更容易。通常,唯一可用的选项是汇编语言,它比直接写一串 1 和 0 稍微简单一点,需要为计算机必须遵循的每条指令编写语句。除了复杂、困难和耗时外,汇编代码通常引用计算机上的特定方面,这意味着为一台计算机编写的程序可能在另一台计算机上无法正常工作。

尽管每种编程语言都可以实现大多数算法,正如我们刚刚学到的那样,但通常情况下,编程语言都是针对特定领域设计的。有些语言适用于特定应用,而有些则不太适合。例如,COBOL 非常适合用于业务数据处理,Fortran 更适合用于科学应用,而 Lisp 则是为人工智能而设计的。还有一些语言,比如 C 语言,更适用于计算机系统,因为它们包含了操纵存储在计算机上的二进制信息的元素。还有一些语言,比如结构化查询语言(SQL)用于操作数据库,R 语言用于数据分析。如今,有数以百计的编程语言。

如果你以前没见过计算机代码,下面是一个示例。该程序是用 C 编程语言编写的,运行它将使计算机在屏幕上打印“你好吗?”。这段文本将被一个名为编译器的程序转换成汇编代码,然后被计算机处理为指令并执行:

#include <stdio.h>
int main( )
{
 printf("How are you?");
 return 0;
}

结语

当我们结束对人工智能迷人世界的探索时,我们需要反思我们一起走过的旅程。在本书的各章中,我们探讨了各种人工智能技术,追溯了它们从专家系统早期到深度学习的当代时代的演变。我们发现的是,所有这些技术都依赖于代码和数学公式。在其核心,人工智能是一种利用算法处理和分析大量数据的工具,从而赋予机器检测模式、做出预测和执行传统上需要人类智慧的任务的能力。从数据中学习的能力是人工智能力量的核心。不幸的是,由于耸人听闻的报道,误导了公众的看法,培养了不切实际的期望和投机的恐惧,而忽视了它可以提升我们生活的显著方式。

人工智能作为一种强大的工具,具有显著改善我们生活质量的潜力。然而,其深远影响的实现取决于我们如何有效地利用它。以一种细致理解其能力和局限性的方式来部署它至关重要。通过全面的视角,我们可以释放人工智能的真正潜力,负责任和道德地引导其复杂性,确保其好处最大化,同时减轻潜在的缺点。

三十多年来,我对人工智能的热情一直是推动我将人工智能应用于现实世界使命关键应用的动力。在撰写本书时,我的主要愿望是为那些对这一领域新手的人揭开人工智能的神秘面纱。我希望通过这些页面,你们获得了辨别围绕人工智能的神话和其实际现实的知识。

约瑟夫·魏岑鲍姆,第一个聊天机器人 ELIZA 的创造者,似乎避免了夸大自己成就的常见倾向。他对人工智能的以下精彩但冷静的描述如下[1]:

机器被制造成以奇妙的方式行为,往往足以使即使是最有经验的观察者也感到眼花缭乱。但是一旦一个特定的程序被揭示,一旦它的内部运作被用足以引起理解的简单语言解释出来,它的魔力就会崩溃;它被揭示为一组简单易懂的程序。

1965 年约瑟夫·魏岑鲍姆的描述在 2024 年仍然如此准确。人工智能系统仍然没有推理能力,它们不会很快在需要智力、身体敏捷、常识、判断力、创造力、社交关系或复杂推理的任务中取代我们。

我在人工智能领域工作多年,大大增加了我对人类情感和智慧的欣赏和尊重。我们大多数的心智能力超出了我们的自省和理解能力。如果我们将我们的身体看作硬件,我们的思维看作软件,我们代表着一种比我们所希望创造的任何东西都要先进得多的技术。

新兴的人工智能技术有潜力以深远方式赋予人类力量,超越医疗保健、教育、工程、农业和其他领域的界限。然而,必须承认人工智能并非万能良药。它是一个强大的工具,其使用将反映人类智慧的高贵和卑鄙的两面。

AI 的发展轨迹将涉及军事应用、监控机制、网络战、虚假信息宣传,甚至压迫性用途。然而,我相信人工智能的智慧增强将通过人类智慧和机器惊人的速度的结合,增加经济繁荣,为研究人员和创业者创造新的机会,创造更多的就业机会,并为更大的利益而应用新产品。

本文标签: 人工智能原理