一文詳解深度學習中的Normalization:BN/LN/WN

2021-01-14 程式設計師大白

點擊上方「程式設計師大白」,選擇「星標」公眾號

重磅乾貨,第一時間送達

轉載自:深度學習技術前沿

深度神經網絡模型訓練之難眾所周知,其中一個重要的現象就是 Internal Covariate Shift. Batch Norm 大法自 2015 年由Google 提出之後,就成為深度學習必備之神器。自 BN 之後, Layer Norm / Weight Norm / Cosine Norm 等也橫空出世。本文從 Normalization 的背景講起,用一個公式概括 Normalization 的基本思想與通用框架,將各大主流方法一一對號入座進行深入的對比分析,並從參數和數據的伸縮不變性的角度探討 Normalization 有效的深層原因。

1. 為什麼需要 Normalization

——深度學習中的 Internal Covariate Shift 問題及其影響

2. Normalization 的通用框架與基本思想

——從主流 Normalization 方法中提煉出的抽象框架

3. 主流 Normalization 方法梳理

——結合上述框架,將 BatchNorm / LayerNorm / WeightNorm / CosineNorm 對號入座,各種方法之間的異同水落石出。

4. Normalization 為什麼會有效?

——從參數和數據的伸縮不變性探討Normalization有效的深層原因。


1. 為什麼需要 Normalization

1.1 獨立同分布與白化

機器學習界的煉丹師們最喜歡的數據有什麼特點?竊以為,莫過於「獨立同分布」了,即independent and identically distributed,簡稱為 i.i.d. 獨立同分布並非所有機器學習模型的必然要求(比如 Naive Bayes 模型就建立在特徵彼此獨立的基礎之上,而Logistic Regression 和 神經網絡 則在非獨立的特徵數據上依然可以訓練出很好的模型),但獨立同分布的數據可以簡化常規機器學習模型的訓練、提升機器學習模型的預測能力,已經是一個共識。


因此,在把數據餵給機器學習模型之前,「白化(whitening)」是一個重要的數據預處理步驟。白化一般包含兩個目的:

(1)去除特徵之間的相關性 —> 獨立;

(2)使得所有特徵具有相同的均值和方差 —> 同分布。

白化最典型的方法就是PCA,可以參考閱讀 PCAWhitening。


1.2 深度學習中的 Internal Covariate Shift


深度神經網絡模型的訓練為什麼會很困難?其中一個重要的原因是,深度神經網絡涉及到很多層的疊加,而每一層的參數更新會導致上層的輸入數據分布發生變化,通過層層疊加,高層的輸入分布變化會非常劇烈,這就使得高層需要不斷去重新適應底層的參數更新。為了訓好模型,我們需要非常謹慎地去設定學習率、初始化權重、以及儘可能細緻的參數更新策略。


Google 將這一現象總結為 Internal Covariate Shift,簡稱 ICS. 什麼是 ICS 呢?

@魏秀參

 在一個回答中做出了一個很好的解釋:

大家都知道在統計機器學習中的一個經典假設是「源空間(source domain)和目標空間(target domain)的數據分布(distribution)是一致的」。如果不一致,那麼就出現了新的機器學習問題,如 transfer learning / domain adaptation 等。而 covariate shift 就是分布不一致假設之下的一個分支問題,它是指源空間和目標空間的條件概率是一致的,但是其邊緣概率不同,即:對所有,但是大家細想便會發現,的確,對於神經網絡的各層輸出,由於它們經過了層內操作作用,其分布顯然與各層對應的輸入信號分布不同,而且差異會隨著網絡深度增大而增大,可是它們所能「指示」的樣本標記(label)仍然是不變的,這便符合了covariate shift的定義。由於是對層間信號的分析,也即是「internal」的來由。


1.3 ICS 會導致什麼問題?


簡而言之,每個神經元的輸入數據不再是「獨立同分布」。

其一,上層參數需要不斷適應新的輸入數據分布,降低學習速度。

其二,下層輸入的變化可能趨向於變大或者變小,導致上層落入飽和區,使得學習過早停止。

