购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 ChatGPT的基础技术

1.2.1 什么是人工智能

Elon Reeve Musk在加州举办的Code Conference上声称:人类活在真实世界的概率只有十亿分之一。Elon Reeve Musk不是第1个公开发表这种观点的人。早在17世纪,法国哲学家Rene Descartes是目前所知的第1个担心人类活在“虚幻世界”中的人。他害怕眼前的一切都是“恶魔”制造的完美幻象。笛卡儿说:“恶魔竭尽所能去误导我。”他所讲的“恶魔”也许就是人工智能。

大众印象里的人工智能应该更趋向于人形机器,各种科幻电影很热衷于去刻画人工智能,例如《机械姬》给人印象很深刻,没有血肉但是拥有智慧,各方面远远超过了人类。所有电影中的人工智能都会有一条基本原则,即不能伤害人类,没有这一条限制的都算惊悚电影。

那么什么是人工智能?人工智能(Artificial Intelligence,AI)是计算机科学和工程学领域的一个分支,旨在研究和开发智能机器。它模拟人类的思维方式,让计算机能够像人类一样进行推理、学习、理解、判断、决策、交流等活动。人工智能技术包括机器学习、自然语言处理、计算机视觉、语音识别、知识图谱等多个领域,单独的一些功能已经广泛地应用于医疗、金融、智能制造、智慧城市等各个领域。说到人工智能的起源,那一定是来自达特茅斯人工智能夏季研究项目(Dartmouth Summer Research Project on Artificial Intelligence,DSRPAI),这是1956年夏天在达特茅斯学院举行的一次历史性会议,被认为是现代人工智能研究的诞生地。这次会议汇聚了当时最杰出的计算机科学家和数学家,共同探讨了关于人工智能的概念、实现方法及发展前景。会议的核心思想是将人类智能的各方面转换为计算机程序,从而实现类人智能。之所以召开这次会议的主要原因是在1955年John McCarthy、Marvin Minsky、Nathaniel Rochester和Claude Shannon共同撰写了一篇关于人工智能研究的建议书,提议在达特茅斯学院举办一次为期八周的研究项目。后来这个建议得到了实现,称为DSRPAI。

在会议期间,参会者探讨了人工智能的基本概念、实现方法及发展前景。以下是一些主要内容。

(1)自动计算机:是指能够自主完成某些任务而无须人类干预或发出指令的计算机系统。这种计算机系统通常依赖于人工智能、机器学习、自然语言处理等技术,可以用于自动化生产流程、自动化客服系统、自动化安全监测等领域。

(2)如何对计算机进行编程以使用语言:这个议题的核心思想是如何使用自然语言,例如用英语等人类语言来编写计算机系统。这种编程方式可以大大地降低编程门槛,使非专业人士也能够通过简单的语言描述来完成编程工作。这种技术已经被广泛地应用于自动化软件开发、自动化测试等领域。

(3)神经网络:是一种模拟人类神经系统的计算模型,由大量的节点和链接组成。神经网络可以通过学习来自我改进,从而在不同的任务中表现出良好的性能,例如图像分类、语音识别、自然语言处理等。神经网络技术已经被广泛地应用于机器学习和人工智能领域。

(4)计算规模理论:是研究计算问题的复杂度和可解性的一门学科。它研究的问题包括什么样的问题可以在多项式时间内解决,什么样的问题是NP难的(Nondeterministic Polynomial-time hard),这是计算机科学中的一个概念,指的是一类计算问题,这些问题在当前的计算机算法中非常难以求解,以及如何设计高效的算法等。计算规模理论对于计算机科学的发展具有重要的意义,它帮助人们理解计算问题的本质,并指导人们设计更加高效的算法。

(5)自我改进:是指计算机程序能够通过学习和适应来不断地提高自身的性能和表现。自我改进的实现需要依赖于机器学习和人工智能技术,例如深度学习、强化学习等。自我改进的应用范围非常广泛,例如智能推荐系统、自然语言处理、机器翻译等。自我改进对于机器智能的发展至关重要,它可以使计算机系统更加智能化和人性化。

