NLP算法岗面试前的知识点总结

关于Bert

Bert的15%mask比例怎么来的

猜测,可以类似CBOW中滑动窗口的中心词,区别是这里的滑动窗口是非重叠的。

学习率为什么使用warm-up优化策略
  • 有助于减缓模型在初始阶段对mini-batch的提前过拟合,保持分布的平稳;
  • 有助于保持模型深层的稳定性(decay)
    热启动到最大learning rate之后为什么还要decay呢?模型训练一定阶段后,模型分布已经比较固定了,即可以学到的新东西就很少了,如果还沿用较大学习率,就会破坏这种稳定性,即在接近loss的local optimal时,需要更缓慢的更新。
LayerNorm和BatchNorm

Bert中使用LayerNorm结构。

二者区别主要是规范化的维度不同。
Norm操作在激活函数之前进行。
LayerNorm:针对单个样本,即对每层输出的768维隐层向量做规范化
BatchNorm:针对一个batch里的数据进行规范化,即面向当前batch的所有输入,1.求batch_x均值;2.求batch_x方差;3.对x做归一化;4.引入缩放参数w和平移参数b计算最终的输出。
(补充:如果仅对x做归一化,不做后续处理,会使得模型学不到东西,加入参数后,可以保证每一batch数据经过归一化之后还保留学来的特征,同时完成归一化操作。

Bert词表里的wordpiece

Bert词表中如果某词出现频率过低,会被标记为UNK标签。使用wordpiece可以将单词打散为字符(片段),在分词时将OOV的词进行切分,使得模型依旧可以学到该词的信息。
wordpiece与BPE(Byte Pair Encoding)算法类似,也是每次从词表中选出两个子词合并成新的子词。与BPE的最大区别在于,如何选择两个子词进行合并:BPE选择频数最高的相邻子词合并,而WordPiece选择能够提升语言模型概率最大的相邻子词加入词表。

CLS标志

self-attention会使用上下文本的词来增强目标词的语义表示,但在计算过程中,目标词本身的语义依旧占较大的比例。而[CLS]位本身没有语义,经过12层,得到的是attention后所有词的加权平均,相比其他正常词,可以更好的表征句子语义。

input embedding 为什么要加positional encoding?

由于self-attention是位置无关,无论当前token在哪个位置,其hidden embedding都一样。positional encoding公式:

对不同维度使用不同频率的正\余弦进而得到不同位置的高维位置编码。

Bert与ELMo比较:

ELMo效果挼于Bert的原因可能有以下几点见解:LSTM的特征抽取能力弱于Transformer;经前向后向特征拼接得到的信息弱于self-attention得到的特征信息;Bert模型参数多。

Bert中为什么使用单独的[MASK]标志,而不是借鉴attention中计算score使用的sequence mask?

[MASK]标志起到一个占位符的作用,虽然词义本身被mask掉了,但position embedding的信息是有的。如果使用attention mask,相当于这个位置的token永远不会参与计算。

关于transformer

QKV参数矩阵的影响

在相同量级下,qi和ki的点积值会是最大的,即在softmax中会使得当前词i多占比重为最大,这有悖于“利用上下文信息来增强当前词的语义表示”,因此,乘以QKV矩阵后,会使每个词的q, k, v不同,能有效减轻上述情况。而且,QKV也使得多头attention可以捕获到更丰富的特征。

self-attention的时间复杂度

self-attention的相似计算(matmul)、加权平均都可看作两个矩阵相乘,因此T=O(n^2 * d)
multi-head self-attention也是T=O(n^2 * a * m)=O(n^2 * d)

Transformer的权重共享

(1) 在Encoder和Decoder之间的Embedding层做了权重共享:
源论文中是允许目标语言和源语言之间共享词表,作词嵌入时只有对应embedding被激活,在遇到相同subword时可以共享语义信息。但会增加softmax的计算量。
(2) Decoder层中的Embedding层和FC层权重共享

attention在matmul之后为什么要scaled

做点积运算后的结果与dim大小成正比,dimension大的情况下会导致点积的方差很大,在均值为0的前提下这就意味着点积后的值会更大,该值很大时,经softmax之后梯度会消失为0,造成参数更新困难。除以\sqrt{d_k}后可以让attention的权重分布方差为1,而不是 d_k

Transformer位置编码总结

将位置信息融入输入中,有两种做法:

  • 绝对位置编码。将位置编码当作可训练参数,随模型训练进行更新,这种做法的缺陷是无法处理超出固定长度的文本。绝对编码有:三角函数式编码、递归式编码(如采用RNN得到位置编码,但会牺牲一定并行性和速度)。
  • 相对位置编码。相对位置并没有完整建模每个输入的位置信息,而是在算attention时候考虑当前位置于被attention位置的相对距离
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容