【李宏毅】自注意力机制self-attention

news2024/11/17 17:54:28

课件网址:

【機器學習2021】自注意力機制 (Self-attention) (上) - YouTube

【機器學習2021】自注意力機制 (Self-attention) (下) - YouTube

这两章课程主要在讲self-attention是怎么做的,对应的矩阵操作是什么,以及为什么要这样处理。

目录

自注意力机制base

适用的输入

可能的输出

结构

并行化操作

Multi-head Self-attention

位置信息

大量参数

与其他方法对比

图的处理

各式各样的self attention

英文单词


自注意力机制base

自注意力机制适用的输入

长度会改变的向量,或者是一堆向量,例如文本[涉及到word embedding],声音向量,graph中每个node可以看做一个向量,它的连接性可以看做one-hot。

(起始为25ms,然后以10ms移动。) 

可能的输出

每个词向量都有 一个label。整个句子有一个label。机器自己决定有多少个label。

 

结构

  1. 找到a1的关联程度α(一般用q、k、点乘),自己得到q,自己和其他是k。

  2. 用soft-max处理(这里也可以用relu或者别的处理)

  3. 得到v向量,乘上attention score,然后加在一起得到b。

  4. b的产生不需要按照序列逐个输出,按照他的流程其实是可以并行化的。

keep in mind: 

  1. q为query,k为key,v为value 。q负责处理相关性。

  2. 没有向量的位置信息,可以通过加上ei来解决。

并行化操作

一连串的矩阵乘法,发现Wq、Wk、Wv是所有我们需要训练的参数。

Multi-head Self-attention

 

产生不同的参数向量Wq/Wk/Wv,由此得到不同的b,然后通过WO融合成一个新的b。

 

為什麼不直接從ai 得到 (qi,1), (qi,2),而是先得到qi再去得到後面兩個向量 (qi,1), (qi,2):①直接做减小了模型的弹性,不直接做相当于是增加了网络的深度,类似于在CNN或FC中增加了一层。②我看pytorch的multi head attention的doc是將qkv的W矩陣先分成n_head份,我推測是將sequence embedding與分成n_head份的qkv dot product後分別得到n_head份的qkv,或許不是得到qi再乘兩個矩陣。

位置信息

通过sin/cos的函数产生,也可以有新的方法或者训练得到。

 

大量参数

当输入向量过多时,L会很大,导致训练参数过大,这里就只看向量附近的局部向量。

 

与其他方法对比

  1. CNN相当于是局部的self-attention[on the relationship between self-attention and convolutional layers]

  2. 当数据量足够大的时候self-attention比较好,数据量比较小的时候transformer会欠拟合。self-attention的弹性比较大,会在数据量更大的时受益。

  3. RNN所做的工作现在大部分都可以被self-attention取代。单向RNN只考虑新输入的,双向RNN能考虑但是距离非常的远。而且RNN不能并行化

图的处理

  1. 可以只计算有edge相连的node

  2. 是某种意义上的GNN。

各式各样的self attention

现在有各式各样self-attention的变体,一般以xxxformer为命名特点。 

self-attention的痛点是矩阵运算量大。

但是这也是有前提的,当N偏小时,可能feed forward的部分就会占主导地位,所以优化self-attention对整个transformer意义不大。

英文单词

pos tagging:词性标注。

sequence labeling:有多少个向量就有多少个label。

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

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

相关文章

MySQL_第13章_约束

第13章_约束 1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息…

SQL Server 意向锁

SQL Server 数据库引擎使用意向锁来确保共享锁(S 锁)或排他锁(X 锁)放置在锁层次结构的底层资源上。 意向锁之所以命名为意向锁,是因为在较低级别锁前可获取它们,因此会通知意向将锁放置在较低级别上。 意向…

fastadmin后台用户管理中余额记录显示