(6)抽象:是指从具体的事物中提取出其共性特征,形成一般化的概念和方法。在计算机科学中,抽象是一种非常重要的思维方式,它可以帮助人们将复杂的问题简化为更为基础和通用的形式,从而更好地理解和解决问题。抽象在软件设计、算法设计、数据结构设计等方面都有着广泛的应用。

(7)随机性与创造性:是指计算机程序在解决问题时使用随机化和创造性的方法。随机化是指使用随机数或概率分布来产生不确定的结果,从而解决一些问题。创造性是指计算机程序能够通过创造新的思路和方法来解决问题,从而达到超越人类的水平。随机性和创造性在机器学习、优化、生成艺术等方面都有着广泛的应用。这些技术可以使计算机系统更加智能化和灵活化,从而在各种应用场景中表现出更好的性能。

会议讨论了人工智能的基本概念、实现方法及发展前景,涉及问题求解和搜索、知识表示和推理、自然语言处理、学习和适应、神经网络和连接主义、计算机视觉等方面。同时会议还关注了人工智能可能带来的哲学和伦理问题。

会议的核心思想是将人类智能的各方面转换为计算机程序,从而实现类人智能。这个思想成为人工智能领域的基本原则,并引领了后续几十年的研究和发展。至今,人工智能已经在很多领域取得了显著的成果,如计算机视觉、自然语言处理、机器学习等,已被广泛地应用到日常生活和产业中。虽然人工智能仍然面临许多挑战和未解决的问题,但DSRPAI为人工智能的研究和发展奠定了坚实的基础。

1.2.2 人工智能的类型

DSRPAI会议中提出了人工智能可以分为3种类型:符号主义(Symbolicism)、连接主义(Connectionism)和行为主义(Actionism)。

(1)符号主义,又称为逻辑主义、心理学派或计算机学派,其原理主要为物理符号系统(符号操作系统)假设和有限合理性原理。

(2)连接主义,又称为仿生学派或生理学派,其主要原理为神经网络及神经网络间的连接机制与学习算法。

(3)行为主义,又称为进化主义或控制论学派,其原理为控制论及感知-动作型控制系统。

1.符号主义

符号主义认为人工智能源于数理逻辑,在19世纪末期,数理逻辑开始迅速发展,并在20世纪30年代被应用于描述智能行为。随着计算机的出现,逻辑演绎系统也得以在计算机上实现。在这个背景下,启发式程序LT(逻辑理论家)成为符号主义领域的代表性成果。它成功地证明了38条数学定理,表明了计算机可以用于研究人类思维过程,从而模拟人类智能活动。符号主义者发展了启发式算法、专家系统和知识工程理论与技术等领域,并在20世纪80年代取得了重大进展。符号主义长期以来一直是人工智能领域的主流派别,为人工智能的发展做出了重要贡献,尤其是专家系统的成功开发和应用,对于人工智能走向工程应用和实现理论联系实际具有特别重要的意义。在人工智能的其他学派出现之后,符号主义仍然是人工智能的主要方法之一。该学派的代表人物包括纽厄尔(Newell)、西蒙(Simon)和尼尔逊(Nilsson)等。

2.连接主义

连接主义认为人工智能的源头可以追溯到仿生学,特别是对人脑模型的研究。人工智能的代表性成果之一是由生理学家麦卡洛克(McCulloch)和数理逻辑学家皮茨(Pitts)在1943年创立的脑模型,即MP模型。这一模型开创了用电子装置模仿人脑结构和功能的新途径。从神经元开始,人们开始研究神经网络模型和脑模型,开辟了人工智能的又一发展道路。

