0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

圖像分類任務(wù)的各種tricks

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2022-09-14 16:42 ? 次閱讀

導(dǎo)讀

計算機視覺主要問題有圖像分類、目標(biāo)檢測和圖像分割等。針對圖像分類任務(wù),提升準(zhǔn)確率的方法路線有兩條,一個是模型的修改,另一個是各種數(shù)據(jù)處理和訓(xùn)練的tricks。圖像分類中的各種技巧對于目標(biāo)檢測、圖像分割等任務(wù)也有很好的作用。本文在精讀論文的基礎(chǔ)上,總結(jié)了圖像分類任務(wù)的各種tricks。

目錄:

Warmup

Linear scaling learning rate

Label-smoothing

Random image cropping and patching

Knowledge Distillation

Cutout

Random erasing

Cosine learning rate decay

Mixup training

AdaBoud

AutoAugment

其他經(jīng)典的tricks

Warmup

學(xué)習(xí)率是神經(jīng)網(wǎng)絡(luò)訓(xùn)練中最重要的超參數(shù)之一,針對學(xué)習(xí)率的技巧有很多。Warm up是在ResNet論文[1]中提到的一種學(xué)習(xí)率預(yù)熱的方法。由于剛開始訓(xùn)練時模型的權(quán)重(weights)是隨機初始化的(全部置為0是一個坑,原因見[2]),此時選擇一個較大的學(xué)習(xí)率,可能會帶來模型的不穩(wěn)定。學(xué)習(xí)率預(yù)熱就是在剛開始訓(xùn)練的時候先使用一個較小的學(xué)習(xí)率,訓(xùn)練一些epoches或iterations,等模型穩(wěn)定時再修改為預(yù)先設(shè)置的學(xué)習(xí)率進(jìn)行訓(xùn)練。論文[1]中使用一個110層的ResNet在cifar10上訓(xùn)練時,先用0.01的學(xué)習(xí)率訓(xùn)練直到訓(xùn)練誤差低于80%(大概訓(xùn)練了400個iterations),然后使用0.1的學(xué)習(xí)率進(jìn)行訓(xùn)練。

上述的方法是constant warmup,18年Facebook又針對上面的warmup進(jìn)行了改進(jìn)[3],因為從一個很小的學(xué)習(xí)率一下變?yōu)楸容^大的學(xué)習(xí)率可能會導(dǎo)致訓(xùn)練誤差突然增大。論文[3]提出了gradual warmup來解決這個問題,即從最開始的小學(xué)習(xí)率開始,每個iteration增大一點,直到最初設(shè)置的比較大的學(xué)習(xí)率。

Gradual warmup代碼如下:

fromtorch.optim.lr_schedulerimport_LRScheduler

classGradualWarmupScheduler(_LRScheduler):
"""
Args:
optimizer(Optimizer):Wrappedoptimizer.
multiplier:targetlearningrate=baselr*multiplier
total_epoch:targetlearningrateisreachedattotal_epoch,gradually
after_scheduler:aftertarget_epoch,usethisscheduler(eg.ReduceLROnPlateau)
"""

def__init__(self,optimizer,multiplier,total_epoch,after_scheduler=None):
self.multiplier=multiplier
ifself.multiplier<=??1.:
?????????????raise??ValueError('multiplier?should?be?greater?than?1.')
?????????self.total_epoch?=?total_epoch
?????????self.after_scheduler?=?after_scheduler
?????????self.finished?=??False
?????????super().__init__(optimizer)

????def?get_lr(self):
????????if?self.last_epoch?>self.total_epoch:
ifself.after_scheduler:
ifnotself.finished:
self.after_scheduler.base_lrs=[base_lr*self.multiplierforbase_lrinself.base_lrs]
self.finished=True
returnself.after_scheduler.get_lr()
return[base_lr*self.multiplierforbase_lrinself.base_lrs]

return[base_lr*((self.multiplier-1.)*self.last_epoch/self.total_epoch+1.)forbase_lrinself.base_lrs]

