我们有一些已知的身高(作为键 K K K)和对应的体重(作为值 V V V)。现在,我们想使用一种基于注意力机制的方法来“查询”一个特定身高(比如 170cm)对应的体重。虽然这通常不是注意力机制的典型应用,但我们可以构造一个类似的计算过程。

计算公式

  1. 定义键和值

    • 键矩阵 K K K:包含已知的身高值,形状为 [ n , 1 ] [n, 1] [n,1],其中 n n n 是已知数据点的数量。
    • 值矩阵 V V V:包含与键对应的体重值,形状为 [ n , 1 ] [n, 1] [n,1]
  2. 定义查询向量

    • 查询向量 Q Q Q:包含要查询的身高值(170cm),形状为 [ 1 , 1 ] [1, 1] [1,1]
  3. 计算相似度

    • 在这个例子中,我们可以使用身高的差的负数作为相似度的度量。对于每个键 K i K_i Ki,计算相似度 s i s_i si
      s i = − ( ∣ Q − K i ∣ ) s_i = -( |Q - K_i| ) si=(QKi)
      或者,为了保持数值稳定性,我们可以使用:
      s i = − α ⋅ ( Q − K i ) 2 s_i = -\alpha \cdot (Q - K_i)^2 si=α(QKi)2
      其中 α \alpha α 是一个缩放因子(比如 α = 0.01 \alpha = 0.01 α=0.01),用于调整相似度的敏感度。
  4. 应用 softmax 函数

    • 对相似度向量 s s s 应用 softmax 函数,得到注意力权重 a a a
      a i = e s i ∑ j e s j a_i = \frac{e^{s_i}}{\sum_j e^{s_j}} ai=jesjesi
  5. 计算加权求和

    • 使用注意力权重 a a a 对值向量 V V V 进行加权求和,得到预测的体重:
      体重 = ∑ i a i V i \text{体重} = \sum_i a_i V_i 体重=iaiVi

具体计算(以差的负数为例)

假设我们有以下数据:

  • K = [ 160 165 175 180 ] K = \begin{bmatrix} 160 \\ 165 \\ 175 \\ 180 \end{bmatrix} K= 160165175180
  • V = [ 50 55 65 70 ] V = \begin{bmatrix} 50 \\ 55 \\ 65 \\ 70 \end{bmatrix} V= 50556570
  • Q = [ 170 ] Q = \begin{bmatrix} 170 \end{bmatrix} Q=[170]
  1. 计算相似度:

    • s 1 = − ( ∣ 170 − 160 ∣ ) = − 10 s_1 = -( |170 - 160| ) = -10 s1=(∣170160∣)=10
    • s 2 = − ( ∣ 170 − 165 ∣ ) = − 5 s_2 = -( |170 - 165| ) = -5 s2=(∣170165∣)=5
    • s 3 = − ( ∣ 170 − 175 ∣ ) = − 5 s_3 = -( |170 - 175| ) = -5 s3=(∣170175∣)=5
    • s 4 = − ( ∣ 170 − 180 ∣ ) = − 10 s_4 = -( |170 - 180| ) = -10 s4=(∣170180∣)=10
  2. 应用 softmax 函数:

    • 首先计算指数:
      e s 1 = e − 10 ≈ 0.000045 e^{s_1} = e^{-10} \approx 0.000045 es1=e100.000045
      e s 2 = e − 5 ≈ 0.006738 e^{s_2} = e^{-5} \approx 0.006738 es2=e50.006738
      e s 3 = e − 5 ≈ 0.006738 e^{s_3} = e^{-5} \approx 0.006738 es3=e50.006738
      e s 4 = e − 10 ≈ 0.000045 e^{s_4} = e^{-10} \approx 0.000045 es4=e100.000045
    • 然后计算总和:
      ∑ j e s j ≈ 0.013566 \sum_j e^{s_j} \approx 0.013566 jesj0.013566
    • 最后计算权重:
      a 1 ≈ 0.000045 0.013566 ≈ 0.0033 a_1 \approx \frac{0.000045}{0.013566} \approx 0.0033 a10.0135660.0000450.0033
      a 2 ≈ 0.006738 0.013566 ≈ 0.4967 a_2 \approx \frac{0.006738}{0.013566} \approx 0.4967 a20.0135660.0067380.4967
      a 3 ≈ 0.006738 0.013566 ≈ 0.4967 a_3 \approx \frac{0.006738}{0.013566} \approx 0.4967 a30.0135660.0067380.4967
      a 4 ≈ 0.000045 0.013566 ≈ 0.0033 a_4 \approx \frac{0.000045}{0.013566} \approx 0.0033 a40.0135660.0000450.0033
  3. 计算加权求和:

    • 体重 = a 1 × 50 + a 2 × 55 + a 3 × 65 + a 4 × 70 \text{体重} = a_1 \times 50 + a_2 \times 55 + a_3 \times 65 + a_4 \times 70 体重=a1×50+a2×55+a3×65+a4×70
    • 体重 ≈ 0.0033 × 50 + 0.4967 × 55 + 0.4967 × 65 + 0.0033 × 70 \text{体重} \approx 0.0033 \times 50 + 0.4967 \times 55 + 0.4967 \times 65 + 0.0033 \times 70 体重0.0033×50+0.4967×55+0.4967×65+0.0033×70
    • 体重 ≈ 0.165 + 27.3185 + 32.2855 + 0.231 \text{体重} \approx 0.165 + 27.3185 + 32.2855 + 0.231 体重0.165+27.3185+32.2855+0.231
    • 体重 ≈ 60 \text{体重} \approx 60 体重60