在20世纪60~70年代,连接主义风靡一时,尤其是对以感知机为代表的脑模型的研究出现过热潮,然而,由于受到当时的理论模型、生物原型和技术条件的限制,脑模型研究在20世纪70年代后期至80年代初期落入低潮。直到1982年和1984年,Hopfield教授发表了两篇重要论文,提出用硬件模拟神经网络的想法,连接主义才又重新抬头。1986年,David Rumelhart等提出了多层网络中的反向传播算法,这一算法为神经网络的发展带来了新的契机。

如今,对人工神经网络的研究热情依然高涨,然而,研究成果并没有像预想的那样好。虽然神经网络计算机走向市场并打下了基础,但人们对于人工智能的期望值远远高于目前的技术水平。虽然连接主义在人工智能领域的地位有所下降,但它仍然是人工智能领域的重要方法之一。

3.行为主义

行为主义认为人工智能源于控制论。控制论思想早在20世纪40~50年代就成为时代思潮的重要部分,影响了早期的人工智能工作者。Wiener和McCulloch等提出的控制论和自组织系统及钱学森等提出的工程控制论和生物控制论影响了许多领域。控制论把神经系统的工作原理与信息理论、控制理论、逻辑及计算机联系起来。早期的研究工作重点是模拟人在控制过程中的智能行为和作用,如对自寻优、自适应、自镇定、自组织和自学习等控制论系统的研究,并进行“控制论动物”的研制。到20世纪60~70年代,上述这些控制论系统的研究取得了一定的进展,播下智能控制和智能机器人的种子,并在20世纪80年代诞生了智能控制和智能机器人系统。行为主义是20世纪末才以人工智能新学派的面孔出现的,引起许多人的兴趣。这一学派的代表作者首推布鲁克斯(Brooks)的六足行走机器人,它被看作新一代的“控制论动物”,是一个基于感知-动作模式模拟昆虫行为的控制系统。

人工智能领域的派系之争由来已久。三个流派都提出了自己的观点,它们的发展趋势也反映了时代发展的特点。这3种观点并不是互斥的,而是相互融合的,最终相辅相成。对人工智能类型进行广泛分类的一种更有用的方法是按照机器可以做什么来分类。目前所讲的所有人工智能都被认为是“窄”(Narrow)人工智能,因为它只能根据其编程和训练来执行一组范围狭窄的操作。例如用于对象分类的AI算法无法执行自然语言处理。谷歌搜索是一种窄AI,预测分析或虚拟助理也是窄AI。人工通用智能(AGI)是指机器可以像人类一样“感知、思考和行动”。AGI目前不存在。下一个等级将是人工超级智能(ASI),即机器可以在所有方面发挥出优于人类的功能。

1.2.3 什么是机器学习

机器学习是人工智能领域的一个重要分支,它让机器或系统能够自动地从数据中学习和不断优化,而无须进行显式编程。机器学习算法通过分析大量数据获取知识和洞见,从而能够做出更加明智的决策。随着训练数据的增加,机器学习算法也会不断改进以提升性能。机器学习模型是通过对训练数据运行算法而学到内容,它们能够被用于解决各种现实世界的问题,而使用更多数据可以帮助机器学习算法更好地学习和理解现实世界中的问题,从而获得更加准确和精细的模型。机器学习是符号主义类型人工智能的重要组成部分。

ChatGPT利用机器学习算法对大量文本语料进行训练,从中学习语言的规则和模式,从而能够理解和生成自然语言。ChatGPT在训练过程中采用了非监督式学习,即模型在没有标注的数据上进行学习,通过学习文本语料中的模式和规律来提高自身的性能,也做到了在聊天的过程中不断地纠正自身算法的能力。上面说到ChatGPT采用了机器学习中的非监督式学习,机器学习中常用的学习方式有3种:监督式学习、非监督式学习、强化学习。

1.监督式学习

监督式学习的核心思想是在训练数据中给出输入和输出的对应关系,让机器通过学习这些对应关系来建立模型,并在新的输入数据到来时预测其对应的输出。监督式学习的训练过程可以分为两个阶段。