其三,每層的更新都會影響到其它層,因此每層的參數更新策略需要儘可能的謹慎。


2. Normalization 的通用框架與基本思想

我們以神經網絡中的一個普通神經元為例。神經元接收一組輸入向量  通過某種運算後,輸出一個標量值:

由於 ICS 問題的存在,  的分布可能相差很大。要解決獨立同分布的問題,「理論正確」的方法就是對每一層的數據都進行白化操作。然而標準的白化操作代價高昂,特別是我們還希望白化操作是可微的,保證白化操作可以通過反向傳播來更新梯度。


因此,以 BN 為代表的 Normalization 方法退而求其次,進行了簡化的白化操作。基本思想是:在將  送給神經元之前,先對其做平移和伸縮變換, 將  的分布規範化成在固定區間範圍的標準分布。


通用變換框架就如下所示:

我們來看看這個公式中的各個參數。


(1)  是平移參數(shift parameter),  是縮放參數(scale parameter)。通過這兩個參數進行 shift 和 scale 變換:  得到的數據符合均值為 0、方差為 1 的標準分布。


(2)  是再平移參數(re-shift parameter),  是再縮放參數(re-scale parameter)。將 上一步得到的  進一步變換為: 

最終得到的數據符合均值為  、方差為  的分布。


奇不奇怪?奇不奇怪?

說好的處理 ICS,第一步都已經得到了標準分布,第二步怎麼又給變走了?


答案是——為了保證模型的表達能力不因為規範化而下降。


我們可以看到,第一步的變換將輸入數據限制到了一個全局統一的確定範圍(均值為 0、方差為 1)。下層神經元可能很努力地在學習,但不論其如何變化,其輸出的結果在交給上層神經元進行處理之前,將被粗暴地重新調整到這一固定範圍。


沮不沮喪?沮不沮喪?

難道我們底層神經元人民就在做無用功嗎?


所以,為了尊重底層神經網絡的學習結果,我們將規範化後的數據進行再平移和再縮放,使得每個神經元對應的輸入範圍是針對該神經元量身定製的一個確定範圍(均值為  、方差為  )。rescale 和 reshift 的參數都是可學習的,這就使得 Normalization 層可以學習如何去尊重底層的學習結果。


除了充分利用底層學習的能力,另一方面的重要意義在於保證獲得非線性的表達能力。Sigmoid 等激活函數在神經網絡中有著重要作用,通過區分飽和區和非飽和區,使得神經網絡的數據變換具有了非線性計算能力。而第一步的規範化會將幾乎所有數據映射到激活函數的非飽和區(線性區),僅利用到了線性變化能力,從而降低了神經網絡的表達能力。而進行再變換,則可以將數據從線性區變換到非線性區,恢復模型的表達能力。


那麼問題又來了——

經過這麼的變回來再變過去,會不會跟沒變一樣?

不會。因為,再變換引入的兩個新參數 g 和 b,可以表示舊參數作為輸入的同一族函數,但是新參數有不同的學習動態。在舊參數中,  的均值取決於下層神經網絡的複雜關聯;但在新參數中,  僅由  來確定,去除了與下層計算的密切耦合。新參數很容易通過梯度下降來學習,簡化了神經網絡的訓練。


那麼還有一個問題——

這樣的 Normalization 離標準的白化還有多遠?

標準白化操作的目的是「獨立同分布」。獨立就不說了,暫不考慮。變換為均值為  、方差為  的分布,也並不是嚴格的同分布,只是映射到了一個確定的區間範圍而已。(所以,這個坑還有得研究呢!)


3. 主流 Normalization 方法梳理


在上一節中,我們提煉了 Normalization 的通用公式:

對照於這一公式,我們來梳理主流的四種規範化方法。


3.1 Batch Normalization —— 縱向規範化

Batch Normalization 於2015年由 Google 提出,開 Normalization 之先河。其規範化針對單個神經元進行,利用網絡訓練時一個 mini-batch 的數據來計算該神經元  的均值和方差,因而稱為 Batch Normalization。

其中  是 mini-batch 的大小。

