常用 Normalization 方法的總結(jié)與思考:BN、LN、IN、GN
點(diǎn)擊上方“視學(xué)算法”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
來源:機(jī)器學(xué)習(xí)算法那些事 本文約2700字,建議閱讀6分鐘 本文為你介紹常用 Normalization 方法的總結(jié)與思考。

每個子圖表示一個特征圖,其中N為批量,C為通道,(H,W)為特征圖的高度和寬度。通過藍(lán)色部分的值來計(jì)算均值和方差,從而進(jìn)行歸一化。
比喻成一摞書,這摞書總共有 N 本,每本有 C 頁,每頁有 H 行,每行 有W 個字符。1. BN 求均值時,相當(dāng)于把這些書按頁碼一一對應(yīng)地加起來(例如第1本書第36頁,第2本書第36頁......),再除以每個頁碼下的字符總數(shù):N×H×W,因此可以把 BN 看成求“平均書”的操作(注意這個“平均書”每頁只有一個字),求標(biāo)準(zhǔn)差時也是同理。
一、 Batch Normalization, BN
論文鏈接:https://arxiv.org/pdf/1502.03167.pdf
沿著通道計(jì)算每個batch的均值

沿著通道計(jì)算每個batch的方差

做歸一化
加入縮放和平移變量
和

。加入縮放和平移變量的原因是:保證每一次數(shù)據(jù)經(jīng)過歸一化后還保留原有學(xué)習(xí)來的特征,同時又能完成歸一化操作,加速訓(xùn)練。 這兩個參數(shù)是用來學(xué)習(xí)的參數(shù)。二、 Layer Normalization, LN
論文鏈接:https://arxiv.org/pdf/1607.06450v1.pdf

,LN 對每個樣本的 C、H、W 維度上的數(shù)據(jù)求均值和標(biāo)準(zhǔn)差,保留 N 維度。其均值和標(biāo)準(zhǔn)差公式為:
三、 Instance Normalization, IN
,IN 對每個樣本的 H、W 維度的數(shù)據(jù)求均值和標(biāo)準(zhǔn)差,保留 N 、C 維度,也就是說,它只在 channel 內(nèi)部求均值和標(biāo)準(zhǔn)差,其公式如下:
四、 Group Normalization, GN
的均值和方差,這樣就與batch size無關(guān),不受其約束。

def GroupNorm(x, gamma, beta, G=16):# x_shape:[N, C, H, W]results = 0.eps = 1e-5x = np.reshape(x, (x.shape[0], G, x.shape[1]/16, x.shape[2], x.shape[3]))x_mean = np.mean(x, axis=(2, 3, 4), keepdims=True)x_var = np.var(x, axis=(2, 3, 4), keepdims=True0)x_normalized = (x - x_mean) / np.sqrt(x_var + eps)results = gamma * x_normalized + betareturn results
總結(jié)
比喻成一摞書,這摞書總共有 N 本,每本有 C 頁,每頁有 H 行,每行 有W 個字符。
和
的區(qū)別:對于 BN,IN,GN, 其
和
都是維度等于通道數(shù) C 的向量。而對于 LN,其
和
都是維度等于 normalized_shape 的矩陣。編輯:于騰凱
校對:林亦霖

點(diǎn)個在看 paper不斷!
評論
圖片
表情
