天天看點

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

論文下載下傳:

FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS)(2016,Djork-Arn´e Clevert, Thomas Unterthiner & Sepp Hochreiter)

一、簡介

ELU的表達式:

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

四種激活函數(ELU,LReLU,ReLU,SReLU)比較圖:

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

ELU通過在正值區間取輸入x本身減輕了梯度彌散問題(x>0區間導數處處為1),這一點特性這四種激活函數都具備。四者當中隻有ReLU的輸出值沒有負值,是以輸出的均值會大于0,當激活值的均值非0時,就會對下一層造成一個bias,如果激活值之間不會互相抵消(即均值非0),會導緻下一層的激活單元有bias shift。如此疊加,單元越多時,bias shift就會越大。相比ReLU,ELU可以取到負值,這讓單元激活均值可以更接近0,類似于Batch Normalization的效果但是隻需要更低的計算複雜度。雖然LReLU和PReLU都也有負值,但是它們不保證在不激活狀态下(就是在輸入為負的狀态下)對噪聲魯棒。反觀ELU在輸入取較小值時具有軟飽和的特性,提升了對噪聲的魯棒性。

二、自然梯度

在描述自然梯度之前,讓我們先來看普通梯度,設f(x)=x^2

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

參數x的變化量和f的變化量可以在一個二維平面坐标系下度量,在這種情形下,可以求得普通的梯度。

但是上述情況基于一個事實:x的變化所引起的f的變化是在一個度量系下的,我們使用了一組正交并且平直坐标系去描述這種變化,數學上把這樣的空間稱作歐幾裡德空間,以往我們接觸的問題都可以在歐幾裡德空間下解決(函數優化、求解平面幾何等等)

但是在機率分布問題下,歐幾裡德空間就不好解決了,來舉個例子:

在神經網絡當中,給定一組資料{x1,x2,x3,……,xN}和一個機率分布模型p(x;W),其中xi={樣本zi,标簽yi}兩部分構成,我們最後要做的就是估計一個W',使得p(x;W')和p(x;W)盡可能的相近。假設對于單個樣本x而言,它的機率服從W的一個函數,這個問題是在歐幾裡德空間可解的

如下圖:當我們确定了正态分布的μ和σ時,可以對單個樣本給出它的分布函數和機率密度函數

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

但是我們要求解的并不是這個樣本,而是整個資料集的機率分布,這個機率分布随着參數的變化實際上并不能用一個函數來表達,說得更專業一點就是無法在歐幾裡德空間解這個問題。兩個機率分布的距離,在統計學中,是以KL散度來表達的,了解KL散度需要涉及到資訊熵和相對熵的問題。http://www.cnblogs.com/hxsyl/p/4910218.html已經給了詳細的介紹。

是以可以寫出一個分布參數變化前後,相對應的KL散度

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

最終問題就變成最小化這個KL散度的問題。(當我們不停的疊代到參數接近模型自身參數的時候,KL散度就達到最小了)

KL散度随着參數變化有最大的變化率,這樣決定的梯度,就稱為自然梯度了

三、黎曼流形空間

上述KL散度随參數變化的問題,是在黎曼流形空間上的問題。

流形(Manifold)可以了解為受一定限制的某個(一維或多元)變量所有可能狀态的集合。其數學定義是:流形是一類拓撲空間,其中每個點都有鄰域,而這種鄰域與R^n中的機關開球在拓撲上同胚。簡單地說,流型從它每個點的鄰域來看和 Euclid 空間沒有不同;但從總體來看,流形可以是某種“彎曲”的空間,和“平直”的 Euclid 空間不一定相同。三維空間中的球面是流形的一個例子。球面上任何一條經線或緯線是一個子流形。基于球面建立的幾何學與 Euclid 幾何學是不同的。

事實上,我們不一定要關注流形是什麼,我們隻需要一個可以表示自然梯度的公式。(以下的推導細節都不重要,你隻需要知道最後的形式)

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

通過這一步,可以進而推導出自然梯度的普通梯度表示:

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

最後的公式是我們關注的,它居然和普通梯度僅僅相差了一個矩陣!!

四、fisher資訊矩陣

從矩陣的表達形式上來看,它表示了對數似然函數一階導數的二階矩。我們希望似然函數的導數更偏離均值,對應的似然函數就越陡峭,這是有利于我們做似然估計的,于是fisher資訊又有一種更直覺的表達:它對應于我們對于參數估計的準确度,換句話說,就是在一次似然估計中,并不是所有的樣本可以全部被這次估計所用,fisher資訊,代表了可以用于似然估計的那部分資訊。

把所有推理連貫一下:

自然梯度意味着使KL散度變化率最大=>KL散度的變化代表了似然估計的變化=>假設參數的改變,導緻了似然函數發生了某一個改變=>這個改變僅僅導緻了對于似然估計有用的那部分資訊在似然函數裡産生的變化。

不看數學的推導,這個公式在實際當中的意義似乎也說得通!

五、ELU的提出

再回到論文,文中提出bias shift就是激活值均值在權重更新的時候的改變(因為普通梯度的更新不會考慮資料的分布)而自然梯度會對這種bias shift進行糾正,如何糾正的,文中用了一個例子以及一系列的數學推導證明了,大緻過程就是在原網絡上增加了一個bias單元,用自然梯度求解時,發現新增單元會導緻fisher資訊矩陣上增加一行(用b表示),最終這一行b會影響bias權重和原始權重的更新。

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

這種影響作者把它稱作bias shift correction,它校正了所有的權值更新,去抵消這種bias shift

作者基于這個又提出了一種想法:既然要讓激活值的均值不變,是否可以一直讓激活函數的均值保持在0,這樣就不會發生bias shift,即可以用普通梯度代替自然梯度,最終其效果等同于使用了自然梯度?

最後ELU誕生了,它的形式是

【深度學習】論文導讀:ELU激活函數的提出(FAST AND ACCURATE DEEP NETWORK LEARNING BY EXPONENTIAL LINEAR UNITS (ELUS))一、簡介 二、自然梯度三、黎曼流形空間四、fisher資訊矩陣五、ELU的提出

其中α是一個可調整的參數,它控制着ELU負值部分在何時飽和。

ELU實作了兩個優點:

1、将前面單元輸入的激活值均值控制在0

2、讓激活函數的負值部分也可以被使用了(這意思應該是之前的激活函數,負值部分幾乎不攜帶資訊,特别是ReLU)

個人觀點:不過感覺這種方法其實也是控制層間資料均值不發生偏移,思路和Batch Normalization差不多,隻是表達不同罷了。

繼續閱讀