Seq2Seq 模型及 Attention 機(jī)制

什么是 Seq2Seq ?

Seq2Seq 是一個(gè) Encoder-Decoder 結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),它的輸入是一個(gè)序列(Sequence),輸出也是一個(gè)序列(Sequence),因此而得名 “Seq2Seq”。在 Encoder 中,將可變長(zhǎng)度的序列轉(zhuǎn)變?yōu)楣潭ㄩL(zhǎng)度的向量表達(dá),Decoder 將這個(gè)固定長(zhǎng)度的向量轉(zhuǎn)換為可變長(zhǎng)度的目標(biāo)的信號(hào)序列。*

最基礎(chǔ)的 Seq2Seq模型 包含了三個(gè)部分(上圖有一部分沒有顯示的標(biāo)明),即 Encoder、Decoder 以及連接兩者的中間狀態(tài)向量 C,Encoder通過學(xué)習(xí)輸入,將其編碼成一個(gè)固定大小的狀態(tài)向量 C(也稱為語義編碼),繼而將 C 傳給Decoder,Decoder再通過對(duì)狀態(tài)向量 C 的學(xué)習(xí)來進(jìn)行輸出對(duì)應(yīng)的序列。

Basic Seq2Seq 是有很多弊端的,首先 Encoder 將輸入編碼為固定大小狀態(tài)向量(hidden state)的過程實(shí)際上是一個(gè)“信息有損壓縮”的過程。如果信息量越大,那么這個(gè)轉(zhuǎn)化向量的過程對(duì)信息造成的損失就越大。同時(shí),隨著 sequence length的增加,意味著時(shí)間維度上的序列很長(zhǎng),RNN 模型也會(huì)出現(xiàn)梯度彌散。最后,基礎(chǔ)的模型連接 Encoder 和 Decoder 模塊的組件僅僅是一個(gè)固定大小的狀態(tài)向量,這使得Decoder無法直接去關(guān)注到輸入信息的更多細(xì)節(jié)。由于 Basic Seq2Seq 的種種缺陷,隨后引入了 Attention 的概念以及 Bi-directional encoder layer 等,能夠取得更好的表現(xiàn)。

基本的Attention原理。

https://zhuanlan.zhihu.com/p/137578323

單純的Encoder-Decoder 框架并不能有效的聚焦到輸入目標(biāo)上,這使得像 seq2seq 的模型在獨(dú)自使用時(shí)并不能發(fā)揮最大功效。比如說在上圖中,編碼器將輸入編碼成上下文變量 C,在解碼時(shí)每一個(gè)輸出 Y 都會(huì)不加區(qū)分的使用這個(gè) C 進(jìn)行解碼。而注意力模型要做的事就是根據(jù)序列的每個(gè)時(shí)間步將編碼器編碼為不同 C,在解碼時(shí),結(jié)合每個(gè)不同的 C 進(jìn)行解碼輸出,這樣得到的結(jié)果會(huì)更加準(zhǔn)確,如下所示:

近幾年來,深度學(xué)習(xí)與視覺注意力機(jī)制結(jié)合的研究工作,大多數(shù)是集中于使用掩碼(mask)來形成注意力機(jī)制。掩碼的原理在于

通過另一層新的權(quán)重,將圖片數(shù)據(jù)中關(guān)鍵的特征標(biāo)識(shí)出來,通過學(xué)習(xí)訓(xùn)練,讓深度神經(jīng)網(wǎng)絡(luò)學(xué)到每一張新圖片中需要關(guān)注的區(qū)域,也就形成了注意力。

這種思想,進(jìn)而演化成兩種不同類型的注意力,一種是軟注意力(soft attention),另一種則是強(qiáng)注意力(hard attention)。

軟注意力

的關(guān)鍵點(diǎn)在于,這種注意力更關(guān)注區(qū)域[4]或者通道[5],
而且軟注意力是確定性的注意力,學(xué)習(xí)完成后直接可以通過網(wǎng)絡(luò)生成,
最關(guān)鍵的地方是軟注意力是可微的
,這是一個(gè)非常重要的地方。可以微分的注意力就可以通過神經(jīng)網(wǎng)絡(luò)算出梯度并且前向傳播和后向反饋來學(xué)習(xí)得到注意力的權(quán)重[6]。

強(qiáng)注意力[7]

