在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡(jiǎn)述深度學(xué)習(xí)中的Attention機(jī)制

jf_78858299 ? 來源:天宏NLP ? 作者: tianhongzxy ? 2023-02-22 14:21 ? 次閱讀

Attention機(jī)制在深度學(xué)習(xí)中得到了廣泛的應(yīng)用,本文通過公式及圖片詳細(xì)講解attention機(jī)制的計(jì)算過程及意義,首先從最早引入attention到機(jī)器翻譯任務(wù)(Bahdanau et al. ICLR2014)的方法講起。

Encoder-Decoder

大多數(shù)注意力模型都是在Encoder-Decoder框架下發(fā)揮作用,Encoder-Decoder模型一般可以用來做機(jī)器翻譯、文本摘要生成、問答系統(tǒng)、聊天機(jī)器人等。Encoder的輸入是Source,Decoder要輸出的是Target,一般通過RNN來編碼輸入的句子,得到一個(gè)包含的句子語義信息的Vector。假設(shè)句子由個(gè)單詞組成,即。那么RNN或Transformer等模型就作為編碼句子的Encoder,首先句子經(jīng)過Embedding層,從one-hot形式變?yōu)樵~向量,假設(shè)它提取句子的語義信息的函數(shù)為,則:

對(duì)于Decoder來說,它的目標(biāo)是根據(jù)Encoder編碼好的句子信息解碼出我們想要的結(jié)果,這結(jié)果可以是對(duì)原輸入句子的回答,翻譯,或摘要等。假設(shè)Decoder的輸出為,和的大小關(guān)系并不確定,一般來說Decoder輸出句子才算結(jié)束。

假設(shè)t=i時(shí),我們要輸出,其實(shí)我們輸出的是一個(gè)概率分布,然后再選取概率最大的那個(gè)單詞當(dāng)作輸出( 貪心 search ),還有另一種方式叫 beam search ,這個(gè)不是本文重點(diǎn)就在此不多說了。根據(jù)Bahdanau et al. ICLR2014第一次提出的將Attention運(yùn)用于機(jī)器翻譯任務(wù)的論文中,的計(jì)算公式如下:

其中是RNN在timestep的hidden state,由如下公式計(jì)算:

由于直接輸出的實(shí)際是一個(gè)長(zhǎng)度為vocabulary size 的vector,因此最終根據(jù)生成的單詞其實(shí)應(yīng)該變成一個(gè)one-hot vector:

在這里簡(jiǎn)單地將Decoder整個(gè)生成yi的函數(shù)用表示:

這樣就是一個(gè)Encoder-Decoder框架運(yùn)作的基本方式,更直觀的可以參見下圖。

Soft Attention

最常見也應(yīng)用最廣泛的Attention就是Soft Attention,上面的Encoder-Decoder框架,在Decoder生成每一個(gè)yi時(shí),對(duì)原輸入整個(gè)句子語義信息C都給予了同等的注意力,即原句中不同的單詞對(duì)于生成每一個(gè)yi的貢獻(xiàn)是相同的。這明顯是有問題的,比如在中英翻譯:“我今天吃了一個(gè)蘋果”,“I ate an apple today”,在翻譯apple這個(gè)詞時(shí),原句中的“蘋果”對(duì)其生成apple要比其他詞都重要,因此,需要一個(gè)給單純的Encoder-Decoder模型融入更多的知識(shí),那就是Attention。

Attention的有效性和作用是很intuitive的,比如人在讀文章、觀察物體時(shí)也是會(huì)有注意力的參與的,不可能讀一頁(yè)書讀到第一行,還能同時(shí)注意第二十行的句子,注意力肯定是分配在某個(gè)局部的句子上的。因此,給Encoder-Decoder添加Attention,就是要讓Decoder在生成時(shí),給輸入句子的單詞分配不同的注意力權(quán)重,權(quán)重代表著單詞對(duì)生成的重要性。

