斯坦福NLP课程来了

news2025/1/26 15:43:44

生成式AI,尤其是以ChatGPT为首的大语言模型正在改变人们的生活方式,我想一定有小伙伴想加入NLP这个行列。

微软重磅发布4个适合初学者的机器学习资料

我在前一篇文章中分享了微软人工智能初学者课程,其中的【生成式AI】非常适合初学者,今天我将分享NLP的进阶课程。

https://web.stanford.edu/class/cs224n/
关注v公众号:人工智能大讲堂,后台回复snlp获取全部资料。

资料分为三种:课堂讲义,课后笔记,相关论文。

第一周课程:

第一讲:词嵌入

计算机只能处理数字,在将文本输入到模型之前,需要将其数字化,而词嵌入就是一种将文本数字化的方法。

在讲词嵌入之前,有必要先讲一下Tokenizer,Tokenizer是将文本分割成Token,常见的Token有字符,单词,或者子词(sub word)。

在这里插入图片描述

Tokenizer后,就可以将Token转换成数字了。

最简单的方式是直接使用字符编码(ASCII,Unicode),但这种方式无法保留单词的语义信息,且不同编码方式之间无法进行转换。

另一种方法是,因为常用的字符和词的个数是有限的,可以构造字典或者词典,然后将字符或者单词替换成在字典或者词典中的位置,或者是one-hot编码。但这种方式仍然无法保留语义信息。

什么是语义信息?可以这么理解,“男人”和“皇帝”语义相近,所以在向量空间中距离应该接近,也就是向量余弦相似度大。

在这里插入图片描述

上面这三种方法是一种硬编码方法,而词嵌入是一种软编码方法。

因为单词与字符相比具有更丰富的语义信息,所以NLP中通常将文本分割成词或者子词(sub word)。

Tokenizer后就可以进行词嵌入了,将词转换成具有语义信息向量的方法就是词嵌入方法,word2vec就是其中一种。其主要思想是通过神经网络模型对大规模语料进行训练,训练完成后得到词向量矩阵。

在这里插入图片描述

在这里插入图片描述

例如,如果一个词表有4096个单词,每个单词用512维向量表示,那么word2vec训练完成后就得到一个4096*512大小的矩阵,或者将矩阵构造成查找表,通过Tokenizer后的one-hot编码与词向量矩阵相乘或者根据位置索引查表就能得到词嵌入向量了。

第二讲:语言模型

将文本数字化后,接下来讲语言模型,语言模型(Language Model)是自然语言处理中的一个核心问题,是用来计算一个序列词语或字符出现的概率的模型。它也是后续GPT,Bert等大语言模型的理论基础。

在这里插入图片描述

在这里插入图片描述

常用的语言模型主要有以下几类:

n-gram语言模型

基于n-gram统计的传统语言模型,通过统计语料中序列出现的次数来估计概率。

如果n=2,也就是计算一个词跟在另一个词后面出现的概率。比如对句子“我爱北京天安门”,可以计算概率:

P(天安门|北京) = C(北京天安门)/C(北京)

这里:

  • C(北京天安门) 是“北京天安门”这个2-gram的出现次数

  • C(北京) 是“北京”这个1-gram的出现次数

n太小会导致语言模型太弱,n太大会导致概率无法估计。

深度学习模型

所以,更常用的方式是通过神经网络去构建语言模型,通过词向量和神经网络映射,获得词语的分布式表示。如RNN、LSTM、GRU,Transformer等语言模型。学习能力强,但是需要大量数据和计算资源。

其中,transformer模型效果最好。

第二周课程:

第一讲:神经网络和反向传播

既然已经明确了用神经网络去构建语言模型,那么有必要了解NLP中常用的模型架构以及如何训练模型。

NLP处理的是时序数据,擅长处理时序数据的是循环神经网络,按照NLP的发展历程来看,其模型经历了RNN->LSTM->GRU->Transformer的迭代。

在这里插入图片描述

Transformer已经成为主流模型,除了其自身的注意力机制外,还有一个优点,在CV中,当模型越来越大后,虽然可以通过残差连接加快模型收敛,但模型的效果提升有限,而Transformer在数据量和计算资源充足的情况下,模型越大效果越好,这也是为什么大公司都在搞军备竞赛一样,动不动就搞出个1000多亿个参数的模型。

但循环神经网络的训练过程也要比CV更复杂,RNN训练过程就容易出现梯度消失和爆炸问题。

在这里插入图片描述

虽然训练复杂,但本质上也是基于链式法则的反向传播过程对参数进行更新。

在这里插入图片描述

第三周课程:

第一讲:RNN和语言模型

