李宏毅2021春季机器学习课程笔记6:Self-attention

李宏毅机器学习笔记第12周_自注意力机制(Self-attention) Self-attention 阅读详情

1. Sophisticated Input

如果神经网络输出是一个序列并且长度不一致时,比如输入是一个句子,把句子里面的没一个词汇都表示成一个向量(vector),呢么model的输入就是一个vector set,并且每次的输入长度都不一样。在这里插入图片描述

1.1 Input

当输入是一段话时,

  1. 我们可以用独热码来表示每一个向量,但是由于互相正交,所以彼此之间没有办法存在语义的联系
  2. 另一种方法对每个词汇都给一个向量(词向量),并且互相之间有着一定的联系。

在这里插入图片描述
声音信号也可以作为一个vector set,我们把一小段的声音信号变成一个向量(frame),这样一段声音就成为很多连续向量的连续。
在这里插入图片描述
一个图结构也可以抽象化成一个向量集合,每一个节点都可以看作一个向量
在这里插入图片描述
每一个分子也可以看作一个graph,上面的每一个原子都可以用一个向量来表示,比如用不同的元素进行标识
在这里插入图片描述

1.2 Output

当每个输入向量都有对应的输入时:

  1. 如果输出是一个数值那么就是回归问题(输入输出的长度一样)
  2. 输出是一个class就是分类问题
    例如:
    POS tagging(词性标注),让机器确定每一个词汇是什么词性(名词、动词等等),输入输出长度一样
    作业2的语音信号识别每一个音标是什么
    社交网络里每一个节点会不会买商品,从而确定用不用推荐相关商品。

在这里插入图片描述
第二种情况是,我们的输入只需要输出一个label就可以
例如Sentiment analysis,判断一段话是正面还是负面评价
语者辨认,确定是谁讲的话
预测分子的毒性或者亲水性
在这里插入图片描述
还有一种情况下我们并不知道输出的长度是多少,由机器自己学习产生,这种就是seq2seq的任务在这里插入图片描述
在这里我们只讨论输入和输出一样长度的情况,即Sequence Labeling

2. Self-attention

如果使用之前的Fully-connected,无法考虑到上下文关系,每一个输入都是独立的。就算我们把每一个window输入给网络,这样的方法还是有极限的,无法考虑到整个sequence(因为运算量会很大、还会过拟合)
在这里插入图片描述
所以我们使用了注意力机制,考虑整个序列得到一个向量
在这里插入图片描述
Self-attention的输入可以多次叠加,与全连接交替使用。使用Self-attention比较有名的就是Attention is all you need 中的transformer(变形金刚:)的架构。
在这里插入图片描述

2.1 Process

接下来是Self-attention的步骤:

  1. 首先找出sequence中与 a 1 a^1 a1相关的向量,并得到相关性大小的权重(attention score)在这里插入图片描述
  2. 常用的寻找这个相关性数值(attention score)的方法是做Dot-product操作(如下图左)和Additive(如下图右)在这里插入图片描述
  3. 这时我们就让 a 1 a^1 a1分别对每一个输入进行计算attention score,其中 q n q^n qn在论文中的关键字是query, k n k^n kn的关键字是key。其中 a 1 a^1 a1也会跟自己计算attention score。之后我们会做一个Soft-max(其他的Activation Function也可以)。在这里插入图片描述
  4. 这里我们已经知道了每个向量和 a 1 a^1 a1的关联性,所以我们把每一个向量计算得到 v n v^n vn并与attention score相乘后相加得到 b 1 b^1 b1在这里插入图片描述
  5. 同理操作每一个输入,这样我们就得到了一排attention层的输出,这里每一个 b n b^n bn并不需要依次产生,它们是同时被计算出来的。
    在这里插入图片描述

2.2 Matrix transpose

从矩阵乘法的视角来看,每一个输出都要乘相应的矩阵得到相应值,所以我们可以把他们拼起来当作 I I I计算。
在这里插入图片描述
所以我们可以把之后的计算也用矩阵计算进行表示
在这里插入图片描述

