国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則

這篇具有很好參考價(jià)值的文章主要介紹了什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

我們觀察事物時(shí),之所以能夠快速判斷一種事物(當(dāng)然允許判斷是錯(cuò)誤的),是因?yàn)槲覀兇竽X能夠很快把注意力放在事物最具有辨識(shí)度的部分從而作出判斷,而并非是從頭到尾的觀察一遍事物后,才能有判斷結(jié)果,正是基于這樣的理論,就產(chǎn)生了注意力機(jī)制。

什么是注意力計(jì)算規(guī)則:

它需要三個(gè)指定的輸入Q(query),K(key),V(value),然后通過計(jì)算公式得到注意力的結(jié)果,這個(gè)結(jié)果代表query在key和value作用下的注意力表示.當(dāng)輸入的Q=K=V時(shí),稱作自注意力計(jì)算規(guī)則。

常見的注意力計(jì)算規(guī)則:

|| ·將Q,K進(jìn)行縱軸拼接,做一次線性變化,再使用softmax處理獲得結(jié)果最后與V做張量乘法。

什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則,算法,人工智能

|| ·將Q,K進(jìn)行縱軸拼接,做一次線性變化后再使用tanh函數(shù)激活,然后再進(jìn)行內(nèi)部求和,最后使用softmax處理獲得結(jié)果再與V做張量乘法.

什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則,算法,人工智能

|| ·將Q與K的轉(zhuǎn)置做點(diǎn)積運(yùn)算,然后除以一個(gè)縮放系數(shù)再使用softmax處理獲得結(jié)果最后與V做張量乘法。

什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則,算法,人工智能

說明:當(dāng)注意力權(quán)重矩陣和V都是三維張量且第一維代表為batch條數(shù)時(shí), 則做bmm運(yùn)算.bmm是一種特殊的張量乘法運(yùn)算。

bmm運(yùn)算演示:

# 如果參數(shù)1形狀是(b × n × m), 參數(shù)2形狀是(b × m × p), 則輸出為(b × n × p)
>>> input = torch.randn(10, 3, 4)
>>> mat2 = torch.randn(10, 4, 5)
>>> res = torch.bmm(input, mat2)
>>> res.size()
torch.Size([10, 3, 5])

注意力機(jī)制的作用

在解碼器端的注意力機(jī)制:能夠根據(jù)模型目標(biāo)有效的聚焦編碼器的輸出結(jié)果,當(dāng)其作為解碼器的輸入時(shí)提升效果,改善以往編碼器輸出是單一定長張量,無法存儲(chǔ)過多信息的情況。

在編碼器端的注意力機(jī)制:主要解決表征問題,相當(dāng)于特征提取過程,得到輸入的注意力表示。般使用自注意力(self-attention)。

注意力機(jī)制實(shí)現(xiàn)步驟

第一步:根據(jù)注意力計(jì)算規(guī)則,對Q,K,V進(jìn)行相應(yīng)的計(jì)算

第二步:根據(jù)第一步采用的計(jì)算方法,如果是拼接方法,則需要將Q與第二步的計(jì)算結(jié)果再進(jìn)行拼接,如果是轉(zhuǎn)置點(diǎn)積一般是自注意力,Q與V相同,則不需要進(jìn)行與Q的拼接

第三步:最后為了使整個(gè)attention機(jī)制按照指定尺寸輸出,使用線性層作用在第二步的結(jié)果上做個(gè)線性變換,得到最終對Q的注意力表示

常見注意力機(jī)制的代碼分析:

import torch
import torch.nn as nn
import torch.nn.functional as F

