日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Res2Net: A New Multi-scale Backbone Architecture

發布時間:2023/12/20 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Res2Net: A New Multi-scale Backbone Architecture 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文鏈接:https://arxiv.org/abs/1904.01169

一、Res2Net Module
本論文所提出的結構如上圖中的右側
與現有的增強cnn多層多尺度表示強度的方法不同,本論文在更細粒度的級別上改進了多尺度表示能力。與一些并行工作利用不同分辨率的特征提高多尺度能力不同,本論文提出的多尺度是指更細粒度的多個可用接受域。為了實現這一目標,用一組更小的卷積,取代的n通道的3×3 卷積(為了不失去普遍性,使用n = s×w),如上圖所示,這些更小的卷積組連接在一個分層的類殘差結構中來增加可以代表的尺度輸出特性。具體來說,將輸入特征圖分成幾組。一組卷積首先從一組輸入特征圖中提取特征。前一組的輸出特征和另一組輸入特征圖一起發送到下一組卷積。這個過程重復幾次,直到所有的輸入特征圖都得到處理。最后,將所有組的feature map串接并發送到另一組1 × 1卷積中,進行信息融合。隨著輸入特征轉換為輸出特征的任何可能路徑,當它通過3 × 3濾波器時,等效接受域增加,由于組合效應,產生了許多等效特征尺度。
Res2Net策略公開了一個新的維度,即規模(Res2Net塊中特征組的數量),作為深度、寬度和基數(cardinality)等現有維度之外的一個基本因素。注意,所提出的方法在更細粒度的級別上利用了多尺度的潛力,這與現有的利用分層操作的方法是正交的。
如上圖(a)所示的瓶頸結構是許多現代骨干cnn架構的基本構建塊,如ResNet、ResNeXt和DLA。與bottleneck block中使用一組3 × 3卷積核提取特征不同,作者尋求具有更強的多尺度特征提取能力的替代架構,同時保持類似的計算負荷。具體來說,作者將一組3 × 3卷積替換為更小的分組卷積,同時以一種類似殘差的結構樣式連接不同的卷積組。由于文中提出的神經網絡模塊涉及單個殘留塊中的類殘差連接,作者將其命名為Res2Net。上圖顯示了bottleneck block和提議的Res2Net模塊之間的差異。經過1 × 1卷積后,作者將特征映射平均分割為s個特征映射子集,用xi表示,其中i∈{1,2,…,s}。與輸入特征圖相比,每個特征子集xix_ixi?具有相同的空間大小,但通道數為1/s。除x1x_1x1?外,每個xix_ixi?都有對應的3 × 3卷積,用Ki()Ki()Ki()表示。用yiy_iyi?表示ki()k_i()ki?()的輸出。將特征子集xix_ixi?Ki?1()K_i-1()Ki??1()的輸出相加,然后輸入ki()k_i()ki?()。為了在增加s的同時減少參數,作者省略了x1x_1x1?的3 × 3卷積。因此,yiy_iyi?可以寫成:

每個3 × 3卷積算子Ki()K_i()Ki?()都有可能從所有的特征分割{XjX_jXj?, j≤i}中接收到特征信息。每次特征分割XjX_jXj?經過一個3 × 3卷積算子,輸出結果可以有一個比XjX_jXj?更大的接受域。由于組合爆炸激增,Res2Net模塊的輸出包含不同的數量和不同的接受域大小/尺度組合。
與ResNeXt不同的是,在Res2Net模塊中,splits采用了多尺度的方式,這有利于全局和局部信息的提取。為了更好地融合不同尺度的信息,作者將所有的分割串接起來,并通過1 × 1的卷積將它們傳遞出去。splits和concatenation策略可以強制卷積更有效地處理特征。為了減少參數的數量,本文省略了第一次分割的卷積,這也可以被視為特征重用的一種形式。在這項工作中,作者使用s作為尺度尺寸的控制參數。更大的s可能允許學習具有更豐富的接受域大小的功能,而通過連接引入的計算/內存開銷可以忽略不計。