(1)模型的学习阶段:在这个阶段,机器学习算法会根据已有的标记数据来学习输入和输出之间的关系。机器学习算法会根据输入数据和对应的标签数据来调整模型的参数,从而让模型能够更准确地预测未知数据的标签。

(2)模型的预测阶段:在这个阶段,模型已经学习到输入和输出之间的关系,可以用来预测新的数据。机器学习算法会将新的输入数据输入模型中,然后根据模型的输出来预测其对应的标签。

假设想要让机器学习识别手写数字。可以收集一些手写数字的图片,并对其进行标注,告诉机器哪些数字对应哪些标签,然后将这些标记好的数据作为训练数据,让机器学习从中学习数字和标签之间的映射关系。在学习完毕后,机器就能够根据输入的手写数字图像,预测其对应的数字标签。目前类似MMDetection这样的项目可以低成本地训练一个识别算法,非常适合机器学习的入门读者。

2.非监督式学习

非监督式学习的核心思想是从未标记的数据中发现模式和结构,而无须提供标签信息。在非监督式学习中,机器学习算法可以根据数据中的统计规律和相似性来发现数据中的隐藏关系和结构,从而将其作为模型的输出。非监督式学习的训练过程可以分为以下两个阶段。

(1)模型的学习阶段:在这个阶段,机器学习算法会从未标记的数据中发现数据的模式和结构。算法会根据数据中的统计规律和相似性来学习数据的隐藏结构,并将其作为模型的输出。常见的非监督式学习算法包括聚类、降维和异常检测等。

(2)模型的应用阶段:在这个阶段,模型已经学习到数据的隐藏结构和模式,可以用来执行各种任务。例如,聚类模型可以用来将数据分成不同的类别,降维模型可以用来减少数据的维度,异常检测模型可以用来检测数据中的异常点等。

假设有一堆未标记的新闻文章,想要将它们聚类成不同的主题。可以使用非监督式学习算法,如 K 均值聚类算法,来将这些文章聚类成不同的主题。在聚类过程中,算法会自动地发现文章之间的相似性,并将相似的文章分到同一个类别中。

除了监督式和非监督式学习之外,通常还会采用一种名为“半监督式学习”的混合方法,其中只会对部分数据添加标签。在半监督式学习中,最终结果是已知的,但算法必须决定如何组织和构造数据以获得期望的结果。

3.强化学习

强化学习的核心思想是通过与环境的交互来学习最优的行为策略,从而最大化地累积奖励信号。在强化学习中,智能系统需要在动态和不确定的环境中做出决策,并根据环境的反馈来调整自己的行为。强化学习的训练过程可以分为以下3个阶段。

(1)环境的交互阶段:在这个阶段,智能系统需要与环境进行交互,并根据环境的反馈来调整自己的行为。智能系统会不断地尝试不同的行动,并收到环境的奖励信号来评估自己的行动。

(2)策略的更新阶段:在这个阶段,智能系统会根据环境的反馈来更新自己的策略。智能系统会根据当前的状态和奖励信号来调整自己的行为策略,从而使自己能够获得更高的累积奖励。

(3)模型的应用阶段:在这个阶段,智能系统已经学习到最优的行为策略,并可以用来完成类似的任务。智能系统会根据当前的状态来选择最优的行动,并获得相应的奖励信号。

假设有一个机器人,需要学习如何在一个房间中找到目标位置。在强化学习中,机器人需要通过尝试不同的行动来学习最佳的行为策略,从而找到目标位置。在尝试的过程中,机器人会不断地收到环境的奖励信号,例如当机器人朝着目标位置移动时会获得正的奖励信号,如果机器人撞到墙壁,则会获得负的奖励信号。通过不断地尝试不同的行动,机器人会逐渐学习到最佳的行为策略,从而找到目标位置。

1.2.4 神经网络