结论

对于查询身高 170cm,使用上述基于注意力机制的方法预测的体重约为 60kg。这个结果是通过计算查询身高与每个已知身高的相似度,然后应用 softmax 函数得到注意力权重,最后对已知体重进行加权求和得到的。

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

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

相关文章

Modbus TCP 进阶:基于以太网的远程设备控制(一)

Modbus TCP 基础回顾 ** 在工业自动化领域,Modbus TCP 是一种广泛应用的通信协议,它基于以太网,为设备之间的通信搭建了桥梁,实现了远程设备的高效控制。Modbus TCP 是 Modbus 协议家族中的一员,它在传统 Modbus 协议…

linux魔术字定位踩内存总结

0,数据被改写时我们需要怎么定位,我们首先需要确认数据是逻辑上被改写还是踩内存被改写的。 1,当数据被踩时,也就是出现数据异常时,并且可以稳定复现时,我们确认时踩固定内存时,我们可以使用魔术字定位问题。 代码举例查看确认。 #include <stdio.h> #include…

浅谈Docker Kicks in的应用

正因为传统部署的麻烦&#xff0c;我们希望减少整个安装过程&#xff0c;将其简单化&#xff0c;以下介绍两个思路&#xff1a; 思路一&#xff1a;安装 Docker 后安装 Ghost&#xff0c;并且直接暴露 80 端口&#xff0c;此时所有请求由 Docker 内的 Express 服务器处理&…

【Rust + Actix Web】现代后端开发:从零构建高并发 Web 应用

目录 项目概述环境准备项目创建与依赖配置系统架构设计核心代码实现1. 数据库模型 (src/models.rs)2. 应用状态管理 (src/state.rs)3. 核心业务逻辑 (src/handlers.rs)4. 主应用入口 (src/main.rs) 高并发优化策略1. 异步处理模型2. 连接池配置优化3. 缓存策略设计 性能测试结果…

2025java面试题整理通俗易懂好记

一、Java 基础 1. JVM 相关 Q&#xff1a;什么情况下会发生栈内存溢出&#xff1f; A&#xff1a;就像食堂打饭窗口前排队&#xff0c;队伍太长&#xff08;方法调用层级太深&#xff09;&#xff0c;或者每个人占的位置太大&#xff08;局部变量太多&#xff09;&#xff0c;…

内存分配算法(系统分配算法~应用常见算法)

一、内存碎片 内部碎片与外部碎片 内部碎片&#xff1a;指已分配给进程但未被实际利用的内存空间&#xff0c;属于​​已分配内存内部的浪费​​。 外部碎片&#xff1a;内存中​​零散分布的空闲小空间​​&#xff0c;总量足够但无法合并为大块以满足连续内存请求。 内部碎…

缓解停车难的城市密码:4G地磁检测器如何重构车位资源分配

城市停车难&#xff0c;是困扰车主和管理者的双重痛点。寻找车位耗时耗力&#xff0c;人工计时收费易生纠纷&#xff0c;传统管理模式效率低下。而 4G地磁检测器 的出现&#xff0c;正悄然改变这一局面。它如同埋入城市道路的“感知神经元”&#xff0c;通过4G地磁检测器 的精准…

【网工|查缺补漏】存储与RAID技术①

