NLP習題個人筆記1

2021-09-13 13:48:38 字數 4277 閱讀 6158

請說明fasttext各個層的作用

fasttext

的模型架構類似於

cbow

,兩種模型都是基於

hierarchical softmax

,都是三層架構:輸入層、

隱藏層、輸出層:

第一層是輸入層:

類似於cbow

的普通詞向量輸入層

cbow

的輸入是目標單詞的上下文,

fasttext

的輸入是多個單詞及其

n-gram

特徵,這些特徵用來表示單個文件;

cbow

的輸入單詞被

onehot

編碼過,

fasttext

的輸入特徵是被

embedding

過。輸出層將將輸入層中的詞和片語構成特徵向量,再將特徵向量通過線性變換對映到隱藏層。

第二層是隱含層:

隱藏層通過求解最大似然函式,然後根據每個類別的權重和模型引數構建

huffman

樹,將huffman

樹作為輸出。

第三層是輸出層

輸出是文件對應的類標。

簡述卷積神經網路中,卷積層,池化層,全連線層的一些作用

卷積神經網路由輸入層、卷積層、啟用函式、池化層、全連線層組成其中卷積層,池化層,全連線層的作用如下:

卷積層:用它來進行特徵提取,通常會使用多層卷積層來得到更深層次的特徵圖

池化層:對輸入的特徵圖進行壓縮,一方面使特徵圖變小,簡化網路計算複雜度;一方面進行特徵壓縮,提取主要特徵

​。池化層往往在卷積層後面,通過池化來降低卷積層輸出的特徵向量,同時改善結果(不易出現過擬合)。

全連線層:連線所有的特徵,將輸出值送給分類器(如

softmax

分類器)。

卷積神經網路由輸入層、卷積層、啟用函式、池化層、全連線層組成其中卷積層,池化層,全連線層的作用如下:

卷積層:用它來進行特徵提取,通常會使用多層卷積層來得到更深層次的特徵圖。

池化層:對輸入的特徵圖進行壓縮,一方面使特徵圖變小,簡化網路計算複雜度;一方面進行特徵壓縮,提取主要特徵。池化層往往在卷積層後面,通過池化來降低卷積層輸出的特徵向量,同時改善結果(不易出現過擬合)。

全連線層:連線所有的特徵,將輸出值送給分類器(如

softmax

分類器)。

什麼是共軛先驗分布? 回答

: 在貝葉斯統計中,如果後驗分布與先驗分布屬於同類,則先驗分布與後驗分布被稱為共軛分布,而先驗分布被稱為似然函式的共軛先驗。比如,高斯分布家族在高斯似然函式下與其自身共軛

(自共軛)。

具體地說,就是給定貝葉斯公式

假定似然函式是已知的,問題就是選取什麼樣的先驗分布

會讓後驗分布與先驗分布具有相同的數學形式。共軛先驗的好處主要在於代數上的方便性,可以直接給出後驗分布的封閉形式,否則的話只能數值計算。共軛先驗也有助於獲得關於似然函式如何更新先驗分布的直觀印象。

所有指數家族的分布都有共軛先驗。

簡述seq2seq模型的encoderdecoder過程。

seq2seq

模型的encoder

和decoder過程:

seq2seq

是乙個encoder–decoder

結構的網路,它的輸入是乙個序列,輸出也是乙個序列,

encoder

中將乙個可變長度的訊號序列變為固定長度的向量表達,

decoder

將這個固定長度的向量變成可變長度的目標的訊號序列。

編碼器處理輸入序列中的每個元素

(可能是1個詞

),將捕獲的資訊編譯成向量(稱為上下文內容向量)。在處理整個輸入序列之後,編碼器將上下文傳送到解碼器,解碼器逐項開始產生輸出序列。

輸入的資料

(文字序列

)中的每個元素(詞

)通常會被使用

word embedding

編碼成乙個稠密的向量。

encoder

和decoder

都會借助於迴圈神經網路

(rnn)

這類特殊的神經網路完成,迴圈神經網路會接受每個位置

(時間點

)上的輸入,同時經過處理進行資訊融合,並可能會在某些位置

(時間點

)上輸出。

