欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

把Transformer模型掰開揉碎,深度理解它的工作原理

電子工程師 ? 來源:lq ? 2019-01-10 15:15 ? 次閱讀

編者按:前一段時間谷歌推出的BERT模型在11項NLP任務(wù)中奪得SOTA結(jié)果,引爆了整個NLP界。而BERT取得成功的一個關(guān)鍵因素是Transformer的強大作用。谷歌的Transformer模型最早是用于機器翻譯任務(wù),當時達到了SOTA效果。Transformer改進了RNN最被人詬病的訓(xùn)練慢的缺點,利用self-attention機制實現(xiàn)快速并行。并且Transformer可以增加到非常深的深度,充分發(fā)掘DNN模型的特性,提升模型準確率。在本文中,我們將研究Transformer模型,把它掰開揉碎,理解它的工作原理。

以下是正文,請欣賞:

Transformer由論文《Attention is All You Need》提出,現(xiàn)在是谷歌云TPU推薦的參考模型。論文相關(guān)的Tensorflow的代碼可以從GitHub獲取,其作為Tensor2Tensor包的一部分。哈佛的NLP團隊也實現(xiàn)了一個基于PyTorch的版本,并注釋該論文。

在本文中,我們將試圖把模型簡化一點,并逐一介紹里面的核心概念,希望讓普通讀者也能輕易理解。

Attention is All You Need:

https://arxiv.org/abs/1706.03762

從宏觀的視角開始

首先將這個模型看成是一個黑箱操作。在機器翻譯中,就是輸入一種語言,輸出另一種語言。

那么拆開這個黑箱,我們可以看到它是由編碼組件、解碼組件和它們之間的連接組成。

編碼組件部分由一堆編碼器(encoder)構(gòu)成(論文中是將6個編碼器疊在一起——數(shù)字6沒有什么神奇之處,你也可以嘗試其他數(shù)字)。解碼組件部分也是由相同數(shù)量(與編碼器對應(yīng))的解碼器(decoder)組成的。

所有的編碼器在結(jié)構(gòu)上都是相同的,但它們沒有共享參數(shù)。每個解碼器都可以分解成兩個子層。

從編碼器輸入的句子首先會經(jīng)過一個自注意力(self-attention)層,這層幫助編碼器在對每個單詞編碼時關(guān)注輸入句子的其他單詞。我們將在稍后的文章中更深入地研究自注意力。

自注意力層的輸出會傳遞到前饋(feed-forward)神經(jīng)網(wǎng)絡(luò)中。每個位置的單詞對應(yīng)的前饋神經(jīng)網(wǎng)絡(luò)都完全一樣(譯注:另一種解讀就是一層窗口為一個單詞的一維卷積神經(jīng)網(wǎng)絡(luò))。

解碼器中也有編碼器的自注意力(self-attention)層和前饋(feed-forward)層。除此之外,這兩個層之間還有一個注意力層,用來關(guān)注輸入句子的相關(guān)部分(和seq2seq模型的注意力作用相似)。

將張量引入圖景

我們已經(jīng)了解了模型的主要部分,接下來我們看一下各種向量或張量(譯注:張量概念是矢量概念的推廣,可以簡單理解矢量是一階張量、矩陣是二階張量。)是怎樣在模型的不同部分中,將輸入轉(zhuǎn)化為輸出的。

像大部分NLP應(yīng)用一樣,我們首先將每個輸入單詞通過詞嵌入算法轉(zhuǎn)換為詞向量。

每個單詞都被嵌入為512維的向量,我們用這些簡單的方框來表示這些向量。

詞嵌入過程只發(fā)生在最底層的編碼器中。所有的編碼器都有一個相同的特點,即它們接收一個向量列表,列表中的每個向量大小為512維。在底層(最開始)編碼器中它就是詞向量,但是在其他編碼器中,它就是下一層編碼器的輸出(也是一個向量列表)。向量列表大小是我們可以設(shè)置的超參數(shù)——一般是我們訓(xùn)練集中最長句子的長度。

將輸入序列進行詞嵌入之后,每個單詞都會流經(jīng)編碼器中的兩個子層。

