问题标签 [attention-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
516 浏览

deep-learning - 在 OpenNMT-py 中的翻译过程中获得对齐/注意

有谁知道在 Opennmt-py 中翻译时如何获得对齐权重?通常唯一的输出是结果句子,我试图找到一个调试标志或类似的注意力权重。到目前为止,我一直没有成功。

0 投票
1 回答
458 浏览

pytorch - 实施自我关注

我正在尝试在 Pytorch 中实现自我关注。我需要计算以下表达式。

相似函数S(二维),P(二维),C'

S[i][j] = W1 * inp[i] + W2 * inp[j] + W3 * x1[i] * inp[j]

P[i][j] = e^(S[i][j]) / 所有 j(e ^ (S[i])) 的总和

基本上,P 是一个 softmax 函数

C'[i] = 总和(对于所有 j) P[i][j] * x1[j]

我使用 for 循环尝试了以下代码

有没有更快的方法在 Pytorch 中实现这一点?

0 投票
1 回答
61 浏览

keras - 为什么 Keras 的注意力模型只有一个输入?

在这段代码中,作者定义了 2 个输入,但模型只有一个输入 feed。应该有一些错误,但是,我可以运行它。我想知道为什么我可以成功运行这段代码。

0 投票
1 回答
344 浏览

python - 修复 google colab 中的“ModuleNotFoundError: No module named 'fsns'” for Attention ocr

我正在尝试在 google colab 中运行 aocr 以进行 ocr 检测,但我似乎收到了上述错误。我正在尝试 tensorflow github 文档中的 attention_ocr。

我尝试使用导出更改路径。我已经尝试过使用 python 2 和 3。我也确实将import fsnsgithub问题中的from . import fsnsfrom datasets import fsns

如何解决这个问题以便我可以使用这个程序?

0 投票
2 回答
2312 浏览

python - 为什么在 Transformer 模型中嵌入向量乘以常数?

我正在学习应用tensorflow 官方文档Transformer model for language understanding中Attention Is All You Need提出的Transform 模型。

正如位置编码部分所说:

由于该模型不包含任何递归或卷积,因此添加了位置编码以向模型提供有关句子中单词相对位置的一些信息。

位置编码向量被添加到嵌入向量中。

我的理解是positional encoding vector直接添加到embedding vector. 但是当我查看代码时,我发现embedding vector乘以一个常数。

编码器部分的代码如下:

我们可以看到x *= tf.math.sqrt(tf.cast(self.d_model, tf.float32))之前x += self.pos_encoding[:, :seq_len, :]

那么为什么在 Transformer 模型中添加位置编码之前,嵌入向量乘以一个常数呢?

0 投票
3 回答
12401 浏览

python - 如何用 keras 建立注意力模型?

我正在尝试了解注意力模型并自己建立一个。经过多次搜索,我发现了这个网站,它有一个用 keras 编码的 atteniton 模型,看起来也很简单。但是当我尝试在我的机器中构建相同的模型时,它给出了多个参数错误。错误是由于在 class 中传递的参数不匹配Attention。在网站的注意力类中,它要求一个参数,但它用两个参数启动注意力对象。

我怎样才能使这个模型工作?

0 投票
1 回答
2304 浏览

python - keras 中注意力层是如何实现的?

我正在学习注意力模型及其在 keras 中的实现。在搜索时,我首先遇到了这两种方法,第二次使用它们我们可以在 keras 中创建注意力层

注意力模型背后的数学是

在此处输入图像描述

如果我们看第一种方法,它在某种程度上是注意力数学的直接实现,而第二种方法在互联网上的点击次数更多。

我真正的疑问是第二种方法中的这些行

  • 哪个是引起注意的正确实现?
  • 第二种方法背后的直觉RepeatVectorPermute层次是什么?
  • 在第一种方法W1中,W2是权重;为什么在这里将密集层视为权重?
  • 为什么该V值被视为单个单元密集层?
  • 做什么V(score)
0 投票
0 回答
2147 浏览

python - 在 Keras 分类中实现注意力

我想实现对训练有素的图像分类 CNN 模型的关注。例如,有 30 个类别,使用 Keras CNN,我为每张图像获得预测类别。但是,为了可视化预测结果的重要特征/位置。我想在 FC 层之后添加一个 Soft Attention。我尝试阅读“ Show, Attend and Tell: Neural Image Caption Generation with Visual Attention ”以获得类似的结果。但是,我无法理解作者是如何实现的。因为我的问题不是图像标题或文本 seq2seq 问题。

我有一个图像分类 CNN,想提取特征并将其放入 LSTM 以可视化软注意力。虽然我每次都被卡住。

我采取的步骤:

  1. 加载 CNN 模型
  2. 从单个图像中提取特征(但是,LSTM 将检查同一图像,并在图像中删除一些补丁)

我采取的步骤:

  1. 加载 CNN 模型(我之前已经训练了 CNN 进行预测)
  2. 从单个图像中提取特征(但是,LSTM 将检查同一图像,并在图像中删除一些补丁)

在执行以下步骤后卡住:

  1. 创建具有软注意力的 LSTM
  2. 获得单个输出

我正在使用具有 TensorFlow 背景的 Keras。CNN 特征是使用 ResNet50 提取的。图像为 224x224,FC 层有 2048 个单位作为输出形状。

我期望的是从最后一个 FC 层给出一个图像特征。将软注意力添加到 LSTM 以训练注意力权重,并希望从输出中获得一个类并将软注意力可视化以了解系统在进行预测时正在查看的位置(类似于论文中的软注意力可视化)。

由于我是注意力机制的新手,所以我做了很多研究,但找不到解决方案/理解我的问题。我想知道我是否做得对。

0 投票
0 回答
56 浏览

neural-network - 考虑变压器模型:从编码器堆栈馈送到解码器层的内容

我正在尝试正确理解变压器架构。我很难弄清楚,实际上是从编码器堆栈馈送到解码器堆栈的数据类型。

考虑到 Google 的“Attention is all you need”论文(https://arxiv.org/pdf/1706.03762.pdf (pdf))和 Jay Allamar 的博客文章(http://jalammar.github.io/illustrated-变压器/)我得到注意是“在编码器堆栈的所有输出上”执行的(论文)。现在我想知道两件事:1.解码器堆栈是如何初始化的,是否有固定或训练有素的解码器状态 D0 或其他东西,或者它是否也由编码器堆栈的输出初始化。2. 我可以把这个“编码器状态的输出”想象成什么样子?由于这是一个编码器-解码器结构,我希望它是某种上下文向量。在 Jay Allamar 的另一篇博文中(https://jalammar.github.) 看起来它是编码器层的隐藏状态的串联或堆栈。然而,在首先提到的博客文章以及论文中,听起来这些隐藏状态更像是只馈送到后续的编码器层,而不是以任何方式存储。那么解码器实际上在关注什么?

0 投票
1 回答
352 浏览

keras - 将 CNN 与注意力网络相结合

这是我的注意力层

我正在尝试将 CNN 与注意力网络结合起来进行文本分类。以下是我在 keras 中的代码:-

当我使用输入和预测初始化模型时,我收到错误消息 Graph disconnected 错误,如代码所示。在研究中,我发现当输入和输出之间没有连接时会发生此错误。但是,我无法弄清楚我的模型的输入。谁能帮我解决这个问题?