defstep(self,epoch=None):
ifself.finishedandself.after_scheduler:
returnself.after_scheduler.step(epoch)
else:
returnsuper(GradualWarmupScheduler,self).step(epoch)

Linear scaling learning rate

Linear scaling learning rate是在論文[3]中針對比較大的batch size而提出的一種方法。

在凸優(yōu)化問題中,隨著批量的增加,收斂速度會降低,神經(jīng)網(wǎng)絡(luò)也有類似的實證結(jié)果。隨著batch size的增大,處理相同數(shù)據(jù)量的速度會越來越快,但是達(dá)到相同精度所需要的epoch數(shù)量越來越多。也就是說,使用相同的epoch時,大batch size訓(xùn)練的模型與小batch size訓(xùn)練的模型相比,驗證準(zhǔn)確率會減小。

上面提到的gradual warmup是解決此問題的方法之一。另外,linear scaling learning rate也是一種有效的方法。在mini-batch SGD訓(xùn)練時,梯度下降的值是隨機的,因為每一個batch的數(shù)據(jù)是隨機選擇的。增大batch size不會改變梯度的期望,但是會降低它的方差。也就是說,大batch size會降低梯度中的噪聲,所以我們可以增大學(xué)習(xí)率來加快收斂。

具體做法很簡單,比如ResNet原論文[1]中,batch size為256時選擇的學(xué)習(xí)率是0.1,當(dāng)我們把batch size變?yōu)橐粋€較大的數(shù)b時,學(xué)習(xí)率應(yīng)該變?yōu)?0.1 × b/256。

Label-smoothing

在分類問題中,我們的最后一層一般是全連接層,然后對應(yīng)標(biāo)簽的one-hot編碼,即把對應(yīng)類別的值編碼為1,其他為0。這種編碼方式和通過降低交叉熵?fù)p失來調(diào)整參數(shù)的方式結(jié)合起來,會有一些問題。這種方式會鼓勵模型對不同類別的輸出分?jǐn)?shù)差異非常大,或者說,模型過分相信它的判斷。但是,對于一個由多人標(biāo)注的數(shù)據(jù)集,不同人標(biāo)注的準(zhǔn)則可能不同,每個人的標(biāo)注也可能會有一些錯誤。模型對標(biāo)簽的過分相信會導(dǎo)致過擬合。

標(biāo)簽平滑(Label-smoothing regularization,LSR)是應(yīng)對該問題的有效方法之一,它的具體思想是降低我們對于標(biāo)簽的信任,例如我們可以將損失的目標(biāo)值從1稍微降到0.9,或者將從0稍微升到0.1。標(biāo)簽平滑最早在inception-v2[4]中被提出,它將真實的概率改造為:

886b7422-33e4-11ed-ba43-dac502259ad0.jpg

其中,ε是一個小的常數(shù),K是類別的數(shù)目,y是圖片的真正的標(biāo)簽,i代表第i個類別,是圖片為第i類的概率。

總的來說,LSR是一種通過在標(biāo)簽y中加入噪聲,實現(xiàn)對模型約束,降低模型過擬合程度的一種正則化方法。LSR代碼如下:

importtorch
importtorch.nnasnn

classLSR(nn.Module):

def__init__(self,e=0.1,reduction='mean'):
super().__init__()

self.log_softmax=nn.LogSoftmax(dim=1)
self.e=e
self.reduction=reduction

def_one_hot(self,labels,classes,value=1):
"""

Convertlabelstoonehotvectors

Args:
labels:torchtensorinformat[label1,label2,label3,...]
classes:int,numberofclasses
value:labelvalueinonehotvector,defaultto1

Returns:
returnonehotformatlabelsinshape[batchsize,classes]
"""

one_hot=torch.zeros(labels.size(0),classes)

#labelsandvalue_addedsizemustmatch
labels=labels.view(labels.size(0),-1)
value_added=torch.Tensor(labels.size(0),1).fill_(value)