第三周主要讲解具体的模型,第一个是RNN,因为RNN是NLP的鼻祖。

在这里插入图片描述

同CV中的模型一样,RNN也有输入层,隐藏层,和输出层,不同的是,它有时间的概念,不同时间步参数是共享的。

如果是类似机器翻译的任务,也就是seq in,seq out,那么每一个输入后,都会有一个输出。

如果是类似情感分析的人类任务,则使用最后一个时间步的隐藏状态,因为它考虑了前面所有时间的隐藏状态。

在这里插入图片描述

在这里插入图片描述

第二讲:Seq2Seq模型

对于seq in,seq out的任务,如果使用RNN模型,也就是每一个输入后都有一个输出,那么输出只会考虑当前时间点以前的输入和隐藏状态,并没有捕获整个输入的信息。

为了捕获整个输入的信息,就有了Seq2Seq模型,本质上是一个编码器和解码器模型,编码器对输入进行编码,保存到隐藏状态中,然后在解码器中使用编码器中的隐藏状态。

在这里插入图片描述

第四周课程:

第一讲:Tranformer

Tranformer太重要了,所以整个一周都在讲Tranformer。

Tranformer也是一种编码器-解码器结构,编码器和解码器中都通过多头注意力机制捕获不同位置单词的关系。

在这里插入图片描述

GPT就是一种transformer Decoder模型,Bert则是transformer Encoder模型,本质上都可以看作是概率模型。

在这里插入图片描述

第五周课程:

第一讲:预训练模型

大模型可以分为基础模型或者通用模型,以及在基础模型上进行微调而来的专用模型。

在这里插入图片描述

基础模型也被成为预训练模型,是在大量预料库中进行无监督训练而来的。

以Bert为例,如果直接使用Bert的预训练模型,因为Bert是一种Encoder模型,只能完形填空。

如果要使用Bert进行聊天怎么办?这就需要在预训练模型基础上进行有监督的微调,例如,使用成对的问答预料,加上人类反馈的强化学习。

在这里插入图片描述

我们目前所使用的ChatGPT也是在GPT 3.5-turbo预训练模型的基础上微调而来的。

第六周课程:

第一讲:提示微调

前面我们提到了需要在预训练模型的基础上进行微调才能得到能够聊天,问答,总结的专用模型,那有哪几种微调方法呢?

在这里插入图片描述

一种是全量微调,也就是用有监督的方式,在训练数据上对模型的全部参数进行调整,如果要想得到效果好的模型,就需要大量的有监督数据和计算资源。

另一种是只调整部分参数,例如LoRA,通过训练两个低秩矩阵来模拟参数的更新,而两个低秩矩阵的参数远小于原始参数的量。

在这里插入图片描述

最后一种是原始模型的参数冻结,在提示词上下功夫,通过学习在提示词前面加上一个前缀,或者将提示词映射成模型更能理解的提示词。这样做的好处是如果要训练多个专用模型,内存中只需要存储一个原始模型即可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系列六、ThreadLocal内存泄漏案例

一、内存泄漏 vs 内存溢出 内存泄漏:内存泄漏是指程序中已经动态分配的堆内存由于某种原因程序未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至导致系统崩溃等严重后果,内存泄漏最终 会导致内…

2023年中国高压驱动芯片分类、市场规模及发展趋势分析[图]

高压驱动芯片是一种能在高压环境下工作的集成电路,主要用于控制和驱动各种功率器件,如继电器、电磁阀、电机、变频器等。高压驱动芯片根据其输出电流的大小和形式可分为两类恒流型和开关型。 高压驱动芯片分类 资料来源:共研产业咨询&#x…

CorelDRAW2024有哪些新功能?如何下载

作为一个广告设计者怎么能不会一两款专业设计软件,Adobe公司的PS、AI和Corel公司的CorelDRAW都是常用的图片处理软件,也是市场上同类设计软件中的翘楚。针对不同的设计任务选择不同的设计软件,才能提高工作效率,事半功倍。 Corel…

七个步骤 从零到servlet第一个hello

目录 Tomcat安装 Servlet 1.引入项目 2.引入依赖 3.创建目录 1.创建 webapp 目录 2.创建 web.xml 3.编写 web.xml 4.编写代码 5.打包程序 6.部署程序 7.验证程序 Smart Tomcat Tomcat安装 在动漫世界,我们有汤姆猫 在Java世界,同样也有一个…

精彩预告 | OpenHarmony即将亮相MTSC 2023

MTSC 2023 第12届中国互联网测试开发大会(深圳站)即将于2023年11月25日,在深圳登喜路国际大酒店举办,大会将以“1个主会场4个平行分会场”的形式呈现,聚集一众顶尖技术专家和行业领袖,围绕如今备受关注的行…

