经典计算算法允许你通过一组有限的指令和操作来执行特定任务(它们在有限步骤后停止),并且没有歧义(它们清晰且精确)。换句话说,经典算法被编程为产生精确的结果,它们明确无误,不留任何适应空间。
人工智能算法基于人工神经网络,旨在无需显式编程即可从训练数据中学习。人工智能算法并非一劳永逸,因为它们能通过经验持续学习与改进。这类算法常具有模糊性,对相似数据输入可能产生不同结果。作为非线性模型,输入数据的微小变化可能导致输出结果的巨大差异。这正是神经网络拥有众多参数的原因——这些参数控制着训练过程中连接权重的调整方式。
权重调整的概念是机器学习和人工神经网络中的一个基本概念。这一概念源于对人脑运作机制的启发。
在人脑中,生物神经元通过突触相互连接。两个神经元之间的连接强度被称为"突触权重"。突触权重在人类学习过程中会发生变化。这一尚不完全清楚的过程被称为"突触可塑性"。突触可塑性是指突触根据经验改变连接强度的能力。
此外,人工智能算法基于统计数学模型设计。这意味着它们不会产生精确结果,而是生成具有概率性的结果。同一神经网络对相似数据输入可能产生不同结果。为减少这些影响,必须对突触权重进行参数化。以ChatGPT为例,1750亿个参数决定了该模型的行为。
参数在模型的训练数据上进行调整。例如,语言模型的参数可以包括:某个词在句子中出现的概率、某个词后接另一个词的概率、某个词在特定上下文中使用的概率等。以ChatGPT为例,用于训练它的语言模型数据是一个包含5000亿词组的文本和代码数据集。 ChatGPT的模型参数用于生成与训练数据中文本相似的文本。也就是说,它决定在给定句子中最可能出现的词语。例如,如果训练数据中包含“房子是白色的”这样的句子,模型会学习到“房子”、“是”、“白色的”这些词很可能同时出现。该句子在学习模型中出现的次数越多,与之相关的突触权重就会被更新得越高。 这意味着模型更有可能输出“房子是白色的”这个句子。模型还会考虑句子的上下文及其出现的环境。例如,“房子是白色的”这句话更可能出现在讨论住宅区的语境中,而非讨论旅行社的语境中。语言规则也会影响句子出现的可能性。例如,“房子是白色的”在法语中语法正确,而“白色的房子是”则语法错误。 决定语言模型输出句子可能性的因素还有很多。这些因素可能因模型或应用领域而异。
注:语言模型并非复制机器。它能够学习数据并生成与训练数据相似的文本,但不会逐字复制训练数据中的内容。
人工智能可以通过经典计算算法进行编程,例如专家系统或推荐系统,这些系统使用被称为“机器学习”的学习技术。然而,这些技术在解决复杂或非结构化问题时存在局限性。此外,在传统计算中,难以考虑尚未遇到的新问题。
得益于深度学习技术(多个隐藏层)的发展,人工智能无需显式编程即可解决复杂且非结构化的问题。深度学习使计算机程序能够从数据中学习。然而,机器学习模型十分复杂。它们可能包含数十亿个参数,所有这些参数都必须经过学习、加权和优化。这需要大量的数据和计算能力。学习过程通常耗时漫长。尽管存在这些限制,人工智能的发展仍比专家系统的开发高效无数倍。若没有人工神经网络的概念,人类绝无可能在如此短的时间内实现ChatGPT。