接下來我們看看Transformer的一個核心特性,在這里輸入序列中每個位置的單詞都有自己獨特的路徑流入編碼器。在自注意力層中,這些路徑之間存在依賴關(guān)系。而前饋(feed-forward)層沒有這些依賴關(guān)系。因此在前饋(feed-forward)層時可以并行執(zhí)行各種路徑。

然后我們將以一個更短的句子為例,看看編碼器的每個子層中發(fā)生了什么。

現(xiàn)在我們開始“編碼”

如上述已經(jīng)提到的,一個編碼器接收向量列表作為輸入,接著將向量列表中的向量傳遞到自注意力層進行處理,然后傳遞到前饋神經(jīng)網(wǎng)絡(luò)層中,將輸出結(jié)果傳遞到下一個編碼器中。

輸入序列的每個單詞都經(jīng)過自編碼過程。然后,他們各自通過前向傳播神經(jīng)網(wǎng)絡(luò)——完全相同的網(wǎng)絡(luò),而每個向量都分別通過它。

從宏觀視角看自注意力機制

不要被我用自注意力這個詞弄迷糊了,好像每個人都應(yīng)該熟悉這個概念。其實我之也沒有見過這個概念,直到讀到Attention is All You Need 這篇論文時才恍然大悟。讓我們精煉一下它的工作原理。

例如,下列句子是我們想要翻譯的輸入句子:

The animal didn't cross the street because it was too tired

這個“it”在這個句子是指什么呢?它指的是street還是這個animal呢?這對于人類來說是一個簡單的問題,但是對于算法則不是。

當模型處理這個單詞“it”的時候,自注意力機制會允許“it”與“animal”建立聯(lián)系。

隨著模型處理輸入序列的每個單詞,自注意力會關(guān)注整個輸入序列的所有單詞,幫助模型對本單詞更好地進行編碼。

如果你熟悉RNN(循環(huán)神經(jīng)網(wǎng)絡(luò)),回憶一下它是如何維持隱藏層的。RNN會將它已經(jīng)處理過的前面的所有單詞/向量的表示與它正在處理的當前單詞/向量結(jié)合起來。而自注意力機制會將所有相關(guān)單詞的理解融入到我們正在處理的單詞中。

當我們在編碼器#5(棧中最上層編碼器)中編碼“it”這個單詞的時,注意力機制的部分會去關(guān)注“The Animal”,將它的表示的一部分編入“it”的編碼中。

請務(wù)必檢查Tensor2Tensor notebook,在里面你可以下載一個Transformer模型,并用交互式可視化的方式來檢驗。

從微觀視角看自注意力機制

首先我們了解一下如何使用向量來計算自注意力,然后來看它實怎樣用矩陣來實現(xiàn)。

計算自注意力的第一步就是從每個編碼器的輸入向量(每個單詞的詞向量)中生成三個向量。也就是說對于每個單詞,我們創(chuàng)造一個查詢向量、一個鍵向量和一個值向量。這三個向量是通過詞嵌入與三個權(quán)重矩陣后相乘創(chuàng)建的。

可以發(fā)現(xiàn)這些新向量在維度上比詞嵌入向量更低。他們的維度是64,而詞嵌入和編碼器的輸入/輸出向量的維度是512. 但實際上不強求維度更小,這只是一種基于架構(gòu)上的選擇,它可以使多頭注意力(multiheaded attention)的大部分計算保持不變。

X1與WQ權(quán)重矩陣相乘得到q1, 就是與這個單詞相關(guān)的查詢向量。最終使得輸入序列的每個單詞的創(chuàng)建一個查詢向量、一個鍵向量和一個值向量。

什么是查詢向量、鍵向量和值向量向量?

它們都是有助于計算和理解注意力機制的抽象概念。請繼續(xù)閱讀下文的內(nèi)容,你就會知道每個向量在計算注意力機制中到底扮演什么樣的角色。

計算自注意力的第二步是計算得分。假設(shè)我們在為這個例子中的第一個詞“Thinking”計算自注意力向量,我們需要拿輸入句子中的每個單詞對“Thinking”打分。這些分數(shù)決定了在編碼單詞“Thinking”的過程中有多重視句子的其它部分。

