Transformer的前世今生 day03(Word2Vec、如何使用在下游任务中)

前情回顾

  • 由上一节,我们可以得到:
    • 任何一个独热编码的词都可以通过Q矩阵得到一个词向量,而词向量有两个优点:
      • 可以改变输入的维度(原来是很大的独热编码,但是我们经过一个Q矩阵后,维度就可以控制了)
      • 相似词之间的词向量有了关系
  • 但是,在NNLM(神经网络语言模型的一种)中,词向量是一个副产品,即主要目的并不是生成词向量,而是去预测下一个词是什么,所以它对预测的精度要求很高,模型就会很复杂,也就不容易去计算Q矩阵和词向量
  • 模型图如下:
    在这里插入图片描述
  • 因此提出了一个专门生成词向量的神经网络语言模型----Word2Vec

Word2Vec

  • 主要目的是生成词向量,模型图如下:
    在这里插入图片描述
  • 虽然NNLM和Word2Vec基本一致,不考虑细节,网络架构基本一致
  • 但是由于Word2Vec的主要目的是生成词向量,那么对预测精度的要求可以放低,甚至只要合理,就算有多个结果也可以,因此模型不会很复杂,也就是可以更容易的计算出Q矩阵和词向量
  • 所以对比NNLM,Word2Vec不用预测更准确,只需要可以正常的进行一个反向传播,可以去掉激活函数,加快计算速度,如下:
    在这里插入图片描述
  • Word2Vec的缺点:
    • 词向量不能表示一词多义,如果我们在训练中给某一个词选择了一个词向量,但是在测试中,同样的词可能会有其他意思,那模型仍然不知道这个位置应该填入什么词,如下:
      在这里插入图片描述

CBOW

  • 给出一个词的上下文,预测这个词,如下:
    在这里插入图片描述
  • 由于Q矩阵和词向量的产生在INPUT到PROJECTION的过程中,且CBOW会有更多的Q矩阵和词向量,也就意味着它生成词向量的效率更高,如下:
    在这里插入图片描述

Skip-gram

  • 给出一个词,得到这个词的上下文,如下:
    在这里插入图片描述
  • 相反,在Skip-gram中,我们得到Q矩阵和词向量的效率会低一些
    在这里插入图片描述

如何将词向量使用在下游任务中

  • Word2Vec是预训练模型,而预训练模型分为两种:假设给出任务A和任务B,其中对于任务A我们已经得出了一个良好的模型A,而任务B由于数据集太小或训练太复杂等其他原因,无法解决,即无法得出模型B
    • 我们可以使用模型A,来辅助解决任务B
    • 或者使用模型A,来加快模型B的生成
  • 词向量大多数用在第二种,加快模型B的生成
    在这里插入图片描述
  • 在经典的NLP领域中:在将输入X、Y传入网络后,从W(独热编码,是一种一一对应的表查询,不是预训练)到隐藏层需要经过一个Q矩阵,而这个Q矩阵可以使用Word2Vec预训练好的Q矩阵,并直接得到词向量,然后进行接下来的具体任务
  • 在我们使用Word2Vec的Q矩阵也有两种方式
    • 冻结:不改变Q矩阵
    • 微调:随着任务的改变,在模型的训练过程中,改变Q矩阵
  • 以后的transformer和BERT都是用在预训练这一块,而其他的网络结构是根据任务的不同进行改变的,也就意味着在相同的任务下,我们可以通过改变预训练来找到创新点。

参考文献

  1. 06 Word2Vec模型(第一个专门做词向量的模型,CBOW和Skip-gram)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

express+mysql+vue,从零搭建一个商城管理系统16--收货地址(全国省市县名称和code列表)

提示:学习express,搭建管理系统 文章目录 前言一、新建config/area.js二、新建models/address.js三、新建dao/address.js四、新建routes/address.js五、添加地址六、查询用户地址列表总结 前言 需求:主要学习express,所以先写serv…

ANOMALY TRANSFORMER: TIME SERIES ANOMALY DETECTION WITH ASSOCIATION DISCREPANCY

论文题目: ANOMALY TRANSFORMER: TIME SERIES ANOMALY DETECTION WITH ASSOCIATION DISCREPANCY 发表会议:ICLR 2022 论文地址:https://openreview.net/pdf?idLzQQ89U1qm_ 论文代码:https://github.com/thuml/Anomaly-Transforme…

七、Java中SpringBoot组件集成接入【Minio文件服务器】

七、Java中SpringBoot组件集成接入【Minio文件服务器】 1.Minio介绍2.搭建Minio服务2.1Windows部署2.2Linux部署2.3docker部署 3.Minio可视化操作4.SpringBoot接入Minio1.添加maven依赖2.yaml配置文件3.配置类4.工具类5.控制类 5.常见问题6.其他参考文章 1.Minio介绍 对象存储…

设计模式深度解析:适配器模式与桥接模式-灵活应对变化的两种设计策略大比拼

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 适配器模式与桥接模式-灵活应对变化的两种设计策略大比拼 探索设计模式的魅力:深入了…

Day16-【Java SE进阶】IO流(二):字符流、缓冲流、转换流、打印流、数据流、序列化流、IO框架

一. 字符流 字节流:适合复制文件等,不适合读写文本文件 字符流:适合读写文本文件内容 1. FileReader(文件字符输入流) 作用:以内存为基准,可以把文件中的数据以字符的形式读入到内存中去。读取单个字符,性能比较差&a…

