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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

3.7 注意力模型直观理解-深度学习第五课《序列模型》-Stanford吴恩达教授

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

注意力模型直觀理解 (Attention Model Intuition)

在本周大部分時間中,你都在使用這個編碼解碼的構(gòu)架(a Encoder-Decoder architecture)來完成機(jī)器翻譯。當(dāng)你使用RNN讀一個句子,于是另一個會輸出一個句子。我們要對其做一些改變,稱為注意力模型(the Attention Model),并且這會使它工作得更好。注意力模型或者說注意力這種思想(The attention algorithm, the attention idea)已經(jīng)是深度學(xué)習(xí)中最重要的思想之一,我們看看它是怎么運(yùn)作的。

像這樣給定一個很長的法語句子,在你的神經(jīng)網(wǎng)絡(luò)中,這個綠色的編碼器要做的就是讀整個句子,然后記憶整個句子,再在感知機(jī)中傳遞(to read in the whole sentence and then memorize the whole sentences and store it in the activations conveyed her)。而對于這個紫色的神經(jīng)網(wǎng)絡(luò),即解碼網(wǎng)絡(luò)(the decoder network)將生成英文翻譯,Jane去年九月去了非洲,非常享受非洲文化,遇到了很多奇妙的人,她回來就嚷嚷道,她經(jīng)歷了一個多棒的旅行,并邀請我也一起去。人工翻譯并不會通過讀整個法語句子,再記憶里面的東西,然后從零開始,機(jī)械式地翻譯成一個英語句子。而人工翻譯,首先會做的可能是先翻譯出句子的部分,再看下一部分,并翻譯這一部分。看一部分,翻譯一部分,一直這樣下去。你會通過句子,一點(diǎn)一點(diǎn)地翻譯,因為記憶整個的像這樣的的句子是非常困難的。你在下面這個編碼解碼結(jié)構(gòu)中,會看到它對于短句子效果非常好,于是它會有一個相對高的Bleu分(Bleu score),但是對于長句子而言,比如說大于30或者40詞的句子,它的表現(xiàn)就會變差。Bleu評分看起來就會像是這樣,隨著單詞數(shù)量變化,短的句子會難以翻譯,因為很難得到所有詞。對于長的句子,效果也不好,因為在神經(jīng)網(wǎng)絡(luò)中,記憶非常長句子是非常困難的。在這個和下個視頻中,你會見識到注意力模型,它翻譯得很像人類,一次翻譯句子的一部分。而且有了注意力模型,機(jī)器翻譯系統(tǒng)的表現(xiàn)會像這個一樣,因為翻譯只會翻譯句子的一部分,你不會看到這個有一個巨大的下傾(huge dip),這個下傾實(shí)際上衡量了神經(jīng)網(wǎng)絡(luò)記憶一個長句子的能力,這是我們不希望神經(jīng)網(wǎng)絡(luò)去做的事情。在這個視頻中,我想要給你們注意力機(jī)制運(yùn)行的一些直觀的東西。然后在下個視頻中,完善細(xì)節(jié)。

注意力模型源于Dimitri, Bahdanau, Camcrun Cho, Yoshe Bengio。(Bahdanau D, Cho K, Bengio Y. Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer Science,2014.)雖然這個模型源于機(jī)器翻譯,但它也推廣到了其他應(yīng)用領(lǐng)域。我認(rèn)為在深度學(xué)習(xí)領(lǐng)域,這個是個非常有影響力的,非常具有開創(chuàng)性的論文。