這些分數(shù)是通過打分單詞(所有輸入句子的單詞)的鍵向量與“Thinking”的查詢向量相點積來計算的。所以如果我們是處理位置最靠前的詞的自注意力的話,第一個分數(shù)是q1和k1的點積,第二個分數(shù)是q1和k2的點積。

第三步和第四步是將分數(shù)除以8(8是論文中使用的鍵向量的維數(shù)64的平方根,這會讓梯度更穩(wěn)定。這里也可以使用其它值,8只是默認值),然后通過softmax傳遞結(jié)果。softmax的作用是使所有單詞的分數(shù)歸一化,得到的分數(shù)都是正值且和為1。

這個softmax分數(shù)決定了每個單詞對編碼當下位置(“Thinking”)的貢獻。顯然,已經(jīng)在這個位置上的單詞將獲得最高的softmax分數(shù),但有時關(guān)注另一個與當前單詞相關(guān)的單詞也會有幫助。

第五步是將每個值向量乘以softmax分數(shù)(這是為了準備之后將它們求和)。這里的直覺是希望關(guān)注語義上相關(guān)的單詞,并弱化不相關(guān)的單詞(例如,讓它們乘以0.001這樣的小數(shù))。

第六步是對加權(quán)值向量求和(譯注:自注意力的另一種解釋就是在編碼某個單詞時,就是將所有單詞的表示(值向量)進行加權(quán)求和,而權(quán)重是通過該詞的表示(鍵向量)與被編碼詞表示(查詢向量)的點積并通過softmax得到。),然后即得到自注意力層在該位置的輸出(在我們的例子中是對于第一個單詞)。

這樣自自注意力的計算就完成了。得到的向量就可以傳給前饋神經(jīng)網(wǎng)絡(luò)。然而實際中,這些計算是以矩陣形式完成的,以便算得更快。那我們接下來就看看如何用矩陣實現(xiàn)的。

通過矩陣運算實現(xiàn)自注意力機制

第一步是計算查詢矩陣、鍵矩陣和值矩陣。為此,我們將將輸入句子的詞嵌入裝進矩陣X中,將其乘以我們訓(xùn)練的權(quán)重矩陣(WQ,WK,WV)。

x矩陣中的每一行對應(yīng)于輸入句子中的一個單詞。我們再次看到詞嵌入向量 (512,或圖中的4個格子)和q/k/v向量(64,或圖中的3個格子)的大小差異。

最后,由于我們處理的是矩陣,我們可以將步驟2到步驟6合并為一個公式來計算自注意力層的輸出。

自注意力的矩陣運算形式

“大戰(zhàn)多頭怪”

通過增加一種叫做“多頭”注意力(“multi-headed” attention)的機制,論文進一步完善了自注意力層,并在兩方面提高了注意力層的性能:

1.它擴展了模型專注于不同位置的能力。在上面的例子中,雖然每個編碼都在z1中有或多或少的體現(xiàn),但是它可能被實際的單詞本身所支配。如果我們翻譯一個句子,比如“The animal didn’t cross the street because it was too tired”,我們會想知道“it”指的是哪個詞,這時模型的“多頭”注意機制會起到作用。

2.它給出了注意力層的多個“表示子空間”(representation subspaces)。接下來我們將看到,對于“多頭”注意機制,我們有多個查詢/鍵/值權(quán)重矩陣集(Transformer使用八個注意力頭,因此我們對于每個編碼器/解碼器有八個矩陣集合)。這些集合中的每一個都是隨機初始化的,在訓(xùn)練之后,每個集合都被用來將輸入詞嵌入(或來自較低編碼器/解碼器的向量)投影到不同的表示子空間中。

在“多頭”注意機制下,我們?yōu)槊總€頭保持獨立的查詢/鍵/值權(quán)重矩陣,從而產(chǎn)生不同的查詢/鍵/值矩陣。和之前一樣,我們拿X乘以WQ/WK/WV矩陣來產(chǎn)生查詢/鍵/值矩陣。

如果我們做與上述相同的自注意力計算,只需八次不同的權(quán)重矩陣運算,我們就會得到八個不同的Z矩陣。