假設(shè)Encoder是RNN,輸入每個(gè)單詞后都會(huì)輸出一個(gè)隱狀態(tài),那么對(duì)生成時(shí),原先對(duì)生成每個(gè)yi都是相同的句子語義表示會(huì)被替換成根據(jù)當(dāng)前要生成的單詞yi而不斷變化的。理解Attention模型的關(guān)鍵就是這里,即把固定的句子語義表示變成了根據(jù)當(dāng)前要輸出的單詞yi來進(jìn)行調(diào)整的、融入注意力知識(shí)的、不斷變化的。

因此上面生成yi的式子變化成如下形式:

其中,t代表輸入句子Source的長(zhǎng)度,代表在Decoder輸出第i個(gè)單詞時(shí)給Source中第j個(gè)單詞的注意力分配系數(shù),而hj則是Encoder輸入第j個(gè)單詞時(shí)輸出的隱狀態(tài)(語義編碼)。根據(jù)NMT論文原文, is an alignment model which scores how well the inputs around position j and the output at position i match. The score is based on the RNN hidden state (just before emitting yi) and the j-th annotation hj of the input sentence. 至于函數(shù)的選取下面會(huì)說明。下圖是一個(gè)可視化的效果,幫助理解。

圖片

計(jì)算Attention

我們已經(jīng)知道了attention是什么,有什么作用,下面具體說明到底怎么計(jì)算attention。

假設(shè)Encoder輸入后輸出的隱狀態(tài)為,Decoder在輸出前隱層節(jié)點(diǎn)狀態(tài)為,那么可以用這個(gè)時(shí)刻的隱層節(jié)點(diǎn)狀態(tài)去一一和輸入句子中每個(gè)單詞對(duì)應(yīng)的RNN隱狀態(tài)進(jìn)行對(duì)比,即通過函數(shù)來獲得目標(biāo)單詞yi和每個(gè)輸入單詞對(duì)齊的可能性。函數(shù)在不同論文里可能會(huì)采取不同的方法,然后的所有輸出經(jīng)過Softmax進(jìn)行歸一化就得到了注意力分配到每個(gè)輸入單詞上的權(quán)重。下圖展示了這個(gè)計(jì)算過程:

圖片

上面說到不同的論文函數(shù)會(huì)采取不同的方法,其中較為普遍的類型有兩種,一個(gè)是加法Attention,另一個(gè)是乘法Attention。

加法Attention

和為可訓(xùn)練的參數(shù),將計(jì)算結(jié)果變成一個(gè)scalar,h與s之間的分號(hào)表示將二者concatenate到一起,產(chǎn)生一個(gè)更長(zhǎng)的vector,然后和做矩陣乘法。最后再把得到的value一起送往softmax層,進(jìn)而產(chǎn)生一個(gè)符合概率分布的attention。

乘法Attention

將加法和乘法排列組合變換,就能得到另一種方式——多重感知機(jī)(multi-layer perceptron)

在代碼實(shí)現(xiàn)中,運(yùn)用矩陣運(yùn)算,可以大大加速計(jì)算,這里的不再是單個(gè)vector,而是組成的一個(gè)矩陣,與一同計(jì)算后,得到了一個(gè)長(zhǎng)度為的vector ,它代表著在生成時(shí),對(duì)分配的注意力權(quán)重。

下圖展示了在文本生成式摘要時(shí),注意力的分配

圖片

Attention機(jī)制的本質(zhì)思想

圖片

我們可以這樣來看待Attention機(jī)制:將Source中的構(gòu)成元素想象成是由一系列的數(shù)據(jù)對(duì)構(gòu)成,此時(shí)給定Target中的某個(gè)元素Query,通過計(jì)算Query和各個(gè)Key的相似性或者相關(guān)性,可以得到每個(gè)Key針對(duì)該Query,Value的分配到的權(quán)重系數(shù),然后對(duì)所有Key的Value進(jìn)行加權(quán)求和,便得到了最終的Attention值。所以本質(zhì)上Attention機(jī)制是對(duì)Source中元素的Value值進(jìn)行加權(quán)求和,而Query和Key用來計(jì)算對(duì)應(yīng)Value的權(quán)重系數(shù)。即可以將其本質(zhì)思想改寫為如下公式:

