Transformer学习-self-attention

这里写自定义目录标题

  • Self-attention
  • Multi-head self-attention
  • 用self-attention解决其他问题

Self-attention

  1. 用Wq、Wk、Wv分别乘输入向量得到q、k、v向量
    在这里插入图片描述
  2. 用每个q向量乘所有的k向量得到对应项的attention,即用每项的query向量去匹配所有的key向量,得到该项对所有项的注意力打分。可以用矩阵优化运算。激活函数softmax可以用relu等替换。
    在这里插入图片描述
  3. 用q、v的相乘的结果乘v得到self-attention的输出b
    在这里插入图片描述
  4. 综上,如下图
    在这里插入图片描述

Multi-head self-attention

  1. 通过多组q、k、v来表示不同的相关性
    在这里插入图片描述
  2. 将多头的输出融合到一起
    在这里插入图片描述
  3. 位置编码,将位置信息编码为向量(每个位置一个专属向量),加到输入中即可
    在这里插入图片描述

用self-attention解决其他问题

  1. 语音解析:输入维度过大,使用truncated self-attention
    在这里插入图片描述
  2. 图像处理:每个像素(三个通道)可以看作一个三维向量,如下图可以将50个三维向量作为输入
    在这里插入图片描述
    在这里插入图片描述
  3. self-attention vs cnn:cnn相当于简化版的self-attention,卷积核的运算相当于对卷积核区域内的像素点求k、v,self-attention的感受野是自己学习的,而cnn的卷积核是手动设置的

在这里插入图片描述
cnn就是self-attention的特例。self-attention更灵活,但是如果训练集小可能更容易过拟。
在这里插入图片描述
在这里插入图片描述
4. self-attention vs RNN
在这里插入图片描述
5. self-attention for Graph:用attention来表示nodes之间的关联
在这里插入图片描述

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

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

相关文章

【进阶C语言】自定义类型

本节内容大致目录如下: 1.结构体 2.位段 3.枚举 4.联合(共用体) 以上都是C语言中的自定义类型,可以根据我们的需要去定义。 一、结构体 一些基础知识在初阶C语言的时候已经介绍过,在这里粗略概括;重…

代码随想录算法训练营第五十五天 | 动态规划 part 12 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

目录 300.最长递增子序列思路代码 674. 最长连续递增序列思路代码 718. 最长重复子数组思路代码 300.最长递增子序列 Leetcode 思路 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度递推公式:if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1)初…

面试总结之Spring篇

一、AOP 1、什么是AOP 1.1、概述 AOP(Aspect-Oriented Programming):面向切面编程,即把一些业务逻辑中的相同代码抽取出来,让业务逻辑更加简练清爽 如果要CRUD写一堆业务,可如何实现业务代码前后进行打印…

计算机竞赛 深度学习驾驶行为状态检测系统(疲劳 抽烟 喝水 玩手机) - opencv python

文章目录 1 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的驾…

WebSocket的那些事(6- RabbitMQ STOMP目的地详解)

目录 一、目的地类型二、Exchange类型目的地三、Queue类型目的地四、AMQ Queue类型目的地五、Topic类型目的地 一、目的地类型 在上节 WebSocket的那些事(5-Spring STOMP支持之连接外部消息代理)中我们已经简单介绍了各种目的地类型,如下图&…

【强化算法专题一】双指针算法

【强化算法专题一】双指针算法 1.双指针算法--移动零2.双指针算法--复写零3.双指针算法--快乐数4.双指针算法--盛水最多的容器5.双指针算法--有效三角形的个数6.双指针算法--和为s的两个数7.双指针算法--三数之和8.双指针算法--四数之和 1.双指针算法–移动零 算法原理解析----…

java开发岗位面试

java开发岗位面试 技术栈:springboot框架+redis 个人笔试/技术面问题整理 1、SpringBoot有什么组件? 举例说几个: ①auto-configuration组件:核心特征。其约定大于配置思想,赋予了SpringBoot开箱即用的强…

Maven-DskipTests和-Dmaven.test.skip=true的区别

