一類是模型無法得到較低的訓練誤差,我們將這一現象稱作欠擬合(underfitting);另一類是模型的訓練誤差遠小於它在測試資料集上的誤差,我們稱該現象為過擬合(overfitting)。 在實踐中,我們要盡可能同時應對欠擬合和過擬合。雖然有很多因素可能導致這兩種擬合問題,在這裡我們重點討論兩個因素:模型複雜度和訓練資料集大小。
模型複雜度過低可能會引起欠擬合,複雜度過高可能會引起過擬合,一般來說,如果訓練資料集中樣本數過少,特別是比模型引數數量(按元素計)更少時,過擬合更容易發生。此外,泛化誤差不會隨訓練資料集裡樣本數量增加而增大。因此,在計算資源允許的範圍之內,我們通常希望訓練資料集大一些,特別是在模型複雜度較高時,例如層數較多的深度學習模型。
權重衰減:權重衰減等價於 l2 範數正則化(regularization)。正則化通過為模型損失函式新增懲罰項使學出的模型引數值較小,是應對過擬合的常用手段。
丟棄法:由於在訓練中隱藏層神經元的丟棄是隨機的,即h1,…,h5都有可能被清零,輸出層的計算無法過度依賴h1,…,h5中的任乙個,從而在訓練模型時起到正則化的作用,並可以用來應對過擬合。在測試模型時,我們為了拿到更加確定性的結果,一般不使用丟棄法。
當神經網路的層數較多時,模型的數值穩定性容易變差。
協概念偏移、標籤偏移、概念偏移
rnn存在的問題:梯度較容易出現衰減或**(bptt)
⻔控迴圈神經⽹絡:捕捉時間序列中時間步距離較⼤的依賴關係
gru:
重置⻔有助於捕捉時間序列⾥短期的依賴關係;
更新⻔有助於捕捉時間序列⾥⻓期的依賴關係。
lstm:
長短期記憶long short-term memory :
遺忘門:控制上一時間步的記憶細胞 輸入門:控制當前時間步的輸入
輸出門:控制從記憶細胞到隱藏狀態
記憶細胞:⼀種特殊的隱藏狀態的資訊的流動
深度迴圈神經網路
雙向迴圈神經網路
機器翻譯(mt):將一段文字從一種語言自動翻譯為另一種語言,用神經網路解決這個問題通常稱為神經機器翻譯(nmt)。 主要特徵:輸出是單詞序列而不是單個單詞。 輸出序列的長度可能與源序列的長度不同。
資料預處理:將資料集清洗、轉化為神經網路的輸入minbatch
分詞:字串—單詞組成的列表
建立詞典:單詞組成的列表—單詞id組成的列表
載入資料
encoder-decoder:
encoder:輸入到隱藏狀態
decoder:隱藏狀態到輸出
sequence to sequence模型
beam search
維特比演算法:選擇整體分數最高的句子(搜尋空間太大) 集束搜尋
注意力機制
在seq2seq模型中,解碼器只能隱式地從編碼器的最終狀態中選擇相應的資訊。然而,注意力機制可以將這種選擇過程顯式地建模。
attention 是一種通用的帶權池化方法,輸入由兩部分構成:詢問(query)和鍵值對(key-value pairs)。??∈ℝ??,??∈ℝ??. query ?∈ℝ?? , attention layer得到輸出與value的維度一致 ?∈ℝ??. 對於乙個query來說,attention layer 會與每乙個key計算注意力分數並進行權重的歸一化,輸出的向量o則是value的加權求和,而每個key計算的權重與value一一對應。不同的attetion layer的區別在於score函式的選擇。
點積注意力
the dot product 假設query和keys有相同的維度, 即 ∀i,?,??∈ℝ?. 通過計算query和key轉置的乘積來計算attention score,通常還會除去 d 減少計算出來的score對維度?的依賴性。
多層感知機注意力
注意力層顯式地選擇相關的資訊。注意層的記憶體由鍵-值對組成,因此它的輸出接近於鍵類似於查詢的值。
cnns 易於並行化,卻不適合捕捉變長序列內的依賴關係。
rnns 適合捕捉長距離變長序列的依賴,但是卻難以實現並行化處理序列。
為了整合cnn和rnn的優勢,該模型利用attention機制實現了並行化捕捉序列依賴,並且同時處理序列的每個位置的tokens,上述優勢使得transformer模型在效能優異的同時大大減少了訓練時間。
多頭注意力層:
自注意力模型是乙個正規的注意力模型,序列的每乙個元素對應的key,value,query是完全一致的。與迴圈神經網路相比,自注意力對每個元素輸出的計算是並行的,所以我們可以高效的實現這個模組。
基於位置的前饋網路:
transformer 模組另乙個非常重要的部分就是基於位置的前饋網路(ffn),它接受乙個形狀為(batch_size,seq_length, feature_size)的三維張量。position-wise ffn由兩個全連線層組成,他們作用在最後一維上。因為序列的每個位置的狀態都會被單獨地更新,所以我們稱他為position-wise,這等效於乙個1x1的卷積。
二維互相關運算:二維互相關(cross-correlation)運算的輸入是乙個二維輸入陣列和乙個二維核(kernel)陣列,輸出也是乙個二維陣列,其中核陣列通常稱為卷積核或過濾器(filter)。
二維卷積層:二維卷積層將輸入和卷積核做互相關運算,並加上乙個標量偏置來得到輸出。卷積層的模型引數包括卷積核和標量偏置。
填充和步幅:我們介紹卷積層的兩個超引數,即填充和步幅,它們可以對給定形狀的輸入和卷積核改變輸出形狀。
多輸入通道和多輸出通道:之前的輸入和輸出都是二維陣列,但真實資料的維度經常更高。例如,彩色影象在高和寬2個維度外還有rgb(紅、綠、藍)3個顏色通道。假設彩色影象的高和寬分別是h和w(畫素),那麼它可以表示為乙個3×h×w的多維陣列,我們將大小為3的這一維稱為通道(channel)維。
二維卷積層經常用於處理影象,與此前的全連線層相比,它主要有兩個優勢:一是全連線層把影象展平成乙個向量,在輸入影象上相鄰的元素可能因為展平操作不再相鄰,網路難以捕捉區域性資訊。而卷積層的設計,天然地具有提取區域性資訊的能力。二是卷積層的參數量更少。不考慮偏置的情況下,乙個形狀為(ci,co,h,w)的卷積核的參數量是ci×co×h×w,與輸入影象的寬高無關。假如乙個卷積層的輸入和輸出形狀分別是(c1,h1,w1)和(c2,h2,w2),如果要用全連線層進行連線,引數數量就是c1×c2×h1×w1×h2×w2。使用卷積層可以以較少的引數數量來處理更大的影象。
Datawhale組隊學習Pandas
下面直接展示內聯 片。備註內容為學習後的感想與總結 author xuxt time 2020 12 14l def my func x return 2 x for i in range 5 l.my func i print l 定義 我的函式 輸入x,返回,2x,即輸入1,2,3,4,5可以得...
元組 datawhale組隊學習python基礎
元組 定義語法為 元素1,元素2,元素n 與列表不同,元組是 列表是。t1 1 10.31 python t2 1,10.31 python print t1,type t1 1,10.31,python print t2,type t2 1,10.31,python tuple1 1 2,3 4,...
Datawhale組隊學習 Task01 02
這兩天主要學習的內容如下 task01 線性回歸 softmax與分類模型 多層感知機 1天 task02 文字預處理 語言模型 迴圈神經網路基礎 1天 num epochs 3for epoch in range 1 num epochs 1 for x,y in data iter output...