99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

新機(jī)器視覺(jué) ? 來(lái)源:開(kāi)源博客 ? 作者:我是算法工程師 ? 2021-04-01 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

計(jì)算機(jī)視覺(jué)主要問(wèn)題有圖像分類(lèi)、目標(biāo)檢測(cè)和圖像分割等。針對(duì)圖像分類(lèi)任務(wù),提升準(zhǔn)確率的方法路線(xiàn)有兩條,一個(gè)是模型的修改,另一個(gè)是各種數(shù)據(jù)處理和訓(xùn)練的技巧(tricks)。圖像分類(lèi)中的各種技巧對(duì)于目標(biāo)檢測(cè)、圖像分割等任務(wù)也有很好的作用,因此值得好好總結(jié)。本文在精讀論文的基礎(chǔ)上,總結(jié)了圖像分類(lèi)任務(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ù)之一,針對(duì)學(xué)習(xí)率的技巧有很多。Warm up是在ResNet論文[1]中提到的一種學(xué)習(xí)率預(yù)熱的方法。由于剛開(kāi)始訓(xùn)練時(shí)模型的權(quán)重(weights)是隨機(jī)初始化的(全部置為0是一個(gè)坑,原因見(jiàn)[2]),此時(shí)選擇一個(gè)較大的學(xué)習(xí)率,可能會(huì)帶來(lái)模型的不穩(wěn)定。學(xué)習(xí)率預(yù)熱就是在剛開(kāi)始訓(xùn)練的時(shí)候先使用一個(gè)較小的學(xué)習(xí)率,訓(xùn)練一些epoches或iterations,等模型穩(wěn)定時(shí)再修改為預(yù)先設(shè)置的學(xué)習(xí)率進(jìn)行訓(xùn)練。論文[1]中使用一個(gè)110層的ResNet在cifar10上訓(xùn)練時(shí),先用0.01的學(xué)習(xí)率訓(xùn)練直到訓(xùn)練誤差低于80%(大概訓(xùn)練了400個(gè)iterations),然后使用0.1的學(xué)習(xí)率進(jìn)行訓(xùn)練。

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

Gradual warmup代碼如下:

fromtorch.optim.lr_scheduler import_LRScheduler

classGradualWarmupScheduler(_LRScheduler):

“”“

Args:

optimizer (Optimizer): Wrapped optimizer.

multiplier: target learning rate = base lr * multiplier

total_epoch: target learning rate is reached at total_epoch, gradually

after_scheduler: after target_epoch, use this scheduler(eg. ReduceLROnPlateau)

”“”

def__init__(self, optimizer, multiplier, total_epoch, after_scheduler=None):

self.multiplier = multiplier

ifself.multiplier 《= 1.:

raiseValueError(‘multiplier should be greater than 1.’)

self.total_epoch = total_epoch

self.after_scheduler = after_scheduler

self.finished = False

super().__init__(optimizer)

defget_lr(self):

ifself.last_epoch 》 self.total_epoch:

ifself.after_scheduler:

ifnotself.finished:

self.after_scheduler.base_lrs = [base_lr * self.multiplier forbase_lr inself.base_lrs]

self.finished = True

returnself.after_scheduler.get_lr()

return[base_lr * self.multiplier forbase_lr inself.base_lrs]

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

defstep(self, epoch=None):

ifself.finished andself.after_scheduler:

returnself.after_scheduler.step(epoch)

else:

returnsuper(GradualWarmupScheduler, self).step(epoch)

Linear scaling learning rate

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

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

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

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

Label-smoothing

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

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

1fd2e078-92a8-11eb-8b86-12bb97331649.jpg

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

總的來(lái)說(shuō),LSR是一種通過(guò)在標(biāo)簽y中加入噪聲,實(shí)現(xiàn)對(duì)模型約束,降低模型過(guò)擬合程度的一種正則化方法。

LSR代碼如下:

importtorch

importtorch.nn asnn

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):

“”“

Convert labels to one hot vectors

Args:

labels: torch tensor in format [label1, label2, label3, 。..]

classes: int, number of classes

value: label value in one hot vector, default to 1

Returns:

return one hot format labels in shape [batchsize, classes]

”“”

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

#labels and value_added size must match

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):

“”“convert targets to one-hot format, and smooth

them.

Args:

target: target in form with [label1, label2, label_batchsize]

length: length of one-hot format(number of classes)

smooth_factor: smooth factor for label smooth

Returns:

smoothed labels in one hot format

”“”

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]方法隨機(jī)裁剪四個(gè)圖片的中部分,然后把它們拼接為一個(gè)圖片,同時(shí)混合這四個(gè)圖片的標(biāo)簽。

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

1fdbfe1a-92a8-11eb-8b86-12bb97331649.jpg

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

1fea15d6-92a8-11eb-8b86-12bb97331649.jpg

20213548-92a8-11eb-8b86-12bb97331649.jpg

RICAP的代碼如下:

beta = 0.3# hyperparameter

for(images, targets) intrain_loader:

# get the image size

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

# draw a boundry position (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]

# select and crop four images

cropped_images = {}

c_ = {}

W_ = {}

fork inrange(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)

# patch cropped images

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()

# get output

output = model(patched_images)

# calculate loss and accuracy

loss = sum([W_[k] * criterion(output, c_[k]) fork inrange(4)])

acc = sum([W_[k] * accuracy(output, c_[k])[0] fork inrange(4)])

Knowledge Distillation

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

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

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

2052d530-92a8-11eb-8b86-12bb97331649.jpg

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

Cutout

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

代碼如下:

importtorch

importnumpy asnp

classCutout(object):

“”“Randomly mask out one or more patches from an image.

Args:

n_holes (int): Number of patches to cut out of each image.

length (int): The length (in pixels) of each square patch.

”“”

def__init__(self, n_holes, length):

self.n_holes = n_holes

self.length = length

def__call__(self, img):

“”“

Args:

img (Tensor): Tensor image of size (C, H, W)。

Returns:

Tensor: Image with n_holes of dimension length x length cut out of it.

”“”

h = img.size(1)

w = img.size(2)

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