class Attn(nn.Module):
    def __init__(self, query_size, key_size, value_size1, value_size2, output_size):
        """初始化函數(shù)中的參數(shù)有5個(gè), query_size代表query的最后一維大小
           key_size代表key的最后一維大小, value_size1代表value的導(dǎo)數(shù)第二維大小, 
           value = (1, value_size1, value_size2)
           value_size2代表value的倒數(shù)第一維大小, output_size輸出的最后一維大小"""
        super(Attn, self).__init__()
        # 將以下參數(shù)傳入類中
        self.query_size = query_size
        self.key_size = key_size
        self.value_size1 = value_size1
        self.value_size2 = value_size2
        self.output_size = output_size

        # 初始化注意力機(jī)制實(shí)現(xiàn)第一步中需要的線性層.
        self.attn = nn.Linear(self.query_size + self.key_size, value_size1)

        # 初始化注意力機(jī)制實(shí)現(xiàn)第三步中需要的線性層.
        self.attn_combine = nn.Linear(self.query_size + value_size2, output_size)


    def forward(self, Q, K, V):
        """forward函數(shù)的輸入?yún)?shù)有三個(gè), 分別是Q, K, V, 根據(jù)模型訓(xùn)練常識(shí), 輸入給Attion機(jī)制的
           張量一般情況都是三維張量, 因此這里也假設(shè)Q, K, V都是三維張量"""

        # 第一步, 按照計(jì)算規(guī)則進(jìn)行計(jì)算, 
        # 我們采用常見的第一種計(jì)算規(guī)則
        # 將Q,K進(jìn)行縱軸拼接, 做一次線性變化, 最后使用softmax處理獲得結(jié)果
        attn_weights = F.softmax(
            self.attn(torch.cat((Q[0], K[0]), 1)), dim=1)

        # 然后進(jìn)行第一步的后半部分, 將得到的權(quán)重矩陣與V做矩陣乘法計(jì)算, 
        # 當(dāng)二者都是三維張量且第一維代表為batch條數(shù)時(shí), 則做bmm運(yùn)算
        attn_applied = torch.bmm(attn_weights.unsqueeze(0), V)

        # 之后進(jìn)行第二步, 通過取[0]是用來降維, 根據(jù)第一步采用的計(jì)算方法, 
        # 需要將Q與第一步的計(jì)算結(jié)果再進(jìn)行拼接
        output = torch.cat((Q[0], attn_applied[0]), 1)

        # 最后是第三步, 使用線性層作用在第三步的結(jié)果上做一個(gè)線性變換并擴(kuò)展維度,得到輸出
        # 因?yàn)橐WC輸出也是三維張量, 因此使用unsqueeze(0)擴(kuò)展維度
        output = self.attn_combine(output).unsqueeze(0)
        return output, attn_weights

調(diào)用:

query_size = 32
key_size = 32
value_size1 = 32
value_size2 = 64
output_size = 64
attn = Attn(query_size, key_size, value_size1, value_size2, output_size)
Q = torch.randn(1,1,32)
K = torch.randn(1,1,32)
V = torch.randn(1,32,64)
out = attn(Q, K ,V)
print(out[0])
print(out[1])

輸出效果:文章來源地址http://www.zghlxwxcb.cn/news/detail-628996.html

tensor([[[ 0.4477, -0.0500, -0.2277, -0.3168, -8.4096, -0.5982, 0.1548,
-8.8771, -8.0951. 8.1833. 8.3128. 8.1260, 8.4420. 8.8495.
-0.7774, -0.0995, 0.2629, 0.4957, 1.0922, 0.1428, 0.3024.
-0.2646, -0.0265, 0.0632, 0.3951, 0.1583, 0.1130, 0.5500,
-0.1887, -0.2816, -0.3800, -0.5741, 0.1342, 0.0244, -0.2217,
0.1544, 0.1865, -0.2019, 0.4090, -0.4762, 0.3677, -0.2553,
-0.5199, 0.2290, -0.4407, 0.0663, -8.0182, -8.2168, 0.0913,
-0.2340, 0.1924, -0.3687, 0.1508, 0.3618, -0.0113, 0.2864.
-0.1929, -0.6821, 0.0951, 0.1335, 0.3560, -0.3215
,0.6461,
0.1532]]],grad_fn=<UnsqueezeBackward0>)
tensor([[0.0395, 0.0342, 0.0200, 0.0471, 0.0177, 0.0209, 0.0244, 0.0465, 0.0346,
0.0378, 0.0282, 0.0214, 0.0135, 0.0419, 0.0926, 0.0123, 0.0177, 0.0187,
0.0166, 0.8225, 0.0234, 0.0284, 0.0151, 0.0239, 0.0132, 0.0439, 0.0507,
0.0419, 8.0352, 8.0392, 8.0546, 0.0224]], grad_fn=<SoftmaxBackward>)