在人工智能领域,神经网络被视为底层模型。它是许多复杂应用和高级模型的基础,例如模式识别和自动控制。人工神经网络是一种常见的训练模型,它由许多小型计算节点组成,每个节点被称为感知机。这些感知机以层级结构的方式连接在一起,形成了一个复杂的网络。与人类神经系统类似,每个感知机都可以接收输入数据,并根据它们做出决策。这些决策会被传递到下一层,由更多的感知机进行处理和分析。

如果神经网络的层数超过三层,就被称为深度神经网络或深度学习模型。现代神经网络的层数可以达到数百或数千层,这使它们可以处理非常大的和复杂的数据集。最终,神经网络的输出由感知机的决策组成,这些决策可以用来分类对象或在数据中查找模式,因此,神经网络是一种非常强大的工具,可用于解决各种人工智能问题。神经网络类型如图1-2所示。

图1-2 神经网络类型示例

神经网络本质上就是模拟人的大脑。人为什么能够思考?科学家发现,之所以人可以思考,主要依靠的就是生物层面的人的神经网络。当外部刺激作用于神经末梢时,它们被转换为电信号,并通过神经元传递。大量的神经元构成神经中枢,其中包括大脑和脊髓等组织。神经中枢综合和处理各种信号,以做出判断和决策。在获得足够的信息后,神经中枢下发指令,对外部刺激做出反应。既然思考的基础是神经元,如果能够构造出“人造神经元”(Artificial Neuron),就能组成人工神经网络,从而模拟思考。20世纪60年代,提出了最早的“人造神经元”模型,叫作感知器(Perceptron),直到今天还在用。

基于对人脑的模拟,慢慢衍生出了几种神经网络类型。

(1)前馈神经网络(Feedforward Neural Network,FNN):前馈神经网络是最基本的神经网络类型之一,也是最常见的类型。它的输入只会向前流动,没有反馈或循环。前馈神经网络通常用于分类和回归等任务。它的优点是易于训练和理解,但是它不能处理序列数据等具有时序性的任务。

(2)循环神经网络(Recurrent Neural Network,RNN):循环神经网络是一种具有反馈循环的神经网络,可用于处理序列数据。它的输出不仅取决于当前的输入,而且还取决于先前的输入和状态。循环神经网络可用于语言建模、机器翻译和自然语言生成等任务,但在训练时容易出现梯度消失和梯度爆炸问题。

(3)长短期记忆网络(Long Short-Term Memory,LSTM):LSTM是一种特殊的循环神经网络,它可以解决RNN中的梯度消失和梯度爆炸问题。LSTM具有一种称为“门”的机制,可控制信息的流动,从而实现长期记忆。LSTM被广泛地应用于语音识别、自然语言处理等任务。

(4)卷积神经网络(Convolutional Neural Network,CNN):卷积神经网络是一种针对图像处理和计算机视觉任务设计的神经网络。它使用卷积操作来捕捉输入中的局部结构,从而提取特征。卷积神经网络被广泛地应用于图像分类、目标检测和图像分割等任务。它的优点是参数共享和空间局部性,使其能够高效地处理大规模图像数据。

(5)生成对抗网络(Generative Adversarial Network,GAN):生成对抗网络是一种由两个神经网络组成的模型,其中一个神经网络生成假数据,另一个神经网络则尝试将假数据与真实数据区分开。这两个神经网络通过反复训练来提高它们的性能。生成对抗网络被广泛地应用于图像生成、视频生成和自然语言生成等任务。它的优点是可以生成高质量的数据,但是训练过程比较困难。

得益于近几年的算力科技大幅提升,神经网络训练也逐渐普及应用,像如火如荼的自动驾驶、人脸识别、图像检索、推荐算法都用上了神经网络训练。ChatGPT是一种基于神经网络的语言模型,当你在ChatGPT中按Enter键后,你的文本会首先被转换为一系列词嵌入,这些词嵌入是在整个互联网大量文本数据上进行训练得到的。接下来,一个经过训练的神经网络会根据输入的词嵌入,输出一组相应的嵌入,这些嵌入能够恰当地响应你的查询,然后使用一种逆操作,将这些嵌入转换为人类可读的单词,这个过程被称为解码。最终,ChatGPT将打印出解码后的输出,作为它的回答。

