IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 10.2注意力汇聚 -> 正文阅读

[人工智能]10.2注意力汇聚

原文链接

下面为学习记录:

1964年提出的Nadaraya-Watson核回归模型 是一个简单但完整的例子,可以用于演示具有注意力机制的机器学习。

1. 生成数据集

简单起见,考虑下面这个回归问题: 给定的成对的“输入-输出”数据集 { ( x 1 , y 1 ) , … , ( x n , y n ) } \{(x_1, y_1), \ldots, (x_n, y_n)\} {(x1?,y1?),,(xn?,yn?)}

如何学习注意力层的 f f f函数,来预测任意新输入 x x x的输出
y ^ = f ( x ) \hat{y} = f(x) y^?=f(x)

根据下面的非线性函数生成一个人工数据集, 其中加入的噪声项为:
y i = 2 sin ? ( x i ) + x i 0.8 + ? , y_i = 2\sin(x_i) + x_i^{0.8} + \epsilon, yi?=2sin(xi?)+xi0.8?+?,

其中 ? \epsilon ?服从均值为0 和标准差为0.5 的正态分布。

我们生成了50个训练样本和50个测试样本。

为了更好地可视化之后的注意力模式,我们将训练样本进行排序。

2. 平均池化方式的输出

我们先使用最简单的估计器来解决回归问题: 基于平均汇聚来计算所有训练样本输出值的平均值:

f ( x ) = 1 n ∑ i = 1 n y i , f(x) = \frac{1}{n}\sum_{i=1}^n y_i, f(x)=n1?i=1n?yi?,

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

在这里插入图片描述

3. 核回归方法的注意力函数

显然,平均汇聚忽略了输入 x i x_i xi?

于是Nadaraya [Nadaraya, 1964]和 Watson [Watson, 1964]提出了一个更好的想法, 根据输入的位置对输出
y i y_i yi?进行加权:

f ( x ) = ∑ i = 1 n K ( x ? x i ) ∑ j = 1 n K ( x ? x j ) y i , f(x) = \sum_{i=1}^n \frac{K(x - x_i)}{\sum_{j=1}^n K(x - x_j)} y_i, f(x)=i=1n?j=1n?K(x?xj?)K(x?xi?)?yi?,

其中 K K K是核(kernel)。
公式所描述的估计器被称为 Nadaraya-Watson核回归(Nadaraya-Watson kernel regression)。

3.1 无参数的核回归方法:

这里我们不会深入讨论核函数的细节, 但受此启发, 我们可以从 图10.1.3中的注意力机制框架的角度 重写 (10.2.3), 成为一个更加通用的注意力汇聚(attention pooling)公式:
f ( x ) = ∑ i = 1 n α ( x , x i ) y i , f(x) = \sum_{i=1}^n \alpha(x, x_i) y_i, f(x)=i=1n?α(x,xi?)yi?,

其中是 x x x查询, ( x i , y i ) (x_i, y_i) (xi?,yi?)是键值对。

注意力层的输出是预测值 y i y_i yi?的加权平均。

将查询 x x x和键 x i x_i xi?之间的关系建模为注意力权重(attention weight) α ( x , x i ) \alpha(x, x_i) α(x,xi?)

这个权重将被分配给每一个对应值 y i y_i yi?

对于任何查询,模型在所有键值对注意力权重都是一个有效的概率分布: 它们是非负的,并且总和为1。

为了更好地理解注意力汇聚, 我们考虑一个高斯核(Gaussian kernel),其定义为:
K ( u ) = 1 2 π exp ? ( ? u 2 2 ) . K(u) = \frac{1}{\sqrt{2\pi}} \exp(-\frac{u^2}{2}). K(u)=2π ?1?exp(?2u2?).

将高斯核代入, 可以得到:

f ( x ) = ∑ i = 1 n α ( x , x i ) y i = ∑ i = 1 n exp ? ( ? 1 2 ( x ? x i ) 2 ) ∑ j = 1 n exp ? ( ? 1 2 ( x ? x j ) 2 ) y i = ∑ i = 1 n s o f t m a x ( ? 1 2 ( x ? x i ) 2 ) y i . \begin{aligned} f(x) &=\sum_{i=1}^n \alpha(x, x_i) y_i\\ &= \sum_{i=1}^n \frac{\exp\left(-\frac{1}{2}(x - x_i)^2\right)}{\sum_{j=1}^n \exp\left(-\frac{1}{2}(x - x_j)^2\right)} y_i \\&= \sum_{i=1}^n \mathrm{softmax}\left(-\frac{1}{2}(x - x_i)^2\right) y_i. \end{aligned} f(x)?=i=1n?α(x,xi?)yi?=i=1n?j=1n?exp(?21?(x?xj?)2)exp(?21?(x?xi?)2)?yi?=i=1n?softmax(?21?(x?xi?)2)yi?.?

如果一个键 x i x_i xi?越是接近给定的查询 x x x, 那么分配给这个键对应值 y i y_i yi?的注意力权重就会越大, 也就“获得了更多的注意力”。

值得注意的是,Nadaraya-Watson核回归是一个非参数模型。 因此, 非参数的注意力汇聚(nonparametric attention pooling)模型。 接下来,我们将基于这个非参数的注意力汇聚模型来绘制预测结果。

你会发现新的模型预测线是平滑的,并且比平均汇聚的预测更接近真实。

在这里插入图片描述

3.2 有参数的核回归方法:

非参数的Nadaraya-Watson核回归具有一致性(consistency)的优点: 如果有足够的数据,此模型会收敛到最优结果。 尽管如此,我们还是可以轻松地将可学习的参数集成到注意力汇聚中。

例如: 在下面的查询 x x x和键 x i x_i xi? 之间的距离乘以可学习参数 w w w

f ( x ) = ∑ i = 1 n α ( x , x i ) y i = ∑ i = 1 n exp ? ( ? 1 2 ( ( x ? x i ) w ) 2 ) ∑ j = 1 n exp ? ( ? 1 2 ( ( x ? x j ) w ) 2 ) y i = ∑ i = 1 n s o f t m a x ( ? 1 2 ( ( x ? x i ) w ) 2 ) y i . \begin{aligned} f(x) &= \sum_{i=1}^n \alpha(x, x_i) y_i \\ &= \sum_{i=1}^n \frac{\exp\left(-\frac{1}{2}((x - x_i)w)^2\right)}{\sum_{j=1}^n \exp\left(-\frac{1}{2}((x - x_j)w)^2\right)} y_i \\ &= \sum_{i=1}^n \mathrm{softmax}\left(-\frac{1}{2}((x - x_i)w)^2\right) y_i.\end{aligned} f(x)?=i=1n?α(x,xi?)yi?=i=1n?j=1n?exp(?21?((x?xj?)w)2)exp(?21?((x?xi?)w)2)?yi?=i=1n?softmax(?21?((x?xi?)w)2)yi?.?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:36:57  更:2022-04-22 18:39:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:18:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码