Attention机制中的“源隐藏状态”指的是什么?

2024-04-07

注意力权重计算如下:

我想知道什么h_s指。

在tensorflow代码中,编码器RNN返回一个元组:

encoder_outputs, encoder_state = tf.nn.dynamic_rnn(...)

正如我所想,h_s应该是encoder_state,但是github/nmt https://github.com/tensorflow/nmt/#attention-wrapper-api给出不同的答案?

# attention_states: [batch_size, max_time, num_units]
attention_states = tf.transpose(encoder_outputs, [1, 0, 2])

# Create an attention mechanism
attention_mechanism = tf.contrib.seq2seq.LuongAttention(
    num_units, attention_states,
    memory_sequence_length=source_sequence_length)

我是否误解了代码?或者h_s实际上意味着encoder_outputs?


公式大概来自这个帖子 https://medium.com/@Synced/a-brief-overview-of-attention-mechanism-13c578ba9129,所以我将使用同一篇文章中的 NN 图片:

在这里,h-bar(s)是所有蓝色隐藏状态encoder(最后一层),以及h(t)是当前的红色隐藏状态decoder(也是最后一层)。一张图t=0,您可以看到哪些块通过虚线箭头连接到注意力权重。这score函数通常是以下之一:


Tensorflow 注意力机制与这张图相符。理论上,细胞输出is在大多数情况下,它的隐藏状态(一个例外是 LSTM 单元,其中输出是状态的短期部分,即使在这种情况下,输出也更适合注意力机制)。在实践中,张量流的encoder_state不同于encoder_outputs当输入用零填充时:状态从前一个单元状态传播,而输出为零。显然,您不想关注尾随零,因此有道理h-bar(s)对于这些细胞。

So encoder_outputs正是从蓝色块向上的箭头。后来在一段代码中,attention_mechanism连接到每个decoder_cell,使其输出通过上下文向量到达图片上的黄色块。

decoder_cell = tf.contrib.seq2seq.AttentionWrapper(
    decoder_cell, attention_mechanism,
    attention_layer_size=num_units)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Attention机制中的“源隐藏状态”指的是什么? 的相关文章

  • 在 TensorFlow 中将多个字节读取到单个值中

    我尝试以 TensorFlow 中 cifar10 示例中描述的类似方式读取标签 label bytes 2 it was 1 in the original version result key value reader read fil
  • Caffe,在层中设置自定义权重

    I have a network In one place I want to use concat As on this picture 不幸的是 该网络无法训练 为了理解为什么我想连续改变权重 这意味着 FC4096 中的所有值一开始都
  • 如何计算两个字符串向量之间的余弦相似度

    我有 2 个维度为 6 的向量 我想要一个介于 0 和 1 之间的数字 a c HDa 2Pb 2 BxU BuQ Bve b c HCK 2Pb 2 09 F G 谁能解释我应该做什么 使用lsa包和该包的手册 create some f
  • R 中 svm 特征选择的示例

    我正在尝试使用 R 包在 SVM 中应用特征选择 例如递归特征选择 我已经安装了 Weka 它支持 LibSVM 中的特征选择 但我还没有找到任何 SVM 语法的示例或类似的东西 一个简短的例子会有很大的帮助 功能rfe in the ca
  • 使用正则表达式标记化进行 NLP 词干提取和词形还原

    定义一个函数 名为performStemAndLemma 它需要一个参数 第一个参数 textcontent 是一个字符串 编辑器中给出了函数定义代码存根 执行以下指定任务 1 对给出的所有单词进行分词textcontent 该单词应包含字
  • 在提供给 sklearn 管道中的分类器之前获取所选特征的名称和数量

    我在用sel SelectFromModel ExtraTreesClassifier 10 threshold mean 选择我的数据集中最重要的特征 然后我想将这些选定的特征提供给我的 keras 分类器 但是我的基于 keras 的神
  • Tensorflow 的 LSTM 输入

    I m trying to create an LSTM network in Tensorflow and I m lost in terminology basics I have n time series examples so X
  • 如何检测文本是否可读?

    我想知道是否有一种方法可以告诉给定的文本是人类可读的 我所说的人类可读的意思是 它有一些含义 格式就像某人写的文章 或者至少是由软件翻译器生成的供人类阅读的文章 这是背景故事 最近我正在制作一个应用程序 允许用户将短文本上传到数据库 在部署
  • 保存具有自定义前向功能的 Bert 模型并将其置于 Huggingface 上

    我创建了自己的 BertClassifier 模型 从预训练开始 然后添加由不同层组成的我自己的分类头 微调后 我想使用 model save pretrained 保存模型 但是当我打印它并从预训练上传时 我看不到我的分类器头 代码如下
  • 缩短文本并仅保留重要句子

    德国网站 nandoo net 提供了缩短新闻文章的可能性 如果使用滑块更改百分比值 文本会发生变化并且某些句子会被遗漏 您可以在这里看到它的实际效果 http www nandoo net read article 299925 http
  • 如何使用 pytorch 同时迭代两个数据加载器?

    我正在尝试实现一个接收两张图像的暹罗网络 我加载这些图像并创建两个单独的数据加载器 在我的循环中 我想同时遍历两个数据加载器 以便我可以在两个图像上训练网络 for i data in enumerate zip dataloaders1
  • mlflow 如何使用自定义转换器保存 sklearn 管道?

    我正在尝试使用 mlflow 保存 sklearn 机器学习模型 这是一个包含我定义的自定义转换器的管道 并将其加载到另一个项目中 我的自定义转换器继承自 BaseEstimator 和 TransformerMixin 假设我有 2 个项
  • 如何提取句子中的主语及其各自的从属短语?

    我正在尝试在句子中进行主题提取 以便我能够根据主题获得情感 我在用nltk在 python2 7 中用于此目的 以下面的句子为例 Donald Trump is the worst president of USA but Hillary
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • 如何确定 Keras Conv2D 函数中的“filter”参数

    我刚刚开始我的 ML 之旅 并且已经完成了一些教程 对我而言 不清楚的一件事是如何为 Keras Conv2D 确定 过滤器 参数 我读过的大多数资料只是将参数设置为 32 没有任何解释 这只是经验法则还是输入图像的尺寸起作用 例如 CIF
  • Caffe 的 LSTM 模块

    有谁知道 Caffe 是否有一个不错的 LSTM 模块 我从 russel91 的 github 帐户中找到了一个 但显然包含示例和解释的网页消失了 以前是http apollo deepmatter io http apollo deep
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 神经网络中的时间序列提前预测(N点提前预测)大规模迭代训练

    N 90 使用神经网络进行提前预测 我试图预测提前 3 分钟 即提前 180 点 因为我将时间序列数据压缩为每 2 个点的平均值为 1 所以我必须预测 N 90 超前预测 我的时间序列数据以秒为单位给出 值在 30 90 之间 它们通常从
  • Tensorflow conv2d_transpose 大小错误“out_backprop 的行数与计算的不匹配”

    我正在张量流中创建一个卷积自动编码器 我得到了这个确切的错误 tensorflow python framework errors InvalidArgumentError Conv2DBackpropInput Number of row
  • NumPy 相当于 Keras 函数 utils.to_categorical

    我有一个使用 Keras 进行机器学习的 Python 脚本 我正在构建 X 和 Y 它们分别是特征和标签 标签的构建方式如下 def main depth 10 nclass 101 skip True output True video

随机推荐