1.2.5 自然语言处理技术

自然语言处理(Natural Language Processing,NLP)是计算机科学、人工智能和语言学领域的一个交叉学科,旨在使计算机能够理解、解析、生成和处理人类自然语言。自然语言处理技术的应用涵盖了从简单的文本分析到复杂的对话系统的各方面。这个领域的核心任务包括语法分析、词义消歧、实体识别、关系抽取、情感分析、机器翻译、文本摘要、问答系统等。

现实中已经有很多使用NLP的应用场景了,例如语音客服、Siri等。NLP技术使聊天机器人和语音机器人在与客户交谈时更像人类。企业使用聊天机器人扩展客户服务功能和提升服务质量,同时将运营成本降至最低,并且比曾经的手机键盘按键+功能播报模式的用户体验更好。笔者亲身经历过一个场景,报警中心如果遇到话务员场景不够的情况该怎么办?这是一个比较极端的场景,也是非常有可能遇到的一个场景,这种情况公安局是需要考虑到的,这种状况则用到了NLP中的情绪分析能力,通过来电话中的语气情绪波动来判断这起事件的优先级,从而较合理地分配紧张时期的资源。

NLP最近由于ChatGPT而非常火热,然而ChatGPT并不是传统NLP的产物,而是颠覆了传统NLP行业。在传统NLP领域绝大多数工程项目会针对特定任务开发具体的模型,它们都属于垂直领域,进行有针对性的数据标注,然后训练模型。这些任务包括分词、实体识别、文本分类、相似度判别、机器翻译、文本摘要、事件抽取等。例如,一家公司需要开发一套风控系统,那么NLP工程师需要开发文本分类、关键词抽取、实体识别、事件抽取、文本聚类、相似度判别等模型或模块。对于这些任务,可以使用小模型或预训练+微调模式来完成,对于一些数据过于稀疏、本身过于小众的任务,可以直接采用规则和解析的方式来处理,NLP任务不仅局限于传统的研究方向,还包括许多小众任务。例如,给定一段话,模型需要返回应当几点通知用户参会的时间,这种任务传统的NLP手段处理起来比较困难。此外,NLP的工作也可以根据数据领域进行区分。例如,针对医疗文本领域需要定制一套实体识别系统,用于识别药物、疾病、诊疗日期等实体类型,而针对法律领域,则需要另一套实体识别系统,用于识别所犯罪行、量刑年限、罪犯名称、原告、被告等信息。虽然这两个模型完成的功能相似,但却不能互相使用,因此,NLP产业界实际上处于一种手工业模式。针对不同的企业、不同的需求,需要不断地定制模型、定制数据来完成工作。每个定制需求都需要人力,从而涌现出大量的NLP公司和从业者。

ChatGPT几乎洗刷了原先NLP产业界手工作坊式的生态,再不需要分不同子任务、分不同领域数据场景的手工业模式,而是直接采用大模型,以对话形式,直接形成了大一统。有人测试过ChatGPT在上述传统NLP任务中的表现,完全可以平替,ChatGPT在各种垂直领域的NLP测试的结果都是可以对模型进行微调后直接使用的,模型微调的成本是非常低的,有些领域甚至可以直接使用,但是ChatGPT除了少数精通LLM技术的工程师,其他人都无法开发出类似的模型。以后大概率全球范围内只需使用这一个模型,然后根据需求调整接口就可以了。

就像AI科幻电影那样,AI是可以轻易被复制的,可以进行各种备份。如果世界上存在一个高质量的AI,则唯一需要做的就是将其复制,而不必重新进行开发。

