成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度學(xué)習(xí)中的歸一化技術(shù)全面總結(jié)

人工智能 深度學(xué)習(xí)
在這篇文章中,我將使用類比和可視化的方式來(lái)回顧這些方法中,這將幫助您了解它們的產(chǎn)生的原因和思維過(guò)程。

訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。 多年來(lái),研究人員提出了不同的方法來(lái)加速和穩(wěn)定學(xué)習(xí)過(guò)程。 歸一化是一種被證明在這方面非常有效的技術(shù)。

在這篇文章中,我將使用類比和可視化的方式來(lái)回顧這些方法中,這將幫助您了解它們的產(chǎn)生的原因和思維過(guò)程。

為什么要?dú)w一化?

例如,我們現(xiàn)在用兩個(gè)特征構(gòu)建一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型。 這兩個(gè)特征一個(gè)是年齡:范圍在 0 到 65 之間,另一個(gè)是工資:范圍從 0 到 10 000。我們將這些特征提供給模型并計(jì)算梯度。

不同規(guī)模的輸入導(dǎo)致不同的權(quán)重更新和優(yōu)化器的步驟向最小值的方向不均衡。這也使損失函數(shù)的形狀不成比例。在這種情況下,就需要使用較低的學(xué)習(xí)速率來(lái)避免過(guò)沖,這就意味著較慢的學(xué)習(xí)過(guò)程。

所以我們的解決方案是輸入進(jìn)行歸一化,通過(guò)減去平均值(定心)并除以標(biāo)準(zhǔn)偏差來(lái)縮小特征。

此過(guò)程也稱為“漂白”,處理后所有的值具有 0 均值和單位方差,這樣可以提供更快的收斂和更穩(wěn)定的訓(xùn)練。

這是一個(gè)很好的解決方案,那么為什么我們不規(guī)范化網(wǎng)絡(luò)中每一層的激活呢?

下面我們先看一下針對(duì)于激活的歸一化方法

Batch Normalization

2015 年,Sergey Ioffe 和 Christian Szegedy[3] 采用了這個(gè)想法來(lái)解決內(nèi)部協(xié)變量偏移問(wèn)題。 以前輸入層分布由于權(quán)值的更新而不斷變化。所以下面的層總是需要適應(yīng)新的分布,它會(huì)導(dǎo)致收斂速度變慢和訓(xùn)練不穩(wěn)定。

批量標(biāo)準(zhǔn)化提供了一種控制和優(yōu)化每一層之后的分布的方法。 該過(guò)程與輸入歸一化相同,但我們添加了兩個(gè)可學(xué)習(xí)的參數(shù),γ 和 β。

通過(guò)代碼來(lái)說(shuō)明要比枯燥的公式好的多,所以BN的代碼如下:

def BatchNorm(x, gamma, beta, eps=1e-5):
# x: input shape [N, C, H, W]
N, C, H, W = x.shape
mean = torch.mean(input=x, dim=[0,2,3], keepdim=True)
var = torch.var(input=x, dim=[0,2,3], keepdim=True)
# mean, var shape : [1, C, 1, 1]
x = (x - mean) / torch.sqrt(var + eps)

return x * gamma + beta

這兩個(gè)參數(shù)是通過(guò)反向傳播沿著網(wǎng)絡(luò)學(xué)習(xí)的。他們通過(guò)縮放(γ)和移動(dòng)(β)激活優(yōu)化分布。

由于有固定的分布,所以可以提高學(xué)習(xí)率并加快收斂速度。 除了計(jì)算提升之外,BN 還可以作為一種正則化技術(shù)。 數(shù)據(jù)集統(tǒng)計(jì)數(shù)據(jù)的近似產(chǎn)生的噪聲消除了對(duì) Dropout 的需要。

但這是一把雙刃劍。 這種估計(jì)僅適用于較大的批次。 當(dāng)批次數(shù)量較少時(shí),性能會(huì)急劇下降。

BN 的另一個(gè)缺點(diǎn)是對(duì)于批處理的依賴。 如果我們傳遞了單個(gè)樣本而不是批量的樣本,網(wǎng)絡(luò)必須使用預(yù)先計(jì)算的訓(xùn)練均值和方差,這可能會(huì)導(dǎo)致不同的結(jié)果。

這個(gè)問(wèn)題的重要性促使人們創(chuàng)建替代方法以避免對(duì)批處理的依賴。

Layer Normalization

這是Geoffrey E. Hinton等人在2016年[4]中首次嘗試減少對(duì)批大小的約束。提出這個(gè)方法的主要原因是無(wú)法找到將BN應(yīng)用于遞歸神經(jīng)網(wǎng)絡(luò),需要找到一個(gè)替代的方法。

在深度神經(jīng)網(wǎng)絡(luò)中,由于層數(shù)是固定的,因此很容易存儲(chǔ)每個(gè) BN 層的統(tǒng)計(jì)信息。 然而在 RNN 中,輸入和輸出形狀的長(zhǎng)度不同。 因此,在這種情況下,最好使用單個(gè)時(shí)間步長(zhǎng)(樣本)而不是整個(gè)批次的統(tǒng)計(jì)信息進(jìn)行標(biāo)準(zhǔn)化。

def LayerNorm(x, gamma, beta, eps=1e-5):
# x: input shape [N, C, H, W]

N, C, H, W = x.shape
mean = torch.mean(input=x, dim=[1,2,3], keepdim=True)
var = torch.var(input=x, dim=[1,2,3], keepdim=True)
# mean, var shape: [N, 1, 1, 1]
x = (x - mean) / torch.sqrt(var + eps)

return x * gamma + beta

在這種方法中,batch(N) 中的每個(gè)示例都在 [C, H, W] 維度上進(jìn)行了歸一化。 與 BN 一樣,它可以加速和穩(wěn)定訓(xùn)練,并且不受批次的限制。 此方法可用于批量為 1 的在線學(xué)習(xí)任務(wù)。

Instance Normalization

Dmitry Ulyanov 等人在 2016 年的論文 [5] 中介紹了Instance Normalization。 這是另一種嘗試減少對(duì)批處理的依賴以改善樣式傳輸網(wǎng)絡(luò)的結(jié)果。

def InstanceNorm(x, gamma, beta, eps=1e-5):
# x: input shape [N, C, H, W]
N, C, H, W = x.shape
mean = torch.mean(input=x, dim=[2,3], keepdim=True)
var = torch.var(input=x, dim=[2,3], keepdim=True)
# mean, var shape: [N, C, 1, 1]
x = (x - mean) / torch.sqrt(var + eps)

return x * gamma + beta

跨批次和通道的標(biāo)準(zhǔn)化允許從圖像中刪除特定的對(duì)比度信息,這有助于泛化。

這種方法在 Pix2Pix 或 CycleGAN 等生成模型中廣受歡迎,并成為著名的 StyleGAN2 中使用的自適應(yīng)實(shí)例歸一化的先驅(qū)。

Group Normalization

Group Normalization 在 2018[1] 論文中被引入,它直接解決了 CNN 的 BN 限制。 主要針對(duì)的是分布式學(xué)習(xí),其中批次被分成許多機(jī)器。 這些是在少數(shù)例子上訓(xùn)練的,比如 6-8,在某些情況下,甚至是 1-2。

GN 可以理解為L(zhǎng)ayer 和Instance的混合。 GN 將通道分成組并在它們之間進(jìn)行標(biāo)準(zhǔn)化。 該方案使計(jì)算獨(dú)立于批量大小。

def GroupNorm(x, gamma, beta, G, eps=1e-5):
# x: input features with shape [N, C, H, W]
# G : number of groups
N, C, H, W = x.shape
x = torch.reshape(input=x, shape=[N, G, C // G, H, W])
mean = torch.mean(input=x, dim=[2,3,4], keepdim=True)
var = torch.var(input=x, dim=[2,3,4], keepdim=True)
# mean, var shape : [N, G, 1, 1, 1]
x = (x - mean) / torch.sqrt(var + eps)
x = torch.reshape(input=x, shape=[N, C, H, W])
return x * gamma + beta

GN 優(yōu)于在小批量上訓(xùn)練的 BN,但無(wú)法擊敗大批量的結(jié)果,但是這是一個(gè)很好的起點(diǎn)。

上面的針對(duì)于激活的歸一化方法我們基本上都聽(tīng)說(shuō)過(guò)也經(jīng)常會(huì)用到,下面我們來(lái)介紹針對(duì)權(quán)重的歸一化方法。

Weight Standardization

我們已經(jīng)對(duì)輸入和層輸出進(jìn)行了標(biāo)準(zhǔn)化,唯一剩下的就是權(quán)重。因?yàn)樗鼈兛梢栽跊](méi)有任何控制的情況下變大,尤其是當(dāng)我們無(wú)論如何都要標(biāo)準(zhǔn)化輸出時(shí)。 通過(guò)標(biāo)準(zhǔn)化權(quán)重,我們實(shí)現(xiàn)了更平滑的損失和更穩(wěn)定的訓(xùn)練。

def WeightStand(w, eps=1e-5):
# w: input features shape [Cin, Cout, kernel_size, kernel_size]
mean = torch.mean(input=w, dim=[0,2,3], keepdim=True)
var = torch.var(input=w, dim=[0,2,3], keepdim=True)
# mean, var shape : [1, Cout, 1, 1]

w = (w - mean) / torch.sqrt(var + eps)

return w

權(quán)重的標(biāo)準(zhǔn)化是Group Normalization的一個(gè)很好的輔助。 在僅使用一個(gè)樣本的 BN(大批量)情況下,將這些方法結(jié)合起來(lái)會(huì)產(chǎn)生更好的結(jié)果。

除此以外,有人還提出了BCN方法,稱為批處理通道規(guī)范化。簡(jiǎn)而言之,每一層同時(shí)使用BN和GN。

總結(jié)

歸一化是深度學(xué)習(xí)中的一個(gè)基本概念。 它加快了計(jì)算速度并穩(wěn)定了訓(xùn)練。 多年來(lái)發(fā)展了許多不同的技術(shù)。本篇文章整理了目前與它相關(guān)的方法,希望對(duì)你有所幫助。


責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2017-05-19 14:05:37

深度學(xué)習(xí)批歸一化技術(shù)

2009-08-05 09:48:12

JSP學(xué)習(xí)經(jīng)驗(yàn)

2020-05-18 08:42:13

機(jī)器學(xué)習(xí)技術(shù)深度學(xué)習(xí)

2019-02-13 19:20:12

人臉識(shí)別深度學(xué)習(xí)人工智能

2019-12-27 16:20:35

人臉識(shí)別深度學(xué)習(xí)人工智能

2018-07-03 09:12:23

深度學(xué)習(xí)正則化Python

2021-02-20 21:09:12

深度學(xué)習(xí)編程人工智能

2021-04-07 10:13:51

人工智能深度學(xué)習(xí)

2021-04-01 13:53:26

深度學(xué)習(xí)大數(shù)據(jù)人工智能

2020-04-10 15:05:09

深度學(xué)習(xí)人工智能蒸餾

2022-02-21 00:05:25

深度學(xué)習(xí)可視化工具

2022-07-06 10:23:13

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2010-07-26 10:13:30

虛擬化

2021-05-06 09:05:11

深度學(xué)習(xí)

2009-12-23 16:19:25

WPF UI自動(dòng)化技術(shù)

2017-11-20 05:08:16

深度學(xué)習(xí)激活函數(shù)神經(jīng)網(wǎng)絡(luò)

2018-03-21 14:16:45

虛擬化技術(shù)解密

2024-02-19 10:25:34

深度學(xué)習(xí)人工智能AI

2021-03-02 14:01:33

人工智能深度學(xué)習(xí)

2017-11-21 10:35:14

深度學(xué)習(xí)異構(gòu)加速
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91视视频在线观看入口直接观看 | 亚洲人成人一区二区在线观看 | 成人av高清在线观看 | 精品在线一区二区 | www国产精品| 精品国产一区一区二区三亚瑟 | 久久精品久久久久久 | 久久久久成人精品亚洲国产 | 久久久毛片 | 妞干网福利视频 | 中文字幕欧美一区二区 | 亚洲精品国产偷自在线观看 | 久久精品一区二区三区四区 | 视频一区在线观看 | 99re在线视频 | 自拍偷拍第1页 | 蜜臀网站| 欧美大片黄 | 亚洲一区精品视频 | 久久久新视频 | 日本欧美在线 | 日韩av电影院 | 日本成人福利 | 久久精品在线免费视频 | 亚洲一区二区在线 | wwwxxx国产 | 一二三区在线 | 国产精品国产精品 | 国产成人精品久久二区二区91 | 亚洲精品成人免费 | 成人精品国产 | 国产电影一区二区 | 黄色国产在线播放 | 91精品国产乱码久久蜜臀 | 久久久国产一区二区三区四区小说 | 人人鲁人人莫人人爱精品 | 夜夜草导航 | 一区二区三区视频 | 性色综合 | 九九精品在线 | 在线观看日韩精品视频 |