這給我們帶來了一點挑戰(zhàn)。前饋層不需要8個矩陣,它只需要一個矩陣(由每一個單詞的表示向量組成)。所以我們需要一種方法把這八個矩陣壓縮成一個矩陣。那該怎么做?其實可以直接把這些矩陣拼接在一起,然后用一個附加的權(quán)重矩陣WO與它們相乘。

這幾乎就是多頭自注意力的全部。這確實有好多矩陣,我們試著把它們集中在一個圖片中,這樣可以一眼看清。

既然我們已經(jīng)摸到了注意力機制的這么多“頭”,那么讓我們重溫之前的例子,看看我們在例句中編碼“it”一詞時,不同的注意力“頭”集中在哪里:

當我們編碼“it”一詞時,一個注意力頭集中在“animal”上,而另一個則集中在“tired”上,從某種意義上說,模型對“it”一詞的表達在某種程度上是“animal”和“tired”的代表。

然而,如果我們把所有的attention都加到圖示里,事情就更難解釋了:

使用位置編碼表示序列的順序

到目前為止,我們對模型的描述缺少了一種理解輸入單詞順序的方法。

為了解決這個問題,Transformer為每個輸入的詞嵌入添加了一個向量。這些向量遵循模型學(xué)習到的特定模式,這有助于確定每個單詞的位置,或序列中不同單詞之間的距離。這里的直覺是,將位置向量添加到詞嵌入中使得它們在接下來的運算中,能夠更好地表達的詞與詞之間的距離。

為了讓模型理解單詞的順序,我們添加了位置編碼向量,這些向量的值遵循特定的模式。

如果我們假設(shè)詞嵌入的維數(shù)為4,則實際的位置編碼如下:

尺寸為4的迷你詞嵌入位置編碼實例

這個模式會是什么樣子?

在下圖中,每一行對應(yīng)一個詞向量的位置編碼,所以第一行對應(yīng)著輸入序列的第一個詞。每行包含512個值,每個值介于1和-1之間。我們已經(jīng)對它們進行了顏色編碼,所以圖案是可見的。

20字(行)的位置編碼實例,詞嵌入大小為512(列)。你可以看到它從中間分裂成兩半。這是因為左半部分的值由一個函數(shù)(使用正弦)生成,而右半部分由另一個函數(shù)(使用余弦)生成。然后將它們拼在一起而得到每一個位置編碼向量。

原始論文里描述了位置編碼的公式(第3.5節(jié))。你可以在get_timing_signal_1d()中看到生成位置編碼的代碼。這不是唯一可能的位置編碼方法。然而,它的優(yōu)點是能夠擴展到未知的序列長度(例如,當我們訓(xùn)練出的模型需要翻譯遠比訓(xùn)練集里的句子更長的句子時)。

殘差模塊

在繼續(xù)進行下去之前,我們需要提到一個編碼器架構(gòu)中的細節(jié):在每個編碼器中的每個子層(自注意力、前饋網(wǎng)絡(luò))的周圍都有一個殘差連接,并且都跟隨著一個“層-歸一化”步驟。

層-歸一化步驟:

https://arxiv.org/abs/1607.06450

如果我們?nèi)タ梢暬@些向量以及這個和自注意力相關(guān)聯(lián)的層-歸一化操作,那么看起來就像下面這張圖描述一樣:

解碼器的子層也是這樣樣的。如果我們想象一個2 層編碼-解碼結(jié)構(gòu)的transformer,它看起來會像下面這張圖一樣:

解碼組件

既然我們已經(jīng)談到了大部分編碼器的概念,那么我們基本上也就知道解碼器是如何工作的了。但最好還是看看解碼器的細節(jié)。

編碼器通過處理輸入序列開啟工作。頂端編碼器的輸出之后會變轉(zhuǎn)化為一個包含向量K(鍵向量)和V(值向量)的注意力向量集 。這些向量將被每個解碼器用于自身的“編碼-解碼注意力層”,而這些層可以幫助解碼器關(guān)注輸入序列哪些位置合適:

在完成編碼階段后,則開始解碼階段。解碼階段的每個步驟都會輸出一個輸出序列(在這個例子里,是英語翻譯的句子)的元素