考慮到提公升效果,通常我們不會寄希望於把所有的內容都放到乙個上下文向量

(context vector)

中,而是會採用乙個叫做注意力模型的模型來動態處理和解碼。注意力機制,是乙個在解碼階段,簡單地對編碼器中的

hidden states

進行不同權重的加權處理的過程,該機制可以使模型學習源語言和目標語言之間詞和詞對齊關係。

簡要說明詩詞生成案例的流程

從gtihub

構建乙個語言模型的網路結構。

通過語言模型將詩歌以字為粒度進行輸入。

step 1

import random os numpy

和keras

相關包

step 2

讀取詩歌內容,觀察內容的格式:

xx:***xx,***xx,***xx,***xx。

step 3

定義配置類

其中定義了訓練資料的路徑,開啟訓練素材後進行分詞,詩的正文中冒號部分就是詩的正文,通過乙個規則,每一句後面是不是逗號來進行分詞。過濾出五言絕句除掉髒資料。

統計字頻,統計字頻,字頻超過兩個才留下來,否則過濾掉。

構建乙個字典,可以實現idß

à字典的相互的對映。(如果要人能看得懂就要實現這個對映結構)如果判斷是否有預訓練的模型,有預訓練的模型就載入預訓練模型,沒有的話就訓練模型。

構建語言模型,對每個時間點送來的資料,模型獲取輸出後進行

softmax

分類,判斷下乙個輸出的字應該是什麼字,把文字輸入進來經過乙個

hidden state

為512

維的lstm

處理。後面接乙個隨機失活函式

dropout

,再接乙個

lstm

,再接乙個

dropout

,最後做乙個多分類,類的數量是詩句中字的個數。 頭是

input_tensor(輸入)

,輸出是

dense

,優化器選擇

adam optimizer,

編譯模型,使用交叉熵損失作為

loss

,使用』accuracy』

作為metrics

選項的引數。

temperature的作用:由於作詩是一種創作,會希望有一種多樣性在模型中得到體現,使用

temperature

來控制創作的自由度,以一定的概率來取概率值最高的結果。以一定的概率取剩下的一些字。當

temperature<1.0

時,模型會做一些隨機探索,輸出相對比較新的內容,當

temperature>1.0

時,模型預估方式偏保守)

(外部不可以呼叫的函式在前面用下劃線表示)

預估函式,

4種預估方式,

1:隨機切片取出隨機一首詩的前五個字生成五言絕句。

2:根據給出的首個文字,生成五言絕句

.3:根據給出的前

max_len

個字,生成詩句.4

:根據給

4個字,生成藏頭詩五言絕句

生成資料函式,編寫

data_generator

方法作為生成器生成資料。會不斷產生輸入的向量。每次一批一批丟擲訓練用的資料

編寫訓練函式:此處指定模型的重要引數,設定檢查點定期儲存模型

step 4

:訓練或預載入模型

step 5

:生成**

作業系統學習 練習題個人總結(九)

作業系統學習 練習題個人總結 九 一 第一節 檔案系統基本概念 課前測試 正確知識點總結 在linux中,乙個源程式經過編譯之後得到的可執行檔案屬於 普通檔案 檔案系統的最基本目的是 實現對檔案的 按名訪問 在檔案系統中可命名的最小資料單位是資料項,使用者以記錄為單位對檔案進行訪問 檢索等。補充 檔...

2016XTU演算法專題個人賽1 題解

題意 n個團隊,每個團隊1 4人,搭可以坐4人的車,每個團隊的人必須在同一輛車上,問最少需要多少輛車?解法 4人團隊每個一輛車 1個3人團隊 1個1人團隊拼一輛 2人團隊每2個一輛車,單出的和2個1人團隊拼 剩下的1人團隊4個拼一輛。題意 給出一些閉區間,把它們合併,要求合併成的區間數量最少,並按公...

演算法導論 第三章 函式的增長 3 2習題個人解答

3.2 1 證明 若f n 和g n 是單調遞增的函式,則f n g n 也是單調遞增的,此外,若f n 和g n 是非負的,則f n g n 也是單調遞增的.證 1.取任意實數m n,總有 f m g m f n g n 0,故它是單調遞增的.2.取任意實數m n,l 若f m f n g m g...