注意力机制(Attention mechanism)(上篇)

news2024/9/21 16:31:29

        在图像识别的时候,假设输入的图像大小都是一样的。但如果问题变得复杂,如图1所 示,输入是一组向量,并且输入的向量的数量是会改变的,即每次模型输入的序列长度都不一 样,这个时候应该要怎么处理呢?我们通过具体的例子来讲解处理方法。

9f958eaee54a4cd0a7603557d54b214b.png

图1  输入是一组向量

        第一个例子是文字处理,假设网络的输入是一个句子,每一个句子的长度都不一样(每个 句子里面词汇的数量都不一样)。如果把一个句子里面的每一个词汇都描述成一个向量,用向 量来表示,模型的输入就是一个向量序列,而且该向量序列的大小每次都不一样(句子的长度 不一样,向量序列的大小就不一样)。

        将词汇表示成向量最简单的做法是独热编码,创建一个很长的向量,该向量的长度跟世 界上存在的词汇的数量是一样多的。假设英文是十万个词汇,创建一个十万维的向量,每一 个维度对应到一个词汇,如式所示。但是这种表示方法有一个非常严重的问题,它假设 所有的词汇彼此之间都是没有关系的。cat 和 dog 都是动物,它们应该比较像;cat 是动物, apple 是植物,它们应该比较不像。但从独热向量中不能看到这件事情,其里面没有任何语义 的信息。

6d2aab1144b748e2a853dd0603d2f167.png

        除了独热编码,词嵌入(word embedding)也可将词汇表示成向量。词嵌入使用一个 向量来表示一个词汇,而这个向量是包含语义信息的。如图2所示,如果把词嵌入画出来, 所有的动物可能聚集成一团,所有的植物可能聚集成一团,所有的动词可能聚集成一团等等。 词嵌入会给每一个词汇一个向量,而一个句子就是一组长度不一的向量。

230068784c5441f6819b873a7bea257b.png

图2  词嵌入

        接下来举一些把一个向量的序列当做输入的例子。如图3所示,一段声音信号其实是 一组向量。我们会把一段声音信号取一个范围,这个范围叫做一个窗口(window),把该窗口 里面的信息描述成一个向量,这个向量称为一帧(frame)。通常这个窗口的长度就是25毫秒。 为了要描述一整段的声音信号,我们会把这个窗口往右移一点,通常移动的大小是10毫秒。

 

图 3 语音处理

        总之,一段声音信号就是用一串向量来表示,而因为每一个窗口,他们往右移都是移动 10 毫秒,所以一秒钟的声音信号有 100 个向量,所以一分钟的声音信号就有这个 100 乘以 60,就有 6000 个向量。所以语音其实很复杂的。一小段的声音信号,它里面包含的信息量其 实是非常可观的,所以声音信号也是一堆向量。

        一个图(graph)也是一堆向量。社交网络是一个图,在社交网络上面每一个节点就是一个人。每一个节点可以看作是一个向量。每一个人的简介里面的信息(性别、年龄、工作等等) 都可以用一个向量来表示。所以一个社交网络可以看做是一堆的向量所组成的。

        药物发现(drugdiscovery)跟图有关,如图 4 所示,一个分子也可以看作是一个图。如 果把一个分子当做是模型的输入,每一个分子可以看作是一个图,分子上面的每一个球就是 一个原子,每个原子就是一个向量。每个原子可以用独热向量来表示,比如氢、碳、氧的独热 向量表示如式 所示。

 

图4 药物发现

11b10adaee65415cbc1d90735f9164ab.png

        如果用独热向量来表示每一个原子,一个分子就是一个图,它就是一堆向量。

 

 

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

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

相关文章

随笔十、音频扩展模块测试

本项测试简单,对购买的音频扩展模块进行录音放音测试 按照使用说明,连接音频小板,一个喇叭一个麦克风,4根线,buildroot系统镜像 录音测试 rootRK356X:/# arecord -c 1 -r 44100 -f S16_LE /tmp/record.wav Recording …

Java-多线程入门

多线程是指在软件或硬件上实现多个线程并发执行的技术。为了更好地理解多线程,首先需要了解几个基本概念: 了解概念 1.程序 程序是为完成特定任务、用某种语言编写的一组指令的集合。它是一个静态的概念,通常存储在磁盘或其他非易失性存储器…

vxe-table 更新到最新版本

当前版本: "vxe-table": "^4.3.0-beta.3" 更新后: "vxe-table": "^4.7.75" 需要调整代码: 更改前main.js 更改后:

Jenkins Environment Injector Plugin 插件详解

引言 在做自动化测试的过程中,我们需要经常发送测试报告给相关研发、产品和上级,但是Jenkins邮件模板不支持Javascritpt脚本来动态生成数据,只支持静态的HTML代码,那么我们就没有办法了吗?非也,我们可以通…

SQL进阶技巧:经典问题题-换座位

目录 0 问题描述 1 数据准备 2 问题分析 3 小结 0 问题描述 表 seat中有2个字段id和student id 是该表的主键(唯一值)列,student表示学生姓名。 该表的每一行都表示学生的姓名和 ID。 id 是一个连续的增量。 编写解决方案来交换每两个连续的学生的座位号。如果学生的数量…