那么可不可以用训练好的大模型去训练另一个大模型?已经有团队尝试了,结果是不可以的。因为ChatGPT等大语言模型,实际上是对互联网语料库的有损模糊压缩,如同JPEG格式之于原始高清图片。用大语言模型生成的文本来训练新的模型,如同反复以JPEG格式存储同一图像,每次都会丢失更多的信息,最终成品质量只会越来越差。大语言模型生成的文本在网络上发布得越多,信息网络本身就变得越发模糊、越发难以获取有效的真实信息。

在训练新的神经网络AI模型时,使用大语言模型生成的内容作为训练数据集会导致训练出的模型出现不可逆转的缺陷,即使模型最初的基础架构原始数据来自真实世界的实际数据。研究者将这一新模型的退化过程与结果称为“模型崩溃”。用AI生成数据来训练新的AI是在毒化模型对真实世界的认知。

因为开发这样的模型需要庞大的参数数量,达到数千亿级别,需要庞大的GPU显卡集群,数量达到数千块,还需要拥有大量的文本数据,数量高达上万亿。考虑到未来的发展,这些需求还会更大。这一切都需要耗费巨额的资金。国内目前就是在不惜代价地想开发出一个自己的大语言模型,各大互联网、AI公司都在训练中。NLP领域的科研需要的是大量的资金投入。这个门槛已经将绝大多数公司拒之门外,这是一个巨人之间的战争。人工智能领域的竞争,从来都不是比谁的算法更胜一筹,或者谁发表的论文更多、谁的水平更高、谁更受欢迎。真正比较的是谁能够投入更多的资金、拥有更强大的GPU显卡集群和更高质量的数据。在这个领域,算力和数据才是决定胜负的关键因素。

1.2.6 词向量表示

在人工智能领域,词向量表示是一种将单词转换为向量的技术。它是自然语言处理中的一项重要技术,用于将文本数据转换为计算机可以理解和处理的形式。自然语言处理的输入/输出都是文本,所以需要将文本转换为数字,这个过程就是文本的向量化。

词向量表示是将单词映射到一个向量空间中的向量,在这个向量空间中,单词之间的距离和它们在语义上的相似度相关。这种表示方法可以帮助计算机更好地理解单词之间的关系和上下文信息。它的实现方法有很多种,其中比较常见的是基于神经网络的方法,如Word2Vec和GloVe。这些方法通过训练神经网络来学习单词之间的关系,并将每个单词表示为一个向量。这些向量可以用于文本分类、情感分析、机器翻译等自然语言处理任务。ChatGPT就是使用Word2Vec词向量技术来做词嵌入(Word Embedding)的,以此将文字转换成数字向量。举个简单的例子,可以将“猫”和“狗”这两个单词表示为两个向量,然后计算它们之间的距离。如果它们的向量距离很近,则它们在语义上也很相似。这种方法可以帮助计算机更好地理解单词之间的关系和上下文信息,从而提高自然语言处理的准确性和效率。

除了基于神经网络的方法,还有其他的词向量表示方法,如LSA(潜在语义分析)和LDA(潜在狄利克雷分配)等。这些方法也可以将单词表示为向量,但是它们的实现方式和效果可能不同。词向量表示可以应用于许多自然语言处理任务,如文本分类、情感分析、机器翻译、问答系统等。在这些任务中,通常需要将文本数据转换为计算机可以理解和处理的形式,然后使用机器学习算法进行训练和预测。词向量表示的优点是可以帮助计算机更好地理解单词之间的关系和上下文信息,从而提高自然语言处理的准确性和效率。缺点是需要大量的数据和计算资源来训练模型,并且可能存在一些误差和不确定性。

(1)LSA是一种基于矩阵分解的方法,它将文本数据表示为一个矩阵,然后使用奇异值分解(SVD)等技术将其分解为多个矩阵的乘积。这些矩阵可以表示文本数据中的主题和单词之间的关系,从而将单词表示为向量。例如可以使用LSA将一篇文章表示为一个向量,然后计算它与其他文章之间的相似度。LSA就像是一位音乐家,他会将一首歌曲中的每个音符都转换成数字,然后使用数学方法来分析这些数字之间的关系,从而找出这首歌曲的主旋律和节奏。这种方式可以帮助人们理解歌曲的基本元素,但是可能会忽略歌词和情感等方面的信息。