按上圖所示,相對於一層神經元的水平排列,BN 可以看做一種縱向的規範化。由於 BN 是針對單個維度定義的,因此標準公式中的計算均為 element-wise 的。


BN 獨立地規範化每一個輸入維度  ,但規範化的參數是一個 mini-batch 的一階統計量和二階統計量。這就要求 每一個 mini-batch 的統計量是整體統計量的近似估計,或者說每一個 mini-batch 彼此之間,以及和整體數據,都應該是近似同分布的。分布差距較小的 mini-batch 可以看做是為規範化操作和模型訓練引入了噪聲,可以增加模型的魯棒性;但如果每個 mini-batch的原始分布差別很大,那麼不同 mini-batch 的數據將會進行不一樣的數據變換,這就增加了模型訓練的難度。


因此,BN 比較適用的場景是:每個 mini-batch 比較大,數據分布比較接近。在進行訓練之前,要做好充分的 shuffle. 否則效果會差很多。


另外,由於 BN 需要在運行過程中統計每個 mini-batch 的一階統計量和二階統計量,因此不適用於 動態的網絡結構 和 RNN 網絡。不過,也有研究者專門提出了適用於 RNN 的 BN 使用方法,這裡先不展開了。


3.2 Layer Normalization —— 橫向規範化

層規範化就是針對 BN 的上述不足而提出的。與 BN 不同,LN 是一種橫向的規範化,如圖所示。它綜合考慮一層所有維度的輸入,計算該層的平均輸入值和輸入方差,然後用同一個規範化操作來轉換各個維度的輸入。

其中  枚舉了該層所有的輸入神經元。對應到標準公式中,四大參數  均為標量(BN中是向量),所有輸入共享一個規範化變換。


LN 針對單個訓練樣本進行,不依賴於其他數據,因此可以避免 BN 中受 mini-batch 數據分布影響的問題,可以用於 小mini-batch場景、動態網絡場景和 RNN,特別是自然語言處理領域。此外,LN 不需要保存 mini-batch 的均值和方差,節省了額外的存儲空間。


但是,BN 的轉換是針對單個神經元可訓練的——不同神經元的輸入經過再平移和再縮放後分布在不同的區間,而 LN 對於一整層的神經元訓練得到同一個轉換——所有的輸入都在同一個區間範圍內。如果不同輸入特徵不屬於相似的類別(比如顏色和大小),那麼 LN 的處理可能會降低模型的表達能力。


3.3 Weight Normalization —— 參數規範化


前面我們講的模型框架  中,經過規範化之後的 作為輸入送到下一個神經元,應用以  為參數的 函數定義的變換。最普遍的變換是線性變換,即 .


BN 和 LN 均將規範化應用於輸入的特徵數據  ,而 WN 則另闢蹊徑,將規範化應用於線性變換函數的權重  ,這就是 WN 名稱的來源。



具體而言,WN 提出的方案是,將權重向量  分解為向量方向  和向量模  兩部分:

其中  是與  同維度的向量, 是歐氏範數,因此 是單位向量,決定了  的方向; 是標量,決定了  的長度。由於  ,因此這一權重分解的方式將權重向量的歐氏範數進行了固定,從而實現了正則化的效果。


乍一看,這一方法似乎脫離了我們前文所講的通用框架?


並沒有。其實從最終實現的效果來看,異曲同工。我們來推導一下看。 

對照一下前述框架:

我們只需令:

就完美地對號入座了!


回憶一下,BN 和 LN 是用輸入的特徵數據的方差對輸入數據進行 scale,而 WN 則是用 神經元的權重的歐氏範式對輸入數據進行 scale。雖然在原始方法中分別進行的是特徵數據規範化和參數的規範化,但本質上都實現了對數據的規範化,只是用於 scale 的參數來源不同。


另外,我們看到這裡的規範化只是對數據進行了 scale,而沒有進行 shift,因為我們簡單地令 . 但事實上,這裡留下了與 BN 或者 LN 相結合的餘地——那就是利用 BN 或者 LN 的方法來計算輸入數據的均值  。


