【NLP】语言模型的发展历程 (1)

语言模型的发展历程系列博客主要包含以下文章:

  • 【NLP】语言模型的发展历程 (1)
  • 【NLP】大语言模型的发展历程 (2)

本篇博客是该系列的第一篇,主要讲讲 语言模型(LM,Language Model) 的发展历程。

文章目录

  • 一、统计语言模型
    • 1.1 N-gram模型
  • 二、神经网络语言模型
    • 2.1 NNLM模型
  • 三、基于Transformer的大语言模型
    • 3.1 Transformer模型
    • 3.2 大语言模型发展历程
  • 参考资料

语言模型(LM,Language Model)的发展历程可以清晰地划分为三个主要阶段:统计语言模型、神经网络语言模型以及基于Transformer的大语言模型。每个阶段的模型都在前一个阶段的基础上进行了改进和优化,使得语言模型的性能得到了显著提升。

在这里插入图片描述

一、统计语言模型

统计语言模型是早期自然语言处理(NLP)中的重要工具,它们主要通过分析词序列的出现频率来预测下一个词。这种方法基于统计学的原理,利用大规模语料库中的词频信息来建模语言的概率分布。

代表模型:N-gram模型、隐马尔可夫模型(HMM)

  • N-gram模型:这是最常见的统计语言模型之一,它基于马尔可夫假设,认为一个词出现的概率仅与其前面的n-1个词有关。N-gram模型简单易用,但存在数据稀疏和无法捕捉长距离依赖关系的问题。

  • 隐马尔可夫模型(HMM):另一种重要的统计语言模型,通过引入隐藏状态来捕捉序列数据中的潜在结构。

1.1 N-gram模型

(1)模型定义

N-gram模型是一种基于统计语言模型的文本分析算法,它用于预测文本中下一个词出现的概率,基于前面出现的n-1个词的序列。这里的n代表序列中元素的数量,因此称为N-gram。

  • Unigram:N=1,每个单词的出现概率独立计算,不考虑上下文。

  • Bigram:N=2,基于前一个单词预测当前单词的联合概率模型。

  • Trigram:N=3,考虑前两个单词来预测当前单词的联合概率模型,更复杂但可能更准确。

在这里插入图片描述

(2)工作原理

N-gram模型通过统计语料库中n-gram序列的频率,估计给定前n-1个元素后下一个元素出现的概率,从而实现文本预测。

  1. 语料库准备:首先,需要有一个大型的文本语料库,用于训练N-gram模型。

  2. 计算频率:然后,计算语料库中所有可能的n-gram序列的频率。

  3. 概率估计:根据这些频率,可以估计出给定n-1个词后,下一个词出现的概率。

  4. 预测:在预测阶段,给定一个词序列的前n-1个词,模型可以输出下一个词的概率分布,从而可以选择最可能的词作为预测结果。

二、神经网络语言模型

随着深度学习技术的发展,神经网络开始被应用于语言建模任务中。神经网络语言模型通过引入神经网络结构来捕捉词与词之间的复杂关系,从而提高了语言模型的性能。

代表模型:NNLM、RNN、LSTM、GRU

  • 神经网络语言模型(NNLM):由Bengio等人提出,通过嵌入层将单词映射到连续的向量空间中,并通过多个隐藏层来学习语言的内部结构。NNLM能够捕捉词与词之间的语义关系,提高了语言模型的预测能力。

  • 循环神经网络(RNN)及其变体(LSTM、GRU):RNN通过引入循环连接来处理序列数据中的长期依赖关系。LSTM和GRU是RNN的改进版本,通过引入门控机制来解决梯度消失或梯度爆炸问题。

在这里插入图片描述

2.1 NNLM模型

(1)模型定义

NNLM是一种基于神经网络的方法来建模自然语言中的词语序列。与传统的统计语言模型(如n-gram模型)相比,NNLM能够捕捉更复杂的语言结构和语义信息,因为它利用了神经网络强大的非线性建模能力。

  • 原理:利用神经网络来预测文本序列中下一个词或字符出现的概率的模型。

  • 目的:通过建模词汇之间的概率关系,实现自然语言文本的生成或理解。

在这里插入图片描述