查询明细JS代码 {field: buttons,width: "200px",title: __(查询明细),table: table,events: Table.api.events.operate,buttons: [{name: money,text: __(余额),title: __(余额),classname: btn btn-xs btn-success btn-dialog,icon: fa fa-database,url: user/us…

按照条件向Spring容器中注册bean

1.Conditional注解概述 Conditional注解可以按照一定的条件进行判断,满足条件向容器中注册bean,不满足条件就不向容器中注册bean。 package org.springframework.context.annotation;import java.lang.annotation.Documented; import java.lang.annota…

数据转换器的工程师指南

数据转换是连接模拟和数字世界的重要电路,在大多数嵌入式系统中,您都会发现模拟到数字转换和数字到模拟转换,从物联网(IoT)传感器到无线网络,从智能家居自动化到电源,数据转换无处不在。在本文中…

Git在工作中的使用流程

Git中的分支 master分支:所有用户可见的正式版本,都从master发布(也是用于部署生产环境的分支,确保master分支稳定性)。主分支作为稳定的唯一代码库,不做任何开发使用。master 分支一般由develop以及hotfi…

自学黑客/网络安全,三个月究竟能学到多少知识?

现在可以看到很多标题都是三个月零基础转行网络安全,三个月成为网络安全工程师月入15K,还有很多一系列类似吸引人的标题,那这些话是不是真实情况呢?那我们就来整理一下这三个月可以学到什么,然后再来看根据三个月的学习…

PyTorch训练提升

1. 更换学习率schedule 学习率 schedule 的选择对模型的收敛速度和泛化能力有很大的影响。Leslie N. Smith 等人在论文《Cyclical Learning Rates for Training Neural Networks》、《Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates 》…

web前端 --- CSS(1)

CSS&#xff08;Cascade Style Sheet&#xff09; --- 级联样式表&#xff08;1&#xff09; <head><style>选择器{属性名&#xff1a;属性值;属性名&#xff1a;属性值;}</style> </head>属性名&#xff1a;修饰对象的属性&#xff08;样式&#xff…

docker ——安装tomcat

环境&#xff1a;centos7 安装tomcat 第一步&#xff1a;联网 第二步&#xff1a;开启docker systemctl start docker 第三步&#xff1a;拉取镜像 docker pull tomcat //下载tomcat镜像 docker pull tomcat 第四步&#xff1a;创建容器 docker run -d …

Solr之查询页面,索引,SolrJ

文章目录 1 Solr查询1.1 查询页面1.1.1 基本查询1.1.2 Solr检索运算符1.1.3 高亮1.1.4 分组1.1.4.1 分组&#xff08;Field Facet&#xff09;1.1.4.2 分组&#xff08;Date Facet&#xff09; 1.2 创建索引文件1.2.1 使用Post上传文件1.2.1.1 Linux下使用1.2.1.1.1 索引XML1.2…

BDCC- 数据湖体系

文章目录 数据湖的概念数据湖 vs 数据仓库 vs Lakehouse① 业界进展&#xff08;Databricks 2.0&#xff09;-湖上建仓② 业界进展&#xff08;Snowflake EDW 2.0&#xff09;-仓外挂湖 LakeHouse 的演进&#xff08;1&#xff09;Lakehouse 的演进路线&#xff08;2&#xff0…

基于matlab的长短期神经网络LSTM的电力负荷预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的电力负荷预测 MATALB代码 效果图 结果分析 展望 参考论文 背影 电力负荷预测的实质是从已知的电力系统&#xff0c;经济&#xff0c;社会&#xff0c;气象等情况出发&#xff0c;根据历史负荷变化规律…

CSDN 周赛 48 期

CSDN 周赛 48 期 工作日参赛1、题目名称&#xff1a;最后一位2、题目名称&#xff1a;天然气订单3、题目名称&#xff1a;排查网络故障4、题目名称&#xff1a;运输石油小结 工作日参赛 说实话&#xff0c;今天是周末&#xff0c;但是今天也是工作日&#xff0c;老顾已经预计到…

Tossim 教程

系列文章目录 TinyOS 系列文章【一】&#xff1a;TinyOS 配置教程 TinyOS 系列文章【二】&#xff1a;Tossim 教程 文章目录 系列文章目录前言1. Tossim 简介2. TOSSIM 仿真2.1. 编译 TOSSIM2.2. 基于 Python 的仿真2.3. 调试语句2.4. 网络配置 总结 前言 本文主要用于记录在…

打破广播电视行业前端摄录设备依赖进口局面,BOSMA博冠全新国产8K摄像机重新定义广播世界

《世界广播电视》杂志曾经预测&#xff0c;2025年全球将有1000个超高清频道在播出。中国广电总局提出&#xff0c;到2025年底&#xff0c;标清频道基本关停&#xff0c;省级电视台要基本具备超高清电视制播能力。视频超高清已成为一个国际趋势。中国有14亿人口&#xff0c;是全…

蓝牙设备节点协议栈基础知识

蓝牙设备节点协议栈基础知识 一&#xff1a;TTY&#xff08;虚拟控制台&#xff0c;串口以及伪终端设备组成的终端设备&#xff09; Android/Linux 几乎所有的外设都以”设备节点”的形式存在 例如PC插入串口,会识别成COM1/COM2…在linux下面则以/dev/ttyXXX的形式存在,如/dev…

国家信息安全水平考试中NISP一级网络安全证书介绍

1、什么是NISP? 国家信息安全水平考试&#xff08;National Information Security Test Program&#xff0c;简称NISP&#xff09;&#xff0c;是由中国信息安全测评中心实施培养国家网络空间安全人才的项目。 2、考取NISP一级认证的同学就业岗位和薪资标准有那些呢&#xf…

Docker创建镜像,建立网桥,容器制作虚拟机

新建基础镜像&#xff0c;希望能够SSH&#xff0c;安装java&#xff0c;用户&#xff0c;声明22端口等等&#xff1b;拷贝基础hadoop安装文件 新建Dockerfile FROM centos:7.9.2009RUN rm -f /etc/localtime && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/local…

【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

Windows使用C Visual Studio链接云数据库PostgreSQL 一、前置条件二、安装PostgreSQL工具三、编译libpqxx库四、Visual Studio配置测试**如果对您有帮助&#xff0c;关注收藏&#xff01;** 关注 “测试开发自动化” 公众号&#xff0c;获取更多学习内容 一、前置条件 下载lib…