value_added=value_added.to(labels.device)
one_hot=one_hot.to(labels.device)

one_hot.scatter_add_(1,labels,value_added)

returnone_hot

def_smooth_label(self,target,length,smooth_factor):
"""converttargetstoone-hotformat,andsmooththem.
Args:
target:targetinformwith[label1,label2,label_batchsize]
length:lengthofone-hotformat(numberofclasses)
smooth_factor:smoothfactorforlabelsmooth

Returns:
smoothedlabelsinonehotformat
"""
one_hot=self._one_hot(target,length,value=1-smooth_factor)
one_hot+=smooth_factor/length

returnone_hot.to(target.device)

Random image cropping and patching

Random image cropping and patching (RICAP)[7]方法隨機裁剪四個圖片的中部分,然后把它們拼接為一個圖片,同時混合這四個圖片的標(biāo)簽。

RICAP在caifar10上達(dá)到了2.19%的錯誤率。

如下圖所示,Ix, Iy是原始圖片的寬和高。w和h稱為boundary position,它決定了四個裁剪得到的小圖片的尺寸。w和h從beta分布Beta(β, β)中隨機生成,β也是RICAP的超參數(shù)。最終拼接的圖片尺寸和原圖片尺寸保持一致。

88aa8aae-33e4-11ed-ba43-dac502259ad0.jpg

RICAP的代碼如下:

beta=0.3#hyperparameter
for(images,targets)intrain_loader:

#gettheimagesize
I_x,I_y=images.size()[2:]

#drawaboundryposition(w,h)
w=int(np.round(I_x*np.random.beta(beta,beta)))
h=int(np.round(I_y*np.random.beta(beta,beta)))
w_=[w,I_x-w,w,I_x-w]
h_=[h,h,I_y-h,I_y-h]

#selectandcropfourimages
cropped_images={}
c_={}
W_={}
forkinrange(4):
index=torch.randperm(images.size(0))
x_k=np.random.randint(0,I_x-w_[k]+1)
y_k=np.random.randint(0,I_y-h_[k]+1)
cropped_images[k]=images[index][:,:,x_k:x_k+w_[k],y_k:y_k+h_[k]]
c_[k]=target[index].cuda()
W_[k]=w_[k]*h_[k]/(I_x*I_y)

#patchcroppedimages
patched_images=torch.cat(
(torch.cat((cropped_images[0],cropped_images[1]),2),
torch.cat((cropped_images[2],cropped_images[3]),2)),
3)
#patched_images=patched_images.cuda()

#getoutput
output=model(patched_images)

#calculatelossandaccuracy
loss=sum([W_[k]*criterion(output,c_[k])forkinrange(4)])
acc=sum([W_[k]*accuracy(output,c_[k])[0]forkinrange(4)])

Knowledge Distillation

提高幾乎所有機器學(xué)習(xí)算法性能的一種非常簡單的方法是在相同的數(shù)據(jù)上訓(xùn)練許多不同的模型,然后對它們的預(yù)測進(jìn)行平均。但是使用所有的模型集成進(jìn)行預(yù)測是比較麻煩的,并且可能計算量太大而無法部署到大量用戶。Knowledge Distillation(知識蒸餾)[8]方法就是應(yīng)對這種問題的有效方法之一。

在知識蒸餾方法中,我們使用一個教師模型來幫助當(dāng)前的模型(學(xué)生模型)訓(xùn)練。教師模型是一個較高準(zhǔn)確率的預(yù)訓(xùn)練模型,因此學(xué)生模型可以在保持模型復(fù)雜度不變的情況下提升準(zhǔn)確率。比如,可以使用ResNet-152作為教師模型來幫助學(xué)生模型ResNet-50訓(xùn)練。在訓(xùn)練過程中,我們會加一個蒸餾損失來懲罰學(xué)生模型和教師模型的輸出之間的差異。