接下來的步驟重復(fù)了這個過程,直到到達一個特殊的終止符號,它表示transformer的解碼器已經(jīng)完成了它的輸出。每個步驟的輸出在下一個時間步被提供給底端解碼器,并且就像編碼器之前做的那樣,這些解碼器會輸出它們的解碼結(jié)果 。另外,就像我們對編碼器的輸入所做的那樣,我們會嵌入并添加位置編碼給那些解碼器,來表示每個單詞的位置。

而那些解碼器中的自注意力層表現(xiàn)的模式與編碼器不同:在解碼器中,自注意力層只被允許處理輸出序列中更靠前的那些位置。在softmax步驟前,它會把后面的位置給隱去(把它們設(shè)為-inf)。

這個“編碼-解碼注意力層”工作方式基本就像多頭自注意力層一樣,只不過它是通過在它下面的層來創(chuàng)造查詢矩陣,并且從編碼器的輸出中取得鍵/值矩陣。

最終的線性變換和Softmax層

解碼組件最后會輸出一個實數(shù)向量。我們?nèi)绾伟迅↑c數(shù)變成一個單詞?這便是線性變換層要做的工作,它之后就是Softmax層。

線性變換層是一個簡單的全連接神經(jīng)網(wǎng)絡(luò),它可以把解碼組件產(chǎn)生的向量投射到一個比它大得多的、被稱作對數(shù)幾率(logits)的向量里。

不妨假設(shè)我們的模型從訓(xùn)練集中學(xué)習一萬個不同的英語單詞(我們模型的“輸出詞表”)。因此對數(shù)幾率向量為一萬個單元格長度的向量——每個單元格對應(yīng)某一個單詞的分數(shù)。

接下來的Softmax 層便會把那些分數(shù)變成概率(都為正數(shù)、上限1.0)。概率最高的單元格被選中,并且它對應(yīng)的單詞被作為這個時間步的輸出。

這張圖片從底部以解碼器組件產(chǎn)生的輸出向量開始。之后它會轉(zhuǎn)化出一個輸出單詞。

訓(xùn)練部分總結(jié)

既然我們已經(jīng)過了一遍完整的transformer的前向傳播過程,那我們就可以直觀感受一下它的訓(xùn)練過程。

在訓(xùn)練過程中,一個未經(jīng)訓(xùn)練的模型會通過一個完全一樣的前向傳播。但因為我們用有標記的訓(xùn)練集來訓(xùn)練它,所以我們可以用它的輸出去與真實的輸出做比較。

為了把這個流程可視化,不妨假設(shè)我們的輸出詞匯僅僅包含六個單詞:“a”, “am”, “i”, “thanks”, “student”以及 “”(end of sentence的縮寫形式)。

我們模型的輸出詞表在我們訓(xùn)練之前的預(yù)處理流程中就被設(shè)定好。

一旦我們定義了我們的輸出詞表,我們可以使用一個相同寬度的向量來表示我們詞匯表中的每一個單詞。這也被認為是一個one-hot 編碼。所以,我們可以用下面這個向量來表示單詞“am”:

例子:對我們輸出詞表的one-hot 編碼

接下來我們討論模型的損失函數(shù)——這是我們用來在訓(xùn)練過程中優(yōu)化的標準。通過它可以訓(xùn)練得到一個結(jié)果盡量準確的模型。

損失函數(shù)

比如說我們正在訓(xùn)練模型,現(xiàn)在是第一步,一個簡單的例子——把“merci”翻譯為“thanks”。

這意味著我們想要一個表示單詞“thanks”概率分布的輸出。但是因為這個模型還沒被訓(xùn)練好,所以不太可能現(xiàn)在就出現(xiàn)這個結(jié)果。

因為模型的參數(shù)(權(quán)重)都被隨機的生成,(未經(jīng)訓(xùn)練的)模型產(chǎn)生的概率分布在每個單元格/單詞里都賦予了隨機的數(shù)值。我們可以用真實的輸出來比較它,然后用反向傳播算法來略微調(diào)整所有模型的權(quán)重,生成更接近結(jié)果的輸出。