讓我們用一個短句舉例說明一下,即使這些思想可能是應(yīng)用于更長的句子。但是用短句來舉例說明,講解這些思想會更簡單。我們有一個很平常的句子:(法語)Jane visite l’Afrique en Septembre。假定我們使用RNN,在這個情況中,我們將使用一個雙向的RNNa bidirectional RNN),為了計算每個輸入單詞的的特征集(set of features),你必須要理解輸出 y^<1>\hat{y}^{<1>}y^?<1>y^<3>\hat{y}^{<3>}y^?<3> 一直到 y^<5>\hat{y}^{<5>}y^?<5> 的雙向RNN。但是我們并不是只翻譯一個單詞,讓我們先去掉上面的 YYY ,就用雙向的RNN。我們要對單詞做的就是,對于句子里的每五個單詞,計算一個句子中單詞的特征集,也有可能是周圍的詞,讓我們試試,生成英文翻譯。我們將使用另一個RNN生成英文翻譯,這是我平時用的RNN記號。我不用 AAA 來表示感知機(jī)(the activation),這是為了避免和這里的感知機(jī)(the activations)混淆。我會用另一個不同的記號,我會用 SSS 來表示RNN的隱藏狀態(tài)(the hidden state in this RNN),不用 A<1>A^{<1>}A<1> ,而是用 S<1>S^{<1>}S<1> 。我們希望在這個模型里第一個生成的單詞將會是Jane,為了生成Jane visits Africa in September。于是等式就是,當(dāng)你嘗試生成第一個詞,即輸出,那么我們應(yīng)該看輸入的法語句子的哪個部分?似乎你應(yīng)該先看第一個單詞,或者它附近的詞。但是你別看太遠(yuǎn)了,比如說看到句尾去了。所以注意力模型就會計算注意力權(quán)重(a set of attention weights),我們將用 a<1,1>a^{<1,1>}a<1,1> 來表示當(dāng)你生成第一個詞時你應(yīng)該放多少注意力在這個第一塊信息處。然后我們算第二個,這個叫注意力權(quán)重, a<1,2>a^{<1,2>}a<1,2> 它告訴我們當(dāng)你嘗試去計算第一個詞Jane時,我們應(yīng)該花多少注意力在輸入的第二個詞上面。同理這里是 a<1,3>a^{<1,3>}a<1,3> ,接下去也同理。這些將會告訴我們,我們應(yīng)該花多少注意力在記號為 CCC 的內(nèi)容上。這就是RNN的一個單元,如何嘗試生成第一個詞的,這是RNN的其中一步,我們將會在下個視頻中講解細(xì)節(jié)。對于RNN的第二步,我們將有一個新的隱藏狀態(tài) S<2>S^{<2>}S<2> ,我們也會用一個新的注意力權(quán)值集(a new set of the attention weights),我們將用 a<2,1>a^{<2,1>}a<2,1> 來告訴我們什么時候生成第二個詞, 那么visits就會是第二個標(biāo)簽了(the ground trip label)。我們應(yīng)該花多少注意力在輸入的第一個法語詞上。然后同理 a<2,2>a^{<2,2>}a<2,2>,接下去也同理,我們應(yīng)該花多少注意力在visite詞上,我們應(yīng)該花多少注意在詞l’Afique上面。當(dāng)然我們第一個生成的詞Jane也會輸入到這里,于是我們就有了需要花注意力的上下文。第二步,這也是個輸入,然后會一起生成第二個詞,這會讓我們來到第三步 S<3>S^{<3>}S<3> ,這是輸入,我們再有上下文C,它取決于在不同的時間集(time sets),上面的 a<3>a^{<3>}a<3> 。這個告訴了我們我們要花注意力在不同的法語的輸入詞上面。 然后同理。有些事情我還沒說清楚,但是在下個視頻中,我會講解一些細(xì)節(jié),比如如何準(zhǔn)確定義上下文,還有第三個詞的上下文,是否真的需要去注意句子中的周圍的詞。這里要用到的公式以及如何計算這些注意力權(quán)重(these attention weights),將會在下個視頻中講解到。在下個視頻中你會看到 a<3,t>a^{<3,t>}a<3,t> ,即當(dāng)你嘗試去生成第三個詞,應(yīng)該是l’Afique,就得到了右邊這個輸出,這個RNN步驟應(yīng)該要花注意力在 ttt 時的法語詞上,這取決于在 ttt 時的雙向RNN的激活值。那么它應(yīng)該是取決于第四個激活值,它會取決于上一步的狀態(tài),它會取決于 S<2>S^{<2>}S<2> 。然后這些一起影響你應(yīng)該花多少注意在輸入的法語句子的某個詞上面。我們會在下個視頻中講解這些細(xì)節(jié)。但是直觀來想就是RNN向前進(jìn)一次生成一個詞,在每一步直到最終生成可能是<EOS>。這些是注意力權(quán)重,即 a<t,t>a^{<t,t>}a<t,t> 告訴你,當(dāng)你嘗試生成第 ttt 個英文詞,它應(yīng)該花多少注意力在第 ttt 個法語詞上面。當(dāng)生成一個特定的英文詞時,這允許它在每個時間步去看周圍詞距內(nèi)的法語詞要花多少注意力。

我希望這個視頻傳遞了關(guān)于注意力模型的一些直觀的東西。我們現(xiàn)在可能對算法的運(yùn)行有了大概的感覺,讓我們進(jìn)入到下個視頻中,看看具體的細(xì)節(jié)。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。