zoukankan      html  css  js  c++  java
  • Transformer和Bert 的学习(一)

    # Transformer和Bert 的学习(一)

    ## 一、transformer编码器:

    ![image-20210526152454601](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526152454601.png)

    ### 1、positional encoding

    识别句子中词语的位置信息。

    ![image-20210526152648753](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526152648753.png)

    ![image-20210526155658235](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526155658235.png)

    为了学到多重含义的表达,对Xembedding进行线性映射,也就是分配三个权重,Wq,Wk,Wv。线性映射之后,形成三个矩阵,为Q,K,V,和线性变换之前的维度一致。

    ![image-20210526155712006](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526155712006.png)

    点积可以判断两个向量的关联程度,如果是两个相同的向量进行点积,结果就是等于1 。下图是注意力机制的权重:![image-20210526160659153](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526160659153.png)

    上图每一行代表 当前这个字和其他字的关联程度。做完softmax 之后,每一行的和是等于1 。

    ## 2、注意力矩阵:

    ![image-20210526160945182](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526160945182.png)

    公式对dk开平方根,是为了对公式化为标准的正态分布,这样可以有更好的梯度。

    接着把结果与 V 相乘:

    ![image-20210526161212669](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526161212669.png)

    注意力的Masky 掩码:

    ![image-20210526161605843](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526161605843.png)

    Mask让无效区域不参与运算,通常是给无效的区域加一个很大的负数的偏置。

    ![image-20210526161804078](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526161804078.png)

    ### 3、Add & Norm

    Add 是残差连接 , 避免梯度消失的情况。

    ![image-20210526162403338](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526162403338.png)

    在之后的运算里,每经过一个模块的时候,都把运算之前和运算之后的值相加,从而得到残差连接,训练的时候,可以使梯度直接走捷径反传到最初始层:

    ![image-20210526162628996](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526162628996.png)

    Norm ,把神经网络中的隐藏层的一行归一化为标准正态分布,也就是i,i,d 独立同分布,加快训练速度,加速收敛的作用。下图是对一行求均值:

    ![image-20210526163013494](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526163013494.png)

    ### 4、**总结**

    ![image-20210526163232387](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526163232387.png)

    ![image-20210526163325601](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526163325601.png)

    ![image-20210526163403708](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526163403708.png)

    ## 二、transformer编码器

    ### 1、位置编码:

    位置相隔越近,相似程度越高;位置相隔越远,相似程度越低。

    ![image-20210526172302790](C:UsersweixqAppDataRoamingTypora ypora-user-imagesimage-20210526172302790.png)

    ### 2、语言模型的定义和Bert解读

    语言模型:主要是对一个语句的概率大小的判断,并选择概率最高的一条语句进行输出。

    Bert 模型的双向:比如第三个词语不仅知道前面词语的信息,还知道第三个词语**后面词语**的信息。

     
    雪儿言
  • 相关阅读:
    javascript 基础知识汇总(一)
    一个高效单表分页查询语句
    Linux的基本操作(一)
    Tomcat服务器配置
    C# — Winform的TextBox控件实现记忆功能
    C# — LINQ To XML示例
    C# — COM组件注册
    C# — LINQ查询的简单使用
    C# — 题库答案汇总
    C# — 题库汇总
  • 原文地址:https://www.cnblogs.com/weixq351/p/14920156.html
Copyright © 2011-2022 走看看