上圖為Res2Net模塊與維基數c(將conv替換為group conv)和SE塊進行集成。
(一)、維度基數
維度基數C是我上一篇博客的思想。ResNet
維度基數表示分組卷積中組的數量。這個維度使過卷積從單分支變為多分支,提高了CNN模型的表示能力。在設計中,可以用3 × 3分組組卷積來代替3 × 3組卷積,其中c表示組數。
(二)、SE block.
SE塊通過自適應通道之間的相互依賴關系,自適應地重新校準通道特征響應。作者在Res2Net模塊的跳連接之前添加SE塊。Res2Net模塊可以從SE塊的集成中受益。
二、消融實驗

表中顯示了ImageNet數據集上top-1和top-5的測試錯誤。為了簡單起見,表1中所有Res2Net模型的比例都是s = 4。Res2Net-50在top-1錯誤上比ResNet-50有1.84%的改進。在top-1錯誤方面,resnext -50比ResNeXt50提高了0.85%。此外,Res2Net-DLA-60在top-1錯誤方面比DLA-60高出1.27%。Res2Net-DLA-60的最高錯誤比DLA-X-60高出0.64%。SE-Res2Net-50比SENet50有1.68%的改進。在top-1錯誤方面,bLRes2Net-50比bLResNet-50提高了0.73%。Res2Net模塊在粒度級別上進一步增強了bLResNet的多尺度能力,即使bLResNet是為了利用不同尺度的特征而設計的。請注意ResNet、ResNeXt、SE-Net、bLResNet和DLA是最先進的CNN模型。與這些強大的基線相比,與Res2Net模塊集成的模型仍然有一致的性能增益。

更深層次的網絡已被證明具有更強的視覺任務表示能力。為了更深入地驗證本文的模型,作者比較了Res2Net和ResNet的分類性能,兩者都有101層。如表2所示,Res2Net-101比ResNet-101獲得了顯著的性能提升,在 top-1 error方面為1.82%。請注意,在top-1 error中 Res2Net-50的性能比ResNet-50高出了1.84%。這些結果表明,所提出的具有額外維度尺度的模塊可以與更深層次的模型集成,從而獲得更好的性能。作者還將方法與DenseNet進行了比較。與官方提供的DenseNet族中性能最好的DenseNet-161模型相比,Res2Net-101的top-1誤差提高了1.54%。

上表中說明,隨著規模的增加,在top-1 error帶有14w×8s的Res2Net-50比ResNet-50有提升了1.99%。注意,在保持復雜度的情況下,Ki()K_i()Ki?()的寬度隨著尺度的增加而減小。我們進一步評估了隨著模型復雜性的增加而增加規模的性能增益。帶有26w×8s的Res2Net-50比ResNet-50獲得了顯著的性能提升,在top-1 error方面為3.05%。一個有18w×4s的Res2Net-50也比ResNet-50的表現好0.93%,在top-1 error方面只有69%的失敗。上表顯示了不同尺度下的運行時間,這是平均推斷推理尺寸為224 × 224的ImageNet驗證集的時間。盡管由于層次連接的關系,分割{yi}的特性需要順序計算,但Res2Net模塊引入的額外運行時通常可以被忽略。由于GPU中可用張量的數量是有限的,對于Res2Net的典型設置,在單個GPU時鐘周期內通常會有足夠的并行計算,即s = 4。

表4顯示了CIFAR-100數據集上的top-1 error和模型大小。實驗結果表明,該方法在參數較少的情況下優于baseline和其他方法。作者提議的Res2NeXt-29, 6c×24w×6s比baseline高出1.11%。Res2NeXt29, 6c×24w×4s甚至優于ResNeXt-29, 16c×64w只有35%的參數。與DenseNet-BC (k = 40)相比,用更少的參數實現了更好的性能。與Res2NeXt-29相比,6c×24w×4s、Res2NeXt29、8c×25w×4s獲得了更好的結果,具有更大的寬度和基數,說明維度尺度與維度寬度和基數是正交的。本文還將最近提出的SE塊集成到結構中。使用更少的參數,該方法仍然優于ResNeXt-29, 8c×64w-SE的baseline。

作者通過增加CNN的不同維數來評估baseline模型的測試性能,包括scale(式(1))、cardinality和depth。當使用一個維度增加模型容量時,固定了所有其他維度。一系列的網絡在這些變化下進行了訓練和評估。由于已經表明增加基數比增加寬度更有效,所以我們只將建議的維度尺度與基數和深度進行比較。

