BERT--学习

news2024/11/27 21:52:38

一、Transformer

Transformer,是由编码块和解码块两部分组成,其中编码块由多个编码器组成,解码块同样也是由多个解码块组成。

编码器:自注意力 + 全连接

  • 多头自注意力:Q、K、V 
  • 公式:  softmax(\frac{QK^{T}}{\sqrt{d_{k}}})V

解码块:自注意力 + 编码 - 解码自注意力 +全连接

  • 多头自注意力: softmax(\frac{QK^{T}\bigodot M}{\sqrt{d_{k}}})V
  • 编码—解码自注意力:Q上个解码器的输出

                                            K、V最后一个编码器输出

二、BERT

  • bert,是由Transformer的多个编码器组成。
  • Base :12层编码器,每个编码器有12个多头,隐藏维度为768。
  • Large: 24层编码器,每个编码器16个头,隐层维度为1024  
  • bert结构 :

                                                                                                                                                                 

import torch
class MultiHeadAttention(nn.Module):
    def__init__(self,hidden_size,head_num):
        super().__init__()
        self.head_size = hidden_size / head_num
        self.query = nn.Linear(hidden_size, hidden_size)
        self.key = nn.Linear(hidden_size, hidden_size)
        self.value = nn.Linear(hidden_size, hidden_size)
    def transpose_dim(self,x):
        x_new_shape = x.size()[:-1]+(self.head_num, head_size)
        x = x.view(*x_new_shape)
        return x.permute(0,2,1,3)

    def forward(self,x,attention_mask):
        Quary_layer = self.query(x)
        Key_layer = self.key(x)
        Value_layer = self.value(x)

        '''
        B = Quary_layer.shape[0]
        N = Quary_layer.shape[1]
        multi_quary = Quary_layer.view(B,N,self.head_num,self.head_size).transpose(1,2)
        '''
        
        multi_quary =self.transpose_dim(Quary_layer)
        multi_key =self.transpose_dim(Key_layer)
        multi_value =self.transpose_dim(Value_layer)

        attention_scores = torch.matmul(multi_quary, multi_key.transpose(-1,-2))
        attention_scores = attention_scores / math.sqrt(self.head_size)

        attention_probs = nn.Softmax(dim=-1)(attention_scores) 
        context_layer = torch.matmul(attention_probs,values_layer)
        context_layer = context_layer.permute(0,2,1,3).contiguous()
        context_layer_shape =  context_layer.size()[:-2]+(self.hidden_size)
        context_layer = cotext_layer.view(*context_layer_shape 

        return context_layer
        
        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

77. UE5 RPG 创建角色的技能栏

在前面的文章里,我们实现了角色属性技能和场景。接下来,我们要优化角色显示UI,在屏幕底部显示角色血量,蓝量,技能和经验值。 创建新的用户控件 选择创建新的控件蓝图 父类为我们自定义的RPGUserWidget,这…

最大池化出现:RuntimeError: “max_pool2d“ not implemented for ‘Long‘爆红

最大池化出现:RuntimeError: “max_pool2d” not implemented for Long’爆红问题 解决方法: 加上dtypetorch.float32。作用是将列表中1->1.0… 成功解决

第一节-k8s架构图

一个Deployment,可以由多个不同Node下的Pod组成,每个Pod又由多个Container组成。 区分Deployment是用Labels(key:value),区分Pod是用PodName,区分Container是用ContainerName。 一个Node可以包含多个不同Deployment中的pod&…

漏洞分析 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

漏洞概述 PHP CGI(Common Gateway Interface)是在Windows平台上运行PHP的一种方式。CGI是一种标准接口,允许Web服务器与外部应用程序(如PHP脚本)进行交互,从而生成动态网页内容。 近期,PHP发布…

HTTP代理服务器:深度解析与应用

“随着互联网的飞速发展,HTTP代理服务器在网络通信中扮演着越来越重要的角色。它们作为客户端和服务器之间的中介,不仅优化了网络性能,还提供了强大的安全性和隐私保护功能。” 一、HTTP代理服务器的概念与作用 HTTP代理服务器是一种能够接…

Butterfly主题一图流背景及文章顶部图修改

效果 将Butterfly主题改成一图流背景,并且将首页以外的顶部图移到标题下方显示。 主题配置 修改 Butterfly 的配置文件 _config.butterfly.yml。 编辑 index_img、background、footer_bg 选项。 设置网站背景,将主页顶部图和页脚背景改为透明。 # …

介绍 pg_later:受 Snowflake 启发的 Postgres 异步查询#postgresql认证

#PG培训#PG考试#postgresql培训#postgresql考试 为什么要使用异步查询? 想象一下,您启动了一项长期维护工作。您在执行过程中离开,但回来后发现,由于笔记本电脑关机,该工作在几个小时前就被中断了。您不希望这种情况…

蓝牙信标和蓝牙标签我们如何区分,区分方法有哪些?

蓝牙信标和蓝牙标签其实是两种不同的技术,很多人可能会把蓝牙信标和蓝牙标签搞混,因为区分不开来,但实际上,区分这两种技术也很简单,因为它们各自都有不一样的特性,通过这些特性,我们也能正常区…

MySQL数据库主从复制+mycat读写分离+MHA实操

目录 一、主从复制 1.1 主从复制简介 1.2 MySQL支持的复制类型 1.3 主从复制的工作过程 1.4 主从复制的同步模式 1.4.1 异步复制(Asynchronous replication) 1.4.2 全同步复制(Fully synchronous replication) 1.4.3 半同…

【kubectl详解】最全的kubectl命令用法

文章目录 简介一.命令帮助翻译1.1.基本命令(初学者):1.2.基本命令(中级):1.3.部署命令:1.4.群集管理命令:1.5.疑难解答和调试命令:1.6.高级命令:1.7.设置命令…

推荐的一键下载1688高保真原图信息

图片在电商中扮演着至关重要的角色。高质量的商品图片能够直观展示产品特性,吸引消费者注意力,提升购买欲望。良好的视觉呈现还能增强品牌形象,提高转化率。此外,图片是跨语言的沟通方式,能够克服语言障碍,…

空调计费系统是什么,你知道吗

空调计费系统是一种通过对使用空调的时间和能源消耗进行监测和计量来进行费用计算的系统。它广泛应用于各种场所,如家庭、办公室、商场等,为用户提供了方便、准确的能源使用管理和费用控制。 可实现功能 智能计费:中央空调分户计费系统通过智…

【网工】关于链路聚合、静态路由、单臂路由的一个小实验

最近刚考完期末放暑假,那几天没看csdn结果有个朋友发了这样一个实验: 虽然晚了点 也不知道这位朋友还需不需要 但还是弄了出来 分享给大家 一起学习 下面是一些关键配置代码参考

Android AlertDialog对话框

目录 AlertDialog对话框普通对话框单选框多选框自定义框 AlertDialog对话框 部分节选自博主编《Android应用开发项目式教程》(机械工业出版社)2024.6 在Android中,AlertDialog弹出对话框用于显示一些重要信息或者需要用户交互的内容。 弹出…

基于DMAIC降低气缸体水套芯磕碰伤率

在制造业的激烈竞争中,产品质量的提升一直是企业追求的目标。气缸体作为汽车发动机的核心部件,其生产过程中的质量控制尤为重要。今天,深圳天行健企业管理咨询公司就来分享一下如何运用DMAIC(定义、测量、分析、改进、控制&#x…

IDC:奇安信、深信服、安恒、绿盟、斗象组成了中国NDR市场的主要玩家

2024 年 6 月 20 日,IDC 正式发布了针对中国网络威胁检测与响应产品的市场份额研究报告——《中国网络威胁检测与响应市场份额,2023:NDR正在向更多技术栈延伸》(2024年6月)。报告针对2023年中国网络威胁检测与响应市场…

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入 前言: 一个项目中构建的软件系统需要存储非常多的用户参数,大约有几千字节,所以牵扯到自己设计跨页写入算法,注意读出也是需要设计跨页读出算法的(手册没强调,但…

App Store迎来了重磅更新,ASO冲榜优化或将成为不可或缺的一部分

近日App Store搜索页面迎来了重磅更新,苹果应用商店中搜索页面原有的热搜关键词消失了取而代之的是直接将排行榜放在了搜索顶部,分别是APP排行和游戏排行两部分。如下图: 很多人应该都是参考排行榜来下载APP的,这次更新之后用户在…

创维汽车开展年中总结会:创新创造·勇开拓 智慧经营·攀高峰

2024年7月3日,回顾上半年的工作成果,总结经验教训,明确下半年的发展方向和重点任务,创维汽车于山西省晋中市榆次区山西联合创维体验中心开展年中总结会。 创维集团、创维汽车创始人黄宏生;开沃集团联合创始人、首席执…

160行代码实现代码雨效果

效果 序言 很喜欢黑客帝国里面那种代码雨的效果,为了锻炼自己的特效编写能力就尝试了一下,花了一下午写出来了。有需要的小伙伴拿去参考. 代码 package com.zgh.myapplication;import android.content.Context; import android.graphics.Canvas; impo…