同理可得到输出 b b b
在这里插入图片描述
所以整个过程都可以表示成一连串的矩阵计算,其中只有 W q W^q Wq, W k W^k Wk, W v W^v Wv是未知量需要学习得到。
在这里插入图片描述

2.3 Multi-head Self-attention

在相关这种定义中,也许不只有一种相关性,所以有时我们需要多个 q q q来表示多种的相关性。
在这里插入图片描述
之后可能会将结果拼起来通过矩阵乘法得到结果,送到下一层。
在这里插入图片描述

2.4 Positional Encoding

但是Self-attention的输入并没有表示出位置信息,每个位置的输入是一样地位的。
所以我们要用Positional Encoding的技术添加位置信息
我们在每个位置都给一个vector表示,把它加到输入中。
下图右就是最早的transform中用的vector。
在这里插入图片描述
Positional Encoding这还是一个尚待研究的问题。在这里插入图片描述

3. Others

3.1 Using

注意力机制在NLP方向一直被广泛使用在这里插入图片描述
但是在语音方面也可以使用,我们只看语音信号时,由于信息量太大,所以只看一小部分的咨询在这里插入图片描述
在影像方向也会使用Self-attention,我们可以把每一个像素位置看成一个三维的向量,这样就可以看作成一个Vector set,使用Self-attention进行处理。在这里插入图片描述
比如以下两篇论文。
在这里插入图片描述

3.2 Self-attention v.s. CNN

Self-attention和CNN相比:

  1. CNN可以看作成一种简化版的Self-attention,确定一个小的感受野,受限制。
  2. Self-attention考虑所有输入进行学习,好像是自己学习得到感受野(根据相关性决定感受野的形状、位置、相关),感受野可以不相连
    在这里插入图片描述
    在这篇论文中说明了CNN是Self-attention的特例,只要设定了合适的参数,它可以做到跟CNN一样的事情
    在这里插入图片描述
    根据不同的数据量也可以说明Self-attention较为灵活(弹性大),需要更大的数据量进行训练。
    在这里插入图片描述

3.2 Self-attention v.s. RNN

RNN(Recurrent Neural Network)现在大部分都被Self-attention所取代了,RNN也是要处理输入是一个序列的情况,基本结构如下,有一个计算顺序,每一个输入只考虑到了前面的输入情况,但是无法考虑到后面vector的信息(但是RNN也可以是双向的)
在这里插入图片描述
但是Self-attention每一个输入都考虑到了所有input,与RNN相比:

  1. 如果最后一个vector要考虑第一个vector,RNN需要一直存在memory中,而self-attention不需要,有一种天涯若比邻的感觉
  2. RNN无法平行化处理输入,运算速度与效率上Self-attention更有优势

在这里插入图片描述
在这里插入图片描述

3.2 Self-attention for Graph

在图中我们不仅有点的信息,我们还有边的信息,所以我们可以用edge来表示互相的关联性,不需要用机器找出来,我们就可以只计算有相连edge的node之间的score
这种思路就是一种GNN(Graph Neural Network)
在这里插入图片描述

4. More

有很多相关的变形,快的训练速度等等方法
在这里插入图片描述

cvpr2021 知识蒸馏文章review 前言 本文主要是总结cvpr2021里的一些关于知识蒸馏的文章,希望对之后的工作有所启发。 所有论文地址:https://openaccess.thecvf.com/CVPR2021。 Complementary Relation Contrastive Distillation 论文地址:https://openaccess.thecvf.com/content/CVPR2021/papers/Zhu_Complementary_Relation_Contrastive_Distillation_CVP 阅读详情

相关推荐

李宏毅2021机器学习深度学习课程:从笔记到实战的完整刷课指南

机器学习与深度学习是人工智能领域的两大核心方向,其底层原理涉及神经网络、反向传播、注意力机制等关键技术。理解这些概念不仅能帮助开发者构建高效的模型,还能在图像识别、自然语言处理、生成任务等场景中灵活应用。以李宏毅2021机器学习课程为例,其内容覆盖从基础回归到Transformer、BERT等主流架构,配合HW1至HW14的实战作业,能够帮助学习者系统掌握从数据预处理、模型训练到环境配置的完整工程流程。针对Ubuntu等常见开发环境,本文还提供了驱动、CUDA与PyTorch的安装避坑建议,为初学者和期末复

