請說明fasttext各個層的作用
fasttext
的模型架構類似於
cbow
,兩種模型都是基於
hierarchical softmax
,都是三層架構:輸入層、
隱藏層、輸出層:
第一層是輸入層:
類似於cbow
的普通詞向量輸入層
cbow
的輸入是目標單詞的上下文,
fasttext
的輸入是多個單詞及其
n-gram
特徵,這些特徵用來表示單個文件;
cbow
的輸入單詞被
onehot
編碼過,
fasttext
的輸入特徵是被
embedding
過。輸出層將將輸入層中的詞和片語構成特徵向量,再將特徵向量通過線性變換對映到隱藏層。
第二層是隱含層:
隱藏層通過求解最大似然函式,然後根據每個類別的權重和模型引數構建
huffman
樹,將huffman
樹作為輸出。
第三層是輸出層
輸出是文件對應的類標。
簡述卷積神經網路中,卷積層,池化層,全連線層的一些作用
卷積神經網路由輸入層、卷積層、啟用函式、池化層、全連線層組成其中卷積層,池化層,全連線層的作用如下:
卷積層:用它來進行特徵提取,通常會使用多層卷積層來得到更深層次的特徵圖
池化層:對輸入的特徵圖進行壓縮,一方面使特徵圖變小,簡化網路計算複雜度;一方面進行特徵壓縮,提取主要特徵
。池化層往往在卷積層後面,通過池化來降低卷積層輸出的特徵向量,同時改善結果(不易出現過擬合)。
全連線層:連線所有的特徵,將輸出值送給分類器(如
softmax
分類器)。
卷積神經網路由輸入層、卷積層、啟用函式、池化層、全連線層組成其中卷積層,池化層,全連線層的作用如下:
卷積層:用它來進行特徵提取,通常會使用多層卷積層來得到更深層次的特徵圖。
池化層:對輸入的特徵圖進行壓縮,一方面使特徵圖變小,簡化網路計算複雜度;一方面進行特徵壓縮,提取主要特徵。池化層往往在卷積層後面,通過池化來降低卷積層輸出的特徵向量,同時改善結果(不易出現過擬合)。
全連線層:連線所有的特徵,將輸出值送給分類器(如
softmax
分類器)。
什麼是共軛先驗分布? 回答
: 在貝葉斯統計中,如果後驗分布與先驗分布屬於同類,則先驗分布與後驗分布被稱為共軛分布,而先驗分布被稱為似然函式的共軛先驗。比如,高斯分布家族在高斯似然函式下與其自身共軛
(自共軛)。
具體地說,就是給定貝葉斯公式
假定似然函式是已知的,問題就是選取什麼樣的先驗分布
會讓後驗分布與先驗分布具有相同的數學形式。共軛先驗的好處主要在於代數上的方便性,可以直接給出後驗分布的封閉形式,否則的話只能數值計算。共軛先驗也有助於獲得關於似然函式如何更新先驗分布的直觀印象。
所有指數家族的分布都有共軛先驗。
簡述seq2seq模型的encoder和decoder過程。
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...