Contextual Word Embeddings
最简单和常见的解决方案:
训练时间: Vocab is {words occurring, say, ≥ 5 times} ∪ {<UNK>}
映射所有稀少(<5)的字到<UNK>,训练为一个字向量
运行时间:当out-of-vocabulary(OOV)字出现时,使用<UNK>
问题:
不论身份或含义如何,都无法区分不同的UNK词解决方案:
我们刚刚学习了用于构建向量的char级模型! 特别是在诸如问答之类的应用中 单词标识匹配的重要位置(甚至单词矢量词汇之外的单词)2.尝试这些技巧(来自Dhingra,Liu,Salakhutdinov和Cohen,2017年) - a. 在测试时间内,如果<UNK>字出现在无监督的嵌入字里,就在测试时间内使用该向量。 - b. 另外换句话说,只需给他们分配一个随机向量,将它们添加到您的词汇表中。
a. 绝对有很大帮助; b. 可能会有所帮助您可以尝试的另一件事: 将东西组装成单词类(例如,未知数,大写的东西等),并且每个里都有一个<UNK-class>到目前为止,基本上我们已经说过我们有一种描述词的方法:
在一开始就学过的词向量 Word2vec,GloVe,fastText这些有两个问题:
对于单词类型,始终使用相同的表示形式,而不考虑单词标记出现的上下文 我们可能希望细粒度的词义消除歧义我们只用一个词来表示,但是词有不同的方面,包括语义,句法行为和注册/内涵https://arxiv.org/pdf/1705.00108.pdf
想法:希望在上下文中使用单词的含义,但通常仅在带有小任务标签的数据(例如NER)上学习任务RNN )为什么不做半监督方法,在大型的未标记语料库上训练NLM(不仅仅是单词向量)?NLP的一个非常重要的子任务:例如,在文本中查找和分类名称:
独立议员安德鲁·威尔基(Andrew Wilkie)决定撤回对少数党工党政府的支持,这听起来很引人注目,但不应进一步威胁其稳定性。 2010年大选后,威尔基,罗伯·奥克肖特,托尼·温莎和绿党同意支持工党时,他们只提供了两项保证:信心和供给。语言模型在“十亿个单词基准”的八亿个训练单词上进行训练 语言模型观察
接受过监督数据培训的LM并没有帮助双向LM仅能向前推进约0.2巨大的LM设计(ppl 30)可以将较小的模型(ppl 48)减少0.3 特定于任务的BiLSTM观察仅使用LM嵌入来预测效果不好:88.17 F1远低于仅对标签数据使用BiLSTM标记器https://arxiv.org/pdf/1708.00107.pdf
还具有使用训练好的序列模型为其他NLP模型提供上下文的想法想法:机器翻译旨在保留含义,也许这是一个好目标?使用作为seq2seq +注意NMT系统的编码器的2层bi-LSTM作为上下文提供者在各种任务上,生成的CoVe向量的性能均优于GloVe向量但是,结果并没有其他幻灯片中介绍的更简单的NLM培训那样强大,因此似乎被放弃了也许NMT比语言建模更难?也许有一天这个想法会回来吗?深度上下文化的单词表示形式。 NAACL 2018.https://arxiv.org/abs/1802.05365
单词标记向量或上下文单词向量的突破版本使用长上下文而不是上下文窗口来学习单词标记向量(此处,整个句子可能更长)学习深入的Bi-NLM并将其所有层用于预测可将ELMo的总体实用性扩展到任务;
是softmax-normalized混合模型权重
Howard and Ruder(2018)通用语言模型微调,用于文本分类。 https://arxiv.org/pdf/1801.06146.pdf
转让NLM知识的一般思路适用于文本分类在大型通用领域语料库上训练LM(使用biLM)在目标任务数据上调整LM 微调为目标任务的分类器
使用大小适中的“ 1 GPU”语言模型不是真正庞大的模型在LM微调中要多加注意 每层学习率不同 倾斜的三角形学习率(STLR)进度表学习分类器时,使用层级[h#,maxpool +,meanpool +]进行分类时逐步分层和STLR
系统提示(人为写) 模型完成(机器编写,10条) 在一个令人震惊的发现中,科学家发现了一群独角兽,它们生活在安第斯山脉一个偏远的,以前未被开发的山谷中。令研究人员更加惊讶的是,独角兽会说完美的英语。 这位科学家以其独特的号角Ovid的独角兽命名了这个种群。这些四角银白色独角兽以前是科学界所不知道的。 现在,在将近两个世纪之后,终于解决了引发这种奇怪现象的谜团。 拉巴斯大学(University of La Paz)的进化生物学家豪尔赫·佩雷斯(JorgePérez)博士和几位同伴在安第斯山脉发现一个没有其他动物或人类的小山谷时正在探索。佩雷斯注意到该山谷似乎是一个天然喷泉,周围环绕着两个岩石和银色雪峰。 佩雷斯和其他人然后进一步冒险进入山谷。 ...
所有这些模型都是Transformer体系结构模型...所以也许我们最好了解一下Transformers?
注意就是您所需要的。 2017.阿斯瓦尼(Aswani),Shazeer,Parmar,Uszkoreit,Jones,Gomez,Kaiser,Polosukhin https://arxiv.org/pdf/1706.03762.pdf
非循环序列到序列编码器-解码器模型任务:具有平行语料库的机器翻译预测每个翻译的单词最终成本/误差函数是softmax分类器之上的标准交叉熵误差-输入:查询q和到输出的一组键值(k-v)对
查询,键值对和输出都是向量输出是值的加权总和,其中每个值的权重由查询的内积计算和相应的密钥查询和键具有相同的维数dk值具有dv逐行softmax
每个块都有两个“子层”
多头注意力2层前馈NNet(带有ReLU)这两个步骤还具有: 残余(短路)连接和LayerNorm LayerNorm(x +子层(x)) Layernorm将输入更改为均值0和方差1, 每层和每个训练点(并增加了两个参数)
由Ba,Kiros和Hinton,进行的图层归一化,https://arxiv.org/pdf/1607.06450.pdf
在第5层。 注意头5和6的注意力仅与“它”一词分开。请注意,此单词的注意非常尖锐。
块也重复了6次
详细信息(书面和/或以后的讲座):
字节对编码检查点平均ADAM优化与学习率的变化在添加残差之前,在每一层的训练过程中都会出现辍学现象标签平滑具有波束搜索和长度的自动回归解码 处罚变压器的使用正在普及,但是它们很难进行优化,与LSTM不同,它们通常不是开箱即用的 而且它们在其他任务构建块上还不能很好地发挥作用。BERT(来自变压器的双向编码器表示): 深度双向变压器的预训练以提高语言理解能力
基于Jacob Devlin的幻灯片
问题:语言模型仅使用左上下文或右上下文,但是语言理解是双向的。LM为什么是单向的?原因1:需要方向性才能生成格式正确的 概率分布。 我们不关心这个。原因2:单词可以在双向编码器中“看到自己”。 解决方案:屏蔽掉k%的输入单词,然后预测被屏蔽的单词他们总是使用k = 15%该男子去了[MASK]买的牛奶[MASK]
掩膜太少:训练太昂贵掩盖过多:上下文不足令牌嵌入是单词片段 学习的分段式嵌入表示每个句子位置式嵌入与其他Transformer架构相同
Reference: https://www.jianshu.com/p/1bb863c4f26f