weixin_32238157的博客 295

网络安全学术顶会——S&P 2023 议题清单、摘要与总结(下)

注:本文由ChatGPT与Claude联合生成121、QueryX: Symbolic Query on Decompiled Code for Finding Bugs in COTS Binaries可扩展的静态检查工具,如Sys和CodeQL,成功地发现了源代码中的错误。这些工具允许分析人员编写应用程序特定的规则,称为查询。这些查询可以利用分析人员的领域知识,从而使分析更准确和可扩展。然而,...

漏洞战争 7754

李宏毅机器学习全套资料详解:从视频到作业的完整学习路径

机器学习入门者常面临资料庞杂、路径不清的困境。面向希望系统掌握机器学习与深度学习核心知识的初学者,以李宏毅系列课程为主线,梳理从课程视频、PPT、开源笔记到Kaggle风格作业的完整学习资源。从基础概念出发,讲解如何利用Miniconda构建独立Python环境,解决PyTorch版本兼容问题,并针对SVM、决策树、聚类算法等高频考点给出与西瓜书等教材搭配学习的高效策略。通过动手复现PM2.5预测等实战项目,读者能建立“分析数据-选择模型-调参迭代”的工程直觉,打通从理论到应用的任督二脉。无论偏算法理论还是

weixin_29082143的博客 224

S&P‘23 | May 22-25,信息安全领域顶级会议,国内37篇论文入选!浙大十篇!

S&P是CCF A类,Core Conference Ranking A*类会议,H5指数74,Impact Score 11.38。S&P被认为是计算机安全的最高会议,比ACM的CCS更受尊敬。

CS_Conference的博客 3550

Lhy_Machine_Learning:李宏毅2021Spring机器学习课程课件及作业

Lhy_Machine_Learning 李宏毅2021Spring机器学习课程课件及作业 B站视频地址: : 课程主页: : 不定期分享读研干货,点赞关注一起进步: ://space.bilibili.com/46880349 人工智能技术探讨群:78174903 第一节简介作业HW1:回归 第二节深度学习作业HW2:分类 第三节自我注意作业HW3:CNN HW4:自我注意 第四节机器学习理论 第五节变压器作业HW5:变压器 第六节生成模型作业HW6:GAN 第七节自我监督学习作业HW7:BERT HW8:自动编码器 第八节可解释的AI /对抗攻击作业HW9:可解释的AI HW10:对抗攻击 第九节域适应/ RL作业HW11:适应 第十节RL作业HW12:RL 第十篇隐私与ML 第十二节Quantum ML 第十三节Life / Long / Compression作业HW1

自动驾驶仿真工具链集成:ECU TEST与VTD、VERISTAND的深度配置指南

本文详细介绍了自动驾驶仿真测试中ECU TEST、VTD与VERISTAND三大核心工具的深度集成与连接配置方法。通过解析工具链的角色分工,提供从单机到分布式部署的实战指南,并重点阐述了Test Bench Configuration与Test Configuration的关键参数设置、SSH免密登录配置,以及在线与离线工作模式的切换技巧,旨在帮助测试工程师高效构建稳定、自动化的硬件在环测试环境。

wind6的博客 791

【深度学习】Self-Attention机制详解:Transformer的核心引擎

本文介绍了Self-Attention(自注意力机制)。在深度学习领域,Transformer架构的出现彻底改变了自然语言处理(NLP)的格局,而Self-Attention(自注意力)机制则是Transformer的核心组件。Self-Attention兼具了卷积的局部处理能力和全连接层的全局连接特性,但它通过动态生成权重的方式实现了更灵活的表示学习,这也是Transformer架构成功的关键因素之一。

欢迎来到我的优快云个人博客主页! 2738

Kettle Web版部署指南

看到以上的日志则表示启动成功。

2401_89221867的博客 1719

李宏毅机器学习笔记21

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是Transformer的基本概念以及Transformer中encoder的基本架构。encoder。

qq_62270288的博客 1180

解密UFS Explorer:Drobo BeyondRAID数据恢复实战指南

