十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要介紹了local注意力怎么生成的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇local注意力怎么生成文章都會(huì)有所收獲,下面我們一起來看看吧。
創(chuàng)新互聯(lián)建站堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十載網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)建站是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、小程序制作服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
soft attention(包括空間注意力、通道注意力)軟注意學(xué)習(xí)的目的是選擇細(xì)粒度的重要像素點(diǎn),它們是pixel級(jí)。
hard attention( local 注意力) 硬注意學(xué)習(xí)則致力于搜索粗糙的潛在判別區(qū)域,它們是region級(jí)。他們?cè)诠δ苌嫌泻艽蟮幕パa(bǔ)性。他們的結(jié)合使用可以提高模型的性能
通道注意力:
就是對(duì)于每個(gè)channel賦予不同的權(quán)重,比如1,2處馬的形狀比較明顯,所以理所當(dāng)然,對(duì)1,2通道的權(quán)重比較大,3,4處權(quán)重小。
空間注意力:
空間注意力是對(duì)64個(gè)通道進(jìn)行mean的一個(gè)操作,得到一個(gè)(w x h)的權(quán)重,mean的操作就學(xué)到了所有通道的整體分布,而拋棄了奇異的通道
。比如說1,2的圖可以很好的描繪出馬的形狀,而3,4就不行(但本質(zhì)上它也是要顯示出馬的形狀),但是通過mean后,得到的w x h權(quán)值共享后,給了3,4一定的權(quán)值描述,相當(dāng)于給3,4一定的注意力,這樣它們也可以描繪出馬的形狀。
class SpatialAttn(nn.Module): # 輸入x.shape=(32,3,256,128),對(duì)第三維度通道求mean=(32,1,256,128),一個(gè)卷積照片縮小一半,upsample恢復(fù),再經(jīng)過1x1 convdef __init__(self):super(SpatialAttn, self).__init__()self.conv1 = ConvBlock(1, 1, 3, s=2, p=1)self.conv2 = ConvBlock(1, 1, 1)def forward(self, x):# global cross-channel averagingx = x.mean(1, keepdim=True) # x.shape=(32,3,256,128) x.mean.shape按照通道求均值=(32,1,256,128)# 3-by-3 convx = self.conv1(x) # x.shape=(32,1,128,64)# bilinear resizingx = F.upsample(x, (x.size(2) * 2, x.size(3) * 2), mode='bilinear', align_corners=True) # x.shape=(32,1,256,128)# scaling convx = self.conv2(x) # x.shape=(32,1,256,128)return xclass ChannelAttn(nn.Module):def __init__(self, in_channels, reduction_rate=16):super(ChannelAttn, self).__init__()assert in_channels % reduction_rate == 0self.conv1 = ConvBlock(in_channels, in_channels // reduction_rate, 1)self.conv2 = ConvBlock(in_channels // reduction_rate, in_channels, 1)def forward(self, x):# squeeze operation (global average pooling)# x.shape=(32, 16, 256, 128)x = F.avg_pool2d(x, x.size()[2:])#torch.size([32,16,1,1])# excitation operation (2 conv layers)x = self.conv1(x)#torch.size([32,1,1,1])x = self.conv2(x)#torch.size([32,16,1,1])return xclass SoftAttn(nn.Module):#軟注意力(32,16,256,128)=空間注意力的輸出(32,1,256,128)乘上通道注意力(32,16,1,1)def __init__(self, in_channels):super(SoftAttn, self).__init__()self.spatial_attn = SpatialAttn()self.channel_attn = ChannelAttn(in_channels)self.conv = ConvBlock(in_channels, in_channels, 1)def forward(self, x):#x.shape(32,16,256,128)y_spatial = self.spatial_attn(x)#32,1,256,128y_channel = self.channel_attn(x)#32,16,1,1y = y_spatial * y_channel#32,16,256,128y = F.sigmoid(self.conv(y))return y#torch.Size([32, 16, 256, 128])
關(guān)于“l(fā)ocal注意力怎么生成”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“l(fā)ocal注意力怎么生成”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。