forn inrange(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

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

Random erasing

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

Random erasing代碼如下:

from__future__ importabsolute_import

fromtorchvision.transforms import*

fromPIL importImage

importrandom

importmath

importnumpy asnp

importtorch

classRandomErasing(object):

‘’‘

probability: The probability that the operation will be performed.

sl: min erasing area

sh: max erasing area

r1: min aspect ratio

mean: erasing value

’‘’

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

forattempt inrange(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 《 img.size()[2] andh 《 img.size()[1]:

x1 = random.randint(0, img.size()[1] - h)

y1 = random.randint(0, img.size()[2] - w)

ifimg.size()[0] == 3:

img[0, x1:x1+h, y1:y1+w] = self.mean[0]

img[1, x1:x1+h, y1:y1+w] = self.mean[1]

img[2, x1:x1+h, y1:y1+w] = self.mean[2]

else:

img[0, x1:x1+h, y1:y1+w] = self.mean[0]

returnimg

returnimg

Cosine learning rate decay

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

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

20caef7a-92a8-11eb-8b86-12bb97331649.jpg

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

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

20d720c4-92a8-11eb-8b86-12bb97331649.jpg

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

# Assuming optimizer uses lr = 0.05 for all groups

# lr = 0.05 if epoch 《 30

# lr = 0.005 if 30 《= epoch 《 60

# lr = 0.0005 if 60 《= epoch 《 90

fromtorch.optim.lr_scheduler importStepLR

scheduler = StepLR(optimizer, step_size=30, gamma=0.1)

forepoch inrange(100):

scheduler.step()

train(。..)

validate(。..)

Mixup training

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

20f1b07e-92a8-11eb-8b86-12bb97331649.jpg

其中,λ是從Beta(α, α)隨機(jī)采樣的數(shù),在[0,1]之間。在訓(xùn)練過(guò)程中,僅使用(xhat, yhat)。

Mixup方法主要增強(qiáng)了訓(xùn)練樣本之間的線(xiàn)性表達(dá),增強(qiáng)網(wǎng)絡(luò)的泛化能力,不過(guò)mixup方法需要較長(zhǎng)的時(shí)間才能收斂得比較好。

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]中提到的,按照作者的說(shuō)法,AdaBound會(huì)讓你的訓(xùn)練過(guò)程像adam一樣快,并且像SGD一樣好。

如下圖所示,使用AdaBound會(huì)收斂速度更快,過(guò)程更平滑,結(jié)果更好。

20fd3d9a-92a8-11eb-8b86-12bb97331649.jpg

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

212f4394-92a8-11eb-8b86-12bb97331649.jpg

當(dāng)然,AdaBound還沒(méi)有經(jīng)過(guò)普遍的檢驗(yàn),也有可能只是對(duì)于某些問(wèn)題效果好。

使用方法如下:安裝AdaBound

pip install adabound

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

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

AutoAugment

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

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

215e93a6-92a8-11eb-8b86-12bb97331649.jpg

其他經(jīng)典的tricks

常用的正則化方法為

Dropout

L1/L2正則

Batch Normalization

Early stopping

Random cropping

Mirroring

Rotation

Color shifting

PCA color augmentation

。..

其他

Xavier init[12]

。..

參考

[1] Deep Residual Learning for Image Recognition(https://arxiv.org/pdf/1512.03385.pdf)

[2] http://cs231n.github.io/neural-networks-2/

[3] Accurate, Large Minibatch SGD:Training ImageNet in 1 Hour(https://arxiv.org/pdf/1706.02677v2.pdf)

[4] Rethinking the Inception Architecture for Computer Vision(https://arxiv.org/pdf/1512.00567v3.pdf)

[4]Bag of Tricks for Image Classification with Convolutional Neural Networks(https://arxiv.org/pdf/1812.01187.pdf)

[5] Adaptive Gradient Methods with Dynamic Bound of Learning Rate(https://www.luolc.com/publications/adabound/)

[6] Random erasing(https://arxiv.org/pdf/1708.04896v2.pdf)

[7] RICAP(https://arxiv.org/pdf/1811.09030.pdf)

[8] Distilling the Knowledge in a Neural Network(https://arxiv.org/pdf/1503.02531.pdf)

[9] Improved Regularization of Convolutional Neural Networks with Cutout(https://arxiv.org/pdf/1708.04552.pdf)

[10] Mixup: BEYOND EMPIRICAL RISK MINIMIZATION(https://arxiv.org/pdf/1710.09412.pdf)

[11] AutoAugment:Learning Augmentation Policies from Data(https://arxiv.org/pdf/1805.09501.pdf)

[12] Understanding the difficulty of training deep feedforward neural networks(http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf)
編輯:lyn

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

原文標(biāo)題:深度學(xué)習(xí)圖像分類(lèi)任務(wù)中那些不得不看的技巧總結(jié)

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS:路由跳轉(zhuǎn)踩坑記

    ,小編不得不開(kāi)始卷起來(lái)。哎,前一段時(shí)間剛卷完Flutter。。。。** 問(wèn)題 ** 目前關(guān)于鴻蒙的資料不多,小編也是只能從鴻蒙開(kāi)發(fā)者官網(wǎng)上看看官方學(xué)習(xí)視頻,不得不說(shuō),視頻講解的真簡(jiǎn)單,
    的頭像 發(fā)表于 06-09 15:29 ?166次閱讀

    在友晶LabCloud平臺(tái)上使用PipeCNN實(shí)現(xiàn)ImageNet圖像分類(lèi)

    利用深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行圖像分類(lèi)是通過(guò)使用多個(gè)卷積層來(lái)從輸入數(shù)據(jù)中提取特征,最后通過(guò)分類(lèi)層做決策來(lái)識(shí)別出目標(biāo)物體。
    的頭像 發(fā)表于 04-23 09:42 ?412次閱讀
    在友晶LabCloud平臺(tái)上使用PipeCNN實(shí)現(xiàn)ImageNet<b class='flag-5'>圖像</b><b class='flag-5'>分類(lèi)</b>

    基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)自學(xué)習(xí)圖像分類(lèi)方案

    在RV1126開(kāi)發(fā)板上實(shí)現(xiàn)自學(xué)習(xí):在識(shí)別前對(duì)物體圖片進(jìn)行模型學(xué)習(xí),訓(xùn)練完成后通過(guò)算法分類(lèi)得出圖像的模型ID。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)
    的頭像 發(fā)表于 04-21 13:37 ?11次閱讀
    基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)自<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>圖像</b><b class='flag-5'>分類(lèi)</b>方案

    關(guān)于滲壓計(jì)的這些問(wèn)題不得不知……

    行業(yè)資訊
    南京峟思工程儀器
    發(fā)布于 :2025年03月20日 17:30:21

    《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》----- 學(xué)習(xí)如何開(kāi)發(fā)視頻應(yīng)用

    用戶(hù)的視頻生成請(qǐng)求和展示生成的視頻結(jié)果。 將前端界面與語(yǔ)聚AI平臺(tái)中的AI助手進(jìn)行集成,確保前端能夠正確地調(diào)用AI助手的功能并接收返回的視頻結(jié)果。 接下來(lái)就可以體驗(yàn)生成的效果了。 不得不說(shuō)整體體驗(yàn)下來(lái),使用AI工具創(chuàng)建智能體非常方便,入手也非常簡(jiǎn)單。
    發(fā)表于 03-05 19:52

    中興通訊40年——五個(gè)不得不說(shuō)的故事

    今年2月7日是中興成立40年。 我寫(xiě)了《華為通信科技史話(huà)》的書(shū)(人民郵電出版社),從側(cè)面體現(xiàn)了同城兄弟中興通訊的科技發(fā)展過(guò)程。 中興歷史上有五個(gè)重要的故事。 1、中興在1993年鳳凰涅槃 1985年2月7日,由侯為貴先生牽頭,航天科技771所(當(dāng)時(shí)是691廠(chǎng))等單位共同出資成立了中外合資企業(yè)——深圳市中興半導(dǎo)體有限公司。 1993年4月,中興半導(dǎo)體公司改組,691廠(chǎng)、深圳廣宇工業(yè)公司與民營(yíng)科技企業(yè)深圳中興維先通公司共同投資組建深圳市中興新通訊設(shè)
    的頭像 發(fā)表于 02-13 16:04 ?3158次閱讀
    中興通訊40年——五個(gè)<b class='flag-5'>不得不說(shuō)</b>的故事

    xgboost在圖像分類(lèi)中的應(yīng)用

    和易用性,在各種機(jī)器學(xué)習(xí)任務(wù)中得到了廣泛應(yīng)用,包括分類(lèi)、回歸和排序問(wèn)題。在圖像分類(lèi)領(lǐng)域,盡管深度學(xué)習(xí)
    的頭像 發(fā)表于 01-19 11:16 ?1019次閱讀

    使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像分類(lèi)的步驟

    (例如,高分辨率、不同光照條件等)。 2. 數(shù)據(jù)收集 獲取數(shù)據(jù)集 :收集或購(gòu)買(mǎi)一個(gè)包含你想要分類(lèi)圖像的數(shù)據(jù)集。 數(shù)據(jù)標(biāo)注 :確保所有圖像都被正確標(biāo)注,這對(duì)于監(jiān)督學(xué)習(xí)是必要的。 3.
    的頭像 發(fā)表于 11-15 15:01 ?853次閱讀

    深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型

    深度學(xué)習(xí)近年來(lái)在多個(gè)領(lǐng)域取得了顯著的進(jìn)展,尤其是在圖像識(shí)別、語(yǔ)音識(shí)別和自然語(yǔ)言處理等方面。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一個(gè)分支,因其在
    的頭像 發(fā)表于 11-15 14:52 ?853次閱讀

    NPU在深度學(xué)習(xí)中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其核心驅(qū)動(dòng)力之一,已經(jīng)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和價(jià)值。NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理單元)是專(zhuān)門(mén)為深度學(xué)習(xí)
    的頭像 發(fā)表于 11-14 15:17 ?1936次閱讀

    主動(dòng)學(xué)習(xí)圖像分類(lèi)技術(shù)中的應(yīng)用:當(dāng)前狀態(tài)與未來(lái)展望

    本文對(duì)近年來(lái)提出的主動(dòng)學(xué)習(xí)圖像分類(lèi)算法進(jìn)行了詳細(xì)綜述,并根據(jù)所用樣本數(shù)據(jù)處理及模型優(yōu)化方案,將現(xiàn)有算法分為三類(lèi):基于數(shù)據(jù)增強(qiáng)的算法,包括利用圖像增廣來(lái)擴(kuò)充訓(xùn)練數(shù)據(jù),或者根據(jù)
    的頭像 發(fā)表于 11-14 10:12 ?1293次閱讀
    主動(dòng)<b class='flag-5'>學(xué)習(xí)</b>在<b class='flag-5'>圖像</b><b class='flag-5'>分類(lèi)</b>技術(shù)中的應(yīng)用:當(dāng)前狀態(tài)與未來(lái)展望

    errDump錯(cuò)誤日志上報(bào):開(kāi)啟高效排查之門(mén)

    相信很多朋友都會(huì)忽視errDump錯(cuò)誤日志上報(bào),但不得不說(shuō)的是技術(shù)高手都知道它真的是比較重要的一環(huán)。
    的頭像 發(fā)表于 11-02 11:52 ?765次閱讀
    errDump錯(cuò)誤日志上報(bào):開(kāi)啟高效排查之門(mén)

    基于深度學(xué)習(xí)的三維點(diǎn)云分類(lèi)方法

    近年來(lái),點(diǎn)云表示已成為計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)之一,并廣泛應(yīng)用于自動(dòng)駕駛、虛擬現(xiàn)實(shí)、機(jī)器人等許多領(lǐng)域。雖然深度學(xué)習(xí)技術(shù)在處理常規(guī)結(jié)構(gòu)化的二維網(wǎng)格圖像數(shù)據(jù)方面取得了巨大成功,但在處理不規(guī)則、非結(jié)構(gòu)化的點(diǎn)云數(shù)據(jù)方面仍面臨著巨大挑戰(zhàn)。
    的頭像 發(fā)表于 10-29 09:43 ?1597次閱讀
    基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的三維點(diǎn)云<b class='flag-5'>分類(lèi)</b>方法

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)中的應(yīng)用廣泛且重要,以下是一些GPU深度學(xué)習(xí)應(yīng)用案例: 一、圖像識(shí)別 圖像識(shí)別是
    的頭像 發(fā)表于 10-27 11:13 ?1392次閱讀

    激光雷達(dá)技術(shù)的基于深度學(xué)習(xí)的進(jìn)步

    信息。這使得激光雷達(dá)在自動(dòng)駕駛、無(wú)人機(jī)、機(jī)器人等領(lǐng)域具有廣泛的應(yīng)用前景。 二、深度學(xué)習(xí)技術(shù)的發(fā)展 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它通過(guò)模擬人
    的頭像 發(fā)表于 10-27 10:57 ?1076次閱讀