本文详细介绍了使用UFS Explorer Professional Recovery软件中的Drobo BeyondRAID助手进行数据恢复的完整实战流程。当Drobo设备因BeyondRAID配置信息丢失而无法访问时,该工具能安全、只读地扫描硬盘,虚拟重建存储池,帮助用户找回宝贵数据。指南涵盖了从前期准备、硬盘选择、配置扫描到数据安全导出的每一步关键操作与常见问题解决方案。

weixin_29219539的博客 270

【数据挖掘】心跳信号分类预测 之 特征工程 —— 学习笔记(三)

三、特征工程 3.1 看书 常言道,“巧妇难为无米之炊”。在 ML 中,数据和特征将作“米”,模型和算法则为“妇”。若无数量充足的数据、良好表示的特征,再强大的模型也难以得到满意的结果 (garbage in,garbage out)。对于 ML 问题,数据和特征往往决定了结果的上限,而模型、算法的选择及优化则是在逐步接近该上限。 特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。在本质上,特征工程是一个表示和展现数据的过程。在实际中,特征工程旨在去除...

闻韶 3359

李宏毅2021机器学习课程笔记深度解析:从基础理论到前沿模型的全栈学习实战指南

例如,在讲解Self-Attention时,笔记清晰地展示了Query、Key、Value三个矩阵是如何通过矩阵乘法生成注意力分数的,这种“图解+公式+文字”的三维讲解方式,极大地降低了理解难度。然而,面对长达数十小时的视频内容,如何高效地提炼核心知识点、构建系统的知识体系,成为了许多自学者面临的难题。该项目不仅是对李宏毅2021春季机器学习课程的忠实记录,更是一份经过深度消化、结构清晰的学习指南,涵盖了从深度学习基础、卷积神经网络、自注意力机制到BERT、GPT-3等前沿大模型的全方位内容。

wulechun的博客 185

perftest实战:从零到一,精准评估RDMA网络性能

想象一下,两台服务器传输数据就像在同一个主板上交换内存,这种零拷贝、低延迟的特性,正是高性能计算、分布式存储等场景梦寐以求的。对于云环境用户,主流云厂商现在都提供RDMA实例(比如AWS的EFA、阿里云的eRDMA)。但要注意,不同机型支持的RDMA协议版本可能不同,这会直接影响测试结果的上限值。记得记录每次测试的BW average值,绘制成曲线图后,你可能会发现类似"阶梯状"的性能变化,这通常与网卡的DMA引擎设计有关。在云环境中,由于虚拟化层的影响,延迟会比裸金属高20-30%。

weixin_28700411的博客 215

李宏毅2021春季机器学习课程视频笔记14-Transformer

Transformer实际上就是变形金刚,其与Bert实际类似。其实际上就是一个Sequence-to-Sequence的模型,其输出的长度并不是由人为指定,而是由机器自行确定。Transformer的基本结构,如上图所示,主要由一个Encoder和一个Decoder组成,一般将输入序列通过Encoder进行处理,处理完成后给到Decoder,由Decoder来确定输出向量。

wen的博客 779

Open3D 计算点云的倒角距离(Chamfer Distance)【2025最新版】

;Chamfer Distance距离可以计算生成点云数据与标签点云数据之间的平均最短点距离。Open3D可以直接用来计算点云的Chamfer Distance距离。博客长期更新,本文最近一次更新时间为:2025年2月18日。

点云侠的博客 3254

【Basis】Lumerical licence center 无法连接的问题

端口,我们需要确认该端口是否被其他程序占用。这里我们将介绍如何处理这一问题。后,今天电脑更新后我无法打开。终结占用该端口的程序后再次打开。

u011699626的博客 315

【深度学习】各种各样神奇的自注意力机制(Self-attention)变形

转载自 | PaperWeekly总结下关于李宏毅老师在 2022 年春季机器学习课程中关于各种注意力机制介绍的主要内容,也是相对于 2021 年课程的补充内容。参考视频见:https://www.bilibili.com/video/BV1Wv411h7kN/?p=51&vd_source=eaef25ec79a284858ac2a990307e06ae在 2021 年课程的 trans...

fengdu78的博客 1142

