bert的trick理解-其他问题

参考文献:https://www.jianshu.com/p/63943ffe2bab

https://zhuanlan.zhihu.com/p/49271699

bert-transformer中的点积运算优化

参考文献(bert源码实现):https://blog.csdn.net/chenwu9745/article/details/100628957

在 self attention的计算过程中, 通常使用min batch来计算, 也就是一次计算多个句子,多句话得长度并不一致,因此,我们需要按照最大得长度对短句子进行补全,也就是padding零,但这样做得话,softmax计算就会被影响,输出其实有值,这样就会影响结果,这并不是我们希望看到得,因此在计算得时候我们需要把他们mask起来,填充一个负无穷(-1e9这样得数值),这样计算就可以为0了,等于把计算遮挡住。

长文本预测如何构造Tokens?

head-only:保存前 510 个 token (留两个位置给 [CLS] 和 [SEP] )

tail-only:保存最后 510 个token

head + tail :选择前128个 token 和最后382个 token(文本在800以内)或者前256个token+后254个token(文本大于800tokens)

Bert中如何获得词意和句意?

get_pooled_out代表了涵盖了整条语句的信息

get_sentence_out代表了这个获取每个token的output 输出,用的是cls向量


为什么要在Attention后使用残差结构?

残差结构能够很好的消除层数加深所带来的信息损失问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容