日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

3.8 注意力模型-深度学习第五课《序列模型》-Stanford吴恩达教授

發布時間:2025/4/5 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.8 注意力模型-深度学习第五课《序列模型》-Stanford吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注意力模型 (Attention Model)

在上個視頻中你已經見到了,注意力模型如何讓一個神經網絡只注意到一部分的輸入句子。當它在生成句子的時候,更像人類翻譯。讓我們把這些想法轉化成確切的式子,來實現注意力模型。

跟上個視頻一樣,我們先假定有一個輸入句子,并使用雙向的RNN,或者雙向的GRU或者雙向的LSTM,去計算每個詞的特征。實際上GRULSTM經常應用于這個,可能LSTM更經常一點。對于前向傳播(the forward occurrence),你有第一個時間步的前向傳播的激活值(a forward occurrence first time step),第一個時間步后向傳播的激活值,后向的激活值,以此類推。他們一共向前了五個時間步,也向后了五個時間步,技術上我們把這里設置為0。我們也可以后向傳播6次,設一個都是0的因子,實際上就是個都是0的因子。為了簡化每個時間步的記號,即使你在雙向RNN已經計算了前向的特征值和后向的特征值,我就用 a<t>a^{<t>}a<t> 來一起表示這些聯系。所以 a<t>a^{<t>}a<t> 就是時間步 ttt 上的特征向量。但是為了保持記號的一致性,我們用第二個,也就是 t′t\primet ,實際上我將用 t′t\primet 來索引法語句子里面的詞。接下來我們只進行前向計算,就是說這是個單向的RNN,用狀態 SSS 表示生成翻譯。所以第一個時間步,它應該生成 y<1>y^{<1>}y<1> ,當你輸入上下文 CCC 的時候就會這樣,如果你想用時間來索引它,你可以寫 C<1>C^{<1>}C<1> ,但有時候我就寫個 CCC ,就是沒有上標的 CCC ,這個會取決于注意力參數,即 a<1,1>a^{<1,1>}a<1,1>a<1,2>a^{<1,2>}a<1,2> 以此類推,告訴我們應該花多少注意力。同樣的,這個 α\alphaα 參數告訴我們上下文有多少取決于我們得到的特征,或者我們從不同時間步中得到的激活值。所以我們定義上下文的方式實際上來源于被注意力權重加權的不同時間步中的特征值。于是更公式化的注意力權重將會滿足非負的條件,所以這就是個0或正數,它們加起來等于1。我們等會會見到我們如何確保這個成立,我們將會有上下文,或者說在 t=1t=1t=1 時的上下文,我會經常省略上標,這就會變成對 t′t\primet 的求和。這個權重的所有 t′t\primet 的值,加上這些激活值。所以這里的這項(上圖編號1所示)就是注意力權重,這里的這項(上圖編號2)來自于這里(上圖編號3),于是 α<t,t′>\alpha^{<t,t\prime>}α<t,t> 就是 y<t>y^{<t>}y<t> 應該在 t′t\primet 時花在 aaa 上注意力的數量。換句話來說,當你在 ttt 處生成輸出詞,你應該花多少注意力在第 t′t\primet 個輸入詞上面,這是生成輸出的其中一步。然后下一個時間步,你會生成第二個輸出。于是相似的,你現在有了一個新的注意力權重集,再找到一個新的方式將它們相加,這就產生了一個新的上下文,這個也是輸入,且允許你生成第二個詞。只有現在才用這種方式相加,它會變成第二個時間步的上下文。即對 t′t\primetα<2,t′>\alpha^{<2,t\prime>}α<2,t> 進行求和,于是使用這些上下文向量, C<1>C^{<1>}C<1> 寫到這里, C<2>C^{<2>}C<2> 也同理。這里的神經網絡看起來很像相當標準的RNN序列,這里有著上下文向量作為輸出,我們可以一次一個詞地生成翻譯,我們也定義了如何通過這些注意力權重和輸入句子的特征值來計算上下文向量。剩下唯一要做的事情就是定義如何計算這些注意力權重。讓我們下張幻燈片看看。

回憶一下 α<t,t′>\alpha^{<t,t\prime>}α<t,t> ,是你應該花費在 a<t′>a^{<t\prime>}a<t> 上的注意力的數量,當你嘗試去生成第 ttt 個輸出的翻譯詞,讓我們先把式子寫下來,再討論它是怎么來的。這個式子你可以用來計算 α<t,t′>\alpha^{<t,t\prime>}α<t,t> ,在此之前我們要先計算 e<t,t′>e^{<t,t\prime>}e<t,t>,關鍵要用softmax,來確保這些權重加起來等于1。如果你對 t′t\primet 求和,比如每一個固定的 ttt 值,這些加起來等于1。如果你對 t′t\primet 求和,然后優先使用softmax,確保這些值加起來等于1。