給定輸入,假定p是真正的概率分布,z和r分別是學(xué)生模型和教師模型最后一個全連接層的輸出。之前我們會用交叉熵?fù)p失l(p,softmax(z))來度量p和z之間的差異,這里的蒸餾損失同樣用交叉熵。所以,使用知識蒸餾方法總的損失函數(shù)是

88bf3a4e-33e4-11ed-ba43-dac502259ad0.jpg

上式中,第一項還是原來的損失函數(shù),第二項是添加的用來懲罰學(xué)生模型和教師模型輸出差異的蒸餾損失。其中,T是一個溫度超參數(shù),用來使softmax的輸出更加平滑的。實驗證明,用ResNet-152作為教師模型來訓(xùn)練ResNet-50,可以提高后者的準(zhǔn)確率。

Cutout

Cutout[9]是一種新的正則化方法。原理是在訓(xùn)練時隨機把圖片的一部分減掉,這樣能提高模型的魯棒性。它的來源是計算機視覺任務(wù)中經(jīng)常遇到的物體遮擋問題。通過cutout生成一些類似被遮擋的物體,不僅可以讓模型在遇到遮擋問題時表現(xiàn)更好,還能讓模型在做決定時更多地考慮環(huán)境(context)。

代碼如下:

importtorch
importnumpyasnp

classCutout(object):
"""Randomlymaskoutoneormorepatchesfromanimage.
Args:
n_holes(int):Numberofpatchestocutoutofeachimage.
length(int):Thelength(inpixels)ofeachsquarepatch.
"""
def__init__(self,n_holes,length):
self.n_holes=n_holes
self.length=length

def__call__(self,img):
"""
Args:
img(Tensor):Tensorimageofsize(C,H,W).
Returns:
Tensor:Imagewithn_holesofdimensionlengthxlengthcutoutofit.
"""
h=img.size(1)
w=img.size(2)

mask=np.ones((h,w),np.float32)

forninrange(self.n_holes):
y=np.random.randint(h)
x=np.random.randint(w)