手把手教你学Simulink——基于Simulink的重复控制抑制周期性负载转矩扰动

传统的PI调节器在面对这类特定频率的周期性扰动时,会因积分器的相位滞后而导致转速出现明显的纹波(如6次、12次谐波),严重影响系统的控制精度和静音性能。:要在频率 fd​处获得较高的开环增益以抑制扰动,必须大幅增加PI的比例系数 Kp​,但这会牺牲系统的相位裕度,导致高频共振甚至系统失稳;:电机转速变化时,基频 fbase​会变,导致 6次谐波频率 6×fbase​也在变。设系统的采样周期为 Ts​,目标抑制的周期性扰动频率为 fd​(rad/s),则对应的周期采样点数 N=fd​Ts​2π​。

MHD0815的博客 256

李宏毅2021春季机器学习课程视频笔记13-自注意力机制

,模型的输出为一个数值或者一个类别。将考虑整个Sequence信息的向量输入到Self-Attention中,输出对应个数的向量,并将其输出的向量作为全连接层的输出,最后输出标签,多次重复此过程即可。对一段语音信号进行处理,可以选取一个固定长度的滑动窗口,把一个滑动窗口内部的数据可以称为语音数据的一个帧,按照预定的步长移动这个窗口就可以得到这一段语音信号对应的向量集。这类方法虽然可以实现对所有的单词的表示,但是其向量的长度过长不利于后续数据处理,其次其也没有包含单词间关系的其他任何有意义的信息。

wen的博客 582

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

李宏毅机器学习笔记19

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是Self attention从矩阵角度的计算方法及一些Self attention应用。

qq_62270288的博客 496

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

机器学习笔记4(self attention)

Self attention 1.Input 问题引入:由于对于不同的问题,我们输入的序列长度不同,比如输入是一个句子,那么就需要将句子中的每个单词当作一个vector,输入即为set of vector,还有声信号,graph等输入也为set of vector。 2.Output 对于输出分为以下几种情况: 1.每个输入均有一个输出,若输出是一个数值,则为回归问题,若输出是一个class则为分类问题。 2.输出只有一个label,比如Sentiment analysis即输入一段话只需要

wolf_qu的博客 1106

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

李宏毅机器学习笔记18

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是Self attention相关概念及其计算方法。

qq_62270288的博客 1100

收藏!各种各样神奇的自注意力机制(Self-attention)

作者|谢博士整理|PaperWeekly总结下关于李宏毅老师在 2022 年春季机器学习课程中关于各种注意力机制介绍的主要内容,也是相对于 2021 年课程的补充内容。参考视频见:https://www.bilibili.com/video/BV1Wv411h7kN/?p=51&vd_source=eaef25ec79a284858ac2a990307e06ae在 2021 年课...

Kaiyuan_sjtu的博客 832

李宏毅机器学习笔记21-26周汇总

本周继续学习李宏毅老师2025春季机器学习课程,学习内容是Transformer相关概念及其基本架构,同时从代码层面帮助理解Transformer原理,以及自监督学习机制和BERT相关基本概念,运作原理和作用。BERT。

qq_62270288的博客 582

李宏毅机器学习笔记23

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是之前学习了encoder和decoder的结构及运行过程,接下来将要学习是他们中间是如何传递资讯的。也就是之前学习decoder时,去除的部分。这一块叫做cross attention,它有两个输入来自encoder它的实际运作过程如下:encoder这边输入一排向量输出一排向量a,通过a与不同的矩阵相乘得到向量k和v,decoder这边收到begin信号产生一个向量,这个向量乘上一个矩阵得到q,之后用k,q计算他们的分数。

qq_62270288的博客 856

李宏毅机器学习笔记22

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是Transformer中decoder的基本架构,主要学习Decoder-Autoregressive(AT)的基本运作过程,以及Decoder-Non-Autoregressive(NAT)与Decoder-Autoregressive(AT)的差异。

qq_62270288的博客 1011
上一篇: 李宏毅2021春季机器学习课程笔记5:Convolutional Neural Network(CNN)
下一篇: 李宏毅2021春季机器学习课程笔记7: Seq2seq & Transformer
Andy in boots
博客等级 码龄7年 73粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值