当前位置: 首页 > article >正文

人工智能-注意力机制之注意力汇聚:Nadaraya-Watson 核回归

查询(自主提示)和键(非自主提示)之间的交互形成了注意力汇聚; 注意力汇聚有选择地聚合了值(感官输入)以生成最终的输出。 本节将介绍注意力汇聚的更多细节, 以便从宏观上了解注意力机制在实践中的运作方式。 具体来说,1964年提出的Nadaraya-Watson核回归模型 是一个简单但完整的例子,可以用于演示具有注意力机制的机器学习。

import torch
from torch import nn
from d2l import torch as d2l

生成数据集

在这里生成了50个训练样本和\(50\)个测试样本。 为了更好地可视化之后的注意力模式,需要将训练样本进行排序。

n_train = 50  # 训练样本数
x_train, _ = torch.sort(torch.rand(n_train) * 5)   # 排序后的训练样本

def f(x):
    return 2 * torch.sin(x) + x**0.8

y_train = f(x_train) + torch.normal(0.0, 0.5, (n_train,))  # 训练样本的输出
x_test = torch.arange(0, 5, 0.1)  # 测试样本
y_truth = f(x_test)  # 测试样本的真实输出
n_test = len(x_test)  # 测试样本数
n_test

下面的函数将绘制所有的训练样本(样本由圆圈表示), 不带噪声项的真实数据生成函数\(f\)(标记为“Truth”), 以及学习得到的预测函数(标记为“Pred”)。

def plot_kernel_reg(y_hat):
    d2l.plot(x_test, [y_truth, y_hat], 'x', 'y', legend=['Truth', 'Pred'],
             xlim=[0, 5], ylim=[-1, 5])
    d2l.plt.plot(x_train, y_train, 'o', alpha=0.5);

平均汇聚

如下图所示,这个估计器确实不够聪明。 真实函数(f)(“Truth”)和预测函数(“Pred”)相差很大。

y_hat = torch.repeat_interleave(y_train.mean(), n_test)
plot_kernel_reg(y_hat)

 


http://www.kler.cn/a/146254.html

相关文章:

  • Spark任务提交流程
  • 【逆境中绽放:万字回顾2024我在挑战中突破自我】
  • 关于AWS网络架构的思考
  • 2025第3周 | json-server的基本使用
  • Jmeter 简单使用、生成测试报告(一)
  • Jenkins与不同阶段测试的完美结合
  • 数据结构与算法之二叉树: LeetCode 100. 相同的树 (Typescript版)
  • 学位论文撰写-经验
  • Vue路由器(详细教程)
  • ***Linux下Mysql的安装
  • uni-app - 去除隐藏页面右侧垂直滚动条
  • 实现简单的操作服务器和客户端(下)
  • 在 Banana Pi BPI-R2 PRO RK3568开源路由器上安装 OpenWrt 23 快照固件
  • Bean的创建过程源码
  • 2824. 统计和小于目标的下标对数目 : 详解 “左找右“ “右找左“ 两种方式
  • 快速上手Banana Pi BPI-R4 MediaTek MT7988A 开源路由器开发板
  • C语言基础篇5:指针(一)
  • STM32使用多路PWM注意事项
  • 一个tomcat中部署的多个war,相当于几个jvm
  • AttributeError: ‘_OpNamespace‘ ‘image‘ object has no attribute ‘read_file‘解决
  • 免费部署开源大模型
  • 人脑工作机制 基本工作原理 神经元 神经网络 学习和记忆 和身体的互动 模仿游戏
  • 2023.11.25电商项目平台建设2 -四大业务之核销主题建模
  • 计算机毕业设计 基于SpringBoot的智能停车场计费系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 3.OpenResty系列之Nginx反向代理
  • 推荐你一个基于Koin, Ktor Paging等组件的KMM Compose Multiplatform项目