婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Pytorch 如何實(shí)現(xiàn)常用正則化

Pytorch 如何實(shí)現(xiàn)常用正則化

熱門標(biāo)簽:開(kāi)封語(yǔ)音外呼系統(tǒng)代理商 400電話辦理哪種 開(kāi)封自動(dòng)外呼系統(tǒng)怎么收費(fèi) 電銷機(jī)器人的風(fēng)險(xiǎn) 河北防封卡電銷卡 天津電話機(jī)器人公司 地圖標(biāo)注線上如何操作 手機(jī)網(wǎng)頁(yè)嵌入地圖標(biāo)注位置 應(yīng)電話機(jī)器人打電話違法嗎

Stochastic Depth

論文:Deep Networks with Stochastic Depth

本文的正則化針對(duì)于ResNet中的殘差結(jié)構(gòu),類似于dropout的原理,訓(xùn)練時(shí)對(duì)模塊進(jìn)行隨機(jī)的刪除,從而提升模型的泛化能力。

對(duì)于上述的ResNet網(wǎng)絡(luò),模塊越在后面被drop掉的概率越大。

作者直覺(jué)上認(rèn)為前期提取的低階特征會(huì)被用于后面的層。

第一個(gè)模塊保留的概率為1,之后保留概率隨著深度線性遞減。

對(duì)一個(gè)模塊的drop函數(shù)可以采用如下的方式實(shí)現(xiàn):

def drop_connect(inputs, p, training):
    """ Drop connect. """
    if not training: return inputs # 測(cè)試階段
    batch_size = inputs.shape[0]
    keep_prob = 1 - p
    random_tensor = keep_prob
    random_tensor += torch.rand([batch_size, 1, 1, 1], dtype=inputs.dtype, device=inputs.device)
    # 以樣本為單位生成模塊是否被drop的01向量
    binary_tensor = torch.floor(random_tensor) 
    # 因?yàn)樵酵笤饺菀妆籨rop,所以沒(méi)有被drop的值就要通過(guò)除keep_prob來(lái)放大
    output = inputs / keep_prob * binary_tensor
    return output

在Pytorch建立的Module類中,具有forward函數(shù)

可以在forward函數(shù)中進(jìn)行drop:

def forward(self, x):
 x=...
 if stride == 1 and in_planes == out_planes:
        if drop_connect_rate:
            x = drop_connect(x, p=drop_connect_rate, training=self.training)
        x = x + inputs  # skip connection
    return x

主函數(shù):

for idx, block in enumerate(self._blocks):
    drop_connect_rate = self._global_params.drop_connect_rate
    if drop_connect_rate:
        drop_connect_rate *= float(idx) / len(self._blocks)
    x = block(x, drop_connect_rate=drop_connect_rate)

補(bǔ)充:pytorch中的L2正則化實(shí)現(xiàn)方法

搭建神經(jīng)網(wǎng)絡(luò)時(shí)需要使用L2正則化等操作來(lái)防止過(guò)擬合,而pytorch不像TensorFlow能在任意卷積函數(shù)中添加L2正則化的超參,那怎么在pytorch中實(shí)現(xiàn)L2正則化呢?

方法如下:超級(jí)簡(jiǎn)單!

optimizer = torch.optim.Adam(net.parameters(), lr=0.001, weight_decay=5.0)

torch.optim.Adam()參數(shù)中的 weight_decay=5.0 即為L(zhǎng)2正則化(只是pytorch換了名字),其數(shù)值即為L(zhǎng)2正則化的懲罰系數(shù),一般設(shè)置為1、5、10(根據(jù)需要設(shè)置,默認(rèn)為0,不使用L2正則化)。

注:

pytorch中的優(yōu)化函數(shù)L2正則化默認(rèn)對(duì)所有網(wǎng)絡(luò)參數(shù)進(jìn)行懲罰,且只能實(shí)現(xiàn)L2正則化,如需只懲罰指定網(wǎng)絡(luò)層參數(shù)或采用L1正則化,只能自己定義。。。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法
  • Pytorch中的數(shù)據(jù)集劃分&正則化方法
  • PyTorch 實(shí)現(xiàn)L2正則化以及Dropout的操作
  • Python深度學(xué)習(xí)pyTorch權(quán)重衰減與L2范數(shù)正則化解析

標(biāo)簽:山東 六盤水 江蘇 宿遷 蘭州 常州 成都 駐馬店

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pytorch 如何實(shí)現(xiàn)常用正則化》,本文關(guān)鍵詞  Pytorch,如何,實(shí)現(xiàn),常用,正則,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Pytorch 如何實(shí)現(xiàn)常用正則化》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Pytorch 如何實(shí)現(xiàn)常用正則化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿荣旗| 延吉市| 涟源市| 连山| 土默特右旗| 衡阳市| 南平市| 从江县| 安阳县| 政和县| 石首市| 中方县| 铜山县| 普洱| 磐石市| 金华市| 南岸区| 建德市| 大足县| 潼南县| 博野县| 大宁县| 昔阳县| 华容县| 得荣县| 潮安县| 萍乡市| 霍城县| 会东县| 宣化县| 江永县| 志丹县| 松原市| 通山县| 米泉市| 班玛县| 普定县| 泰安市| 奉贤区| 烟台市| 鄱阳县|