• Bert浅谈


    优点

    首先,bert的创新点在于利用了双向transformer,这就跟openai的gpt有区别,gpt是采用单向的transformer,而作者认为双向transformer更能够融合上下文的信息。这里双向和单向的区别在于,单向只跟当前位置之前的tocken相连,双向与当前位置之后的tocken也有连接。跟ELMo相比的优势在于,transformer对特征的提取能力比lstm要强得多。
    在这里插入图片描述

    模型输入

    首先是对输入的句子做tocken embedding,也就是将句子映射为一维向量,可以是word2vec的结果,猜想一下,如果不是维度过高也可以是one-hot,第二部分segment embedding 是在模型训练过程中自动学习得到的,猜想这里可以用全连接,也可以用transformer,最后是position embedding,主要用以区别“我喜欢妈妈”和“妈妈喜欢我”,虽然这两句话的单词一样,但是因为位置不同,所以含义不同。
    在这里插入图片描述

    模型参数

    BERTBASE (L=12, H=768, A=12, Total Parameters=110M)

    BERTLARGE (L=24, H=1024,
    A=16, Total Parameters=340M).

    L表示层数,H为隐层维度,A为注意力头的数量

    两种任务

    Masked LM

    这个任务主要是随机将某句话的某几个位置做处理,这里的处理可能是3种,80%的概率用[mask]代替,10%的概率保留原来的单词,10%的概率用其他单词代替。就像是英语考试中的完形填空
    在这里插入图片描述

    Next Sentence Prediction (NSP)

    主要利用输入的第一个tocken[cls]和中间的tocken[sep],其中cls用来表示后面一句是否为前一句的下一句,sep表示两个句子的间隔。从文本语料库中随机选择 50% 正确语句对和 50% 错误语句对进行训练。就像是与语文中的句子排序。

    参考:BERT模型的详细介绍

  • 相关阅读:
    C++类和对象
    @PostConstruct注解
    【机器学习-周志华】学习笔记-第八章
    盲盒电商平台商业玩法解析
    短视频解析易语言代码
    SQL基础
    【C++心愿便利店】No.9---C++之内存管理
    C++入门基础知识(2)
    (数据科学学习手札137)orjson:Python中最好用的json库
    使用第三方账号认证(一):钉钉扫码登录
  • 原文地址:https://blog.csdn.net/lanmengyiyu/article/details/134463589