上圖為CIFAR-100數據集對模型大小的測試精度。baseline model的深度、基數和規模分別為29、6和1。實驗結果表明,scale是提高模型性能的有效維度,這與之前在mageNet數據集上的觀察結果一致。此外,增加規模比其他維度更有效,從而更快地獲得性能。如式(1)和圖1所示,對于尺度s = 2的情況,作者僅通過增加1 × 1卷積的參數來增加模型容量。因此,s = 2時的模型性能略差于增加基數時的模型性能。對于s = 3,4,分層類殘差結構的組合效應產生了一組豐富的等效尺度,從而顯著提高了性能。然而,尺度5和尺度6的模型性能提高有限,我們假設CIFAR數據集中的圖像太小(32×32),不能有很多尺度。
在CAM方面

為了理解Res2Net的多尺度能力,我們使用通常用于定位圖像分類的判別區域的Grad-CAM來可視化類激活映射(CAM)。在上圖所示的可視化示例中,較強的CAM區域被較淺的顏色覆蓋。與ResNet相比,基于Res2Net的CAM結果在小對象上有更集中的激活映射,如“baseball”和“penguin”。這兩種方法在中等大小的物體上都有類似的激活映射,比如“ice cream”。由于Res2Net具有更強的多尺度能力,Res2Net的激活圖傾向于覆蓋大對象上的整個對象,如“bulbul”、“mountain dog”、“ballpoint”和“mosque”,而ResNet的激活圖只覆蓋對象的部分。這種精確定位CAM區域的能力使得Res2Net對于弱監督語義分割任務中的對象區域挖掘具有潛在價值。
相關代碼如下:

#!/usr/bin/env python # -*- coding: UTF-8 -*- import torch import torch.nn as nn__all__ = ['ImageNetRes2Net', 'res2net50', 'res2net101','res2net152', 'res2next50_32x4d', 'se_res2net50','CifarRes2Net', 'res2next29_6cx24wx4scale','res2next29_8cx25wx4scale', 'res2next29_6cx24wx6scale','res2next29_6cx24wx4scale_se', 'res2next29_8cx25wx4scale_se','res2next29_6cx24wx6scale_se']def conv3x3(in_planes, out_planes, stride=1, groups=1): #3*3卷積組"""3x3 convolution with padding"""return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,padding=1, groups=groups, bias=False)def conv1x1(in_planes, out_planes, stride=1):"""1x1 convolution"""return nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, bias=False)class SEModule(nn.Module): #SE blockdef __init__(self, channels, reduction=16):super(SEModule, self).__init__()self.avg_pool = nn.AdaptiveAvgPool2d(1)self.fc1 = nn.Conv2d(channels, channels // reduction, kernel_size=1, padding=0)self.relu = nn.ReLU(inplace=True)self.fc2 = nn.Conv2d(channels // reduction, channels, kernel_size=1, padding=0)self.sigmoid = nn.Sigmoid()def forward(self, input):x = self.avg_pool(input)x = self.fc1(x)x = self.relu(x)x = self.fc2(x)x = self.sigmoid(x)return input * xclass Res2NetBottleneck(nn.Module):expansion = 4def __init__(self, inplanes, planes, width, downsample=None, stride=1, scales=4, groups=1, se=False, norm_layer=None):super(Res2NetBottleneck, self).__init__() # if planes % scales != 0: # raise ValueError('Planes must be divisible by scales')if norm_layer is None:norm_layer = nn.BatchNorm2dbottleneck_planes = int(width * scales * groups)self.conv1 = conv1x1(inplanes, bottleneck_planes)#C*Dself.bn1 = norm_layer(bottleneck_planes)self.conv2 = nn.ModuleList([conv3x3(bottleneck_planes // scales, bottleneck_planes // scales, stride, groups=groups) for _ in range(scales-1)]) #k1,k2,k3后接3×3卷積,分組卷積self.bn2 = nn.ModuleList([norm_layer(bottleneck_planes // scales) for _ in range(scales-1)])self.conv3 = conv1x1(bottleneck_planes, planes * self.expansion)#輸出concat操作self.bn3 = norm_layer(planes * self.expansion)self.relu = nn.ReLU(inplace=True)self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)self.se = SEModule(planes * self.expansion) if se else Noneself.downsample = downsampleself.stride = strideself.scales = scalesdef forward(self, x):identity = xout = self.conv1(x)out = self.bn1(out)out = self.relu(out)xs = torch.chunk(out, self.scales, 1)#將輸入張量進行分塊ys = []# 原文中的公式if self.stride == 1:for s in range(self.scales):if s == 0:ys.append(xs[s])elif s == 1:ys.append(self.relu(self.bn2[s-1](self.conv2[s-1](xs[s]))))else:ys.append(self.relu(self.bn2[s-1](self.conv2[s-1](xs[s] + ys[-1]))))else:for s in range(self.scales):if s == 0:ys.append(self.maxpool(xs[s]))else:ys.append(self.relu(self.bn2[s-1](self.conv2[s-1](xs[s]))))out = torch.cat(ys, 1)#concat操作out = self.conv3(out)out = self.bn3(out)if self.se is not None:out = self.se(out)if self.downsample is not None:identity = self.downsample(identity)out += identityout = self.relu(out)return out