(2)工作原理
NNLM通过嵌入层将输入的固定长度前文单词序列转换为连续向量表示,然后利用一个或多个隐藏层学习这些向量的语言结构,最后由输出层输出下一个单词的概率分布,以最大化给定前文条件下的单词预测准确性。

  • 输入:NNLM的输入是一个固定长度的前文单词序列,用于预测下一个单词。每个单词通常由其词嵌入(word embedding)表示,即将单词映射到连续的向量空间中。

  • 结构:NNLM通常包含一个嵌入层(embedding layer),用于将输入的单词转换为连续向量表示;一个或多个隐藏层(hidden layers),用于学习输入序列的语言结构;以及一个输出层(output layer),输出下一个单词的概率分布。

  • 训练目标:最大化给定训练数据中序列的联合概率,即最大化给定前文单词的条件下,下一个单词出现的概率。这通常通过最小化负对数似然(negative log-likelihood)来实现。

三、基于Transformer的大语言模型

基于Transformer的大语言模型在预训练阶段利用大规模语料库进行训练,然后在特定任务上进行微调,取得了惊人的效果。

代表模型:BERT、GPT系列

  • BERT:由Google提出的一种基于Transformer的双向编码器表示模型。BERT在预训练阶段采用了遮蔽语言模型(Masked Language Model)和下一句预测(Next Sentence Prediction)两个任务来训练模型,提高了模型的语言表示能力。

  • GPT系列:由OpenAI开发的基于Transformer的生成式预训练模型。GPT系列模型在预训练阶段采用了自回归语言建模任务来训练模型,能够生成连贯、自然的文本。随着模型规模的增大(如GPT-3、GPT-4等),GPT系列模型在多个NLP任务上取得了优异的表现。

在这里插入图片描述

3.1 Transformer模型

Transformer模型由Vaswani等人在2017年提出,是一种基于自注意力机制的深度学习模型。它彻底摒弃了传统的循环神经网络结构,通过自注意力机制和位置编码来处理序列数据中的长期依赖关系和位置信息。
在这里插入图片描述

3.2 大语言模型发展历程

大语言模型发展历程参见博客:【NLP】大语言模型的发展历程 (2)

参考资料

  • 一文彻底搞懂大模型 - 语言模型的发展历程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2469.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Compose multiplatform教程】05 IOS环境编译

了解如何使现有的 Android 应用程序跨平台,以便它在 Android 和 iOS 上都能运行。您将能够在一个位置编写代码并针对 Android 和 iOS 进行测试一次。 本教程使用一个示例 Android 应用程序,其中包含用于输入用户名和密码的单个屏幕。凭证经过验证并保存…

Redis哨兵(Sentinel)

Redis哨兵 ‌[Redis哨兵](Sentinel)是Redis的一个高可用性解决方案,主要用于监控和管理多个Redis服务器,确保Redis系统的高可用性‌。哨兵通过实时监测主节点和从节点的状态,及时发现并自动处理故障,保证系…

WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOMBEEF-XSS

XSS跨站脚本攻击技术(一) XSS的定义 XSS攻击,全称为跨站脚本攻击,是指攻击者通过在网页中插入恶意脚本代码,当用户浏览该网页时,恶意脚本会被执行,从而达到攻击目的的一种安全漏洞。这些恶意脚…

【C++】B2112 石头剪子布

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述游戏规则:输入格式:输出格式:输入输出样例:解题分析与实现 💯我的做法实现逻辑优点与不足 &#x1f4af…

2025 年前端开发学习路线图完整指南

如果您想成为前端开发人员,本指南适合您。无论您是从零开始还是已经了解基础知识,它都会帮助您专注于真正重要的事情并学习让您脱颖而出的技能。 刚开始的时候,我浪费了几个月的时间在不相关的教程上,因为我不知道从哪里开始&…

【蓝牙】win11 笔记本电脑连接 hc-06

文章目录 前言步骤 前言 使用电脑通过蓝牙添加串口 步骤 设置 -> 蓝牙和其他设备 点击 显示更多设备 更多蓝牙设置 COM 端口 -> 添加 有可能出现卡顿,等待一会 传出 -> 浏览 点击添加 hc-06,如果没有则点击 再次搜索 确定 添加成…

Docker--Docker Compose(容器编排)

什么是 Docker Compose Docker Compose是Docker官方的开源项目,是一个用于定义和运行多容器Docker应用程序的工具。 服务(Service):在Docker Compose中,一个服务实际上可以包括若干运行相同镜像的容器实例&#xff0…

