词嵌入表示参数占比太大?MorphTE方法20倍压缩效果不减
来源:51CTO.COM
时间:2023-04-26 21:50:38 476浏览 收藏
怎么入门科技周边编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《词嵌入表示参数占比太大?MorphTE方法20倍压缩效果不减》,涉及到,有需要的可以收藏一下
引言
词嵌入表示作为机器翻译、问答、文本分类等各种自然语言处理任务的基础,它通常会占到模型参数总量的 20%~90%。存储和访问这些嵌入需要大量的空间,这不利于模型在资源有限的设备上部署和应用。针对这一问题,本文提出了 MorphTE 词嵌入压缩方法。MorphTE 结合了张量积操作强大的压缩能力以及语言形态学的先验知识,能够实现词嵌入参数的高倍压缩(超过 20 倍),同时保持模型的性能。
- 论文链接:https://arxiv.org/abs/2210.15379
- 开源代码:https://github.com/bigganbing/Fairseq_MorphTE
模型
本文提出的 MorphTE 词嵌入压缩方法,首先将单词划分成具有语义含义的最小单位——语素,并为每个语素训练低维的向量表示,然后利用张量积实现低维语素向量的量子纠缠态数学表示,从而得到高维的单词表示。
01 单词的语素构成
语言学中,语素是具有特定语义或语法功能的最小单位。对于英语等语言来说,一个单词可以拆分成词根、词缀等更小单位的语素。例如,“unkindly”可以拆分成表示否定的 “un”、具有“友好的” 等含义的 “kind”,以及表示副词的“ly”。对于汉语来说,一个汉字同样可以拆分成偏旁部首等更小单位,如“沐” 可拆分成表示水的 “氵” 和“木”。
语素在蕴含语义的同时,也可以在词之间进行共享,从而联系不同的词。此外,有限数量的语素可以组合出更多的词。
02 纠缠张量形式的词嵌入压缩表示
相关工作 Word2ket 通过张量积,表示单个词嵌入为若干低维向量的纠缠张量形式,其公式如下:
其中、r 为秩、n 为阶,表示张量积。Word2ket 只需要存储和使用这些低维的向量来构建高维的词向量,从而实现参数有效降低。例如,r =2、n=3时,一个维度为 512 的词向量,可以通过两组,每组三个维度为 8 低维向量张量积得到,此时所需参数量从 512 降低至 48。
03 形态学增强的张量化词嵌入压缩表示
通过张量积,Word2ket 能够实现明显的参数压缩,然而其在高倍压缩以及机器翻译等较复杂任务上,通常难以达到压缩前的效果。既然低维向量是组成纠缠张量的基本单位,同时语素是构成单词的基本单位。该研究考虑引入语言学知识,提出了 MorphTE,其训练低维的语素向量,并利用单词所包含的语素向量的张量积来构建相应的词嵌入表示。
具体而言,先利用语素分割工具对词表 V 中的词进行语素分割,所有词的语素将构成一个语素表 M,语素的数量会明显低于词的数量()。
对于每个词,构建其语素索引向量,该向量指向每个词包含的语素在语素表中的位置。所有词的语素索引向量构成一个的语素索引矩阵,其中 n 是 MorphTE 的阶数。
对于词表中的第 j 个词,利用其语素索引向量
从 r 组参数化的语素嵌入矩阵中索引出相应的语素向量,并通过张量积进行纠缠张量表示得到相应的词嵌入,该过程形式化如下:
通过以上方式,MophTE 可以在词嵌入表示中注入以语素为基础的语言学先验知识,同时语素向量在不同词之间的共享可以显式地构建词间联系。此外,语素的数量和向量维度都远低于词表的大小和维度,MophTE 从这两个角度都实现了词嵌入参数的压缩。因此,MophTE 能够实现词嵌入表示的高质量压缩。
实验
本文主要在不同语言的翻译、问答等任务上进行了实验,并且和相关的基于分解的词嵌入压缩方法进行了比较。
从表格中可以看到,MorphTE 可以适应英语、德语、意大利语等不同语言。在超过 20 倍压缩比的条件下,MorphTE 能够保持原始模型的效果,而其他压缩方法几乎都出现了效果的下降。此外,在超过 40 倍压缩比的条件下,MorphTE 在不同数据集上的效果都要好于其他压缩方法。
同样地,在 WikiQA 的问答任务、SNLI 的自然语言推理任务上,MorphTE 分别实现了 81 倍和 38 倍的压缩比,同时保持了模型的效果。
结论
MorphTE 结合了先验的形态学语言知识以及张量积强大的压缩能力实现了词嵌入的高质量压缩。在不同语言和任务上的实验表明,MorphTE 能够实现词嵌入参数 20~80 倍的压缩,且不会损害模型的效果。这验证了引入基于语素的语言学知识能够提升词嵌入压缩表示的学习。尽管 MorphTE 当前只建模了语素,它实际上可以被扩展为一个通用的词嵌入压缩增强框架,显式建模原形、词性、大小写等更多先验的语言学知识,进一步提升词嵌入压缩表示。
今天关于《词嵌入表示参数占比太大?MorphTE方法20倍压缩效果不减》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于参数,方法的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
265 收藏
-
457 收藏
-
121 收藏
-
346 收藏
-
438 收藏
-
118 收藏
-
255 收藏
-
233 收藏
-
194 收藏
-
367 收藏
-
453 收藏
-
222 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习
-
- 负责的咖啡豆
- 细节满满,已收藏,感谢老哥的这篇博文,我会继续支持!
- 2023-06-03 10:25:04
-
- 拉长的缘分
- 这篇技术文章出现的刚刚好,太全面了,很好,收藏了,关注作者了!希望作者能多写科技周边相关的文章。
- 2023-05-28 21:28:04
-
- 无语的冷风
- 这篇技术文章真及时,很详细,真优秀,mark,关注老哥了!希望老哥能多写科技周边相关的文章。
- 2023-05-26 23:02:02
-
- 花痴的雨
- 这篇博文出现的刚刚好,太详细了,真优秀,已加入收藏夹了,关注师傅了!希望师傅能多写科技周边相关的文章。
- 2023-05-23 12:07:59
-
- 粗心的小天鹅
- 很棒,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢楼主分享技术贴!
- 2023-05-23 02:14:21
-
- 善良的糖豆
- 感谢大佬分享,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢师傅分享技术贴!
- 2023-05-05 01:13:21
-
- 大气的鸵鸟
- 太细致了,已加入收藏夹了,感谢博主的这篇技术贴,我会继续支持!
- 2023-04-28 12:04:47