【位运算】【 数学】【 哈希映射】2857. 统计距离为 k 的点对

本文涉及知识点 位运算 数学 哈希映射 LeetCode 2857. 统计距离为 k 的点对 给你一个 二维 整数数组 coordinates 和一个整数 k ,其中 coordinates[i] [xi, yi] 是第 i 个点在二维平面里的坐标。 我们定义两个点 (x1, y1) 和 (x2, y2) 的 距离 为 (x1 XOR x2) …

PMP备考心得 | 策略与技巧大揭秘

1.理解考试大纲:首先,你需要熟悉PMP考试的内容和结构。PMI官网提供了详细的考试大纲,包括项目管理的五个过程组(启动、规划、执行、监控、收尾)和十个知识领域; 2.制定学习计划:根据个人的时间…

【C语言】基本语法知识C语言函数操作符详解

主页:醋溜马桶圈-CSDN博客 专栏:C语言_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.基本语法 1.1 代码解释 1.1.1 main()主函数 1.1.2 int 1.1.3 { } 1.1.4 printf()库函数 1.1.5 stdio.h头文件 1.2 C语言的…

突破边界:Web3开启数字化社会的新纪元

引言 随着科技的不断进步和数字化社会的发展,Web3正逐渐成为了人们关注的焦点。作为新一代互联网的演进形态,Web3具有突破传统边界、实现去中心化的特点,被认为将开启数字化社会的新纪元。本文将深入探讨Web3的概念、特点、应用场景&#xf…

VueUse常见方法使用

npm i vueuse/core 1、useDebounceFn 节流防抖 import { useDebounceFn } from vueuse/core<button type"button" class"search" click"query">查询</button>// 查询 获取table数据const query2 async () > {try {const res …

MySQL 多表查询强化练习

环境准备 create table dept(id int PRIMARY KEY,dname VARCHAR(50),loc VARCHAR(50) ); insert into dept values (10,研发部,北京), (20,学工部, 上海), (30,销售部,广州 ), (40,财务部,深圳);create table job(id int PRIMARY KEY,jname VARCHAR(20),descripition VARCHAR(…

latex如何对一段文本进行加粗

在LaTeX中&#xff0c;你可以使用\textbf{}命令来对一段文本进行加粗。例如&#xff1a; \textbf{这是要加粗的文本}这将会把"这是要加粗的文本"这段文字显示为加粗。 如果你想要对整段文本进行加粗&#xff0c;你可以将整段文本都放在\textbf{}命令中&#xff0c;…

jsp学习

1.新建文件&#xff0c;创建web动态项目 2.项目点击next两下&#xff0c;点击勾选gentear&#xff0c;点击finish 3.文件成功后是有jsp文件 4.在webapp新建jsp文件 5. 使用模板html5建立文件 <% page language"java" contentType"text/html; charsetUTF-8&qu…

西瓜书机器学习AUC与ℓ-rank(loss)的联系理解以及证明(通俗易懂)

前言 在学习到这部分时&#xff0c;对 ℓ-rank 以及AUC的关系难以理解透彻&#xff0c;在网上看到其他博主也并未弄明白&#xff0c;大家大多写自己的理解&#xff0c;我希望您在看完这篇文章时能够深刻理解这二者的关系&#xff0c;如果我的理解有误&#xff0c;希望您在评论…

数据结构 之 二叉树

&#x1f389;欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ &#x1f389;感谢各位读者在百忙之中抽出时间来垂阅我的文章&#xff0c;我会尽我所能向的大家分享我的知识和经验&#x1f4d6; &#x1f389;希望我们在一篇篇的文章中能够共同进步&#xff01;&#xff01;&…

python网络爬虫实战教学——urllib的使用(1)

文章目录 专栏导读1、前言2、urllib的使用3、发送请求3.1 urlopen3.2 request 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN 数据分析领域优质创作者&#xff0c;专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》&#xff0c;本专栏针对…

mysql 数据库 基本介绍

一 数据 &#xff08;一&#xff09;数据是什么 描述事物的符号记录 包括数字&#xff0c;文字、图形、图像、声音、档案记录气 以“记录”形式按统一的格式进行存储 &#xff08;二&#xff09;数据的分类 1&#xff0c;结构化的数据 即有固定格式和有限长度的数据。例…

01_Kubernetes基础

Kubernetes为什么叫K8S&#xff1a;因为K和S之间有8个字母 为什么需要K8S 对于云计算来说有自己的交互标准 Paas的下一代标准就是容器化&#xff0c;容器的集群化有没有很好的方案&#xff1f;有需求就会有产品&#xff0c;这个产品就叫做资源管理器。 首先是Apache的MESOS&…

Linux虚拟主机默认隐藏文件,如何开启显示

收到一位用户反馈他买了Hostease Linux虚拟主机&#xff0c;想要知道主机默认隐藏文件如何开启。据悉目前大部分主机提供商出售的Linux虚拟主机带的都是cPanel面板&#xff0c;因此开启隐藏文件操做需要进入到cPanel面板。操做步骤如下&#xff1a; 1.首先需要先登陆cPanel面板…

深度强化学习03价值学习

Q*类似于先知&#xff0c;知道动作的后果 价值学习是得到一个近似的价值函数