現在我們如何計算這些 eee 項,一種我們可以用的方式是用下面這樣的小的神經網絡,于是 s<t?1>s^{<t-1>}s<t?1> 就是神經網絡在上個時間步的狀態,于是這里我們有一個神經網絡,如果你想要生成 y<t>y^{<t>}y<t> ,那么 s<t?1>s^{<t-1>}s<t?1> 就是上一時間步的隱藏狀態,即 s<t>s^{<t>}s<t> 。這是給小神經網絡的其中一個輸入,也就是在神經網絡中的一個隱藏層,因為你需要經常計算它們,然后 a<t′>a^{<t\prime>}a<t> ,即上個時間步的的特征是另一個輸入。直觀來想就是,如果你想要決定要花多少注意力在的激活值上。于是,似乎它會很大程度上取決于你上一個時間步的的隱藏狀態的激活值。你還沒有當前狀態的激活值,因為上下文會輸入到這里,所以你還沒計算出來,但是看看你生成上一個翻譯的RNN的隱藏狀態,然后對于每一個位置,每一個詞都看向他們的特征值,這看起來很自然,即 α<t,t′>\alpha^{<t,t\prime>}α<t,t>e<t,t′>e^{<t,t\prime>}e<t,t> 應該取決于這兩個量。但是我們不知道具體函數是什么,所以我們可以做的事情就是訓練一個很小的神經網絡,去學習這個函數到底是什么。相信反向傳播算法,相信梯度下降算法學到一個正確的函數。這表示,如果你應用這整個的模型,然后用梯度下降來訓練它,這是可行的。這個小型的神經網絡做了一件相當棒的事情,告訴你 y<t>y^{<t>}y<t> 應該花多少注意力在 a<t′>a^{<t\prime>}a<t> 上面,然后這個式子確保注意力權重加起來等于1,于是當你持續地一次生成一個詞,這個神經網絡實際上會花注意力在右邊的這個輸入句子上,它會完全自動的通過梯度下降來學習。

這個算法的一個缺點就是它要花費三次方的時間,就是說這個算法的復雜是 O(n3)O(n3)O(n3) 的,如果你有 TxT_xTx? 個輸入單詞和 TyT_yTy? 個輸出單詞,于是注意力參數的總數就會是 Tx?TyT_x*T_yTx??Ty? ,所以這個算法有著三次方的消耗。但是在機器翻譯的應用上,輸入和輸出的句子一般不會太長,可能三次方的消耗是可以接受,但也有很多研究工作,嘗試去減少這樣的消耗。那么講解注意想法在機器翻譯中的應用,就到此為止了。雖然沒有講到太多的細節,但這個想法也被應用到了其他的很多問題中去了,比如圖片加標題(image captioning),圖片加標題就是看一張圖,寫下這張圖的標題。底下的這篇論文來源于Kevin Chu,Jimmy Barr, Ryan Kiros, Kelvin Shaw, Aaron Korver, Russell Zarkutnov, Virta Zemo, 和 Andrew Benjo。他們也顯示了你可以有一個很相似的結構看圖片,然后,當你在寫圖片標題的時候,一次只花注意力在一部分的圖片上面。如果你感興趣,那么我鼓勵你,也去看看這篇論文,做一些編程練習。


因為機器翻譯是一個非常復雜的問題,在之前的練習中,你應用了注意力,在日期標準化的問題(the date normalization problem)上面,問題輸入了像這樣的一個日期,這個日期實際上是阿波羅登月的日期,把它標準化成標準的形式,或者這樣的日期。用一個序列的神經網絡,即序列模型去標準化到這樣的形式,這個日期實際上是威廉·莎士比亞的生日。一般認為是這個日期正如你之前聯系中見到的,你可以訓練一個神經網絡,輸入任何形式的日期,生成標準化的日期形式。其他可以做的有意思的事情是看看可視化的注意力權重(the visualizations of the attention weights)。這有一個機器翻譯的例子,這里被畫上了不同的顏色,不同注意力權重的大小,我不想在這上面花太多時間,但是你可以發現,對應的輸入輸出詞,你會發現注意力權重,會變高,因此這顯示了當它生成特定的輸出詞時通常會花注意力在輸入的正確的詞上面,包括學習花注意在哪。 在注意力模型中,使用反向傳播時, 什么時候學習完成。

這就是注意力模型,在深度學習中真的是個非常強大的想法。在本周的編程練習中,我希望你可以享受自己應用它的過程。

總結

以上是生活随笔為你收集整理的3.8 注意力模型-深度学习第五课《序列模型》-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。