到了這里,關(guān)于什么是注意力機(jī)制?注意力機(jī)制的計(jì)算規(guī)則的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【動(dòng)畫詳解人工智能原理】Tranformer 模型中的注意力機(jī)制的工作過程是怎樣的 ?一個(gè)帶有注意力的 Seq2seq 模型的機(jī)制實(shí)例視頻動(dòng)畫詳細(xì)講解

    Seq2seq 序列到序列模型是深度學(xué)習(xí)模型,在機(jī)器翻譯、文本摘要和圖像字幕等任務(wù)中取得了很多成功。谷歌翻譯于 2016 年底開始在生產(chǎn)中使用此類模型。兩篇開創(chuàng)性論文(Sutskever 等人,2014 年,Cho 等人,2014 年)對這

    2024年02月07日
    瀏覽(26)
  • 2021綜述:計(jì)算機(jī)視覺中的注意力機(jī)制(續(xù)三):時(shí)間注意力

    2021綜述:計(jì)算機(jī)視覺中的注意力機(jī)制(續(xù)三):時(shí)間注意力

    時(shí)間注意力可以看作是一種動(dòng)態(tài)的時(shí)間選擇機(jī)制,決定何時(shí)注意,因此通常用于視頻處理。以前的工作[171],[172]經(jīng)常強(qiáng)調(diào)如何捕獲短期和長期跨幀特征依賴。在這里,我們首先總結(jié)了有代表性的時(shí)間注意力機(jī)制,并指定了表5中描述為等式1的過程 g ( x ) g(x) g ( x ) 和 f ( g ( x

    2024年02月08日
    瀏覽(15)
  • 人工智能(Pytorch)搭建模型5-注意力機(jī)制模型的構(gòu)建與GRU模型融合應(yīng)用

    人工智能(Pytorch)搭建模型5-注意力機(jī)制模型的構(gòu)建與GRU模型融合應(yīng)用

    大家好,我是微學(xué)AI,今天給大家介紹一下人工智能(Pytorch)搭建模型5-注意力機(jī)制模型的構(gòu)建與GRU模型融合應(yīng)用。注意力機(jī)制是一種神經(jīng)網(wǎng)絡(luò)模型,在序列到序列的任務(wù)中,可以幫助解決輸入序列較長時(shí)難以獲取全局信息的問題。該模型通過對輸入序列不同部分賦予不同的 權(quán)

    2024年02月12日
    瀏覽(97)
  • 人工智能(pytorch)搭建模型18-含有注意力機(jī)制的CoAtNet模型的搭建,加載數(shù)據(jù)進(jìn)行模型訓(xùn)練

    大家好,我是微學(xué)AI,今天我給大家介紹一下人工智能(pytorch)搭建模型18-pytorch搭建有注意力機(jī)制的CoAtNet模型模型,加載數(shù)據(jù)進(jìn)行模型訓(xùn)練。本文我們將詳細(xì)介紹CoAtNet模型的原理,并通過一個(gè)基于PyTorch框架的實(shí)例,展示如何加載數(shù)據(jù),訓(xùn)練CoAtNet模型,從操作上理解該模型。

    2024年02月16日
    瀏覽(34)
  • 【計(jì)算機(jī)視覺 | 注意力機(jī)制】13種即插即用漲點(diǎn)模塊分享!含注意力機(jī)制、卷積變體、Transformer變體等

    【計(jì)算機(jī)視覺 | 注意力機(jī)制】13種即插即用漲點(diǎn)模塊分享!含注意力機(jī)制、卷積變體、Transformer變體等

    用即插即用的模塊“縫合”,加入自己的想法快速搭積木煉丹。 這種方法可以簡化模型設(shè)計(jì),減少冗余工作,幫助我們快速搭建模型結(jié)構(gòu),不需要從零開始實(shí)現(xiàn)所有組件。除此以外,這些即插即用的模塊都具有標(biāo)準(zhǔn)接口,意味著我們可以很方便地替換不同的模塊進(jìn)行比較,加

    2024年02月04日
    瀏覽(32)
  • 什么是軸向注意力(Axial Attention)機(jī)制

    什么是軸向注意力(Axial Attention)機(jī)制

    Axial Attention,軸向注意力,有行注意力(row-attention)和列注意力(column-attention)之分,一般是組合使用。 原文閱讀:https://arxiv.org/pdf/1912.12180v1.pdf self-attention已經(jīng)顯示出了良好的性能,不過其缺點(diǎn)也是明顯的:它的使用使得模型的參數(shù)量和計(jì)算量開始飆增,特別是應(yīng)用在n

    2024年02月07日
    瀏覽(27)
  • 計(jì)算機(jī)視覺注意力機(jī)制小盤一波 (學(xué)習(xí)筆記)

    計(jì)算機(jī)視覺注意力機(jī)制小盤一波 (學(xué)習(xí)筆記)

    將注意力的階段大改分成了4個(gè)階段 1.將深度神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制相結(jié)合,代表性方法為RAM ⒉.明確預(yù)測判別性輸入特征,代表性方法為STN 3.隱性且自適應(yīng)地預(yù)測潛在的關(guān)鍵特征,代表方法為SENet 4.自注意力機(jī)制 在深度神經(jīng)網(wǎng)絡(luò)中,每個(gè)卷積層通常包含多個(gè)通道, 每個(gè)通道對

    2024年02月08日
    瀏覽(19)
  • 深度注意力機(jī)制在計(jì)算機(jī)視覺中的應(yīng)用

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 《深度注意力機(jī)制在計(jì)算機(jī)視覺中的應(yīng)用》 《深度注意力機(jī)制在計(jì)算機(jī)視覺中的應(yīng)用》 引言 隨著計(jì)算機(jī)視覺領(lǐng)域的發(fā)展,如何對圖像中的像素進(jìn)行高效、準(zhǔn)確的分類和識(shí)別成為了一個(gè)重要的挑戰(zhàn)。傳統(tǒng)的圖像處理方法主要依賴于手工設(shè)計(jì)特征

    2024年02月07日
    瀏覽(20)
  • YOLOv8改進(jìn)算法之添加CA注意力機(jī)制

    YOLOv8改進(jìn)算法之添加CA注意力機(jī)制

    CA(Coordinate Attention)注意力機(jī)制是一種用于加強(qiáng)深度學(xué)習(xí)模型對輸入數(shù)據(jù)的空間結(jié)構(gòu)理解的注意力機(jī)制。CA 注意力機(jī)制的核心思想是引入坐標(biāo)信息,以便模型可以更好地理解不同位置之間的關(guān)系。如下圖: 1. 輸入特征 : CA 注意力機(jī)制的輸入通常是一個(gè)特征圖,它通常是卷積

    2024年02月08日
    瀏覽(27)
  • YOLOv5改進(jìn)算法之添加CA注意力機(jī)制模塊

    YOLOv5改進(jìn)算法之添加CA注意力機(jī)制模塊

    目錄 ? 1.CA注意力機(jī)制 2.YOLOv5添加注意力機(jī)制 送書活動(dòng) ? CA(Coordinate Attention)注意力機(jī)制是一種用于加強(qiáng)深度學(xué)習(xí)模型對輸入數(shù)據(jù)的空間結(jié)構(gòu)理解的注意力機(jī)制。CA 注意力機(jī)制的核心思想是引入坐標(biāo)信息,以便模型可以更好地理解不同位置之間的關(guān)系。如下圖: 1. 輸入特征

    2024年02月09日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包