山东大学软件工程应用与实践—-SENTA代码分析(十)

2021SC@SDUSC

这篇代码主要来分析一下senta里用到的bert模型

山东大学软件工程应用与实践----SENTA代码分析(十)

BERT的全称为Bidirectional Encoder Representation from Transformers,是一个预训练的语言表征模型。它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的 masked language model(MLM),以致能生成 深度的双向语言表征。

山东大学软件工程应用与实践----SENTA代码分析(十)

该模型有以下主要优点:

1)采用MLM对双向的Transformers进行预训练,以生成深层的双向语言表征。

2)预训练后,只需要添加一个额外的输出层进行fine-tune,就可以在各种各样的下游任务中取得state-of-the-art的表现。在这过程中并不需要对BERT进行任务特定的结构修改。

Bert model类定了几个相关函数

第一个是init函数 用来进行Bert的基本初始化操作

山东大学软件工程应用与实践----SENTA代码分析(十)

第二个函数-build-model 用来构建基本模型

山东大学软件工程应用与实践----SENTA代码分析(十)

第三个函数是get-sequence-output,用来获取句段的输出 返回self.-enc-out文件里的值

山东大学软件工程应用与实践----SENTA代码分析(十)

山东大学软件工程应用与实践----SENTA代码分析(十)

第五个定义的函数是get-pretraining-output 用来获得预训练的损失和准确性

山东大学软件工程应用与实践----SENTA代码分析(十)

最后附上查阅的相关资料的网址

什么是BERT? – 知乎 (zhihu.com)

1810.04805.pdf (arxiv.org)

The Illustrated Transformer – Jay Alammar – Visualizing machine learning one concept at a time. (jalammar.github.io)

Original: https://blog.csdn.net/qq_46189653/article/details/122104326
Author: ZeYuyyyy
Title: 山东大学软件工程应用与实践—-SENTA代码分析(十)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531319/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球