與軟注意力不同點(diǎn)在于,首先強(qiáng)注意力是更加關(guān)注點(diǎn),也就是圖像中的每個(gè)點(diǎn)都有可能延伸出注意力,
同時(shí)強(qiáng)注意力是一個(gè)隨機(jī)的預(yù)測(cè)過程,更強(qiáng)調(diào)動(dòng)態(tài)變化
。
當(dāng)然,最關(guān)鍵是強(qiáng)注意力是一個(gè)不可微的注意力,訓(xùn)練過程往往是通過增強(qiáng)學(xué)習(xí)(reinforcement learning)來完成的

為了更清楚地介紹計(jì)算機(jī)視覺中的注意力機(jī)制,這篇文章將從注意力域(attention domain)的角度來分析幾種注意力的實(shí)現(xiàn)方法。其中主要是三種注意力域,空間域(spatial domain),通道域(channel domain),混合域(mixed domain)。還有另一種比較特殊的強(qiáng)注意力實(shí)現(xiàn)的注意力域,時(shí)間域(time domain),但是因?yàn)閺?qiáng)注意力是使用reinforcement learning來實(shí)現(xiàn)的,訓(xùn)練起來有所不同,所以之后再詳細(xì)分析。

軟注意力的注意力域

每篇文章的介紹分為兩個(gè)部分,首先從想法上來介紹模型的設(shè)計(jì)思路,然后深入了解模型結(jié)構(gòu)(architecture)部分。

3.1 空間域(Spatial Domain)
設(shè)計(jì)思路:
Spatial Transformer Networks(STN)模型[4]通過注意力機(jī)制,將原始圖片中的空間信息變換到另一個(gè)空間中并保留了關(guān)鍵信息。
這篇文章的思想非常巧妙,因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)中的池化層(pooling layer)直接用一些max pooling 或者average pooling 的方法,將圖片信息壓縮,減少運(yùn)算量提升準(zhǔn)確率。這篇文章認(rèn)為之前pooling的方法太過于暴力,直接將信息合并會(huì)導(dǎo)致關(guān)鍵信息無法識(shí)別出來,所以提出了一個(gè)叫空間轉(zhuǎn)換器(spatial transformer)的模塊,將圖片中的的空間域信息做對(duì)應(yīng)的空間變換,從而能將關(guān)鍵的信息提取出來

與池化層不同,在池化層中,接收fields是固定的和局部的,空間轉(zhuǎn)換器模塊是一種動(dòng)態(tài)機(jī)制,可以通過為每個(gè)輸入樣本生成適當(dāng)?shù)淖儞Q來主動(dòng)對(duì)圖像(或特征圖)進(jìn)行空間變換。


(a)列是原始的圖片信息,其中第一個(gè)手寫數(shù)字7沒有做任何變換,第二個(gè)手寫數(shù)字5,做了一定的旋轉(zhuǎn)變化,而第三個(gè)手寫數(shù)字6,加上了一些噪聲信號(hào);
(b)列中的彩色邊框是學(xué)習(xí)到的spatial transformer的框盒(bounding box),每一個(gè)框盒其實(shí)就是對(duì)應(yīng)圖片學(xué)習(xí)出來的一個(gè)spatial transformer;
(c)列中是通過spatial transformer轉(zhuǎn)換之后的特征圖,可以看出7的關(guān)鍵區(qū)域被選擇出來,5被旋轉(zhuǎn)成為了正向的圖片,6的噪聲信息沒有被識(shí)別進(jìn)入。
最終可以通過這些轉(zhuǎn)換后的特征圖來預(yù)測(cè)出(d)列中手寫數(shù)字的數(shù)值。

這是空間變換網(wǎng)絡(luò)(spatialtransformer network)中最重要的空間變換模塊,這個(gè)模塊可以作為新的層直接加入到原有的網(wǎng)絡(luò)結(jié)構(gòu),比如ResNet中。
來仔細(xì)研究這個(gè)模型的輸入:U \in \mathbb{R}^{H \times W \times C}神經(jīng)網(wǎng)絡(luò)訓(xùn)練中使用的數(shù)據(jù)類型都是張量(tensor),H是上一層tensor的高度(height),W是上一層tensor的寬度(width),而C代表tensor的通道(channel),比如圖片基本的三通道(RGB),或者是經(jīng)過卷積層(convolutional layer)之后,不同卷積核(kernel)都會(huì)產(chǎn)生不同的通道信息。 之后這個(gè)輸入進(jìn)入兩條路線,一條路線是信息進(jìn)入定位網(wǎng)絡(luò)(localisation net),另一條路線是原始信號(hào)直接進(jìn)入采樣層(sampler)其中定位網(wǎng)絡(luò)會(huì)學(xué)習(xí)到一組參數(shù)\theta,而這組參數(shù)就能夠作為網(wǎng)格生成器(grid generator)的參數(shù),生成一個(gè)采樣信號(hào),這個(gè)采樣信號(hào)其實(shí)是一個(gè)變換矩陣\tau_\theta(G),與原始圖片相乘之后,可以得到變換之后的矩陣V \in \mathbb{R}^{H^{\prime} \times W^{\prime} \times C}
V就是變換之后的圖片特征了,變換之后的矩陣大小是可以通過調(diào)節(jié)變換矩陣來形成縮放的。

