tft每日頭條

 > 生活

 > pbmc稀釋倍數的計算方法

pbmc稀釋倍數的計算方法

生活 更新时间:2024-08-25 04:17:16

pbmc稀釋倍數的計算方法(BNLNIN)1

批處理歸一化(BN)已經成為許多先進深度學習模型的重要組成部分,特别是在計算機視覺領域。它通過批處理中計算的平均值和方差來規範化層輸入,因此得名。要使BN工作,批大小必須足夠大,通常至少為32。但是,在一些情況下,我們不得不滿足于小批量:

當每個數據樣本高度消耗内存時,例如視頻或高分辨率圖像

當我們訓練一個很大的神經網絡時,它隻留下很少的GPU内存來處理數據

因此,我們需要BN的替代品,它能在小批量下很好地工作。組歸一化(GN)是一種最新的規範化方法,可以避免利用批處理維,因此與批處理大小無關。

不同的歸一化方法

為了促進GN的表述,我們将首先看一下以前的一些标準化方法。

xᵢ ← (xᵢ - ᵢ) / √(ᵢ² )

對于每個系數xᵢ輸入特性。ᵢ和ᵢ²的均值和方差計算的集合Sᵢ系數,和是一個小的常數數值穩定,避免除零。唯一的區别是集Sᵢ是如何選擇的。

為說明歸一化方法的計算,我們考慮一批N = 3,輸入特征a, b, c,它們有通道c = 4,高度H = 1,寬度W = 2:

a = [ [[2, 3]], [[5, 7]], [[11, 13]], [[17, 19]] ]b = [ [[0, 1]], [[1, 2]], [[3, 5]], [[8, 13]] ]c = [ [[1, 2]], [[3, 4]], [[5, 6]], [[7, 8]] ]

因此批将形狀(N、C, H, W) =(3、4、1、2)。我們把= 0.00001。

Batch Normalization

BN規範化的渠道和計算ᵢ和ᵢ沿軸(N、H、W)。批次ᵢ系數被定義為一組的批處理xᵢ相同的頻道。

第一系數的ᵢ= 2,i=(0,0,0),相應的ᵢ和ᵢ²系數的計算,b和c的第一個頻道:

ᵢ = mean(2, 3, 0, 1, 1, 2) = 1.5ᵢ² = var(2, 3, 0, 1, 1, 2) = 0.917

代入歸一化公式,

aᵢ ← (2 - 1.5) / √(0.917 0.00001) = 0.522

計算a的所有系數

a ← [ [[0.522, 1.567]], [[0.676, 1.690]], [[1.071, 1.630]], [[1.066, 1.492]] ]

Layer Normalization

層歸一化(LN)的設計是為了克服BN的缺點,包括它對批大小的限制。計算ᵢ和ᵢ沿着(C、H、W)軸,和Sᵢ定義為所有系數xᵢ屬于相同的輸入特性。因此,一個輸入特征的計算完全獨立于批處理中的其他輸入特征。

所有的系數是由相同的歸一化ᵢ和ᵢ²

ᵢ = mean(2, 3, 5, 7, 11, 13, 17, 19) = 9.625ᵢ² = var(2, 3, 5, 7, 11, 13, 17, 19) = 35.734

計算a的所有系數

a ← [ [[-1.276, -1.108]], [[-0.773, -0.439]], [[0.230, 0.565]], [[1.234, 1.568]] ]

Instance Normalization

實例規範化(IN)可以看作是将BN公式單獨應用到每個輸入特性(又稱實例),就好像它是批處理中的唯一成員一樣。更準确地說,在計算ᵢ和ᵢ沿軸(H, W)和Sᵢ的系數被定義為一組相同的輸入特性和xᵢ也在同一個頻道。

由于IN的計算與批大小為1時BN的計算相同,在大多數情況下,IN實際上會使情況變得更糟。而對于樣式轉換任務,IN在丢棄圖像對比度信息方面優于BN。

第一系數aᵢ= 2,i=i(0,0,0),相應的ᵢ和ᵢ²隻是

ᵢ = mean(2, 3) = 2.5ᵢ² = var(2, 3) = 0.25

aᵢ ← (2 - 2.5) / √(0.25 0.00001) = -1.000

得到

a ← [ [[-1.000, 1.000]], [[-1.000, 1.000]], [[-1.000, 1.000]], [[-1.000, 1.000]] ]

Group Normalization

前面我們說過IN的計算與批大小為1時BN的計算相同,但是是針對對每個輸入特性分别應用BN。注意,IN還可以看作是将LN單獨應用于每個通道,就像通道的數量為1的LN一樣。

組歸一化(GN)是IN和LN的中間點。組織渠道分成不同的組,計算ᵢ和ᵢ沿着(H, W)軸和一組通道。批次ᵢ然後組系數,在相同的輸入特性和同一組xᵢ渠道。

組的數量G是一個預定義的超參數,通常需要它來劃分c。為了簡單起見,我們将通道按順序分組。所以頻道1,…,C / G屬于第一組,頻道C / G 1,…,2C / G屬于第二組,以此類推。當G = C時,即每組隻有1個信道,則GN變為IN。另一方面,當G = 1時,GN變成LN。因此G控制了IN和LN之間的差值。

在我們的例子中,考慮G = 2。規範化的第一個系數aᵢ = 2,i=(0,0,0),我們使用的系數在4 / 2 = 2通道

ᵢ = mean(2, 3, 5, 7) = 4.25ᵢ² = var(2, 3, 5, 7) = 3.687

代入歸一化公式,

aᵢ ← (2 - 4.25) / √(3.687 0.00001) = -1.172

對于a的其他系數,計算方法相似:

a ← [ [[-1.172, -0.651]], [[0.391, 1.432]], [[-1.265, -0.633]], [[0.633, 1.265]] ]

歸一化方法比較

pbmc稀釋倍數的計算方法(BNLNIN)2

藍色的區域對應的集Sᵢ計算ᵢ和ᵢ,然後用來正常化任何系數在藍色區域。

從這個圖中我們可以看到,GN如何在IN和LN之間插入。GN優于IN,因為GN可以利用跨渠道的依賴關系。它也比LN好,因為它允許對每一組通道學習不同的分布。

當批大小較小時,GN始終優于BN。但是,當批處理大小非常大時,GN的伸縮性不如BN,可能無法匹配BN的性能。

引用

1. A. Kolesnikov, L. Beyer, X. Zhai, J. Puigcerver, J. Yung, S. Gelly, and N. Houlsby. Big Transfer (BiT): General Visual Representation Learning (2019), arXiv preprint.

1. S. Qiao, H. Wang, C. Liu, W. Shen, and A. Yuille. Weight Standardization (2019), arXiv preprint.

1. S. Santurkar, D. Tsipras, A. Ilyas, and A. Madry. How Does Batch Normalization Help Optimization? (2018), NIPS 2018.

1. Y. Wu, and K. He. Group Normalization (2018), ECCV 2018.

作者:Wanshun Wong

Deephub翻譯組

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved