博物馆网站页面设计说明,网站会员注册系统下载,市场调查数据分析,app制作教程下载10.1.1 生物学中的注意力提示
“美国心理学之父” 威廉詹姆斯提出的双组件#xff08;two-component#xff09;框架#xff1a; 非自主性提示#xff1a;基于环境中物体的突出性和易见性 自主性提示#xff1a;受到了认知和意识的控制
10.1.2 查询、键和值 注意力机制…10.1.1 生物学中的注意力提示
“美国心理学之父” 威廉·詹姆斯提出的双组件two-component框架 非自主性提示基于环境中物体的突出性和易见性 自主性提示受到了认知和意识的控制
10.1.2 查询、键和值 注意力机制与全连接层或汇聚层区别开来的元素是否包含自主性提示 在注意力机制的背景下 自主性提示被称为查询query。 给定任何查询注意力机制通过注意力汇聚attention pooling 将选择引导至感官输入sensory inputs例如中间特征表示。 在注意力机制中这些感官输入被称为值value。更通俗的解释每个值都与一个**键key**配对这可以想象为感官输入的非自主提示。可以通过设计注意力汇聚的方式便于给定的查询自主性提示与键非自主性提示进行匹配这将引导得出最匹配的值感官输入。
10.1.3 注意力的可视化
import torch
from d2l import torch as d2l平均汇聚层可以被视为输入的加权平均值注意力汇聚得到的是加权平均的总和值。下面的 show_heatmaps 函数其输入 matrices 的形状是要显示的行数要显示的列数查询的数目键的数目
#save
def show_heatmaps(matrices, xlabel, ylabel, titlesNone, figsize(2.5, 2.5),cmapReds):显示矩阵热图d2l.use_svg_display()num_rows, num_cols matrices.shape[0], matrices.shape[1]fig, axes d2l.plt.subplots(num_rows, num_cols, figsizefigsize,sharexTrue, shareyTrue, squeezeFalse)for i, (row_axes, row_matrices) in enumerate(zip(axes, matrices)):for j, (ax, matrix) in enumerate(zip(row_axes, row_matrices)):pcm ax.imshow(matrix.detach().numpy(), cmapcmap)if i num_rows - 1:ax.set_xlabel(xlabel)if j 0:ax.set_ylabel(ylabel)if titles:ax.set_title(titles[j])fig.colorbar(pcm, axaxes, shrink0.6);attention_weights torch.eye(10).reshape((1, 1, 10, 10)) # 生成对角线全1其余部分全0的二维数组
show_heatmaps(attention_weights, xlabelKeys, ylabelQueries) # 仅当查询和键相同时注意力权重为1否则为0。
练习
1在机器翻译中通过解码序列词元时其自主性提示可能是什么非自主性提示和感官输入又是什么
自主性提示可能是上下文信息之类的
非自主性提示可能是指在机器翻译过程中使用的其他信息比如语言学习或人工翻译的知识。
感官输入可能是指输入方式、 2随机生成一个 10 × 10 10\times 10 10×10 矩阵并使用 softmax 运算来确保每行都是有效的概率分布然后可视化输出注意力权重。
attention_weights d2l.F.softmax(torch.rand((10, 10)), dim1).reshape((1, 1, 10, 10))
show_heatmaps(attention_weights, xlabelKeys, ylabelQueries)