(2)LDA是一种基于概率模型的方法,它将文本数据表示为一个概率分布,其中每个单词都有一个概率分布,表示它可能属于哪个主题。LDA可以将文本数据中的主题和单词之间的关系表示为一个概率模型,从而将单词表示为向量。例如可以使用LDA将一篇文章表示为一个向量,其中每个维度表示一个主题的概率。在LDA中,由于每个词语可以属于多个主题,因此可能会存在一些歧义和不确定性。例如,在一篇关于动物的文章中,词语“猫”可能既属于“宠物”主题,也属于“野生动物”主题。在这种情况下,LDA可能会将“猫”归为其中一个主题,但是无法确定它到底属于哪个主题,因为它与多个主题都有关联。这种歧义和不确定性可能会影响LDA的精度和可靠性,需要在实际应用中进行适当处理和调整。

Word2Vec词嵌入模块流程示例如图1-3所示。

图1-3 Word2Vec词嵌入模块流程示例

1.2.7 Transformer

Transformer是一种深度学习的神经网络结构,由Vaswani等在2017年的论文 Attention is All You Need 中首次提出。它主要应用于自然语言处理任务,如机器翻译、文本摘要、问答系统等。Transformer的核心思想是使用自注意力(Self-Attention)机制替代传统的递归神经网络和卷积神经网络结构,从而实现更高效且并行化的计算。

其实在曾经的机器学习社区中,Transformer架构并没有引起太多的关注,然而,谷歌公司的研究人员为NLP任务训练了一个新的Transformer模型,这个模型在许多方面都打破了纪录。这个模型经过训练,达到了两个目标,首先,它可以从文本正文中猜出遗漏的单词;其次,给定两个句子,它可以猜测它们是否是文档中的两个连续句子,或者从整个训练数据中随机选择的两个句子。除此之外,这个网络还被设计为输出句子的向量嵌入,以便它可以用于许多不同的语言任务。例如,它可以用于情感分析、句子相似性和问题回答等任务。这个模型的设计是非常巧妙的,后来被ChatGPT运用后才逐渐被用户所重视。

Transformer本质上是一个编、解码器。输入的文本经过编码组与解码组之后输出文本,如图1-4所示。

图1-4 编、解码组

Transformer的论文中提及的编码组有6个,解码组是与之匹配的数量,但是这个数量在实际应用中可以调整,如图1-5所示。

图1-5 多组编、解码器

单个编码器在结构上都是一样的,并且都被分为两个子层,如图1-6所示。

图1-6 单个编码器结构

编码器的输入首先流经一个自注意力层,这是一个帮助编码器在编码特定词语时查看输入句子中其他单词的层。自注意力层的输出被馈送到一个前馈神经网络中。相同的前馈网络独立地应用于每个位置。解码器也对应地具有这两个层,但区别是在它们中间有一个编码器-解码器注意力层,它帮助解码器在输入句子的相关部分集中注意力,如图1-7所示。

图1-7 Word2Vec嵌入模块

上述简单地讲解了Transformer的基本逻辑,Transformer通过结合自注意力机制、多头注意力、位置编码、残差连接和层标准化等技术,为自然语言处理任务提供了一种高效并行化的计算方式。这种新颖的架构为许多后来的先进模型(如BERT、GPT等)提供了基础。在ChatGPT中,输入的文本序列会经过多层Transformer编码器进行编码,然后经过多层Transformer解码器进行解码,最终生成回答的内容。这种基于Transformer的架构使ChatGPT在生成对话时具有更好的连贯性和逻辑性,同时也可以处理更长的文本序列。 AV+ZQlJ8svU7u3eFYeu1Ges//sRPHlGTkqcOF2tlB0UnjfeI7LwAItqJs0dIkTAq

点击中间区域
呼出菜单
上一章
目录
下一章
×