上式,代表Source的長(zhǎng)度。上文所舉的機(jī)器翻譯的例子里,因?yàn)樵谟?jì)算Attention的過程中,Source中的Key和Value其實(shí)是同一個(gè)東西,即輸入句子中每個(gè)單詞對(duì)應(yīng)的語義編碼,所以可能不容易看出這種能夠體現(xiàn)本質(zhì)思想的結(jié)構(gòu)。

當(dāng)然,從概念上理解,把Attention仍然理解為從大量信息中有選擇地篩選出少量重要信息并聚焦到這些重要信息上,忽略大多不重要的信息,這種思路仍然成立。聚焦的過程體現(xiàn)在權(quán)重系數(shù)的計(jì)算上,權(quán)重越大越聚焦于其對(duì)應(yīng)的Value值上,即權(quán)重代表了信息的重要性,而Value是其對(duì)應(yīng)的信息。

也可以將Attention機(jī)制看作一種軟尋址(Soft Addressing):Source可以看作存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容,元素由地址Key和值Value組成,當(dāng)前有個(gè)Key=Query的查詢,目的是取出存儲(chǔ)器中對(duì)應(yīng)的Value值,即Attention值。通過Query和存儲(chǔ)器內(nèi)元素Key的地址進(jìn)行相似性比較來尋址。之所以說是軟尋址,是因?yàn)椴幌褚话銓ぶ分粡拇鎯?chǔ)內(nèi)容里面找出一條內(nèi)容,而是從每個(gè)Key地址都可能會(huì)取出內(nèi)容,取出內(nèi)容的重要性根據(jù)Query和Key的相似性來決定,之后對(duì)Value進(jìn)行加權(quán)求和,這樣就可以得到最終的Value值,也即Attention值。

Attention機(jī)制的具體計(jì)算過程,如果對(duì)目前大多數(shù)方法進(jìn)行抽象的話,可以將其歸納為兩個(gè)過程:第一個(gè)過程是根據(jù)Query和Key計(jì)算權(quán)重系數(shù),第二個(gè)過程根據(jù)權(quán)重系數(shù)對(duì)Value進(jìn)行加權(quán)求和。而第一個(gè)過程又可以細(xì)分為兩個(gè)階段:第一個(gè)階段根據(jù)Query和Key計(jì)算兩者的相似性或者相關(guān)性;第二個(gè)階段對(duì)第一階段的原始分值進(jìn)行歸一化處理;這樣,可以將Attention的計(jì)算過程抽象為下圖展示的三個(gè)階段。

圖片

在第一個(gè)階段,可以引入不同的函數(shù)和計(jì)算機(jī)制,根據(jù)Query和某個(gè)Keyi,計(jì)算兩者的相似性或者相關(guān)性,最常見的方法包括:求兩者的向量點(diǎn)積、求兩者的向量Cosine相似性或者通過再引入額外的神經(jīng)網(wǎng)絡(luò)來求值,計(jì)算公式分別如下:

接著將得到的數(shù)值進(jìn)行數(shù)值轉(zhuǎn)換,一方面可以進(jìn)行歸一化,將原始計(jì)算分值整理成所有元素權(quán)重之和為1的概率分布;另一方面也可以通過SoftMax的內(nèi)在機(jī)制更加突出重要元素的權(quán)重。一般采用如下公式計(jì)算:

最后得到Query關(guān)于Source的加權(quán)后的Value值:

延伸閱讀

Attention的變體有非常非常多,針對(duì)不同任務(wù),不同的Attention機(jī)制也有不同的效果,下面最近較火的兩種Attention,相信讀完上面的內(nèi)容,理解下面的Attention不再是難題,后續(xù)我也會(huì)再寫一篇詳細(xì)講解self-attention計(jì)算過程的文章。

  • Self-Attention
  • Hierarchical-Attention

