机器学习和深度学习 -- 李宏毅(笔记与个人理解)Day 23

news2024/10/7 6:39:36

Day 23 Self - Atention 变形

关于很多个former 的故事image-20240421214633986

痛点:

在于做出注意力矩阵之后的运算惊人

image-20240421220327890

由于self - attention 一般都是在big model 的一部分,所以,一般不会对模型造成决定性的影响, 只有当model 的输入较长的时候, 例如图中: 图片处理 : 256 * 256 的输入,self-attention 就会得到一个 256 * 256 的平方的 矩阵;导致运算量巨大

methods : 使用人类的先验知识

Local Attention / Truncated Attention

image-20240421222312247

有的时候我们只需要知道左右另据;仅仅知道很小的范围;

感觉和双向RNN 差不多啊……好像还不一样,因为RNN 还是比较有时间序列的

老师说这里和CNN比较像, 可并行

Stride Attention

image-20240421222612960

Global Attentiion

image-20240421223459153

tushi 的是第一种的 attention matrix; 通过special 间接的传递信息

image-20240421223624344

做多 头

image-20240421223703909

//todo 这里忘记了什么是多头的概念了,多头自注意力是怎么做的来着?

Can we only focus on Critical Parts ?

image-20240421224007039

有没有办法估计一下较小的值,直接抹零?

how we do that ?

Clustering

image-20240421224103730

image-20240421224228177

提问:

  1. 为什么是计算相似的而不是计算不同的以保持模型的多样性, 久像 pca 那样
  2. 自注意力机制算的是不是相似程度的矩阵?
  3. 如果是的话, 这样做为什么就能得到sequence 的全局信息了?
  4. image-20240421225843843这里我突然蒙圈了,这里wei’啥是 4* N * N * 4呢? 而不是反过来,换句话说, 这个矩阵的大小为啥是序列的长度,而不是向量的维度

// todo 这是因为自注意力机制的目的是计算序列中每个元素对于序列中每个其他元素的注意力得分,所以我们需要一个 N×N 的矩阵来表示这些得分。每个元素都有一个对应于其他所有元素的得分,包括自己。

md 明白了, 还是需要有一个人来给自己点拨点拨呀

image-20240421231428239

特色就是新弄了一个network ;没讲的是如何从右边到左边binary 的 map

台大学生提问: 这里真的有加速吗?其实我也满想问的,奈何时间不允许啊!!!

NN 里面只会产生一个10*10 的解析度较低的matrix

image-20240421231957431

image-20240421232138378

这里的value 表示什么意思? 是不是输入?

//todo

注意这里为什么不也用 有代表性的 query ?

会改变我的output , 导致不能使得squence的每一个part 都有一个lable 被分出 ,例如词性标注

提问:为什么是 QKV ? 而不是KQV?

好啦 这个问题其实有点蠢了, 当你KQV 的时候 ,你的K 就变成了 Q ;Q 就变成了K ;和你做函数的代换法的时候 用 u 代表变量 x 的行为没什么两样啦

Reduce numbers of Key

image-20240421232743435

做不同方式的线性组合, 其实我的想法 那么也很简单, 用pca 做一下,说不定也可以, 反正就是减少运算量嘛~

image-20240421233111237

为啥这里的v 可以和 其他的维度不同?

emmm 比较简单了

  • 1N * N * 3 = 1 3
  • b = Σ \Sigma Σ a‘ * V

可以看到 V 只需要×一个数字, 当然就不需要一样啦

image-20240421233319679

好吧 V K T Q 其实差不多就是输出了(如果我们忽略掉, KQ 之后 的softmax ,md 我也忘了这里的作用了)

将原始计算分值整理成所有元素权重之和为1的概率分布;另一方面也可以通过softmax的内在机制更加突出重要元素的权重;

自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。自注意力机制的关键点在于,Q、K、V是同一个东西,或者三者来源于同一个X,三者同源。通过X找到X里面的关键点,从而更关注X的关键信息,忽略X的不重要信息。

Change the orders --Linear Transformer

这里先假设没有softMax 的情况哈

image-20240421233532826

image-20240421233558559

image-20240421233648112

md 推荐 线性代数 – 李宏毅了 要开始;

ps 好像赚钱买mac 啊 ……

image-20240422010310137

image-20240422010330726

交换后:

image-20240422010416460

好家伙 改了一下乘法的次数 变了这么多;

but……

image-20240422010507533

image-20240422010516038

while when how we add the softMax

image-20240422010644797

image-20240422011101619

image-20240422011230057

image-20240422011320013

image-20240422011402261

image-20240422011506877

image-20240422011543721

image-20240422011558240

Lets put soft Max back ……

image-20240422011739068

image-20240422011755407

image-20240422011815118

image-20240422011906212

template == pattern

how to image-20240422012004876

image-20240422011953833

Synthesizer

image-20240422012401447

重新思考 attention weight 的价值到底是怎么样的

Attention -Free?

image-20240422012927296

image-20240422012945925

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

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

相关文章

第一讲 - Java入门

第一讲 - Java入门 文章目录 第一讲 - Java入门1. 人机交互1.1 什么是cmd?1.2 如何打开CMD窗口?1.3 常用CMD命令1.4 CMD练习1.5 环境变量 2. Java概述1.1 Java是什么?1.2下载和安装1.2.1 下载1.2.2 安装1.2.3 JDK的安装目录介绍 1.3 HelloWor…

python——飞机大战游戏(下载模块,知识点,图片)

飞机大战——准备工作 这篇文章我们只有关于pygame模块的下载,和一些知识点,还有飞机大战我们需要用到的图片。下一篇文章我们进行代码的详细解析。 1.1安装pygame模块 方法一: 在pycharm中打开命令行下载,输入pip install py…

Axure设计美观友好的后台框架页

使用Axure设计后台框架页 优点介绍: **1、使用中继器灵活配置菜单项; 2、二级菜单面板跟随一级菜单位置显示; 3、菜单链接打开后,联动添加tab标签; 4、标签页与iframe内容联动,可关闭; 5、左侧…

linux 定位进程文件路径

有时候用top 打开任务管理器时知道某个任务的进程的存在&#xff0c;但不知道是哪个文件&#xff0c;只需两条指令只可定位进程的可执行文件路径 使用 ls -l /proc/<PID>/cwd 命令来查找该进程的当前工作目录。使用 cat /proc/<PID>/cmdline 命令来查看该进程的命…

富集分析不求人,零代码可视化GO/KEGG分析结果

01 爱基百客云平台小工具使用 首先&#xff0c;打开爱基百客官网&#xff1a;http://www.igenebook.com&#xff1b;点击菜单栏最右侧“云平台”按钮。 弹出云平台界面&#xff08;下图&#xff09;&#xff0c;输入账号、密码和验证码方可登录&#xff1b;进入云平台&#xf…

ThingsBoard服务端使用RPC通过网关给设备发送消息

一、概述 1、发送服务器端网关RPC 二、案例&#xff1a; 1、建立设备与网关之间的通讯 2、查看设备和网关是否在线状态啊 3、通过 仪表盘&#xff0c;创建设备A的模拟RPC调用的窗口链接 4、在客户端的网关设备上订阅RPC网关的主题信息 5、通过服务端的窗口&#xff0c;发…

JavaEE >> Spring(2)

前面已经介绍了 Spring 的基本使用以及创建&#xff0c;本文将介绍使用注解的方式实现对 Spring 更简单的存储对象和读取对象. 将对象存储到 Spring 中 创建 Spring 项目 前面已经做过详细步骤&#xff0c;此处不再赘述. 链接在此 Spring 基本使用及创建 pom.xml 和 Spring…

机器学习模型效果不好及其解决办法

当训练出来的机器学习模型效果不佳时&#xff0c;可能涉及多个方面的原因。为了改善模型的效果&#xff0c;需要系统地检查和分析问题的根源&#xff0c;并采取相应的措施进行优化。 一、数据问题 数据质量 检查数据是否干净、完整&#xff0c;是否存在噪声、异常值或缺失值。…

【后端】python2和python3的安装与配置

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、python是什么二、python环境的安装与配置Python 2的安装与配置Python 3的安装与配置注意事项 三、总结 前言 随着开发语言及人工智能工具的普及&#xff0…

C++ //练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。

C Primer&#xff08;第5版&#xff09; 练习 13.17 练习 13.17 分别编写前三题中所描述的numbered和f&#xff0c;验证你是否正确预测了输出结果。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************…

git提交注释规范插件

1、前言 为什么要注重代码提交规范&#xff1f; 在团队协作开发时&#xff0c;每个人提交代码时都会写 commit message。 每个人都有自己的书写风格&#xff0c;翻看我们组的git log, 可以说是五花八门&#xff0c;十分不利于阅读和维护。 一般项目开发都是多分支共存&#x…

浅涉ROS世界中的坐标系及其他

声明&#xff1a;文中图片素材均采用了其他博主文章&#xff08;文末参考来源&#xff09;&#xff0c;如有侵权或不妥&#xff08;确有不妥和不安&#xff0c;奈何苦于佳图难觅&#xff09;&#xff0c;还望告知&#xff0c;立即删除&#xff01; 坐标系统 ROS中的…

影视后期特效合成:DaVinci Fusion Studio19 激活版

DaVinci Fusion Studio是一款功能强大的影视后期特效合成软件&#xff0c;可广泛应用于视觉效果、广播电视设计、动态图形设计、3D动画设计等领域。 如综合的绘图、动态掩蔽、遮片、图层叠加、字幕等工具&#xff0c;结合高效的粒子生成系统&#xff0c;通过它可以创建各种精细…

51单片机入门_江协科技_35~36_OB记录的自学笔记_AD与DA转换(XPT2046)

35. AD_DA 35.1. AD/DA介绍 •AD&#xff08;Analog to Digital&#xff09;&#xff1a;模拟-数字转换&#xff0c;将模拟信号转换为计算机可操作的数字信号 •DA&#xff08;Digital to Analog&#xff09;&#xff1a;数字-模拟转换&#xff0c;将计算机输出的数字信号转换…

【Word中如何对比文档修改前后的不同之处】

1、准备两个word文档&#xff08;一个是修改前文档&#xff0c;一个是修改后文档&#xff09; 2、双击打开两个文档&#xff0c;点击【审阅】-【比较】-选择修改前的文档和修改后的文档-【确定】&#xff0c;进入文档比较界面。 3、在比较结果文档中&#xff0c;可以查看修改前…

杰出贡献!51Sim助力ASAM新版本智驾标准发布

日前&#xff0c;ASAM&#xff08;德国自动化及测量系统标准协会&#xff09;正式发布了自动驾驶仿真场景标准OpenSCENARIO XML V1.3.0和OpenSCENARIO DSL V2.1.0&#xff0c;这两项标准是自OpenSCENARIO标准版本V1及V2拆分为两个独立标准以来首次正式发布。 作为ASAM会员单位…

stripe.js踩坑日记

stripe.js踩坑日记 先附上代码【选择支付方式并唤起对应支付后重定向到支付结果页面】 先安装依赖包 npm install stripe/stripe-js代码【vue3语法】 <template><div class"stripe-pay-ment-box"><div id"payment-element"></div…

shopify二次开发在首页调用最新的博客文章

在section分区里面新建一个 article.json {"type": "header","name": "Group name","sections": {"blog-posts": {"type": "blog-posts","disabled": true,"settings":…

移动零 ----双指针

题目链接 题目: 分析: 上述题目, 是将数组分块, 分为前半非零, 后半零, 这种数组分块题我们首先想到双指针 思路: 定义两个指针, 一个cur 一个dest, cur用来遍历数组, dest 指向分界处的第一个零位置, 将数组分块首先让cur 0; dest 0;cur 遍历数组, 如果cur 0, 那么cur…

基于springboot+vue+Mysql的漫画网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…