通過這張轉(zhuǎn)換圖片,可以看出空間轉(zhuǎn)換器中產(chǎn)生的采樣矩陣是能夠?qū)⒃瓐D中關(guān)鍵的信號(hào)提取出來,(a)中的采樣矩陣是單位矩陣,不做任何變換,(b)中的矩陣是可以產(chǎn)生縮放旋轉(zhuǎn)變換的采樣矩陣
\left(\begin{array}{c}{x_{i}^{s}} \\ {y_{i}^{s}}\end{array}\right)=\mathcal{T}_{\theta}\left(G_{i}\right)=\mathrm{A}_{\theta}\left(\begin{array}{c}{x_{i}^{t}} \\ {y_{i}^{t}} \\ {1}\end{array}\right)=\left[\begin{array}{ccc}{\theta_{11}} & {\theta_{12}} & {\theta_{13}} \\ {\theta_{21}} & {\theta_{22}} & {\theta_{23}}\end{array}\right]\left(\begin{array}{c}{x_{i}^{t}} \\ {y_{i}^{t}} \\ {1}\end{array}\right)
最右邊式子左邊的θ矩陣就是對(duì)應(yīng)的采樣矩陣。
這個(gè)模塊加進(jìn)去最大的好處就是能夠?qū)ι弦粚有盘?hào)的關(guān)鍵信息進(jìn)行識(shí)別(attention),并且該信息矩陣是一個(gè)可以微分的矩陣,因?yàn)槊恳粋€(gè)目標(biāo)(target)點(diǎn)的信息其實(shí)是所有源(source)點(diǎn)信息的一個(gè)組合,這個(gè)組合可以是一個(gè)線性組合,復(fù)雜的變換信息也可以用核函數(shù)(kernel)來表示:
V_{i}^{c}=\sum_{n}^{H} \sum_{m}^{W} U_{n m}^{c} k\left(x_{i}^{s}-m ; \Phi_{x}\right) k\left(y_{i}^{s}-n ; \Phi_{y}\right) \forall i \in\left[1 \ldots H^{\prime} W^{\prime}\right] \forall c \in[1 \ldots C]
V是轉(zhuǎn)換后的信息,U是轉(zhuǎn)換前的信息,k是一個(gè)核函數(shù)。
理論上來說,這樣的模塊是可以加在任意層的,因?yàn)槟K可以同時(shí)對(duì)通道信息和矩陣信息同時(shí)處理。但是由于文章提出對(duì)所有的通道信息進(jìn)行統(tǒng)一處理變換,我認(rèn)為這種模塊其實(shí)更適用于原始圖片輸入層之后的變化,因?yàn)榫矸e層之后,每一個(gè)卷積核(filter)產(chǎn)生的通道信息,所含有的信息量以及重要程度其實(shí)是不一樣的,都用同樣的transformer其實(shí)可解釋性并不強(qiáng)。也由此,我們可以引出第二種注意域的機(jī)制——通道域(channel domain)注意力機(jī)制。

3.2 通道域(Channel Domain)
通道域[5]的注意力機(jī)制原理很簡(jiǎn)單,我們可以從基本的信號(hào)變換的角度去理解。信號(hào)系統(tǒng)分析里面,任何一個(gè)信號(hào)其實(shí)都可以寫成正弦波的線性組合,經(jīng)過時(shí)頻變換<一般是使用傅里葉變換,也是卷積變化>之后,時(shí)域上連續(xù)的正弦波信號(hào)就可以用一個(gè)頻率信號(hào)數(shù)值代替了。