WN 的規範化不直接使用輸入數據的統計量,因此避免了 BN 過於依賴 mini-batch 的不足,以及 LN 每層唯一轉換器的限制,同時也可以用於動態網絡結構。


3.4 Cosine Normalization —— 餘弦規範化


Normalization 還能怎麼做?

我們再來看看神經元的經典變換 .


對輸入數據  的變換已經做過了,橫著來是 LN,縱著來是 BN。

對模型參數  的變換也已經做過了,就是 WN。

好像沒啥可做的了。


然而天才的研究員們盯上了中間的那個點,對,就是


他們說,我們要對數據進行規範化的原因,是數據經過神經網絡的計算之後可能會變得很大,導致數據分布的方差爆炸,而這一問題的根源就是我們的計算方式——點積,權重向量  和 特徵數據向量  的點積。向量點積是無界(unbounded)的啊!


那怎麼辦呢?我們知道向量點積是衡量兩個向量相似度的方法之一。哪還有沒有其他的相似度衡量方法呢?有啊,很多啊!夾角餘弦就是其中之一啊!而且關鍵的是,夾角餘弦是有確定界的啊,[-1, 1] 的取值範圍,多麼的美好!仿佛看到了新的世界!


於是,Cosine Normalization 就出世了。他們不處理權重向量  ,也不處理特徵數據向量  ,就改了一下線性變換的函數:

其中  是  和  的夾角。然後就沒有然後了,所有的數據就都是 [-1, 1] 區間範圍之內的了!


不過,回過頭來看,CN 與 WN 還是很相似的。我們看到上式中,分子還是  和  的內積,而分母則可以看做用  和  二者的模之積進行規範化。對比一下 WN 的公式:

一定程度上可以理解為,WN 用 權重的模  對輸入向量進行 scale,而 CN 在此基礎上用輸入向量的模  對輸入向量進行了進一步的 scale.


CN 通過用餘弦計算代替內積計算實現了規範化,但成也蕭何敗蕭何。原始的內積計算,其幾何意義是 輸入向量在權重向量上的投影,既包含 二者的夾角信息,也包含 兩個向量的scale信息。去掉scale信息,可能導致表達能力的下降,因此也引起了一些爭議和討論。具體效果如何,可能需要在特定的場景下深入實驗。


現在,BN, LN, WN 和 CN 之間的來龍去脈是不是清楚多了?


4. 為什麼Normalization會有效?

我們以下面這個簡化的神經網絡為例來分析。

4.1 Normalization 的權重伸縮不變性


權重伸縮不變性(weight scale invariance)指的是,當權重  按照常量  進行伸縮時,得到的規範化後的值保持不變,即:

其中  。


上述規範化方法均有這一性質,這是因為,當權重  伸縮時,對應的均值和標準差均等比例伸縮,分子分母相抵。

權重伸縮不變性可以有效地提高反向傳播的效率。

由於

因此,權重的伸縮變化不會影響反向梯度的 Jacobian 矩陣,因此也就對反向傳播沒有影響,避免了反向傳播時因為權重過大或過小導致的梯度消失或梯度爆炸問題,從而加速了神經網絡的訓練。


權重伸縮不變性還具有參數正則化的效果,可以使用更高的學習率。

由於 

因此,下層的權重值越大,其梯度就越小。這樣,參數的變化就越穩定,相當於實現了參數正則化的效果,避免參數的大幅震蕩,提高網絡的泛化性能。


4.2 Normalization 的數據伸縮不變性


數據伸縮不變性(data scale invariance)指的是,當數據  按照常量  進行伸縮時,得到的規範化後的值保持不變,即:

其中  。


數據伸縮不變性僅對 BN、LN 和 CN 成立。因為這三者對輸入數據進行規範化,因此當數據進行常量伸縮時,其均值和方差都會相應變化,分子分母互相抵消。而 WN 不具有這一性質。


數據伸縮不變性可以有效地減少梯度彌散,簡化對學習率的選擇。

對於某一層神經元  而言,展開可得

每一層神經元的輸出依賴於底下各層的計算結果。如果沒有正則化,當下層輸入發生伸縮變化時,經過層層傳遞,可能會導致數據發生劇烈的膨脹或者彌散,從而也導致了反向計算時的梯度爆炸或梯度彌散。


