您好,登錄后才能下訂單哦!
這篇文章跟大家分析一下“不使用BN的高性能大規(guī)模圖像識別是怎樣的”。內(nèi)容詳細易懂,對“不使用BN的高性能大規(guī)模圖像識別是怎樣的”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭?。下面跟著小編一起深入學習“不使用BN的高性能大規(guī)模圖像識別是怎樣的”的知識吧。
因此,下面重點介紹不是使用BN來構(gòu)建圖像識別的卷積殘差神經(jīng)網(wǎng)絡。但是如果沒有BN,這些網(wǎng)絡通常無法很好地運行或無法擴展到更大的批處理大小,但是本篇論文構(gòu)建的網(wǎng)絡可以使用大的批次進行倫聯(lián),并且比以前的最新方法(例如LambdaNets)更有效 。訓練時間與準確率如下圖表顯示,對于在ImageNet上進行的相同的top-1準確性評分,NFnet比EffNet-B7快8.7倍。此模型是沒有任何其他培訓數(shù)據(jù)的最新技術(shù),也是新的最新遷移學習。NFnets目前在全球排行榜上排名第二,僅次于使用半監(jiān)督預訓練和額外數(shù)據(jù)的方法。
如果一個數(shù)據(jù)通過網(wǎng)絡進行傳播,它在經(jīng)過各個層時將經(jīng)歷各種轉(zhuǎn)換,但是,如果以錯誤的方式構(gòu)建網(wǎng)絡,這種傳播就變得錯上加錯。在機器學習中,將數(shù)據(jù)集中在平均值周圍,并將其縮放為單位變量是一個很好的做法,但當你在層中前進時,特別是如果你有像ReLU這樣的激活層,它們只提取信號的正部分。因此隨著時間的流逝,更深一層之間的中間表示可能會非常偏斜并且沒有居中。如果您的數(shù)據(jù)具有良好的條件數(shù)(即,以均值為中心,不太偏斜等),則當前機器學習中的方法會更好地工作。
BN有3個顯著的缺點。首先,它是一個非常昂貴的計算,這會導致內(nèi)存開銷。你需要計算平均值,縮放需要將它們存儲在內(nèi)存中用于反向傳播算法。這增加了在某些網(wǎng)絡中評估梯度所需的時間。
其次,它在模型訓練和在推理時引入了一個差異的行為。因為在推理時你不想要這種批依賴,二十希望能夠適配一個數(shù)據(jù)點,并且這兩種操做的結(jié)果應該是相同的。
第三,BN打破了小批量訓練實例之間的獨立性。這意味著,現(xiàn)在批處理中哪些其他示例很重要。
這有兩個主要后果。首先,批大小將影響批規(guī)范化。如果你有一個小批量,平均值將是一個非常有噪聲的近似,然而,如果你有一個大批量,平均值將是一個很好的近似。我們知道對于一些應用來說大批量的訓練是有利的,他們穩(wěn)定了培訓,減少了培訓時間等。
其次,分布式訓練變得非常麻煩,因為例如,如果你的數(shù)據(jù)并行性,也就是說,你有這批數(shù)據(jù)批處理分為三個不同的部分,這三個部分向前傳播到所有的神經(jīng)網(wǎng)絡用于3個不同的機器上的訓練。如果在所有3個網(wǎng)絡中都有一個BN層,那么您在技術(shù)上要做的就是將信號轉(zhuǎn)發(fā)到BN層,然后您必須在BN層之間傳遞批處理統(tǒng)計信息,因為否則 在整個批次中沒有平均值和方差。這使網(wǎng)絡可以“欺騙”某些損失函數(shù)。
作者提出了自適應梯度裁剪(AGC),該方法基于梯度范數(shù)與參數(shù)范數(shù)的單位比例來裁剪梯度,他們證明了AGC允許我們訓練具有更大批處理量和更強大數(shù)據(jù)增強功能的無規(guī)范化網(wǎng)絡。
作者設計了一個稱為NFNet的無規(guī)范化ResNet系列,該系列在ImageNet上針對各種訓練等待時間設置了最好的驗證精度。NFNet-F1模型達到與EfficientNet-B7相似的精度,同時訓練速度提高了8.7倍,最大的模型在沒有額外數(shù)據(jù)的情況下,設定了一個全新的高度(86.5% top-1精度)。
作者還提到,在對3億張帶有標簽的大型私有數(shù)據(jù)集進行預訓練后,對ImageNet進行微調(diào)時,NFNet與批歸一化網(wǎng)絡相比,其驗證準確率要高得多。最佳模型經(jīng)過微調(diào)后可達到89.2%的top-1
梯度裁剪通常用于語言建模以穩(wěn)定訓練,最近的工作表明,與梯度下降相比,它允許有更大的學習率的訓練。梯度裁剪通常是通過約束梯度的模來實現(xiàn)的。具體來說,對于梯度向量G =?L/?θ,其中L表示損失,θ表示包含所有模型參數(shù)的向量,標準裁剪算法在更新θ之前對梯度進行裁剪:
在訓練過程中,優(yōu)化器為了達到全局最小值而進行巨大的跳躍并不是一件很好的事情,所以梯度剪切只是說,無論何時任何參數(shù)的梯度非常大,我們都會剪切該梯度。如果梯度是好的,我們肯定會再次看到它,但如果梯度是壞的,我們想要限制它的影響。問題在于它對限幅參數(shù)λ非常敏感,原因是它不具有自適應性。
AGC所做的是,它可以縮放漸變,不僅可以將漸變縮放到其自己的范數(shù),還可以將漸變裁剪為比率(漸變的大小/漸變所作用的權(quán)重是多少)。乍一看可能會有些困惑,詳細請看論文第4頁,以更清晰地理解AGC。
剪切閾值λ是必須調(diào)整的標量超參數(shù)。根據(jù)經(jīng)驗,作者發(fā)現(xiàn),雖然這種削波算法使他們能夠以比以前更高的批次大小進行訓練,但是訓練穩(wěn)定性對削波閾值的選擇極為敏感,在改變模型深度、批大小或?qū)W習速率時需要細粒度調(diào)整。作者通過選擇與梯度范數(shù)成反比的自適應學習速率來忽略梯度的比例。
注意,最優(yōu)剪切參數(shù)λ可能取決于優(yōu)化器的選擇,學習率和批大小。根據(jù)經(jīng)驗作者發(fā)現(xiàn)對于大批量生產(chǎn)λ應該更小。
例如,如果你比較圖1中的批規(guī)范網(wǎng)絡(NF-ResNet和NF-ResNet + AGC),你可以看到在一定的批大小(2048)之后,非AGC會簡單地崩潰,而AGC會占上風。這似乎是大批量生產(chǎn)的隱藏問題。作者抱怨說λ的剪切閾值是非常挑剔的。在圖2中,你可以看到λ對批大小有一個至關重要的依賴,另外上圖顯示在小批次大小下,可以在相當大的閾值上進行剪切。對于大批量,必須將閾值保持在非常低的水平,因為如果將閾值修剪得更高則會崩潰。
關于不使用BN的高性能大規(guī)模圖像識別是怎樣的就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關注一下億速云網(wǎng)站!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。