你會如何比較兩個概率分布呢?我們可以簡單地用其中一個減去另一個。更多細節(jié)請參考交叉熵和KL散度。

交叉熵:

https://colah.github.io/posts/2015-09-Visual-Information/

KL散度:

https://www.countbayesie.com/blog/2017/5/9/kullback-leibler-divergence-explained

但注意到這是一個過于簡化的例子。更現(xiàn)實的情況是處理一個句子。例如,輸入“je suis étudiant”并期望輸出是“i am a student”。那我們就希望我們的模型能夠成功地在這些情況下輸出概率分布:

每個概率分布被一個以詞表大?。ㄎ覀兊睦永锸?,但現(xiàn)實情況通常是3000或10000)為寬度的向量所代表。

第一個概率分布在與“i”關(guān)聯(lián)的單元格有最高的概率

第二個概率分布在與“am”關(guān)聯(lián)的單元格有最高的概率

以此類推,第五個輸出的分布表示“”關(guān)聯(lián)的單元格有最高的概率

依據(jù)例子訓(xùn)練模型得到的目標概率分布。

在一個足夠大的數(shù)據(jù)集上充分訓(xùn)練后,我們希望模型輸出的概率分布看起來像這個樣子:

我們期望訓(xùn)練過后,模型會輸出正確的翻譯。當然如果這段話完全來自訓(xùn)練集,它并不是一個很好的評估指標(參考:交叉驗證,鏈接https://www.youtube.com/watch?v=TIgfjmp-4BA)。注意到每個位置(詞)都得到了一點概率,即使它不太可能成為那個時間步的輸出——這是softmax的一個很有用的性質(zhì),它可以幫助模型訓(xùn)練。

因為這個模型一次只產(chǎn)生一個輸出,不妨假設(shè)這個模型只選擇概率最高的單詞,并把剩下的詞拋棄。這是其中一種方法(叫貪心解碼)。另一個完成這個任務(wù)的方法是留住概率最靠高的兩個單詞(例如I和a),那么在下一步里,跑模型兩次:其中一次假設(shè)第一個位置輸出是單詞“I”,而另一次假設(shè)第一個位置輸出是單詞“me”,并且無論哪個版本產(chǎn)生更少的誤差,都保留概率最高的兩個翻譯結(jié)果。然后我們?yōu)榈诙偷谌齻€位置重復(fù)這一步驟。這個方法被稱作集束搜索(beam search)。在我們的例子中,集束寬度是2(因為保留了2個集束的結(jié)果,如第一和第二個位置),并且最終也返回兩個集束的結(jié)果(top_beams也是2)。這些都是可以提前設(shè)定的參數(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6203

    瀏覽量

    106090
  • 機器翻譯
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    14953
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    808

    瀏覽量

    13380

原文標題:BERT大火卻不懂Transformer?讀這一篇就夠了

文章出處:【微信號:BigDataDigest,微信公眾號:大數(shù)據(jù)文摘】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Transformer做大模型預(yù)訓(xùn)練基本的并行范式

    并行(TP)。 的基本思想就是模型的參數(shù)縱向切開,放到不同的GPU上進行獨立計算,然后再做聚合。 在寫這篇文章的過程中,我發(fā)現(xiàn)要理解Megatron的大框架不難,但是涉及到細節(jié),特
    的頭像 發(fā)表于 05-31 14:38 ?2844次閱讀
    基于<b class='flag-5'>Transformer</b>做大<b class='flag-5'>模型</b>預(yù)訓(xùn)練基本的并行范式

    大語言模型:原理與工程時間+小白初識大語言模型

    解鎖 我理解的是基于深度學(xué)習,需要訓(xùn)練各種數(shù)據(jù)知識最后生成自己的的語言理解和能力的交互模型。 對于常說的RNN是處理短序列的數(shù)據(jù)時表現(xiàn)出色,耳真正厲害的是
    發(fā)表于 05-12 23:57

    【《大語言模型應(yīng)用指南》閱讀體驗】+ 基礎(chǔ)知識學(xué)習

    今天來學(xué)習大語言模型在自然語言理解方面的原理以及問答回復(fù)實現(xiàn)。 主要是基于深度學(xué)習和自然語言處理技術(shù)。 大語言模型涉及以下幾個過程: 數(shù)據(jù)收集:大語言
    發(fā)表于 08-02 11:03

    模型Transformer工作原理

    模型
    恬靜簡樸1
    發(fā)布于 :2023年07月18日 17:14:58

    深度學(xué)習模型是如何創(chuàng)建的?

    到準備模型,然后再在邊緣的嵌入式系統(tǒng)上運行。訓(xùn)練深度學(xué)習模型是過程的工作量和時間密集型部分,其中通過提供需要時間和
    發(fā)表于 10-27 06:34

    什么是串行通信?工作原理是什么?

    什么是串行通信?工作原理是什么?
    發(fā)表于 10-29 08:00

    你了解在單GPU上就可以運行的Transformer模型

    的鄰居:在深度學(xué)習中,注意力是一種機制,使網(wǎng)絡(luò)能夠根據(jù)上下文的不同部分與當前時間步長之間的相關(guān)性,將注意力集中在上下文的不同部分。transformer模型中存在三種注意機制:圖3:
    發(fā)表于 11-02 15:19

    觸摸屏的應(yīng)用與工作原理解

    觸摸屏的應(yīng)用與工作原理解
    發(fā)表于 02-08 02:13 ?38次下載

    使用跨界模型Transformer來做物體檢測!

    用了Transformer 架構(gòu)開發(fā)的一個目標檢測模型。在這篇文章中,我將通過分析DETR架構(gòu)的內(nèi)部工作方式來幫助提供一些關(guān)于的直覺。 下面,我將解釋一些結(jié)構(gòu),但是如果你只是想了解如
    的頭像 發(fā)表于 06-10 16:04 ?2276次閱讀
    使用跨界<b class='flag-5'>模型</b><b class='flag-5'>Transformer</b>來做物體檢測!

    微軟亞洲研究院Transformer深度提升到1000層

    本周論文包括尤洋團隊FastFold上線,訓(xùn)練時間從11天壓縮至67小時;微軟亞洲研究院直接 Transformer 深度提升到 1000 層等研究。
    的頭像 發(fā)表于 03-24 14:22 ?2176次閱讀

    基于transformer的編碼器-解碼器模型工作原理

    與基于 RNN 的編碼器-解碼器模型類似,基于 transformer 的編碼器-解碼器模型由一個編碼器和一個解碼器組成,且其編碼器和解碼器均由 殘差注意力模塊 (residual attention blocks) 堆疊而成。
    發(fā)表于 06-11 14:17 ?2387次閱讀
    基于<b class='flag-5'>transformer</b>的編碼器-解碼器<b class='flag-5'>模型</b>的<b class='flag-5'>工作原理</b>

    基于Transformer的大型語言模型(LLM)的內(nèi)部機制

    工作原理變得越來越重要。更好地理解這些模型是如何做出決策的,這對改進模型和減輕其故障(如幻覺或推理錯誤)至關(guān)重要。 眾所周知,最近 LLM 成功的一個重要因素是它們能夠從上下文中學(xué)習和
    的頭像 發(fā)表于 06-25 15:08 ?1579次閱讀
    基于<b class='flag-5'>Transformer</b>的大型語言<b class='flag-5'>模型</b>(LLM)的內(nèi)部機制

    BEV人工智能transformer

    BEV人工智能transformer? 人工智能Transformer技術(shù)是一種自然語言處理領(lǐng)域的重要技術(shù),廣泛應(yīng)用于自然語言理解、機器翻譯、文本分類等任務(wù)中。通過
    的頭像 發(fā)表于 08-22 15:59 ?902次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建Trans
    的頭像 發(fā)表于 07-02 11:41 ?1895次閱讀

    Transformer語言模型簡介與實現(xiàn)過程

    任務(wù),隨后迅速擴展到其他NLP任務(wù)中,如文本生成、語言理解、問答系統(tǒng)等。本文將詳細介紹Transformer語言模型的原理、特點、優(yōu)勢以及實現(xiàn)過程。
    的頭像 發(fā)表于 07-10 11:48 ?2123次閱讀