加入 Normalization 之後,不論底層的數據如何變化,對於某一層神經元  而言,其輸入  永遠保持標準的分布,這就使得高層的訓練更加簡單。從梯度的計算公式來看:

數據的伸縮變化也不會影響到對該層的權重參數更新,使得訓練過程更加魯棒,簡化了對學習率的選擇。


參考文獻

[1] Sergey Ioffe and Christian Szegedy. Accelerating Deep Network Training by Reducing Internal Covariate Shift.

[2] Jimmy L. Ba, Jamie R. Kiros, Geoffrey E. Hinton. [1607.06450] Layer Normalization.

[3] Tim Salimans, Diederik P. Kingma. A Simple Reparameterization to Accelerate Training of Deep Neural Networks.

[4] Chunjie Luo, Jianfeng Zhan, Lei Wang, Qiang Yang. Using Cosine Similarity Instead of Dot Product in Neural Networks.

[5] Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning.


參考連結

1. https://www.zhihu.com/question/38102762/answer/85238569

2. https://www.zhihu.com/question/38102762/answer/83949739

3. https://www.zhihu.com/question/55132852/answer/171250929

4. https://www.zhihu.com/question/68730628/answer/277339783

5. https://zhuanlan.zhihu.com/p/27938792

6. https://www.zhihu.com/question/38102762/answer/83757492


重磅!程式設計師大白交流群-學術微信交流群已成立


額外贈送福利資源!邱錫鵬深度學習與神經網絡,pytorch官方中文教程,利用Python進行數據分析,機器學習學習筆記,pandas官方文檔中文版,effective java(中文版)等20項福利資源

獲取方式:進入群後點開群公告即可領取下載連結

昨晚拉人小助手出了問題,最近不能使用,請大家加入微信2群


注意:請大家添加時修改備註為 [學校/公司 + 姓名 + 方向]

例如 —— 哈工大+張三+對話系統。

號主,微商請自覺繞道。謝謝!


推薦閱讀

終於找全啦!一二線城市知名網際網路公司名單

欠阿里雲一分錢,會是什麼樣的後果

如何畫出優秀的架構圖?

一次Linux系統被攻擊的分析過程

史上最爛的項目


關於程式設計師大白


程式設計師大白是一群哈工大,東北大學,西湖大學和上海交通大學的碩士博士運營維護的號,大家樂於分享高質量文章,喜歡總結知識,歡迎關注[程式設計師大白],大家一起學習進步!


