第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

沒有所有連接的神經(jīng)網(wǎng)絡(luò)層

沒有所有連接的神經(jīng)網(wǎng)絡(luò)層

大話西游666 2023-08-08 10:55:08
神經(jīng)網(wǎng)絡(luò)密集層中的權(quán)重是一個 (n,d) 矩陣,我想強制其中一些權(quán)重始終為零。我有另一個 (n,d) 矩陣,它是其條目可以非零的掩碼。這個想法是,該層不應(yīng)該是真正密集的,而是缺少一些連接(即等于 0)。在使用 PyTorch(或 Tensorflow)訓(xùn)練時如何實現(xiàn)這一目標(biāo)?我不希望這些權(quán)重在訓(xùn)練時變得非零。一種方法(如果不直接支持)是在每次訓(xùn)練迭代后將所需的條目清零。
查看完整描述

2 回答

?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

您可以利用 pytorch 的稀疏數(shù)據(jù)類型:


class SparseLinear(nn.Module):

? def __init__(self, in_features, out_features, sparse_indices):

? ? super(SparseLinear, self).__init__()

? ? self.weight = nn.Parameter(data=torch.sparse.FloatTensor(sparse_indices, torch.randn(sparse_indices.shape[1]), [in_features, out_features]), requires_grad=True)

? ? self.bias = nn.Parameter(data=torch.randn(out_features), requires_grad=True)


? def forward(self, x):

? ? return torch.sparse.admm(self.bias, self.weight, x, 1., 1.)


查看完整回答
反對 回復(fù) 2023-08-08
?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

我假設(shè)您想使用密集張量來實現(xiàn)這種稀疏連接層。如果是這樣,您可以將要屏蔽(無連接)的元素的屏蔽矩陣(張量)定義為 0.0,否則為 1.0。在前向傳遞中,您可以簡單地將權(quán)重張量與掩碼張量相乘(您想要采用逐元素乘積,這是您在 PyTorch 中使用 * 運算符時的默認(rèn)值),然后再與輸入進行矩陣乘法對于你的稀疏層。

為了使其正常工作,您必須確保您的掩模張量沒有收到梯度,否則它會在您訓(xùn)練模型時更新并變得無效。為此,您只需requires_grad=False在創(chuàng)建掩模張量時進行設(shè)置。


查看完整回答
反對 回復(fù) 2023-08-08
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號