在卷積神經(jīng)網(wǎng)絡(luò)中,每一張圖片初始會(huì)由(R,G,B)三通道表示出來,之后經(jīng)過不同的卷積核之后,每一個(gè)通道又會(huì)生成新的信號(hào),比如圖片特征的每個(gè)通道使用64核卷積,就會(huì)產(chǎn)生64個(gè)新通道的矩陣(H,W,64),H,W分別表示圖片特征的高度和寬度。每個(gè)通道的特征其實(shí)就表示該圖片在不同卷積核上的分量,類似于時(shí)頻變換,而這里面用卷積核的卷積類似于信號(hào)做了傅里葉變換,從而能夠?qū)⑦@個(gè)特征一個(gè)通道的信息給分解成64個(gè)卷積核上的信號(hào)分量。
既然每個(gè)信號(hào)都可以被分解成核函數(shù)上的分量,產(chǎn)生的新的64個(gè)通道對(duì)于關(guān)鍵信息的貢獻(xiàn)肯定有多有少,如果我們給每個(gè)通道上的信號(hào)都增加一個(gè)權(quán)重,來代表該通道與關(guān)鍵信息的相關(guān)度的話,這個(gè)權(quán)重越大,則表示相關(guān)度越高,也就是我們?cè)叫枰プ⒁獾耐ǖ懒恕?br> 模型結(jié)構(gòu):
論文[5]中提出了一個(gè)非常重要的SENet的模型結(jié)構(gòu),靠著這個(gè)模型獲得了ImageNet的冠軍,這個(gè)模型是非常有創(chuàng)造力的設(shè)計(jì)。

首先最左邊是原始輸入圖片特征X,然后經(jīng)過變換,比如卷積變換F_{tr},產(chǎn)生了新的特征信號(hào)U。U有C個(gè)通道,我們希望通過注意力模塊來學(xué)習(xí)出每個(gè)通道的權(quán)重,從而產(chǎn)生通道域的注意力。中間的模塊就是SENet的創(chuàng)新部分,也就是注意力機(jī)制模塊。這個(gè)注意力機(jī)制分成三個(gè)部分:擠壓(squeeze),激勵(lì)(excitation),以及注意(attention)。
擠壓函數(shù)F_{sq}z_{c}=\mathbf{F}_{s q}\left(\mathbf{u}_{c}\right)=\frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} u_{c}(i, j)
很明顯這個(gè)函數(shù)做了一個(gè)全局平均值,把每個(gè)通道內(nèi)所有的特征值相加再平均,也是全局平均池化(global average pooling)的數(shù)學(xué)表達(dá)式。
激勵(lì)函數(shù)F_{ex}:
\mathbf{s}=\mathbf{F}_{e x}(\mathbf{z}, \mathbf{W})=\sigma(g(\mathbf{z}, \mathbf{W}))=\sigma\left(\mathbf{W}_{2} \delta\left(\mathbf{W}_{1} \mathbf{z}\right)\right)
\delta函數(shù)是ReLU,而\sigma是一個(gè)sigmoid激活函數(shù)。W1和W2的維度分別是\mathbf{W}_{1} \in \mathbb{R}^{\frac{C}{r} \times C} \mathbf{W}_{2} \in \mathbb{R}^{C \times \frac{C}{r}}
尺度函數(shù)F_{scale}:\widetilde{\mathbf{x}}_{c}=\mathbf{F}_{s c a l e}\left(\mathbf{u}_{c}, s_{c}\right)=s_{c} \cdot \mathbf{u}_{c}
這一步其實(shí)就是一個(gè)放縮的過程,不同通道的值乘上不同的權(quán)重,從而可以增強(qiáng)對(duì)關(guān)鍵通道域的注意力。

