SciTech-BigDataAIML-LLM-Transformer Series系列: Word Embedding词嵌入详解: 用Corpus预训练出嵌入矩阵E→Input变长词序列→Onehot"词列向量"序列→矩阵乘"嵌入矩阵E"→Embedded"词列向量"序列"
SciTech-BigDataAIML-LLM-Transformer Series系列:
Word Embedding词嵌入详解:
1. 用Corpus预训练出嵌入矩阵\(\large E\)
\(\large Corpus\) Collecting: 非常重要的工作
先收集一个常用的\(\large Corpus\)(语料库), 保障大多数的\(\large word\)在\(\large corpus\)都有出现.
2. \(\large Corpus\)两个特别重要的作用:
- \(\large Vocabulary\) Extracting: 词汇表提取
用\(\large Corpus\)(语料库)提取出\(\large Vocabulary\).
将\(\large Corpus\)的所有\(\large word\)排成有序集合(例用\(\large TF-IDF\)). - \(\large Context\ of\ Corpus\) Extracting. 包括(不限于):
- \(\large COM\)(\(\large Co-Occurrence Matrix\), 词共现矩阵)
- \(\large N-Gram\),
- \(\large MHA\)(\(\large Multi-Head\ Attention\))可提取出的更多信息。
- others
3. \(\large E(Embedding\ Matrix)\) Training:
- \(\large E\)的\(\large Shape\)为 \(\large VocabSize × DIM\):
\(\large VocabSize\): \(\large Vocabulary\)的\(\large size\); \(\large DIM\): \(\large E词列向量\)的\(\large确定维度数\)。 - \(\large E\)对于 \(\large Vocabulary\)的, 每一\(\large Word\)的 \(\large Onehot词行向量\) 有:
- 1:1对应的一条\(\large E词列向量\);
- 嵌入\(\large 语义信息\):
- \(\large E词列向量\), 都有\(\large固定维度数\). 常有几维到几千维(\(\large dtype: float\)).
- \(\large E词列向量\) 是嵌入\(\large \Context\ of \ Corpus\)得到的"最少维度数列向量(\(\large dtype: float\))"。
- 也可自定义Embedding更多信息(增加对应维度)。
- 还都是统一的固定\(\large DIM\)维度数:
可将input的\(\large Word序列\), 先转换成\(\large Onehot词行向量\)序列;- 将\(\large Onehot词行向量\)序列,\(\large 右乘矩阵 E\)"即完成嵌入,得到 \(\large 最终词列向量\)序列。
- \(\large E(Embedding\ Matrix)\)就是\(\large Embedding嵌入层\)。
由\(\large Vocabulary\) 与 \(\large Context\ of\ Corpus\)信息, 训练出\(\large E(Embedding\ Matrix)\)的方法常用:
Word2vec, Glove, Fastext, ...
→Input变长词序列→Onehot"词列向量"序列→矩阵乘"嵌入矩阵E"→Embedded"词列向量"序列"
\(\large Word\ Embedding\) 总体步骤:

1 Corpus Collecting:
得到\(\large Vocabulary\) 和 \(\large Context\ of\ Corpus\).
2 \(\large Word序列\ 转Onehot词行向量序列\)
![]() |
![]() |
|---|
3 \(\large E(Embedding\ Matrix)\) 原理和优点:
![]() |
![]() |
|---|---|
![]() |
![]() |
![]() |
![]() |
4 训练通用的\(\large E(Embedding\ Matrix)\)
![]() |
![]() |
|---|
5 \(\large E(Embedding\ Matrix)\) 应用:
![]() |
![]() |
|---|
SciTech-BigDataAIML-LLM-Transformer Series系列: Word Embedding词嵌入详解: 用Corpus预训练出嵌入矩阵E→Input变长词序列→Onehot"词列向量"序列→矩阵乘"嵌入矩阵E"→Embedded"词列向量"序列"的更多相关文章
- 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史(转载)
转载 https://zhuanlan.zhihu.com/p/49271699 首发于深度学习前沿笔记 写文章 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 张 ...
- zz从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得.那为什么 ...
- SpringBoot系列(十二)过滤器配置详解
SpringBoot(十二)过滤器详解 往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件 ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- 构建安全的Xml Web Service系列之wse之错误代码详解
原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...
- [js高手之路] es6系列教程 - 对象功能扩展详解
第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)
一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...
- Velocity魔法堂系列二:VTL语法详解
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
随机推荐
- ElementUI默认样式修改
修改ElementUI 样式的几种方式 新建全局样式表 新建 global.css 文件,并在 main.js 中引入. global.css 文件一般都放在 src->assets 静态资源文 ...
- 跨境电商 | 踏浪出海:我的Allegro跨境电商实战全景
作者:追梦1819 (同名公众号),本职:高级软件工程师:副业:Allegro跨境电商.运营同名公众号(左上二维码),专注分享成长.跨境电商经历与经验. 版权声明:本文为博主原创文章,转载请附上博文链 ...
- Spring编程式事务控制
目录 Spring编程式事务控制 代码实现 测试 Spring编程式事务控制 实际中很少使用 代码实现 pom.xml <?xml version="1.0" encodin ...
- Redis 连接池耗尽的一次异常定位
转载请注明出处: 最近在项目中遇到一个奇怪的现象,项目运行环境中的redis在业务运行中,一直没有更新redis的值,在服务的日志中也没有看到相关的异常,导致服务看起来正常,但和redis相关的功能却 ...
- manim变换效果总结
在ManimCE中,除了上一篇介绍的丰富的动画效果外,变换效果也是制作精彩视觉内容的重要工具. 变换效果主要用于改变对象的形状.大小.颜色或位置,让对象在动画中呈现出动态的变化. 本文详细总结了 Ma ...
- java实现一个接口多个实现类,并且依次调用指定方法
接口 package cn.daenx.yhchatsdk.mytest; public interface MyInterface { /** * 返回-1,后面的实现类将不再执行 * 返回0,后面 ...
- opencv检测黑色轮廓(矩形)
opencv检测黑色轮廓: import cv2 import numpy as np class ShapeDetector: def __init__(self, image_path): sel ...
- 函数使用十三:BAPI_REQUISITION_CREATE
*&---------------------------------------------------------------------**& Report ZBAPI_REQ ...
- 搭建个人博客系列--(4) 利用Github Actions自动构建博客
经过前面的系列文章的学习和实践,相信你已经成功的利用Hexo构建自己的博客并且部署到了Github上. 目前整个发布博客的流程是,用markdown文件写好博客,然后使用Hexo编译成html, 最后 ...
- 开源共建 | 中国移动冯江涛:ChunJun(原FlinkX)在数据入湖中的应用
ChunJun(原FlinkX)是一个基于 Flink 提供易用.稳定.高效的批流统一的数据集成工具.2018年4月,秉承着开源共享的理念,数栈技术团队在github上开源了FlinkX,承蒙各位开发 ...











