動手深度學習(1)

(1)假如你正在實現一個全連接層,全連接層的輸入形狀是7×8,輸出形狀是7×1,其中7是批量大小,則權重參數ww和偏置參數bb的形狀分別是8x1和1x1.。
在這裏插入圖片描述
單個神經元實例

(2)

課程中的損失函數定義爲:

def squared_loss(y_hat, y):

return (y_hat - y.view(y_hat.size())) ** 2 / 2

將返回結果替換爲下面的哪一個會導致會導致模型無法訓練:(B)

A.(y_hat.view(-1) - y) ** 2 / 2

B.(y_hat - y.view(-1)) ** 2 / 2

C.(y_hat - y.view(y_hat.shape)) ** 2 / 2

D.(y_hat - y.view(-1, 1)) ** 2 / 2

y_hat的形狀是[n, 1],而y的形狀是[n],兩者相減得到的結果的形狀是[n, n],相當於用y_hat的每一個元素分別減去y的所有元素,所以無法得到正確的損失值。對於第一個選項,y_hat.view(-1)的形狀是[n],與y一致,可以相減;對於第二個選項,y.view(-1)的形狀仍是[n],所以沒有解決問題;對於第三個選項和第四個選項,y.view(y_hat.shape)和y.view(-1, 1)的形狀都是[n, 1],與y_hat一致,可以相減。

(3)softmax([100, 101, 102])的結果等於以下的哪一項(C)

softmax([10.0, 10.1, 10.2])
softmax([-100, -101, -102])
softmax([-2 -1, 0])
softmax([1000, 1010, 1020])

softmax
(4)在剛開始訓練時,訓練數據集上的準確率低於測試數據集上的準確率,原因是:(C)

A:模型參數是在訓練集上進行訓練的,可能陷入了過擬合(過擬合會造成訓練集準確率遠比測試集好)
B:訓練集的樣本容量更大,要提高準確率更難
C:訓練集上的準確率是在一個epoch的過程中計算得到的,測試集上的準確率是在一個epoch結束後計算得到的,後者的模型參數更優

欠擬合(高偏差,低方差)與過擬合(低偏差,高方差)的圖
欠擬合(高偏差,低方差)與過擬合(低偏差,高方差)

(5)關於激活函數,以下說法中錯誤的是(B)

A:在多層感知機中引入激活函數的原因是,將多個無激活函數的線性層疊加起來,其表達能力與單個線性層相同
B:tanh可以由sigmoid平移伸縮得到,所以兩者沒有區別
C:相較於sigmoid和tanh,Relu的主要優勢是計算效率高且不會出現梯度消失問題
D:如果我們需要網絡輸出範圍是[0,1][0,1],可以考慮使用sigmoid函數

優點
對比sigmoid和tanh兩者導數輸出可知,tanh函數的導數比sigmoid函數導數值更大,即梯度變化更快,也就是在訓練過程中收斂速度更快。
輸出範圍爲-1到1之間,這樣可以使得輸出均值爲0,這個性質可以提高BP訓練的效率,
將線性函數轉變爲非線性函數
缺點:
冪運算相對來講比較耗時

文本:

文本預處理
文本是一類序列數據,一篇文章可以看作是字符或單詞的序列,本節將介紹文本數據的常見預處理步驟,預處理通常包括四個步驟:

讀入文本
分詞 (我們對每個句子進行分詞,也就是將一個句子劃分成若干個詞(token),轉換爲一個詞的序列。)
建立字典,將每個詞映射到一個唯一的索引(index) (爲了方便模型處理,我們需要將字符串轉換爲數字。因此我們需要先構建一個字典(vocabulary),將每個詞映射到一個唯一的索引編號。)
將文本從詞的序列轉換爲索引的序列,方便輸入模型(使用字典,我們可以將原文本中的句子從單詞序列轉換爲索引序列)

(6)下列哪一項不是構建Vocab類所必須的步驟:(B)(句子長度統計與構建字典無關)

A:詞頻統計,清洗低頻詞
B:句子長度統計
C:構建索引到token的映射
D:構建token到索引的映射

(7)無論use_special_token參數是否爲真,都會使用的特殊token是____,作用是用來____。(A)

A:<pad,在小批量中數據不等長時做填充
B: <bos,標記句子的開始
C: <eos,標記句子的結束
D:<unk,表示未登錄詞

TF-IDF理論

詞袋模型
把每篇文章看成一個詞袋,忽略單詞順序,每篇文章表示一個長向量,每一維就是一個單詞,權重表示這個單詞在文章中的重要程度。TF-IDF用來表示權重。
TF-IDF(t,d)=TF(t,d)xIDF(t)
TF(t,d) 表示單詞t在文檔d中出現的頻率,
IDF(t) 表示逆文檔頻率,衡量單詞t對錶達語義的重要性程度。
IDF(t)=logt+1  IDF(t)=log\frac{文章總數}{包含單詞t的文章總數+1}\
如果t在多篇文章中均有出現,那麼他對於區分文章語義貢獻較小,因此權重需要做一定的懲罰。
N-gram模型
將連續出現的n個單詞組成的詞組(N-gram)作爲一個單獨的特徵放到向量表示中的模型。

詞嵌入

詞嵌入是一類將詞向量化的模型的統稱,核心思想是把每個詞都映射到低維空間上的一個稠密向量。K維空間的每一維可以看作一個隱含的主題。
詞嵌入將每個詞映射成一個K維向量,一篇文章N個詞,可以用NxK維的矩陣表示這篇文章。
Word2Vec
Word2Vec&Doc2Vec總結 - Magician的博客 .
Word2Vec是一種淺層的神經網絡模型,有兩種網絡結構。分別是CBOW和Skip-gram。
CBOW的目標是根據上下文出現的詞語預測當前詞出現的概率。Skip-gram是根據當前詞預測上下文中各詞的生成概率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章