3.3 混合域
了解前兩種注意力域的設(shè)計(jì)思路后,簡(jiǎn)單對(duì)比一下。首先,空間域的注意力是忽略了通道域中的信息,將每個(gè)通道中的圖片特征同等處理,這種做法會(huì)將空間域變換方法局限在原始圖片特征提取階段,應(yīng)用在神經(jīng)網(wǎng)絡(luò)層其他層的可解釋性不強(qiáng)。
而通道域的注意力是對(duì)一個(gè)通道內(nèi)的信息直接全局平均池化,而忽略每一個(gè)通道內(nèi)的局部信息,這種做法其實(shí)也是比較暴力的行為。所以結(jié)合兩種思路,就可以設(shè)計(jì)出混合域的注意力機(jī)制模型[8]。
設(shè)計(jì)思路:
[8]這篇文章中提出的注意力機(jī)制是與深度殘差網(wǎng)絡(luò)(Deep Residual Network)相關(guān)的方法,基本思路是能夠?qū)⒆⒁饬C(jī)制應(yīng)用到ResNet中,并且使網(wǎng)絡(luò)能夠訓(xùn)練的比較深。
文章中注意力的機(jī)制是軟注意力基本的加掩碼(mask)機(jī)制,但是不同的是,這種注意力機(jī)制的mask借鑒了殘差網(wǎng)絡(luò)的想法,不只根據(jù)當(dāng)前網(wǎng)絡(luò)層的信息加上mask,還把上一層的信息傳遞下來,這樣就防止mask之后的信息量過少引起的網(wǎng)絡(luò)層數(shù)不能堆疊很深的問題。
正如之前說的,[8]中提出的注意力mask,不僅僅只是對(duì)空間域或者通道域注意,這種mask可以看作是每一個(gè)特征元素(element)的權(quán)重。通過給每個(gè)特征元素都找到其對(duì)應(yīng)的注意力權(quán)重,就可以同時(shí)形成了空間域和通道域的注意力機(jī)制。
很多人看到這里就會(huì)有疑問,這種做法應(yīng)該是從空間域或者通道域非常自然的一個(gè)過渡,怎么做單一域注意力的人都沒有想到呢?原因有:

  • 如果你給每一個(gè)特征元素都賦予一個(gè)mask權(quán)重的話,mask之后的信息就會(huì)非常少,可能直接就破壞了網(wǎng)絡(luò)深層的特征信息;
  • 另外,如果你可以加上注意力機(jī)制之后,殘差單元(Residual Unit)的恒等映射(identical mapping)特性會(huì)被破壞,從而很難訓(xùn)練。
    首先,使用mask重復(fù)地從0到1的點(diǎn)產(chǎn)生會(huì)降低深層特征的值。其次,軟mask可能會(huì)破壞主干分支的良好特性,例如殘差單元的相同映射。
    所以該文章的注意力機(jī)制的創(chuàng)新點(diǎn)在于提出了殘差注意力學(xué)習(xí)(residual attention learning),不僅只把mask之后的特征張量作為下一層的輸入,同時(shí)也將mask之前的特征張量作為下一層的輸入,這時(shí)候可以得到的特征更為豐富,從而能夠更好的注意關(guān)鍵特征。
    模型結(jié)構(gòu):

    文章中模型結(jié)構(gòu)是非常清晰的,整體結(jié)構(gòu)上,是三階注意力模塊(3-stage attention module)。每一個(gè)注意力模塊可以分成兩個(gè)分支(看stage2),上面的分支叫主分支(trunk branch),是基本的殘差網(wǎng)絡(luò)(ResNet)的結(jié)構(gòu)。而下面的分支是軟掩碼分支(soft mask branch),而軟掩碼分支中包含的主要部分就是殘差注意力學(xué)習(xí)機(jī)制。通過下采樣(down sampling)和上采樣(up sampling),以及殘差模塊(residual unit),組成了注意力的機(jī)制。
    模型結(jié)構(gòu)中比較創(chuàng)新的殘差注意力機(jī)制是:
    H_{i, c}(x)=\left(1+M_{i, c}(x)\right) * F_{i, c}(x)
    H是注意力模塊的輸出,F(xiàn)是上一層的圖片張量特征,M是軟掩碼的注意力參數(shù)。這就構(gòu)成了殘差注意力模塊,能將圖片特征和加強(qiáng)注意力之后的特征一同輸入到下一模塊中。F函數(shù)可以選擇不同的函數(shù),就可以得到不同注意力域的結(jié)果:
    \begin{aligned} f_{1}\left(x_{i, c}\right) &=\frac{1}{1+\exp \left(-x_{i, c}\right)} \\ f_{2}\left(x_{i, c}\right) &=\frac{x_{i, c}}{\left\|x_{i}\right\|} \\ f_{3}\left(x_{i, c}\right) &=\frac{1}{1+\exp \left(-\left(x_{i, c}-\operatorname{mean}_{c}\right) / \operatorname{std}_{c}\right)} \end{aligned}
    f_{1}是對(duì)圖片特征張量直接sigmoid激活函數(shù),就是混合域的注意力;
    f_{2}是對(duì)圖片特征張量直接做全局平均池化(global average pooling),所以得到的是通道域的注意力(類比SENet[5]);
    f_{3}是求圖片特征張量在通道域上的平均值的激活函數(shù),類似于忽略了通道域的信息,從而得到空間域的注意力。

