系統學習NLP(二十八) GPT

2021-10-01 05:18:41 字數 1366 閱讀 3784

**:improving language understandingby generative pre-training

本文對2023年openai提出的**《improving language understandingby generative pre-training》做乙個解析。

乙個對文字有效的抽象方法可以減輕nlp對監督學習的依賴。大多數深度學習方法大量的人工標註資訊,這限制了在很多領域的應用。在這些情況下,可以利用來未標記資料的語言資訊的模型來產生更多的注釋,這可能既耗時又昂貴。此外,即使在可獲得相當大的監督的情況下,以無人監督的方式學習良好的表示也可以提供顯著的效能提公升。到目前為止,最引人注目的證據是廣泛使用預訓練詞嵌入來提高一系列nlp任務的效能。

本文提出一種半監督的方式來處理語言理解的任務。使用非監督的預訓練和監督方式的微調。我們的目標是學習乙個通用的語言標示,可以經過很小的調整就應用在各種任務中。這個模型的設定不需要目標任務和非標註的資料集在同乙個領域。模型有兩個過程。

使用語言模型學習乙個深度模型

隨後,使用相應的監督目標將這些引數調整到目標任務

處理非監督文字(?1,?2,...,??)的普通方法是用語言模型去最大化語言模型的極大似然。

文章中使用的是多層transformer的decoder的語言模型,還是多個訓練單詞**序列中的下乙個單詞。這個多層的結構應用multi-headed self-attention在處理輸入的文字加上位置資訊的前饋網路,輸出是詞的概念分布。

這個階段要對前乙個階段模型的引數,根據監督任務進行調整。我們假設有標籤資料集?,裡面的結構是(?1,?2,...,??,?)。輸入(?1,?2,...,??)經過我們預訓練的模型獲得輸出向量ℎ??,然後經過線性層和softmax來**標籤。

我們增加了語言模型去輔助微調,提高了監督模型的結果。最後的損失函式可以標示為

模型結構如下:

對於有些任務,像文字分類,我們能夠直接用上文的模型進行微調。另外的任務,問答系統,需要構造輸入的句子對,或者三個文件。由於我們的預訓練模型需要連續的文字序列,我們需要改變這種多句文字的輸入。

相似度:對於相似度的問題,由於沒有文字內部的先後順序。我們可以有兩個輸入????1$????2和????2$????1,輸出的表示向量在加起來。

問答系統:有???????和??????1,...,???????,我們可以組合成?個???????$???????輸入,獲得n個輸出,在通過linear後softmax出概率分布。

**中介紹了一通過預訓練學習和有針對性的微調的個強有力的框架。通過預訓練是不同的長文字連續的資料集,模型能夠有能力去處理長而廣的依賴關係,這個是解決問答系統、語義相似度、文字分類中的關鍵點。

CUDA學習(二十八)

多處理器級別 在更低層次上,應用程式應該最大化多處理器內各個功能單元之間的並行執行 如 硬體多執行緒 中所述,gpu多處理器依賴於執行緒級並行性來最大限度地利用其功能單元。因此利用率與駐留經線的數量直接相關。在每個指令發布時間,乙個warp排程器選擇乙個準備好執行下乙個指令的warp 如果有的話 然...

JAVA學習總結二十八

meta標籤 告訴搜尋引擎你的站點的主要內容 設定網頁編碼集定時讓網頁在制定的時間n內,跳轉到頁面http yourlink 表單元素 input select textarea 多行文字注意 層疊樣式表的含義是 如果有多個規則來描述同乙個元素,那麼會根據樣式表的優先順序,來決定最終顯示什麼樣式。m...

系統學習NLP(二十六) NBSVM

baselines and bigrams good sentiment and topic classification 參考 跟原文有一定差異,理解不一致。樸素貝葉斯 bayes,nb 和支援向量機 support vector machines,svm 的變體常被用作文字分類的基線方法,但它們...