H好菇凉666用万字长文聊一聊 Embedding 技术( 四 )
Global Vector融合了矩阵分解Latent Semantic Analysis (LSA)的全局统计信息和local context window优势 。 融入全局的先验统计信息 , 可以加快模型的训练速度 , 又可以控制词的相对权重 。
FastText是FaceBook在2017年提出的文本分类模型(有监督学习) 。 词向量则是FastText的一个副产物 。 FastText模型结果如下图所示:
本文插图
其中表示一个文本中的n-gram向量 , 每个特征是词向量的平均值 。 从模型结构可以看出 , FastText与CBOW模型的结构相似 , 不同在于FastText预测的是全部的n-gram去预测指定类别 , 而CBOW预测的是中间词 。
2、动态向量 由于静态向量表示中每个词被表示成一个固定的向量 , 无法有效解决一词多义的问题 。 在动态向量表示中 , 模型不再是向量对应关系 , 而是一个训练好的模型 。 在使用时 , 将文本输入模型中 , 模型根据上下文来推断每个词对应的意思 , 从而得到该文本的词向量 。 在对词进行向量表示时 , 能结合当前语境对多义词进行理解 , 实现不同上下文 , 其向量会有所改变 。 下面介绍三种主流的动态向量表示模型:ELMo、GPT和BERT 。
A) ELMo ELMo(Embeddings from Language Models)是2018年3月发表 , 获得了NAACL18的Best Paper 。 ELMo的模型结构如下图所示:
本文插图
由于当时并没有提出现在火热的Transformer结构 , ELMo采用的是多层双向LSTM来搭建模型 。 在给定一个包含N个token的文本(t1, t2, ..., tN):
- 前向语言模型用于计算给定句子t1,t2,...,tk-1 , 目标为tk的概率:
- 后向语言模型与前向相反 , 对于给定tk+1,tk+2,...,tN , 目标为tk的概率:
其中 , 是输入token的embedding , 表示softmax层的参数 , 和分别是双向LSTM的参数 。
对于每个输入的token , 一个L层的双向LSTM输出有2L+1个向量:
其中 , 表示第层中底个节点的输出(和分别表示前向和反向),表示token layer , 表示双向LSTM layer 。
在下游的任务中 ,ELMo把所有层的R压缩在一起形成一个向量:
具体步骤如下:
- 预训练biLM模型 , 通常由两层bi-LSTM组成 , 之间用residual connection连接起来 。
- 在任务语料上fine tuning上一步得到的biLM模型 , 这里可以看做是biLM的domain transfer 。
- 利用ELMo提取word embedding , 将word embedding作为输入来对任务进行训练 。
预训练模型采用前向Transformer结构如下图所示:
本文插图
GPT采用auto regressive language model对大量文本进行无监督学习 , 目标函数就是语言模型最大化语句序列出现的概率 , 其损失函数为:
其中 , k为上文的窗口 , 表示参数为的神经网络模型 。
表示左侧窗口的上下文词向量 , 表示Transformer的层数 , 表示词向量矩阵 , 表示position embedding矩阵(作者对position embedding矩阵进行随机初始化并训练学习) 。
采用无监督学习预训练好模型后后 , 可以把模型模型迁移到新的任务中 , 并根据新任务来调整模型的参数 。
- 服务|【IPO解码】恒大物业(06666-HK)拟12月2日敲钟上市,五大竞争优势助力恒久质远
- 每经19点丨股票代码6666!恒大物业即将上市
- 钛媒体微信上线“裂开”“666”等6个表情包,“让我看看”灵感来自《还珠》五阿哥?
- 沉默不语666小米外海创子品牌POCO,新机与红米Note9多项参数重合
- 扬眼|他写下10万字“相亲指南”爆红,成爱情导师,相亲失败80多次后
- 趣味社会学|却用10年写出80万字专著,打脸他人,他送外卖不上进被嘲笑
- 王者荣耀|孤影再露丑恶嘴脸,solo赛三分钟被杀穿投降,影响心情666给你下一把
- 美剧去哪看|北大最强“扫地僧”上线!网友:666+牛牛牛
- 深夜重磅!遭自媒体“空袭”,千亿巨头近万字公告反击
- 沉默不语666 中端机型,荣耀还有新机!水滴屏+天玑800U