当前位置:   article > 正文

入门注意力机制(Attention Mechanism)——1_class attention(nn.module): def __init__(self, inp

class attention(nn.module): def __init__(self, input_size, hidden_size):

在这里插入图片描述


一、注意力机制(Attention Mechanism)是什么?

注意力机制(Attention Mechanism)是一种模拟人类对多个信息源进行选择性关注和处理的机制。其原理是在给定输入的情况下,关注输入中最相关的部分,并将这些部分加权从而获得输出。这个机制可以应用于很多领域,例如自然语言处理、图像处理等领域。

二、注意力机制(Attention Mechanism)的python程序代码

注意力机制的Python代码实现中,常用的库包括PyTorch、TensorFlow等深度学习框架。以下是一个使用PyTorch实现的简单示例,代码如下(示例):

import torch
import torch.nn as nn

# 定义注意力层
class Attention(nn.Module):
    def __init__(self, input_size, hidden_size):
        super(Attention, self).__init__()

        self.linear = nn.Linear(input_size, hidden_size)
        self.tanh = nn.Tanh()
        self.softmax = nn.Softmax(dim=1)

    def forward(self, input, mask=None):
        # 全连接层变换
        out = self.linear(input)
        # Tanh激活函数计算权重
        out = self.tanh(out)
        # 利用全连接层计算权重
        scores = self.softmax(out)

        if mask is not None:
            # 屏蔽不需要考虑的位置
            scores = scores * mask.unsqueeze(dim=1)

        # 去除mask并按照权重加权求和
        context = torch.sum(scores * input, dim=1)

        return context, scores

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

总结

先对注意力机制有一个印象,后续深入讨论。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/73044
推荐阅读
相关标签
  

闽ICP备14008679号