總結

以上是生活随笔為你收集整理的Res2Net: A New Multi-scale Backbone Architecture的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆www. | 日本视频网 | 豆花免费跳转入口官网 | 欧美福利小视频 | a在线观看 | 少妇高潮一区二区三区 | 三上悠亚三级 | 性爱视频在线免费 | 阿v视频免费在线观看 | 一级中文字幕 | 国产视频日韩 | 中文字幕高清视频 | 日本三级一区二区三区 | 欧亚在线视频 | 日本性xxxxx| 国产一区二区三区电影在线观看 | 麻豆成人91精品二区三区 | 打屁股调教网站 | 欧美精品在线观看视频 | 国产又粗又猛又爽又黄无遮挡 | 免费看黄在线观看 | 北条麻妃一区二区三区四区五区 | 蜜臀av性久久久久蜜臀av麻豆 | 国产成人精品免高潮费视频 | 亚洲综合社区 | 久久久久久久久久久久久久 | 99久久精品免费看国产免费软件 | 亚洲欧美成人一区二区三区 | 成人免费黄 | 亚洲人视频 | 日本一区久久 | 97av在线视频 | 你懂的网站在线观看 | 国产一区精品在线 | 久久人人爽人人人人片 | 在线免费观看 | 国产精品黄色av | 日本成人一区二区 | a级片中文字幕 | 美女视频三区 | 国产免费又粗又猛又爽 | 91精品久| 一本大道熟女人妻中文字幕在线 | 欧美日韩国产麻豆 | 特级淫片裸体免费看冫 | 成人午夜精品视频 | 国产美女www爽爽爽视频 | 久久久夜 | 国产精品男人的天堂 | 免费在线黄网站 | 日韩欧美一区二区三区在线观看 | 午夜精品久久久久久久99黑人 | 四虎影视在线播放 | 久久久天天 | 欧美无专区| 久久综合一本 | 亚洲欧洲日本精品 | 男人的网站在线观看 | 不卡视频一区二区三区 | 欧美一级黄色片网站 | 女同性恋毛片 | 国产精品.www| 午夜中文字幕 | 国产免费又黄又爽又色毛 | 日韩欧美影院 | 琪琪色视频 | 女裸全身无奶罩内裤内衣内裤 | 久久合合 | 男女啪动最猛动态图 | 一级特黄高清 | 激情视频国产 | 国产精品电影网站 | 变态另类一区二区 | 国产精品地址 | 久久人人爽人人爽人人片av免费 | 五月天激情四射 | 午夜在线免费观看 | 久久av一区二区三区亚洲 | 欧美激情在线观看视频 | 亚洲欧美视频二区 | 欧美图片一区 | 在线黄色网页 | 中文字幕日本人妻久久久免费 | 黄色影音 | 精品在线99| 一区二区三区播放 | 国产sm在线观看 | 懂色av蜜臀av粉嫩av | 青青草自拍视频 | 亚洲欧美综合色 | 日本不卡视频一区二区三区 | 成人性做爰片免费视频 | 男女无套免费视频网站动漫 | 美女撒尿无遮挡网站 | а天堂中文在线官网 | 成人免费看 | 日韩国产91 | 国产一区二区三区成人 | 精品午夜视频 |