redis之主从复制和哨兵模式

(一)redis的性能管理 1、redis的数据缓存在内存中 2、查看redis的性能:info memory(重点) used_memory:904192(单位字节) redis中数据占用的内存 used_memory_rss:10522624 redis向操作系统…

锯木棍

题目描述 有一根粗细均匀长度为 L 的木棍,先用红颜色刻度线将它 m 等分,再用蓝色刻度线将 其 n 等分( m>n ),然后按所有刻度线将该木棍锯成小段,计算并输出长度最长的木棍的长度和根数。 输入格式…

(内部资料)收下这几个人工智能学习秘籍!

秘籍一:练好基本功 学习基础知识:人工智能涉及多个学科领域,包括数学、计算机科学、统计学等。因此,学习基础知识是非常重要的。您可以通过学习线性代数、概率论和微积分等数学基础知识,以及掌握Python编程语言和常用…

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…

微软重磅发布4个适合初学者的机器学习资料

自媒体火起来后,很多科技大佬都开始写博客,录视频了,大佬一入行,整个行业卷上天,像我这样的也只能走资源整合之路了,不过这样也好,科技进步,人类发展需要他们。 除了个人&#xff0…

深度学习常见激活函数:ReLU,sigmoid,Tanh,softmax,Leaky ReLU,PReLU,ELU整理集合,应用场景

文章目录 1、ReLU 函数(隐藏层中是一个常用的默认选择)1.1 优点1.2 缺点 2、sigmoid 函数2.1 优点2.2 缺点 3、Tanh 函数3.1 优点3.2 缺点 4、softmax 函数(多分类任务最后一层都会使用)5、Leaky ReLU 函数5.1 优点5.2 缺点 6、PR…

KDE 项目发布了 KDE Gear 23.08.3

导读KDE 项目发布了 KDE Gear 23.08.3,作为最新的 KDE Gear 23.08 开源集合的第三次维护更新,该集合包含了用于 KDE Plasma 桌面环境和其他平台的 KDE 应用程序。 KDE Gear 23.08.3 是在 KDE Gear 23.08.2 大约一个月之后发布的,包含了更多对…

Maven中常用命令以及idea中使用maven指南

文章目录 Maven 常用命令compiletestcleanpackageinstallMaven 指令的生命周期maven 的概念模型 idea 开发maven 项目idea 的maven 配置idea 中创建一个maven 的web 工程在pom.xml 文件添加坐标坐标的来源方式依赖范围编写servlet maven 工程运行调试 Maven 常用命令 compile …

阿里云高效计划学生和老师免费代金券申请认证方法

阿里云高校计划学生和教师均可参与,完成学生认证和教师验证后学生可以免费领取300元无门槛代金券和3折优惠折扣,适用于云服务器等全量公共云产品,订单原价金额封顶5000元/年,阿里云百科aliyunbaike.com分享阿里云高校计划入口及学…

掌握技术访谈:CNN、Seq2Seq、Faster R-CNN 和 PPO — 揭开卓越编码和创新之路

一、说明 本文 揭开CNN、Seq2Seq、Faster R-CNN 和 PPO — 编码和创新之路。对于此类编程的短小示例,用于开发时临时参考。 二、数据准备 问题陈述:在本次挑战中,您将深入计算机视觉世界并使用卷积神经网络 (CNN) 解决图像分类任务。您将使用…

Figma最全面的新手指南,从基础到高级,一网打尽

1 Figma界面介绍 Figma基础界面与传统设计软件没有太大区别,有Sketch使用经验的用户几乎可以无缝连接到Figma。 立即体验 免费的在线Figma汉化版即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设…

4.2V升多串LED驱动升压6V9V12V恒流点灯

4.2V升多串LED驱动升压6V9V12V恒流点灯 探索WT7012,这款引领潮流的升压转换器,其强大功能将彻底改变您的LED驱动格局。可以轻松驾驭多达7串白光LED,展现出无与伦比的驱动能力。 无论是单节锂电池还是多节锂电池供电产品,宽电压3…

Centos8上部署MySQL主从备份

虚拟机环境如下: Node1192.168.1.110Centos8 Node2192.168.1.111Centos8 1.在Node1和Node2上安装数据库; yum install -y mysql* 2.关闭防火墙服务,关闭开启自启; systemctl stop firewalld systemctl disable firewall…

人工智能中的文本分类:技术突破与实战指导

在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。 关注TechLead,分…

使用内网穿透工具实现远程访问本地部署的Odoo企业管理系统

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…