bert 编程入门| bert 瘦身技巧

这个是bert台湾博主的讲解

https://leemeng.tw/attack_on_bert_transfer_learning_in_nlp.html

这个是代码讲解:

https://blog.csdn.net/cpluss/article/details/88418176

这里是自动追踪tensor的变化:

https://github.com/cool-RR/PySnooper

代码在最后面

前面是代码细节的内容讲解

## 前綴的 tokens 即為 wordpieces

以詞彙 fragment 來說,其可以被拆成 frag 與 ##ment 兩個 pieces,而一個 word 也可以獨自形成一個 wordpiece。wordpieces 可以由蒐集大量文本並找出其中常見的 pattern 取得。

除了一般的 wordpieces 以外,BERT 裡頭有 5 個特殊 tokens 各司其職:

[CLS]:在做分類任務時其最後一層的 repr. 會被視為整個輸入序列的 repr.

[SEP]:有兩個句子的文本會被串接成一個輸入序列,並在兩句之間插入這個 token 以做區隔

[UNK]:沒出現在 BERT 字典裡頭的字會被這個 token 取代

[PAD]:zero padding 遮罩,將長度不一的輸入序列補齊方便做 batch 運算

[MASK]:未知遮罩,僅在預訓練階段會用到

這樣的 word repr. 就是近年十分盛行的 contextual word representation 概念。跟以往沒有蘊含上下文資訊的 Word2Vec、GloVe 等無語境的詞嵌入向量有很大的差異。用稍微學術一點的說法就是:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzyjwf.html