神經網路 mask的作用

2021-09-28 20:41:22 字數 644 閱讀 6690

對句子填補之後, 就要輸入到embedding層中, 將token由id轉換成對應的vector. 我們希望被填補的0值在後續的計算中不產生影響, 就可以在初始化embedding層時指定引數mask_zero為true, 意思就是遮蔽0值, 即填補的0值。

在embedding層中的compute_mask方法中, 會計算得到mask矩陣. 雖然在embedding層中不會使用這個mask矩陣, 即0值還是會根據其對應的向量進行查詢, 但是這個mask矩陣會被傳入到下一層中, 如果下一層, 或之後的層會對mask進行考慮, 那就會起到對應的作用。

在句子前面或者後面補0. 但是這些零是我們不需要的, 只是為了組成可以計算的結構才填補的. 因此計算過程中, 我們希望用mask的思想, 在計算中, 遮蔽這些填補0值得作用,下面就是我的專案中使用的mask。

def

make_mask

(self, feature)

:return

(torch.

sum(

torch.

abs(feature)

, dim=-1

)==0)

.unsqueeze(1)

.unsqueeze(

2)

神經網路的基本作用

1.損失函式 均方誤差是回歸任務中最常用的效能度量,因此我們可試圖讓均方誤差最小化。2.啟用函式 啟用函式又稱非線性對映,顧名思義,啟用函式的引入是為了增加整個網路的表達能力 即非線性 若干線性操作層的堆疊仍然只能起到線性對映的作用,無法形成複雜的函式。3.卷積運算 卷積是一種有效的特徵提取方法。卷...

神經網路各個部分的作用 徹底理解神經網路

這些題目來自知識星球 cv技術指南 免費版 的日常作業 專注於計算機視覺的技術總結 最新技術跟蹤 經典 解讀 cv招聘資訊。我們說的網路越深,模型效果越好,指的是可訓練引數越多,模型的特徵提取能力或表示能力更好。因此,神經網路的層數只與可訓練引數的層數有關,層數等於卷積層 全連線層數量。bn層 池化...

神經網路驗證集的作用 卷積神經網路的程式設計

每乙個epoch所有的樣本都訓練一次。最大的迴圈,迴圈訓練集所有樣本數量 訓練集每次選取batch大小的樣本數量進行訓練後更新權值。訓練集中選出batch大小樣本數量 每乙個迭代次數更新一次權值。訓練集 前向傳播求得損失函式 反向傳播利用損失函式更新神經網路引數的權值。驗證集和測試集只需要進行前向傳...