注意力机制2025年3月17日 | 阅读 10 分钟 就像在“注意力”中一样,在现实生活中,当我们看一张图片或听音乐时,我们通常会对某些部分给予更多关注,而对其他部分给予更少关注。深度学习中的注意力机制遵循相同的趋势,在处理输入时更多地关注输入的特定区域。注意力是网络架构的一个组成部分。 如果您遵循指定的任务,编码器和解码器将是不同的。在机器翻译中,编码器通常设置为 LSTM/GRU/Bi_RNN,但在图像字幕中,编码器通常设置为 CNN。 翻译句子:“le chat est noir”到英语句子(这只猫是黑色的)输入由四个单词和一个结尾的 EOS 标记(一个停止词)组成,相当于翻译成英语的五个步骤。注意力在每个时间步通过给输入单词分配权重来应用;更重要的单词被赋予更大的权重(使用反向传播梯度过程)。因此,分配了 5 个不同的时间权重(对应 5 个时间步)。以下是 seq2seq 的通用架构 ![]() 没有注意力机制时,解码器中的输入由两部分组成:初始解码器输入(通常首先设置为 EOS 标记(起始词))和最终隐藏编码器。这种方法的缺点是,在处理过程中,可能会丢失来自第一个编码器单元的一些信息。为了解决这个问题,注意力权重被应用于所有编码器输出。 ![]() 正如我们所看到的,编码器输入的注意力权重颜色会随着每个解码器输出词的重要性而不同地改变。 您可能想知道我们如何才能正确地加权编码器输出。解决方案是,我们只是随机设置权重,反向传播梯度机制将在训练期间处理它。我们必须做的是正确构建前向计算图。 ![]() 计算注意力权重后,我们有三个组成部分:解码器输入、解码器隐藏层和(注意力权重 * 编码器输出),我们将其输入解码器以返回解码器输出。 注意力分为两种类型:Bahdanau 注意力和 Luong 注意力。Luong 注意力是在 Bahdanau 注意力的基础上构建的,并在各种活动中表现出卓越的性能。这个内核以 Luong 的注意力为中心。 Luong 注意力的计算图![]() 步骤 1:计算编码器隐藏状态步骤 2步骤 3:研究注意力类并计算对齐分数Luong 注意力中有三种计算对齐分数的方法(点积、通用和连接)。
实现注意力类为了更好地理解,我们现在将使用注意力机制实现一个翻译系统 代码 导入库输出 ![]() 数据预处理输出 ![]() 输出 ![]() 在这里,我们将定义用于预处理英语句子的函数 在这里,我们将定义用于预处理葡萄牙语句子的函数 现在,我们将生成带有起始和结束标记的干净的英语和葡萄牙语句子对。 输出 ![]() 现在,我们将创建一个类,用于将每个单词映射到索引,反之亦然,适用于任何给定的词汇表。 分词和填充分割数据集输出 ![]() GRU 单元我们将使用 GRU 而不是 LSTM,因为我们只需要创建一个状态,并且实现会更容易。 编码器的输入将是英语句子,输出将是 GRU 的隐藏状态和单元状态。 下一步是定义解码器。解码器将有两个输入:来自编码器的隐藏状态和单元状态,以及输入句子,它实际上将是开头附加了一个标记的输出句子。 现在,我们将从各自的类中创建编码器和解码器对象。 在这里将定义优化器和损失函数。 训练在这里我们将不得不训练我们的模型。 输出 ![]() ![]() 测试输出 ![]() ![]() 输出 ![]() ![]() 输出 ![]() ![]() 输出 ![]() ![]() 经过一段时间,我们可以看到模型正在改进。 下一主题反向传播算法 |
在最先进的虚拟时代,机器学习是技术创新的基石,重塑了各个行业和领域的格局。其核心是,机器学习是指人工智能 (AI) 的分支,其特点是使系统能够学习……
阅读9分钟
时间序列分类是统计技术中的一项重要任务,涉及将顺序信息点分类到预定义的类别中。这种类型的事实通常出现在金融、医疗保健、气象学等领域。鉴于时间序列事实的精确性质,其中顺序...
11 分钟阅读
?你们中的许多人经常想知道软件开发还是机器学习对你们来说是更好的职业。本教程将解释软件开发还是机器学习的职业道路哪一个更可取。为了帮助您选择更好的职业,我们将比较机器学习与软件...
阅读9分钟
地理信息系统 (GIS) 框架已成为现代动态循环的关键部分,为分析和可视化空间数据提供了精炼的方法。GIS 包含一系列协同工作的组件,用于捕获、存储、操作、分析和呈现地理信息。它……
阅读 3 分钟
在机器学习的许多实际应用中,确实会出现显著的类别不平衡。例如,在癌症检测应用中,假阳性输出比真阳性更频繁发生——这意味着与稀少的真阳性相比,大型数据集可能包含许多假结果。类别不平衡是...
阅读 12 分钟
? 在统计分析中,数据通常具有分层或嵌套结构。例如,学生嵌套在教室中,患者嵌套在医院中,或者员工嵌套在公司中。传统的统计方法,如普通最小二乘回归(OLS),假定观测值是独立的。然而,在嵌套数据中,...
阅读 10 分钟
?打印模型摘要以了解神经网络的结构和参数至关重要。尽管 Keras 具有基本的 model.summary() 方法,但在 PyTorch 中,可以使用另一个命令实现相同的功能。在本文中,我们将指导您如何……
阅读 12 分钟
机器学习中的“漂移”通常指数据漂移或概念漂移。这些情况会严重影响机器学习模型的运行效果和准确性。本文将简要概述漂移,包括其类型、应用、对人工智能的影响以及许多...
5 分钟阅读
乘子法是一种成熟的优化方法,用于快速收敛有约束优化问题的解。它扩展了拉格朗日乘子法,增加了一个惩罚函数以更好地执行约束。这种方法已在数学方法、机器学习和运筹学领域得到应用,用于...
阅读9分钟
权重初始化是训练神经网络的一个重要方面,影响其收敛速度、稳定性和整体性能。正确初始化神经网络的权重可以在训练过程中实现更快的收敛,并在未见过的数据上获得更好的泛化。神经网络可以被认为是...
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India