目录 ■存储基础 ▲存储系统层次结构 ▲存储介质选择 ▲硬盘接口 ■传统RAID技术 ▲RAID数据组织及存取方式 ▲RAID热备与重构 ▲常用RAID技术 ■RAID2.0技术 ▲RAID2.0技术优势 ■网络存储体系DAS/NAS/SAN ▲DAS (Direct Attached Storage) ▲FC SAN (Fiber Chan…

ESP官网的使用手册网址

LED Control (LEDC) — Arduino-ESP32 2.0.14 documentation (readthedocs-hosted.com) 中文网站&#xff1a;红外遥控 (RMT) - ESP32 - — ESP-IDF 编程指南 v5.4.2 文档 (espressif.com)

网络基础知识与代理配置

网络基础知识 OSI七层模型与协议对应 OSI层功能典型协议应用层网络服务接口&#xff0c;为应用程序提供网络服务HTTP, HTTPS, FTP, SMTP, DNS, Telnet, SSH表示层数据格式化、代码转换、数据加密解密SSL/TLS, JPEG, GIF, ASCII, 压缩算法会话层建立、管理和终止会话连接NetBI…

Windows 疑难杂症集 - MsMpEng.exe 磁盘占用率持续高占

本系列记录日常使用中遇到的一些问题及处理方法。系统环境为 Windows 10&#xff0c;但可能也适用于 Windows11&#xff0c;甚至也会包含部分 Windows7 等老系统环境。 有的时候感觉系统异常卡顿&#xff0c; CtrlShiftEsc 打开任务管理器&#xff0c;看到某个磁盘居然IO达到了…

《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P41 装备&#xff08;武器&#xff09;姿势&#xff08;Equipped Pose&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Develop…

【HarmonyOS】鸿蒙使用仓颉编程入门

【HarmonyOS】鸿蒙使用仓颉编程入门 一、前言 仓颉&#xff0c;是华为自研的一款面向全场景智能的新一代编程语言&#xff0c;是为鸿蒙量身打造的全场景智能应用编程语言&#xff0c;作为鸿蒙生态中的重要组成部分&#xff0c;旨在支持鸿蒙系统下的全场景应用开发 &#xff0…

2.3.1 Nginx Web服务器安全加固

文章目录 一、试题及考试说明二、操作步骤1. 启动Nginx服务2. 隐藏站点 Response Header 里的Web服务版本信息&#xff08;见下总图&#xff09;3. 隐藏站点 Response Header 里的X-Powered-By 字段&#xff08;见下总图&#xff09;4. Nginx访问日志存放位置修改为/opt/bak/ac…

红色背景政府当讲PPT模版

政府党建PPT模版&#xff0c;庆国庆PPT模版&#xff0c;国庆节PPT模版 红色背景政府当讲PPT模版&#xff1a;https://pan.quark.cn/s/a6f484905430

JavaScript对象(Object)常用操作

创建对象 //使用对象字面量、构造函数或者Object.create()方法来创建对象// 对象字面量 const person {name: John,age: 30,hobbies: [reading, swimming] };// 构造函数 function Car(make, model) {this.make make;this.model model; } const myCar new Car(Toyota, Cor…

Java面试宝典:基础一

⚙️ 1. Java跨平台原理&#xff08;字节码文件与JVM&#xff09; 核心机制&#xff1a; Java源程序&#xff08;.java&#xff09;编译为与平台无关的字节码文件&#xff08;.class&#xff09;&#xff0c;而非直接生成机器码。字节码由**Java虚拟机&#xff08;JVM&#xf…

uniapp微信小程序:editor组件placeholder字体样式修改

一、问题描述 微信小程序editor组件的placeholder字体默认为斜体字&#xff0c;官方对此没有属性可以设置它的样式&#xff0c;并且直接在组件上设置样式也是无效的。 二、解决方案 通过审查节点&#xff1a; 可以看到editor的placeholder其实是在一个伪元素上。 在页面或者…

PhoneRescue 4.3绿色版!解决iPhone数据丢失、系统崩溃等场景

目录 一、引言二、软件介绍1. 研发背景与定位2. 兼容性与技术优势 三、功能介绍1. 数据恢复功能&#xff08;核心痛点解决方案&#xff09;2. 系统修复功能3. 数据管理辅助 四、软件特色1. 操作极简&#xff0c;零技术门槛2. 安全可靠&#xff0c;零数据风险3. 高效精准&#x…

Vue 快速入门

一、Vue是什么 Vue是一款用于构建用户界面的渐进式的JavaScript框架。 官网&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js 其核心特性包括&#xff1a; 响应式数据绑定&#xff1a;通过 Vue 的响应式系统&#xff0c;数据变化会自动反映到视图&#xff0c;减少手动 D…