4 時(shí)間域注意力
這個(gè)概念其實(shí)比較大,因?yàn)橛?jì)算機(jī)視覺只是單一識(shí)別圖片的話,并沒有時(shí)間域這個(gè)概念,但是[7]這篇文章中,提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的注意力機(jī)制識(shí)別模型。
RNN模型比較適合的場(chǎng)景是數(shù)據(jù)具有時(shí)序特征,比如使用RNN產(chǎn)生注意力機(jī)制做的比較好的是在自然語言處理的問題上。因?yàn)樽匀徽Z言處理的是文本分析,而文本產(chǎn)生的背后其實(shí)是有一個(gè)時(shí)序上的關(guān)聯(lián)性,比如一個(gè)詞之后還會(huì)跟著另外一個(gè)詞,這就是一個(gè)時(shí)序上的依賴關(guān)聯(lián)性。
而圖片數(shù)據(jù)本身,并不具有天然的時(shí)序特征,一張圖片往往是一個(gè)時(shí)間點(diǎn)下的采樣。但是在視頻數(shù)據(jù)中,RNN就是一個(gè)比較好的數(shù)據(jù)模型,從而能夠使用RNN來產(chǎn)生識(shí)別注意力。
特意將RNN的模型稱之為時(shí)間域的注意力,是因?yàn)檫@種模型在前面介紹的空間域,通道域,以及混合域之上,又新增加了一個(gè)時(shí)間的維度。這個(gè)維度的產(chǎn)生,其實(shí)是基于采樣點(diǎn)的時(shí)序特征。
Recurrent Attention Model [7]中將注意力機(jī)制看成對(duì)一張圖片上的一個(gè)區(qū)域點(diǎn)的采樣,這個(gè)采樣點(diǎn)就是需要注意的點(diǎn)。而這個(gè)模型中的注意力因?yàn)椴辉偈且粋€(gè)可以微分的注意力信息,因此這也是一個(gè)強(qiáng)注意力(hard attention)模型。這個(gè)模型的訓(xùn)練是需要使用增強(qiáng)學(xué)習(xí)(reinforcementlearning)來訓(xùn)練的,訓(xùn)練的時(shí)間更長(zhǎng)。
這個(gè)模型更需要了解的并不是RNN注意力模型,因?yàn)檫@個(gè)模型其實(shí)在自然語言處理中介紹的更詳細(xì),更需要了解的是這個(gè)模型的如何將圖片信息轉(zhuǎn)換成時(shí)序上的采樣信號(hào)的:


這個(gè)是模型中的關(guān)鍵點(diǎn),叫Glimpse Sensor,我翻譯為掃視器,這個(gè)sensor的關(guān)鍵點(diǎn)在于先確定好圖片中需要關(guān)注的點(diǎn)(像素),這時(shí)候這個(gè)sensor開始采集三種信息,信息量是相同的,一個(gè)是非常細(xì)節(jié)(最內(nèi)層框)的信息,一個(gè)是中等的局部信息,一個(gè)是粗略的略縮圖信息。
這三個(gè)采樣的信息是在l_{t-1}位置中產(chǎn)生的圖片信息,而下一個(gè)時(shí)刻,隨著t的增加,采樣的位置又開始變化,至于l隨著t該怎么變化,這就是需要使用增強(qiáng)學(xué)習(xí)來訓(xùn)練的東西了。
有關(guān)RNN做attention的,還是應(yīng)該去了解自然語言處理,如機(jī)器翻譯中的做法,這里就不再繼續(xù)深入介紹,想深入了解的,推薦閱讀Attention模型方法綜述。

\begin{aligned} \alpha_{t s} &=\frac{\exp \left(\operatorname{score}\left(\boldsymbol{h}_{t}, \overline{\boldsymbol{h}}_{s}\right)\right)}{\sum_{s^{\prime}=1}^{S} \exp \left(\operatorname{score}\left(\boldsymbol{h}_{t}, \overline{\boldsymbol{h}}_{s^{\prime}}\right)\right)} \\ \boldsymbol{c}_{t} &=\sum_{s} \alpha_{t s} \overline{\boldsymbol{h}}_{s} \\ y_{2} &=f\left(\boldsymbol{c}_{t}, \boldsymbol{h}_{t}\right)=\tanh \left(\boldsymbol{W}_{c}\left[\boldsymbol{c}_{t} ; \boldsymbol{h}_{t}\right]\right) \end{aligned}

HAN的原理(Hierarchical Attention Networks)。

利用Attention模型進(jìn)行文本分類。

https://zhuanlan.zhihu.com/p/31547842

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容