y1=np.clip(y-self.length//2,0,h)
y2=np.clip(y+self.length//2,0,h)
x1=np.clip(x-self.length//2,0,w)
x2=np.clip(x+self.length//2,0,w)

mask[y1:y2,x1:x2]=0.

mask=torch.from_numpy(mask)
mask=mask.expand_as(img)
img=img*mask

returnimg

效果如下圖,每個圖片的一小部分被cutout了。

Random erasing

Random erasing[6]其實和cutout非常類似,也是一種模擬物體遮擋情況的數(shù)據(jù)增強方法。區(qū)別在于,cutout是把圖片中隨機抽中的矩形區(qū)域的像素值置為0,相當(dāng)于裁剪掉,random erasing是用隨機數(shù)或者數(shù)據(jù)集中像素的平均值替換原來的像素值。而且,cutout每次裁剪掉的區(qū)域大小是固定的,Random erasing替換掉的區(qū)域大小是隨機的。

Random erasing代碼如下:

from__future__importabsolute_import
fromtorchvision.transformsimport*
fromPILimportImage
importrandom
importmath
importnumpyasnp
importtorch

classRandomErasing(object):
'''
probability:Theprobabilitythattheoperationwillbeperformed.
sh:maxerasingarea
r1:minaspectratio
mean:erasingvalue
'''
def__init__(self,probability=0.5,sl=0.02,sh=0.4,r1=0.3,mean=[0.4914,0.4822,0.4465]):
self.probability=probability
self.mean=mean
self.sl=sl
self.sh=sh
self.r1=r1
def__call__(self,img):
ifrandom.uniform(0,1)>self.probability:
returnimg

forattemptinrange(100):
area=img.size()[1]*img.size()[2]

target_area=random.uniform(self.sl,self.sh)*area
aspect_ratio=random.uniform(self.r1,1/self.r1)

h=int(round(math.sqrt(target_area*aspect_ratio)))
w=int(round(math.sqrt(target_area/aspect_ratio)))

ifw

Cosine learning rate decay

在warmup之后的訓(xùn)練過程中,學(xué)習(xí)率不斷衰減是一個提高精度的好方法。其中有step decay和cosine decay等,前者是隨著epoch增大學(xué)習(xí)率不斷減去一個小的數(shù),后者是讓學(xué)習(xí)率隨著訓(xùn)練過程曲線下降。

對于cosine decay,假設(shè)總共有T個batch(不考慮warmup階段),在第t個batch時,學(xué)習(xí)率η_t為:

88eff800-33e4-11ed-ba43-dac502259ad0.jpg

這里,η代表初始設(shè)置的學(xué)習(xí)率。這種學(xué)習(xí)率遞減的方式稱之為cosine decay。

下面是帶有warmup的學(xué)習(xí)率衰減的可視化圖[4]。其中,圖(a)是學(xué)習(xí)率隨epoch增大而下降的圖,可以看出cosine decay比step decay更加平滑一點。圖(b)是準(zhǔn)確率隨epoch的變化圖,兩者最終的準(zhǔn)確率沒有太大差別,不過cosine decay的學(xué)習(xí)過程更加平滑。

88fad680-33e4-11ed-ba43-dac502259ad0.jpg

在pytorch的torch.optim.lr_scheduler中有更多的學(xué)習(xí)率衰減的方法,至于哪個效果好,可能對于不同問題答案是不一樣的。對于step decay,使用方法如下:

#Assumingoptimizeruseslr=0.05forallgroups
#lr=0.05ifepoch

Mixup training

Mixup[10]是一種新的數(shù)據(jù)增強的方法。Mixup training,就是每次取出2張圖片,然后將它們線性組合,得到新的圖片,以此來作為新的訓(xùn)練樣本,進(jìn)行網(wǎng)絡(luò)的訓(xùn)練,如下公式,其中x代表圖像數(shù)據(jù),y代表標(biāo)簽,則得到的新的xhat, yhat。

89080256-33e4-11ed-ba43-dac502259ad0.jpg

其中,λ是從Beta(α, α)隨機采樣的數(shù),在[0,1]之間。在訓(xùn)練過程中,僅使用(xhat, yhat)。Mixup方法主要增強了訓(xùn)練樣本之間的線性表達(dá),增強網(wǎng)絡(luò)的泛化能力,不過mixup方法需要較長的時間才能收斂得比較好。

Mixup代碼如下:

for(images,labels)intrain_loader:

l=np.random.beta(mixup_alpha,mixup_alpha)

index=torch.randperm(images.size(0))
images_a,images_b=images,images[index]
labels_a,labels_b=labels,labels[index]

mixed_images=l*images_a+(1-l)*images_b

outputs=model(mixed_images)
loss=l*criterion(outputs,labels_a)+(1-l)*criterion(outputs,labels_b)
acc=l*accuracy(outputs,labels_a)[0]+(1-l)*accuracy(outputs,labels_b)[0]

AdaBound

AdaBound是最近一篇論文[5]中提到的,按照作者的說法,AdaBound會讓你的訓(xùn)練過程像adam一樣快,并且像SGD一樣好。如下圖所示,使用AdaBound會收斂速度更快,過程更平滑,結(jié)果更好。

8916318c-33e4-11ed-ba43-dac502259ad0.jpg

另外,這種方法相對于SGD對超參數(shù)的變化不是那么敏感,也就是說魯棒性更好。但是,針對不同的問題還是需要調(diào)節(jié)超參數(shù)的,只是所用的時間可能變少了。

8924b75c-33e4-11ed-ba43-dac502259ad0.jpg

當(dāng)然,AdaBound還沒有經(jīng)過普遍的檢驗,也有可能只是對于某些問題效果好。

使用方法如下:安裝AdaBound

pipinstalladabound

使用AdaBound(和其他PyTorch optimizers用法一致)

optimizer=adabound.AdaBound(model.parameters(),lr=1e-3,final_lr=0.1)

AutoAugment

數(shù)據(jù)增強在圖像分類問題上有很重要的作用,但是增強的方法有很多,并非一股腦地用上所有的方法就是最好的。那么,如何選擇最佳的數(shù)據(jù)增強方法呢?AutoAugment[11]就是一種搜索適合當(dāng)前問題的數(shù)據(jù)增強方法的方法。該方法創(chuàng)建一個數(shù)據(jù)增強策略的搜索空間,利用搜索算法選取適合特定數(shù)據(jù)集的數(shù)據(jù)增強策略。此外,從一個數(shù)據(jù)集中學(xué)到的策略能夠很好地遷移到其它相似的數(shù)據(jù)集上。

AutoAugment在cifar10上的表現(xiàn)如下表,達(dá)到了98.52%的準(zhǔn)確率。

8934adce-33e4-11ed-ba43-dac502259ad0.jpg

其他經(jīng)典的tricks

常用的正則化方法為

Dropout

L1/L2正則

Batch Normalization

Early stopping

Random cropping

Mirroring

Rotation

Color shifting

PCA color augmentation

...

其他

Xavier init[12]

...

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像分割
    +關(guān)注

    關(guān)注

    4

    文章

    182

    瀏覽量

    18002
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3243

    瀏覽量

    48842
  • 計算機視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1698

    瀏覽量

    45993

原文標(biāo)題:其他經(jīng)典的tricks

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于多通道分類合成的SAR圖像分類研究

    【作者】:李長春;冒亞明;孫灝;慎利;【來源】:《計算機與現(xiàn)代化》2010年03期【摘要】:SAR具有全天時、全天候工作能力,且能夠提供高分辨率圖像數(shù)據(jù)。SAR圖像分類是SAR圖像處理
    發(fā)表于 04-23 11:52

    區(qū)分圖像分類方法是什么

    區(qū)分圖像分類方法
    發(fā)表于 05-07 09:37

    基于Brushlet和RBF網(wǎng)絡(luò)的SAR圖像分類

    針對SAR圖像紋理特征豐富的特點,本文提出一種新的SAR圖像分類方法:通過提取Brushlet變換的能量及相位信息作為SAR圖像的紋理特征,然后輸入徑向基函數(shù)RBF網(wǎng)絡(luò)對
    發(fā)表于 12-18 16:20 ?20次下載

    Programming Tricks for Higher Conversion Speeds Utilizing De

    PROGRAMMING TRICKS FOR HIGHER CONVERSION SPEEDS UTILIZING DELTA SIGMA CONVERTERS:編程更高的轉(zhuǎn)換利用Δ-Σ轉(zhuǎn)換速度把戲
    發(fā)表于 06-01 18:05 ?28次下載

    圖像分類的方法之深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)

    圖像分類,顧名思義,是一個輸入圖像,輸出對該圖像內(nèi)容分類的描述的問題。它是計算機視覺的核心,實際應(yīng)用廣泛。
    發(fā)表于 09-28 19:43 ?0次下載

    基于顯著性檢測的圖像分類算法

    針對傳統(tǒng)的圖像分類方法對整個圖像不分等級處理以及缺乏高層認(rèn)知的問題,提出了一種基于顯著性檢測的圖像分類方法。首先,利用視覺注意模型進(jìn)行顯著性
    發(fā)表于 01-04 13:47 ?0次下載

    簡單好上手的圖像分類教程!

    簡單好上手的圖像分類教程!構(gòu)建圖像分類模型的一個突破是發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以用來逐步地提取圖像內(nèi)容的更高層的表示。CNN不是預(yù)先處理
    的頭像 發(fā)表于 05-31 16:36 ?8243次閱讀
    簡單好上手的<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>教程!

    如何利用機器學(xué)習(xí)思想,更好地去解決NLP分類任務(wù)

    NLP分類任務(wù)我們每個NLPer都異常熟悉了,其在整個NLP業(yè)務(wù)中占據(jù)著舉足輕重的地位,更多領(lǐng)域的子任務(wù)也常常轉(zhuǎn)化為一個分類任務(wù),例如新聞
    的頭像 發(fā)表于 08-28 10:02 ?2273次閱讀
    如何利用機器學(xué)習(xí)思想,更好地去解決NLP<b class='flag-5'>分類</b><b class='flag-5'>任務(wù)</b>

    針對遙感圖像場景分類的多粒度特征蒸餾方法

    深度神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于遙感圖像場景分類任務(wù)中并能大幅提高分類精度,但隱藏層數(shù)較少的神經(jīng)網(wǎng)絡(luò)在標(biāo)記數(shù)據(jù)不足的遙感場景分類中泛化能力較低,而隱層
    發(fā)表于 03-11 17:18 ?20次下載
    針對遙感<b class='flag-5'>圖像</b>場景<b class='flag-5'>分類</b>的多粒度特征蒸餾方法

    關(guān)于深度學(xué)習(xí)圖像分類不得不說的技巧詳解

    計算機視覺主要問題有圖像分類、目標(biāo)檢測和圖像分割等。針對圖像分類任務(wù),提升準(zhǔn)確率的方法路線有兩條
    的頭像 發(fā)表于 04-01 14:29 ?2972次閱讀
    關(guān)于深度學(xué)習(xí)<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>不得不說的技巧詳解

    文本分類任務(wù)的Bert微調(diào)trick大全

    1 前言 大家現(xiàn)在打比賽對預(yù)訓(xùn)練模型非常喜愛,基本上作為NLP比賽基線首選(圖像分類也有預(yù)訓(xùn)練模型)。預(yù)訓(xùn)練模型雖然很強,可能通過簡單的微調(diào)就能給我們帶來很大提升,但是大家會發(fā)現(xiàn)比賽做到后期
    的頭像 發(fā)表于 07-18 09:49 ?2493次閱讀

    圖像關(guān)系型KD方法語義分割任務(wù)-CIRKD

    語義分割任務(wù)作為計算機視覺中的基礎(chǔ)任務(wù)之一,其目的是對圖像中的每一個像素進(jìn)行分類。該任務(wù)也被廣泛應(yīng)用于實踐,例如自動駕駛和醫(yī)學(xué)
    的頭像 發(fā)表于 05-10 11:30 ?2453次閱讀
    跨<b class='flag-5'>圖像</b>關(guān)系型KD方法語義分割<b class='flag-5'>任務(wù)</b>-CIRKD

    一種對紅細(xì)胞和白細(xì)胞圖像分類任務(wù)的主動學(xué)習(xí)端到端工作流程

    細(xì)胞成像的分割和分類等技術(shù)是一個快速發(fā)展的領(lǐng)域研究。就像在其他機器學(xué)習(xí)領(lǐng)域一樣,數(shù)據(jù)的標(biāo)注是非常昂貴的,并且對于數(shù)據(jù)標(biāo)注的質(zhì)量要求也非常的高。針對這一問題,本篇文章介紹一種對紅細(xì)胞和白細(xì)胞圖像分類
    的頭像 發(fā)表于 08-13 10:27 ?1279次閱讀

    計算機視覺的5大核心任務(wù)是什么?

    圖像分類是將圖像分配到某個特定類別的任務(wù),而圖像識別則進(jìn)一步將類別關(guān)聯(lián)到具體的實體或?qū)ο蟆@纾?b class='flag-5'>分類
    發(fā)表于 08-28 11:45 ?898次閱讀
    計算機視覺的5大核心<b class='flag-5'>任務(wù)</b>是什么?

    計算機視覺怎么給圖像分類

    圖像分類是計算機視覺領(lǐng)域中的一項核心任務(wù),其目標(biāo)是將輸入的圖像自動分配到預(yù)定義的類別集合中。這一過程涉及圖像的特征提取、特征表示以及
    的頭像 發(fā)表于 07-08 17:06 ?697次閱讀