相關焦點

  • 高效「煉丹」必備技能:一文實現深度學習數學原理入門,還有吳恩達...
    就以深度學習中常用的神經網絡來說,典型模型包括多層感知機(DLP)、卷積神經網絡(CNN)、循環神經網絡(RNN)等等,不同的項目,對神經網絡的調參需求也不相同。下面的深度學習數學基礎詳解,以DLP為例,你讀完後會對它的數學基礎有全面的了解,並且熟悉用數學解釋算法的基本思路。除了DLP,文末還一併為你準備了RNN、CNN數學原理,以及吳恩達老師的AI數學基礎課程。一文實現AI數學基礎入門,還在等什麼?
  • 一種基於點雲的Voxel(三維體素)特徵的深度學習方法
    蘭州大學在讀碩士研究生,主要研究方向無人駕駛,深度學習;蘭大未來計算研究院無人車團隊負責人,自動駕駛全棧工程師。需要注意的是,在無人車環境感知問題中,很多情況下並不需要對目標進行精確的語義分割,只需將目標以一個三維的Bounding Box準確框出即可(即Detection)。 本文介紹一種基於點雲的Voxel(三維體素)特徵的深度學習方法,實現對點雲中目標的準確檢測,並提供一個簡單的ROS實現,供大家參考。
  • 人工智慧系列(六) 深度學習中的神經網絡
    原力君在系列的第五篇《人工智慧系列(五) 深度學習簡介》中提到深度學習可以看作是一種更高級的函數擬合方法;人工神經網絡、激活函數、代價函數、梯度下降、反向傳播是深度學習的幾個關鍵點;常見的深度學習神經網絡結構有多層感知機、DNN、CNN、RNN等。
  • 一文讀懂深度學習中的矩陣微積分,fast.ai創始人&ANTLR之父出品
    這位ANTLR之父和fast.ai創始人Jeremy Howard一起推出了一篇免費教程,旨在幫你快速入門深度學習中的矩陣微積分。簡明,易懂。DeepMind研究科學家Andrew Trask評價說:如果你想跳過不相干的內容,一文看盡深度學習中所需的數學知識,那麼就是這份資源沒錯了。只需一點關於微積分和神經網絡的基礎知識,就能單刀直入,開始以下的學習啦。
  • 一文概覽深度學習中的五大正則化方法和七大優化策略
    選自arXiv 機器之心編譯 深度學習中的正則化與優化策略一直是非常重要的部分,它們很大程度上決定了模型的泛化與收斂等性能。本文主要以深度卷積網絡為例,探討了深度學習中的五項正則化與七項優化策略,並重點解釋了當前最為流行的 Adam 優化算法。
  • 一文詳解計算機視覺的廣泛應用:網絡壓縮、視覺問答、可視化、風格...
    原標題:一文詳解計算機視覺的廣泛應用:網絡壓縮、視覺問答、可視化、風格遷移等 作者 | 張皓(南京大學) 引言 深度學習目前已成為發展最快、最令人興奮的機器學習領域之一,許多卓有建樹的論文已經發表,而且已有很多高質量的開源深度學習框架可供使用。
  • ln三分之一等於多少 ln三分之一大於0嗎 - 天氣加
    ln(1/3)=-ln3=-log3^3/log3^e=-1/log3^e ^前為底數,後為真數。y=lnx這個函數是單調遞增的,3>e,e約等於2.718。因此根據函數的單調性可以知道ln3>lne,所以ln1/3+lne>0。
  • 數列bn和an的關係2^bn=a1a2a3……an求bn?重在指數和對數的轉化
    原題原題:等比數列「an」的首項為2,數列「bn」滿足2^(bn)=a1a2a3…an,b4=b3+4,則bn=?圖一這道題的主要難點就在於給出的式子2^(bn)=a1·a2·a3…an中的bn是一個指數的冪指數,讓很多同學不知道該如何入手。那這道題該如何解決呢?關鍵就是改變bn是冪指數的事實,將其轉化。
  • 函數與方程思想在數列中的應用(含具體案例)
    函數思想和方程思想是學習數列的兩大精髓.「從基本量出發,知三求二.」這是方程思想的體現.而「將數列看成一種特殊的函數,等差、等比數列的通項公式和前n項和公式都是關於n的函數.」則蘊含了數列中的函數思想.藉助有關函數、方程的性質來解決數列問題,常能起到化難為易的功效.
  • 一文探討可解釋深度學習技術在醫療圖像診斷中的應用
    因此,在醫學、金融、自動駕駛等領域中深度學習方法尚未實現廣泛的推廣應用。可解釋性是指當人們在了解或解決一件事情的過程中,能夠獲得所需要的足夠的可以理解的信息。深度學習方法的可解釋性則是指能夠理解深度學習模型內部機制以及能夠理解深度學習模型的結果。關於 「可解釋性」 英文有兩個對應的單詞,分別是 「Explainability」 和「Interpretability」。
  • 神經網絡算法Batch Normalization的分析與展望 | 大牛講堂
    2011年博士畢業於上海交通大學,後隨Yoshua Bengio從事博士後研究,2014年加入百度深度學習實驗室,參與深度學習在搜索中應用、PaddlePaddle研發等工作。2016年加入地平線機器人公司,負責深度學習模型壓縮與加速。
  • 神經網絡算法BatchNormalization的分析與展望|大牛講堂
    2011年博士畢業於上海交通大學,後隨Yoshua Bengio從事博士後研究,2014年加入百度深度學習實驗室,參與深度學習在搜索中應用、PaddlePaddle研發等工作。2016年加入地平線機器人公司,負責深度學習模型壓縮與加速。
  • 一文弄清深度學習、TensorFlow和張量之間的關係
    原標題:一文弄清深度學習、TensorFlow和張量之間的關係 我們今天所用的許多深度學習系統都是基於張量代數的,比如谷歌的TensorFlow,但是張量代數與深度學習的關係到底如何?
  • 深度學習與統計力學(I) :深度學習中的基礎理論問題
    系列預告深度學習統計力學(I) :深度學習中的基礎理論問題深度學習統計力學(IV) :深層網絡的信號傳播和初始化深度學習統計力學(VI) :通過概率模型進行「深度想像」1 介紹深層神經網絡具有多個隱含層[1],在許多領域都取得了顯著的成功,從機器視覺[2]、語音識別[3]、自然語言處理[4]、強化學習[5],到神經科學[6、7]、心理學[8、
  • 基於PyTorch圖像特徵工程的深度學習圖像增強
    介紹在深度學習黑客競賽中表現出色的技巧(或者坦率地說,是任何數據科學黑客競賽) 通常歸結為特徵工程。 當您獲得的數據不足以建立一個成功的深度學習模型時,你能發揮多少創造力?我是根據自己參加多次深度學習黑客競賽的經驗而談的,在這次深度黑客競賽中,我們獲得了包含數百張圖像的數據集——根本不足以贏得甚至完成排行榜的頂級排名。那我們怎麼處理這個問題呢?
  • 深度學習助力數據壓縮,一文讀懂相關理論
    隨著 5G 技術的快速發展,邊緣計算、物聯網、聯邦學習等應用需求及應用場景越來越多。在傳輸網絡和存儲能力有限的情況下,數據壓縮技術發揮了越來越重要的作用。在傳統數據壓縮算法不斷發展的同時,近年來深度學習網絡也應用於數據壓縮中獲得了很好的效果。
  • 深度學習故障診斷方法:殘差收縮網絡
    從深度學習的角度來講,這些鳴笛聲、車輪聲所對應的特徵,就應該在深度神經網絡內部被刪除掉,以避免對語音識別的效果造成影響。其次,即使是同一個樣本集,各個樣本的噪聲量也往往是不同的。因此,軟閾值化也能夠減小深度學習算法遭遇梯度彌散和梯度爆炸的風險。在軟閾值化中,閾值的設置需要滿足兩個的條件:第一,閾值是正數;第二,閾值不能大於輸入信號的最大值,否則輸出會全部為零。同時,閾值最好還能符合第三個條件:每個樣本應該根據自身的噪聲含量,有著自己獨立的閾值。這是因為,很多樣本的噪聲含量經常是不同的。
  • 一文詳解EMI的傳播過程
    打開APP 一文詳解EMI的傳播過程 電子工程師筆記 發表於 2020-12-31 15:17:14   電磁幹擾是電子電路設計過程中最常見的問題
  • 從語言學到深度學習NLP,一文概述自然語言處理
    第二部分描述的是基於深度學習的 NLP,該論文首先描述了深度學習中的詞表徵,即從 one-hot 編碼、詞袋模型到詞嵌入和 word2vec 等,我們首先需要數字表徵詞彙才能進一步做自然語言處理。在這一部分,該論文對以下 NLP 的應用進行了介紹:機器翻譯文本分類垃圾郵件過濾信息提取自動摘要對話系統醫療深度學習中的 NLP以上內容對 NLP 進行了基礎的介紹,但忽略了近年來深度學習在 NLP 領域的應用,因此我們補充了北京理工大學的一篇論文。
  • 識字中的深度學習
    一些生字在課本中以隨文識字的方式呈現,並進行了字音、字形、字義方面的設計,充分發揮了語境識字的強大功能。同時,將漢字的筆畫、偏旁及筆順規則等相關基本知識穿插在每一個單元中,在課本要求掌握的生字上方都標註了筆順,在要寫的生字旁明確標註新出現的筆畫,在每一課的識字環節增設部首學習專欄,讓學生學會運用字理識字析詞,有助於學生形成良好的認字和寫字習慣。統編教材更加關注識字的基礎學習。