浅谈wor2vec,RNN,LSTM,Transfermer之间的关系

2023-10-08 18:15

本文主要是介绍浅谈wor2vec,RNN,LSTM,Transfermer之间的关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

浅谈wor2vec,RNN,LSTM,Transfermer之间的关系

今天博主谈一谈wor2vec,RNN,LSTM,Transfermer这些方法之间的关系。

首先,我先做一个定位,其实Transfermer是RNN,LSTM,和word2vec的一种“提升版”。这里的提升并不是说他们是一种迭代版本,而是说Transfermer它解决了RNN,LSTM,和word2vec的一些缺点。

下面我们先说一下RNN,LSTM,和word2vec主要i的缺点。
下面是RNN的模型示意图。我们可以很显然的发现,RNN在做一些任务的时候,是一个个的输入一个句子的单词,这样的计算方式,会导致忽略句子内单词之间的内在联系。虽然RNN,和LSTM有这种记忆,可以记忆之前句子留下来的信息,但是这种单向不并行计算方式,还是很大程度上不能考虑句子单词之间的内在联系。
在这里插入图片描述

同样word2vec其实也是如此,word2vec生成的词向量是固定的,这很大的限制了词向量的灵活性、表达能力。同时,我们知道word2vec其实只是从集合的角度去考虑句子内单词之间的联系,没有考虑单词间位置的关系。而且不能根据特定任务去灵活的发挥词向量的表达能力。

所以这两类模型的问题,渐渐的使得研究者去思考更好的模型,transfermer也因此诞生。

在transfermer论文中,作者说过,其实transfermer很大程度上是为了解决长句子的句子间因为有些词语距离太远,当时的很多模型不能很好的去学习词语间的联系这一问题。

transfermer则可以较好的解决这一问题。

那么对于transfermer 其自注意力机制,很特别的一个地方,就是对于一个句子,先对词向量进行一次提取,每一个词语先经过一个V矩阵进行一次提取。然后呢,其再用一个Q矩阵个一个K矩阵对x进行两次信息提取,提取完之后,得到的 q向量和k向量乘积作为V矩阵提取信息的权值。所以,其充分利用了神经网络的强大表征能力。但是也存在冒险,在学习的时候,神经网络需要自己知道Q K矩阵是为了权值而学习的,而V矩阵则是对数据进行最后的信息提取而学习的。我们可以给与transfermer更多的提示,让其对于这三个矩阵的学习更加具有目的性,这样或许可以更好的提升transfermer的学习能力,否则直接让其再目标函数的驱动下去学习这三个矩阵,目的性较弱,且会局限于数据初始化。

这篇关于浅谈wor2vec,RNN,LSTM,Transfermer之间的关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/167122

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip