<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Normalization 的發(fā)展歷程

          共 4696字,需瀏覽 10分鐘

           ·

          2022-03-23 10:39

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          作者丨沒(méi)頭腦@知乎
          來(lái)源丨h(huán)ttps://zhuanlan.zhihu.com/p/75539170
          目錄
          • Local Response Normalization

          • Batch Normalization

          • Weight Normalization

          • Layer Normalization

          • Instance Normalization

          • Consine Normalization

          • Group Normalization

          ??

          1. Local Response Normalization

          ?

          LRN 最早應(yīng)該是出現(xiàn)在 2012 年的 AlexNet 中的,其主要思想是:借鑒“側(cè)抑制”(Lateral Inhibitio)的思想實(shí)現(xiàn)局部神經(jīng)元抑制,即使得局部的神經(jīng)元產(chǎn)生競(jìng)爭(zhēng)機(jī)制,使其中相應(yīng)值較大的將變得更大,響應(yīng)值較小的將變得更小。此外,作者在論文中指出使用 LRN 能減少其 AlexNet 在 ILSVRC-2012 上的 top-1 錯(cuò)誤率 1.4% 和 top-5 錯(cuò)誤率 1.2%,效果較為顯著。


          其中,??表示輸入中第??個(gè) FeatureMap 中位于??的響應(yīng)值,??表示輸出中第??個(gè) FeatureMap 中位于??的響應(yīng)值,??都是由驗(yàn)證集所決定的超參數(shù) (Hyper-Parameter)。論文中的設(shè)定為:??。

          在 2015 年的 VGG 中,該論文指出 LRN 在 VGG 并無(wú)任何用處:

          此后,隨著 Batch Normalization 等不同 Normalization 的出現(xiàn),LRN 也開(kāi)始逐漸落寞。

          PyTorch 相關(guān)文檔:

          ?

          2. Batch Normalization


          BN 應(yīng)該算是目前使用最多的 Normalization 操作了,現(xiàn)在甚至可以說(shuō)是 CNN 網(wǎng)絡(luò)的標(biāo)配。自 2015 年 2 月的 Inception V2(https://arxiv.org/pdf/1502.03167.pdf)?提出之后,也引出了后續(xù)許多不同的 Normalization 的提出。

          作者在論文中指出,提出 Batch Normalization 是目的為了解決 ‘internal covariate shift’ 現(xiàn)象(這個(gè)應(yīng)該是屬于機(jī)器學(xué)習(xí)的問(wèn)題,我無(wú)法進(jìn)行詳細(xì)表達(dá),建議查看其他文章),經(jīng)過(guò)測(cè)試后,發(fā)現(xiàn)使用 BN 能加速神經(jīng)網(wǎng)絡(luò)的收斂速度,并使得神經(jīng)網(wǎng)絡(luò)對(duì)于初始化的敏感度下降。

          在?深度學(xué)習(xí)中 Batch Normalization為什么效果好?(https://www.zhihu.com/question/38102762/answer/85238569)中,答者指出其實(shí) BN 解決的是梯度消失問(wèn)題(Gradient Vanishing Problem),我感覺(jué)其實(shí)有點(diǎn)道理的。)

          其中,??為輸入數(shù)據(jù),??為數(shù)據(jù)平均值,??為數(shù)據(jù)方差,??和??為學(xué)習(xí)參數(shù)。此外,??和??是統(tǒng)計(jì)量,隨著 Batch 的迭代不斷更新(一般實(shí)現(xiàn)都會(huì)對(duì)其做滑動(dòng)平均,不然當(dāng) Batch Size 較小時(shí),其統(tǒng)計(jì)值的波動(dòng)會(huì)很大,導(dǎo)致網(wǎng)絡(luò)無(wú)法收斂的)。

          在 BN 中,作者之所以加上??和??這兩個(gè)仿射參數(shù)(Affine Parameter),是為了使得經(jīng)過(guò) BN 處理后的數(shù)據(jù)仍可以恢復(fù)到之前的分布,從而提升了網(wǎng)絡(luò)結(jié)構(gòu)的 Capacity,即在做出一定的改變的同時(shí),仍保留之前的能力。

          此外,除了 BN 背后的原理這一話題外,大家對(duì) Batch-normalized 應(yīng)該放在非線性激活層的前面還是后面?這一話題的討論也比較激烈,并沒(méi)有達(dá)成統(tǒng)一的觀點(diǎn),只是大部分實(shí)驗(yàn)表明BN 放在非線性激活層后比較好,不過(guò)仍需要具體任務(wù)具體分析。

          PyTorch 相關(guān)文檔:

          注意,在 PyTorch 中凍結(jié) BN Layer,不僅需要對(duì)將其參數(shù)的 requires_grad 設(shè)為 False,還需要將該層的 training 設(shè)為 False,即調(diào)用 eval 函數(shù);否則,將會(huì)導(dǎo)致統(tǒng)計(jì)量不斷更新,而仿射參數(shù)卻一直處于凍結(jié)狀態(tài)。此外,一般都會(huì)設(shè)置 track_running_state 為 True,以減小 Batch Size 所造成的統(tǒng)計(jì)量波動(dòng)。

          ?

          3. Weight Normalization


          在 2016 年 2 月的?Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks?(https://arxiv.org/pdf/1602.07868.pdf)中,作者提出了與 BN 完全不同的 Normalization 操作:Weight Normalization,并指出:相較于 BN,WN 擺脫了對(duì)于 Batch 的依賴(lài),這意味這 WN 完全可以用在 RNN 網(wǎng)絡(luò)中(如:LSTM )以及對(duì)于噪聲敏感的任務(wù)(如:強(qiáng)化學(xué)習(xí)、生成式模型)中;此外,WN 的計(jì)算成本低,可以減少模型的運(yùn)行時(shí)間。

          與 BN 不同的是, WN 并不是對(duì)輸入的特征數(shù)據(jù)進(jìn)行歸一化操作,而是對(duì)神經(jīng)網(wǎng)絡(luò)中指定的層的參數(shù)做歸一化操作。

          在論文中,作者將神經(jīng)網(wǎng)絡(luò)的層表示為??,其中,??為權(quán)重向量,??為偏置參數(shù),??為輸入向量,??為非線性激活函數(shù)。而 WN 就是對(duì)??做歸一化,將??分解為??。其中,??為單位向量,代表??的方向,??為標(biāo)量,代表??的長(zhǎng)度,??為??的歐式范數(shù)。

          在?詳解深度學(xué)習(xí)中的Normalization,BN/LN/WN?https://zhuanlan.zhihu.com/p/33173246中,作者指出:WN 與 BN 其實(shí)是相似的。

          論文作者同樣提到了這一點(diǎn)。
          PyTorch 相關(guān)文檔:

          ?

          4. Layer Normalization


          在 2016 年 7 月的?Layer Normalization?(https://arxiv.org/pdf/1607.06450.pdf)中,作者提出了一種類(lèi)似與 BN 的操作:Layer Normalization,提出 LN 的主要目的是為了解決 BN 對(duì) Batch Size 和內(nèi)存的依賴(lài)以及減少 Normalization 所需時(shí)間。

          LN 與 BN 的不同之處在于:BN 是對(duì)一個(gè) Batch 中的所有樣本的不同維度做 Normalization,而 LN 是對(duì)單個(gè)樣本中的所有維度做 Normalization。當(dāng)然,兩者的數(shù)學(xué)公式長(zhǎng)得都一樣,都是求平均值、方差,做歸一化后在做仿射變換。

          Batch Normalization 與 Layer Normalization 的區(qū)別:

          舉例來(lái)說(shuō),對(duì)于??的數(shù)據(jù),BN 計(jì)算得到的統(tǒng)計(jì)量的??為??,而 LN 計(jì)算得到的統(tǒng)計(jì)量的??為??。

          (左側(cè):Batch Normalization,右側(cè):Layer Normalization)

          PyTorch 相關(guān)文檔:

          ?

          5. Instance Normalization


          在 2016 年 7 月的?Instance Normalization: The Missing Ingredient for Fast Stylization?(https://arxiv.org/pdf/1607.08022.pdf)中,作者提出與 LN 類(lèi)似的操作:Instance Normalization。在論文中,作者指出在圖像風(fēng)格遷移任務(wù)中,生成式模型計(jì)算得到的 Feature Map 的各個(gè) Channel 的均值與方差將影響到所生成圖像的風(fēng)格。故,作者提出了 IN,在 Channel 層面對(duì)輸入數(shù)據(jù)進(jìn)行歸一化,再使用目標(biāo)圖像的 Channel 的均值與方差對(duì)結(jié)果進(jìn)行 '去歸一化'。

          值得一提的是,IN 與LN 類(lèi)似,僅對(duì)單個(gè)樣本進(jìn)行歸一化,但是 IN 并不進(jìn)行仿射變換。

          舉例來(lái)說(shuō),對(duì)于??的數(shù)據(jù),IN 計(jì)算得到的統(tǒng)計(jì)量的??為??。

          PyTorch 相關(guān)文檔:

          ?

          6. Cosine Normalization


          在 2017 年 2 月的?

          Cosine Normalization: Using Cosine Similarity Instead of Dot Product in Neural Networks?(https://arxiv.org/pdf/1702.05870.pdf

          中,作者提出了 Cosine Normalization,不對(duì)輸入數(shù)據(jù)做歸一化,也不對(duì)參數(shù)做歸一化,而是對(duì)輸入數(shù)據(jù)與參數(shù)的點(diǎn)乘做出改動(dòng),改為計(jì)算兩者的余弦相似度??,即??變?yōu)??。

          CN 將模型的輸出進(jìn)行了歸一化,使得輸出有界,但是也因此丟棄了原本輸出中所含的 Scale 信息,所以這個(gè)是否值得也有待進(jìn)一步探討。

          PyTorch 相關(guān)文檔:

          ?

          7. Group Normalization


          在 2018 年 3 月的?Group Normalization(https://arxiv.org/pdf/1803.08494.pdf,作者提出了 Group Normalization,與 BN 相比,GN 的改進(jìn)有兩點(diǎn):不再依賴(lài) Batch Size,計(jì)算成本可由超參數(shù)進(jìn)行調(diào)節(jié)。

          作者在論文中指出,BN 對(duì)于 Batch Size 的依賴(lài)使得其無(wú)法較好的運(yùn)用在因內(nèi)存限制而使用較小 Batch Size 的任務(wù)上(如:detection, segmentation, video),故作者令 GN 僅對(duì)單個(gè)樣本進(jìn)行 Normalization 操作。此外,GN 更像是 LN 與 IN 的一般形式,當(dāng)??時(shí),GN 等價(jià)于 LN;當(dāng)??時(shí),GN 等價(jià)于 IN。

          在?如何區(qū)分并記住常見(jiàn)的幾種 Normalization 算法(https://zhuanlan.zhihu.com/p/69659844)?中,作者給出了一張圖像,直觀的給出了以上 Normalization 的不同之處:


          舉例來(lái)說(shuō),對(duì)于??的數(shù)據(jù),GN 計(jì)算得到的統(tǒng)計(jì)量的??為??。

          PyTorch 相關(guān)文檔:
          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 48
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91精品国际 | 色色网站视频 | 黄色成人视频在线免费看 | 91丨国产丨精品丨丝袜 | 无毒不卡视频在线播放 |