Windows下Nacos安装与配置

目录 1. 下载Nacos 2. 解压安装包 3. 配置系统环境变量 4. 启动Nacos 5. 配置数据库为mysql 6. 配置鉴权默认值 1. 下载Nacos 我下载的版本是2.3.0。 下载地址:Nacos Server 下载 | Nacos 官网 但是我从官方那里下载超级慢,找了一个链接下载&#…

Milvus 向量数据库进阶系列丨构建 RAG 多租户/多用户系统 (下)

本系列文章介绍 在和社区小伙伴们交流的过程中,我们发现大家最关心的问题从来不是某个具体的功能如何使用,而是面对一个具体的实战场景时,如何选择合适的向量数据库解决方案或最优的功能组合。在 “Milvus 向量数据库进阶” 这个系列文章中&a…

Python将两个Excel文件按相同字段合并到一起

在工作中我们需要将两个有关联的数据文件合并成一个Excel 1. 创建两个excel文件 test1 test2 2. 使用Pandas 数据分析工具进行合并 Pandas 一个强大的分析结构化数据的工具集,提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据&#x…

Linux操作系统软件管理

一.软件安装包类型 1.常见软件安装包格式 源码软件 .tar.gz,.tar.bz2 优点:从功能使用的角度来讲,比rpm软件安装包更加灵活, 比如 在使用源码软件安装包的时候,可以自行选择安装软件的目录,这样操作便…

TypeScript与vue

一、为组件的props标注类型 - 在没有使用TS之前,是这样接受props: - 在TS环境中,是这样接受props: - 对于props的可选项如何限制呢? 1、类型限制 类型限制在接收的时候就已经定义好了 2、可选属性(必填限制…

华媒舍:8个为什么要选择国外纳斯达克大屏推广的原因

1.纳斯达克大屏的知名度和美誉度纳斯达克大屏是全球有名气的金融业信息表明平台之一,它在全球金融体系有着广泛的知名度和美誉度。以在纳斯达克大屏中进行推广,能够让更多人关注与掌握推广具体内容,从而增加品牌曝光率。 2.纳斯达克大屏高客流…

代码随想录Day 31|leetcode题目:56.合并区间、738.单调递增的数字、968.监控二叉树

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 贪心算法Part05题目题目一:56. 合并区间解题思路 题目二:738.单调递增的数字解题思路:暴力解法:结果超时贪心算法 题目三: 968.监控二叉…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月1日,星期日

每天一分钟,知晓天下事! 2024年9月1日 星期日 农历七月廿九 1、 未来一周,四川东部、重庆等地持续高温天气,最高气温可达40~42℃。 2、 山西明确:今日起,职工医保个人账户家庭共济范围由直系亲…

QNN:基于QNN+example重构之后的yolov8det部署

QNN是高通发布的神经网络推理引擎,是SNPE的升级版,其主要功能是: 完成从Pytorch/TensorFlow/Keras/Onnx等神经网络框架到高通计算平台的模型转换; 完成模型的低比特量化(int8),使其能够运行在高…

干货分享|分享一款实用的网盘图标删除器 Drive Icon Manager v2.2

问题:在Windows平台“此电脑”及“资源管理器侧边栏”中会出现各种第三方图标,如百度网盘、WPS网盘、迅雷下载。 Drive Icon Manager 下载方法 1.打开下面网址--选择最新版本进行下载GitHub - Return-Log/Drive-Icon-Manager: 可以轻松删除‘此电脑’及‘…

基于SSM+小程序的宿舍管理系统(宿舍1)(源码+sql脚本+视频导入教程+文档)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 本宿舍管理系统小程序有管理员和学生两个角色。 1、管理员功能有个人中心,公告信息管理,班级管理,学生管理,宿舍信息管理,宿舍…

算法——支持向量机(support vector machines,SVM)

简介:个人学习分享,如有错误,欢迎批评指正 支持向量机(Support Vector Machine, SVM)是一种监督学习算法,广泛用于分类任务,也可以用于回归和异常检测等问题。SVM的核心思想是通过在特征空间中找…

单片机内存区域划分

目录 一、C 语言内存分区1、栈区2、堆区3、全局区(静态区)4、常量区5、代码区6、总结 二、单片机存储分配1、存储器1.1 RAM1.2 ROM1.3 Flash Memory1.4 不同数据的存放位置 2、程序占用内存大小 一、C 语言内存分区 C 语言在内存中一共分为如下几个区域…

高效达人必备!Simple Sticky Notes让灵感与任务不再遗漏!

前言 阿尔伯特爱因斯坦所言:“我们不能用制造问题时的同一水平思维来解决它。”这句话深刻地揭示了创新与突破的必要性。正是基于这样的理念,Simple Sticky Notes这款桌面便签软件以其独特的创新视角和实用性,在众多同类软件中脱颖而出。 它…

【原型设计工具评测】Axure、Figma、Sketch三强争霸

在当今的数字化设计领域,选择合适的原型设计工具对于项目的成功至关重要。Axure、Figma 和 Sketch 是目前市场上最受欢迎的三款原型设计工具,它们各具特色,满足了不同用户的需求。本文将对这三款工具进行详细的对比评测,帮助设计师…