參考鏈接及圖片來源:

  1. https://zhuanlan.zhihu.com/p/37601161
  2. https://www.jianshu.com/p/c94909b835d6
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器翻譯
    +關(guān)注

    關(guān)注

    0

    文章

    140

    瀏覽量

    15143
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5555

    瀏覽量

    122537
  • rnn
    rnn
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    7065
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    簡(jiǎn)述半導(dǎo)體原理——晶體管家族的核心工作機(jī)制

    簡(jiǎn)述半導(dǎo)體原理——晶體管家族的核心工作機(jī)制
    的頭像 發(fā)表于 07-20 08:14 ?1547次閱讀
    <b class='flag-5'>簡(jiǎn)述</b>半導(dǎo)體原理——晶體管家族的核心工作<b class='flag-5'>機(jī)制</b>

    深度學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系

    理解,但是在其高冷的背后,卻有深遠(yuǎn)的應(yīng)用場(chǎng)景和未來。深度學(xué)習(xí)是實(shí)現(xiàn)機(jī)器學(xué)習(xí)的一種方式或一條路徑。其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的
    發(fā)表于 07-04 16:07

    深度學(xué)習(xí)的圖片如何增強(qiáng)

    深度學(xué)習(xí)的圖片增強(qiáng)
    發(fā)表于 05-28 07:03

    深度學(xué)習(xí)的IoU概念

    深度學(xué)習(xí)的IoU概念理解
    發(fā)表于 05-29 09:24

    深度學(xué)習(xí)在預(yù)測(cè)和健康管理的應(yīng)用

    深度學(xué)習(xí)在預(yù)測(cè)和健康管理的應(yīng)用綜述摘要深度學(xué)習(xí)對(duì)預(yù)測(cè)和健康管理(PHM)引起了濃厚的興趣,因?yàn)樗哂袕?qiáng)大的表示能力,自動(dòng)化的功能
    發(fā)表于 07-12 06:46

    什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?

    什么是深度學(xué)習(xí)為了解釋深度學(xué)習(xí),有必要了解神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦的神經(jīng)元和神經(jīng)網(wǎng)絡(luò)的計(jì)算模型。作為具體示例,讓我們考慮一個(gè)輸入圖像并識(shí)別圖像
    發(fā)表于 02-17 16:56

    Attention的具體原理詳解

    注意力機(jī)制Attention mechanism在序列學(xué)習(xí)任務(wù)上具有巨大的提升作用,在編解碼器框架內(nèi),通過在編碼段加入A模型,對(duì)源數(shù)據(jù)序列進(jìn)行數(shù)據(jù)加權(quán)變換,或者在解碼端引入A模型,對(duì)目標(biāo)數(shù)據(jù)進(jìn)行加權(quán)變化,可以有效提高序列對(duì)序列
    發(fā)表于 11-23 10:44 ?8133次閱讀

    深度學(xué)習(xí)模型介紹,Attention機(jī)制和其它改進(jìn)

    al. 于2016年提出了PCNNs+Attention(APCNNs)算法。相比之前的PCNNs模型,該算法在池化層之后,softmax層之前加入了一種基于句子級(jí)別的attention機(jī)制,算法的示意圖如下:
    的頭像 發(fā)表于 03-22 15:41 ?1.9w次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>模型介紹,<b class='flag-5'>Attention</b><b class='flag-5'>機(jī)制</b>和其它改進(jìn)

    為什么要有attention機(jī)制Attention原理

    沒有attention機(jī)制的encoder-decoder結(jié)構(gòu)通常把encoder的最后一個(gè)狀態(tài)作為decoder的輸入(可能作為初始化,也可能作為每一時(shí)刻的輸入),但是encoder的state
    的頭像 發(fā)表于 03-06 14:11 ?1.7w次閱讀
    為什么要有<b class='flag-5'>attention</b><b class='flag-5'>機(jī)制</b>,<b class='flag-5'>Attention</b>原理

    首個(gè)基于深度學(xué)習(xí)的端到端在線手寫數(shù)學(xué)公式識(shí)別模型

    TAP 延續(xù)了會(huì)議文章 [1] 的 Encoder 框架,在 Attention 機(jī)制上針對(duì)在線手寫公式識(shí)別提出了 Spatial Attention, Temporal
    的頭像 發(fā)表于 09-20 15:35 ?9591次閱讀
    首個(gè)基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的端到端在線手寫數(shù)學(xué)公式識(shí)別模型

    簡(jiǎn)述位置編碼在注意機(jī)制的作用

    眾所周知的LSTM/RNN體系結(jié)構(gòu)在深度學(xué)習(xí)空間中的局限性的突破之一。本文介紹了transformers 在seq2seq任務(wù)的應(yīng)用。該論文巧妙地利用了 D.Bahdanau 等人通過聯(lián)合學(xué)
    的頭像 發(fā)表于 06-16 17:19 ?3023次閱讀
    <b class='flag-5'>簡(jiǎn)述</b>位置編碼在注意<b class='flag-5'>機(jī)制</b><b class='flag-5'>中</b>的作用

    深度解析Asp.Net2.0的Callback機(jī)制

    深度解析Asp.Net2.0的Callback機(jī)制(ups電源技術(shù)維修)-該文檔為深度解析Asp.Net2.0的Callback
    發(fā)表于 09-27 16:28 ?1次下載
    <b class='flag-5'>深度</b>解析Asp.Net2.0<b class='flag-5'>中</b>的Callback<b class='flag-5'>機(jī)制</b>

    計(jì)算機(jī)視覺的注意力機(jī)制

    計(jì)算機(jī)視覺的注意力機(jī)制 卷積神經(jīng)網(wǎng)絡(luò)中常用的Attention 參考 注意力機(jī)制簡(jiǎn)介與分類 注意力機(jī)制
    發(fā)表于 05-22 09:46 ?1次下載
    計(jì)算機(jī)視覺<b class='flag-5'>中</b>的注意力<b class='flag-5'>機(jī)制</b>

    深度學(xué)習(xí)在語音識(shí)別的應(yīng)用及挑戰(zhàn)

    一、引言 隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,其在語音識(shí)別領(lǐng)域的應(yīng)用也日益廣泛。深度學(xué)習(xí)技術(shù)可以有效地提高語音識(shí)別的精度和效率,并且被廣泛應(yīng)用于各種應(yīng)用場(chǎng)景。本文將探討
    的頭像 發(fā)表于 10-10 18:14 ?1193次閱讀

    NPU在深度學(xué)習(xí)的應(yīng)用

    設(shè)計(jì)的硬件加速器,它在深度學(xué)習(xí)的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對(duì)深度學(xué)習(xí)算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和G
    的頭像 發(fā)表于 11-14 15:17 ?1755次閱讀
    主站蜘蛛池模板: 亚洲va久久久久综合 | 国产精品久久久久aaaa | 性欧美乱又伦 | 中文字幕一区二区在线观看 | 韩国床戏合集三小时hd中字 | 久久久精品免费热线观看 | 骚五月| 日本xxxxbbbb| 亚洲va久久久噜噜噜久久天堂 | 天天澡天天摸天天添视频 | vr亚洲成年网址在线观看 | 色午夜在线 | 日韩一级在线播放免费观看 | 欧美人与动性xxxxbbbb | 国产毛片久久久久久国产毛片 | 另类性欧美喷潮videofree | 亚洲国产日韩女人aaaaaa毛片在线 | 色秀视频免费网站在线观看 | 国产二三区 | a级黑粗大硬长爽猛视频毛片 | 免费大片看黄在观看 | 国产三级在线免费 | 福利在线看 | 男人扒开美女尿口无遮挡图片 | 在线你懂的视频 | 成人观看天堂在线影片 | 午夜网站视频 | h视频在线看 | 天天操操操操操操 | 色综合色狠狠天天综合色hd | 国产一区二区三区乱码 | 永久看日本大片免费 | 黄色在线播放网址 | 天天操夜夜操天天操 | xxxxxx日本人免费 | 成人免费精品视频 | 狠狠干b| 色多多在线视频 | 四虎新地址 | 国产精品1区2区3区在线播放 | 91热成人精品国产免费 |