DskipTeststrue和-Dmaven.test.skiptrue的区别 1、 -DskipTeststrue 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下,如: mvn clean package -DskipTeststrue2、 -Dmaven.test.skiptrue 完全忽略测试代码的…

maui 开发AMD CPU踩的坑。

刚换的 amd R7735HS 笔记本,8核16线程,32GB内存。性能得实强悍 。 当需要发布iOS版本时发现,我没有macos ,那就安装个vmware 吧。看了一下Apple 要求以后的发布的APP需要以xcode14.3或以后版本开发的版本,但xcode14.3…

oracle 乱码(编码为AMERICAN_AMERICA.US7ASCII)问题解决

案例 :mysql数据同步到oracle 注意: 不要使用navicat,navicat有自己的编码,使用plsql客户端查看数据,plsql客户端与oracle编码保持一致即可 service类 本地用的多数据源 com.baomidou dynamic-datasource-spring-boot…

c++内存对齐

原文在这里。https://blog.csdn.net/WangErice/article/details/103598081 但是内容有错误。我在自己的这里修改并变成红色了。 内存在使用过程并不是单一的依次排列,而是按照某种既定的规则来进行对齐,以方便快速访问.内存的对齐原则有以下三条&#…

深度学习与python theano

文章目录 前言1.人工神经网络2.计算机神经网络3.反向传播4.梯度下降-cost 函数1.一维2.二维3.局部最优4.迁移学习 5. theano-GPU-CPU theano介绍1.安装2.基本用法1.回归2.分类 3.function用法4.shared 变量5.activation function6.Layer层7.regression 回归例子8.classificatio…

【JavaScript】读取本地json文件并绘制表格

本文为避免跨域问题,使用了改造过的本地json文件的方法实现读取json数据并绘制表格。 如果发起http请求获取本地 json文件中数据,需要架设本地服务器,本文不做阐述。 概述 1、json在本地,并不需要从服务器下载。 2、采用jquery…

国庆作业day5

应用层:提供用户与网络应用程序之间的接口。表示层:负责数据的格式转换、加密和解密。会话层:负责建立、管理和终止会话。它提供会话控制和同步,允许应用程序之间建立连接和交换数据。传输层:提供端到端的连接。网络层…

postgresql-管理数据表

postgresql-管理数据表 创建表数据类型字段约束表级约束模式搜索路径 修改表添加字段删除字段添加约束删除约束修改字段默认值修改字段数据类型重命名字段重命名表 删除表 创建表 在 PostgreSQL 中,使用 CREATE TABLE 语句创建一个新表: CREATE TABLE …

专业PDF编辑阅读工具PDF Expert mac中文特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动、旋转、缩放、裁剪等操作…

树莓派4B与STM32串口通信

目录 2上篇文章的补充 2.1 树莓派通信设置 3树莓派与STM32通信 3.1接线准备 3.2代码 3.2.1 STM32代码: 3.2.2树莓派代码: 2上篇文章的补充 2.1 树莓派通信设置 在上篇文章的基础上,进一步的设置 终端输入:sudo minicom …

v-for中的key

在Vue中,当使用v-for指令循环渲染元素时,添加:key是一个推荐做法,尤其是在循环的元素可能会被重新排序、添加或删除的情况下。 :key的作用是为每个循环的元素提供一个唯一的标识符,以便Vue能够跟踪和管理这些元素的状态。Vue使用…

从 0 到 1 ,手把手教你编写《消息队列》项目(Java实现) —— 核心类持久化存储

文章目录 一、持久化存储的方式与路径二、公共模块序列化 / 反序列化异常规定 三、持久化存储数据库数据管理文件数据管理读写规定新增 /删除规定内存中 Message 的规定存储规定代码编写 硬盘数据管理 一、持久化存储的方式与路径 交换机,队列,绑定关系,这些我们使用数据库来管…

四、浏览器渲染过程,DOM,CSSDOM,渲染,布局,绘制详细介绍

知识点: 1、为什么不能先执行 js文件?? 我们不能先执行JS文件,必须等到CSSOM构建完成了才能执行JS文件,因为前面已经说过渲染树是需要DOM和CSSOM构建完成了以后才能构建,而且JS是可以操控CSS样式的&#…