【Linux】11.Linux基础开发工具使用(4)

文章目录 3. Linux调试器-gdb使用3.1 背景3.2 下载安装3.3 使用gdb查询3.4 开始使用 3. Linux调试器-gdb使用 3.1 背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须…

【Linux 36】多路转接 - epoll

文章目录 🌈 一、epoll 初步认识🌈 二、epoll 相关接口⭐ 1. 创建 epoll -- epoll_create⭐ 2. 控制 epoll -- epoll_ctr⭐ 3. 等待 epoll -- epoll_wait 🌈 三、epoll 工作原理⭐ 1. 红黑树和就绪队列⭐ 2. 回调机制⭐ 3. epoll 的使用过程 …

微信小程序订阅消息提醒-云函数

微信小程序消息订阅分2种: 1.一次性订阅:用户订阅一次就可以推送一次,如果需要多次提醒需要多次订阅。 2.长期订阅:只有公共服务领域,如政务、医疗、交通、金融和教育等。‌在用户订阅后,在很长一段时间内…

使用 Charles 调试 Flutter 应用中的 Dio 网络请求

为了成功使用 Charles 抓取并调试 Flutter 应用程序通过 Dio 发起的网络请求,需遵循特定配置步骤来确保应用程序能够识别 Charles 的 SSL 证书,并正确设置代理服务器。 配置 Charles 以支持 HTTPS 请求捕获 Charles 默认会拦截 HTTP 流量;…

《HTML在网络安全中的多面应用:从防范攻击到安全审查》

Html基础 Html简介 HTML(HyperText Markup Language,超文本标记语言)是用于描述网页内容和结构的标准语言。以下是对HTML的简要介绍: 基本概念 定义: HTML不是一种编程语言,而是一种标记语言。 它使用标…

算法每日双题精讲 —— 二分查找(二分查找,在排序数组中查找元素的第一个和最后一个位置)

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!&#x1f4aa…

《C++11》深入剖析正则表达式库:解锁文本处理的高效之道

在现代编程领域,文本处理是一项不可或缺的任务,而正则表达式无疑是这一领域的强大利器。C11标准库的引入,为C开发者带来了正则表达式库,极大地丰富了C在文本处理方面的能力。本文将全方位、多角度地深入探讨C11正则表达式库&#…

Cosmos:英伟达发布世界基础模型,为机器人及自动驾驶开发加速!

1. 简介 在2025年消费电子展(CES)上,NVIDIA发布了全新的Cosmos平台,旨在加速物理人工智能(AI)系统的开发,尤其是自主驾驶车辆和机器人。该平台集成了生成式世界基础模型(WFM&#x…

Hive集群的安装准备

Hive的安装与集群部署详细指南 一、环境与软件准备 在开始Hive的安装与集群部署之前,确保您准备好以下环境和软件: 虚拟机软件: VMware Workstation 17.5:用于创建和管理虚拟机,确保可以在其上安装Linux操作系统。 …

SpringBoot集成Mongodb

SpringBoot集成Mongodb 本文简要介绍SpringBoot集成mongodb&#xff0c;并实现增删改查 1. 引入依赖 spring-boot-starter-data-mongodb 提供了mongoTemplate供底层操作及mongodb驱动等 <dependency><groupId>org.springframework.boot</groupId><arti…

java根据模板导出word,并在word中插入echarts相关统计图片以及表格

引入依赖创建word模板创建ftl模板文件保存的ftl可能会出现占位符分割的问题&#xff0c;需要处理将ftl文件中的图片的Base64删除&#xff0c;并使用占位符代替插入表格&#xff0c;并指定表格的位置在图片下方 Echarts转图片根据模板生成word文档DocUtil导出word文档 生成的wor…

RabbitMQ的工作模式

&#xff08;一&#xff09;工作模式 RabbitMQ有7种工作模式来进行消息传递&#xff0c;我们上一篇博客就是简单模式 1.简单模式&#xff08;simple&#xff09; 也就是点对点的形式 P就是生产者&#xff0c;C就是消费者&#xff0c;Queue就是消息队列&#xff08;生产者向qu…

晨辉面试抽签和评分管理系统之十:如何搭建自己的数据库服务器,使用本软件的网络版

晨辉面试抽签和评分管理系统&#xff08;下载地址:www.chenhuisoft.cn&#xff09;是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…