當前位置:IT > 正文

球探即时比分:3年后被挖掘:BERT、GPT-2等都在用的激活函數

2019-12-31 14:31:08  來源:機器之心

188球赛即时比分 www.110447.live 至少在NLP領域里,GELU已經成為了眾多業內最佳模型的選擇。

作為決定神經網絡是否傳遞信息的「開關」,激活函數對于神經網絡而言至關重要。不過今天被人們普遍采用的 ReLU 真的是最高效的方法嗎?最近在社交網絡上,人們找到了一個看來更強大的激活函數:GELU,這種方法早在 2016 年即被人提出,然而其論文迄今為止在 Google Scholar 上的被引用次數卻只有 34 次。

其實,GELU 已經被很多目前最為領先的模型所采用。據不完全統計,BERT、RoBERTa、ALBERT 等目前業內頂尖的 NLP 模型都使用了這種激活函數。另外,在 OpenAI 聲名遠播的無監督預訓練模型 GPT-2 中,研究人員在所有編碼器??櫓卸際褂昧?GELU 激活函數。

GELU 論文的作者來自 UC Berkeley 和豐田工業大學芝加哥分校:

論文鏈接:https://arxiv.org/pdf/1606.08415.pdf

「現任」最流行的激活函數 ReLU

在講述 GELU 之前,讓我們先回顧一下目前最為流行的線性整流函數(Rectified Linear Unit, ReLU),它又稱修正線性單元。RELU 是多倫多大學 Vinod Nair 與圖靈獎獲得者 Geoffrey Hinton 等人的研究,其研究被 ICML 2010 大會接收。

RELU 是人工神經網絡中最常用的激活函數(activation function),通常指代以「斜坡」函數及其變種為代表的非線性函數族。這個函數族比較常見的有 ReLU 以及 Leaky ReLU。

通常意義下,線性整流函數指代數學中的斜坡函數,即:

函數圖像如下:

而在神經網絡中,線性整流作為神經元的激活函數,定義了該神經元在線性變換之后的非線性輸出結果。ReLU 可以對抗梯度爆炸/消失問題,相對而言計算效率也很高。因為在 2012 年被著名的計算機視覺模型 AlexNet 應用,ReLU 變得流行開來,目前它被普遍認為是效果最好的激活函數。

激活函數發展史

早期人工神經元使用二元閾值單元(Hopfield, 1982; McCulloch & Pitts, 1943)。這些困難的二元決策通過 Sigmoid 激活函數進行平滑化,從而具有非??斕慕飴胨俁?,并可以利用反向傳播進行訓練。但是,隨著網絡深度的不斷增加,利用 Sigmoid 激活函數來訓練被證實不如非平滑、低概率性的 ReLU 有效(Nair & Hinton, 2010),因為 ReLU 基于輸入信號做出門控決策。

盡管 ReLU 缺少統計學意義上的支持,但依然是一種非常有競爭力的工程解決方案,其收斂速度和效果好于 Sigmoid 激活函數。得益于 ReLU 的成功,近來有一個它的改進版——ELU 函數。這種函數可以讓類似 ReLU 的非線性函數能夠輸出負值并提升訓練速度。總之,對于激活函數的選擇也是神經網絡架構設計中重要的一部分。

深度非線性分類器可以和數據擬合地很好,使得設計者需要面對隨機正則化(如在隱層中加入噪聲)或者采用 dropout 機制。這兩個選擇依然是和激活函數割裂的。一些隨機正則化可以讓網絡表現得像是很多個網絡的組合,并可以提升精確度。

因此,非線性和 dropout 共同決定了神經元的輸出,但這兩種創新依然存在區別。此外,非線性和 dropout 彼此也不將對方包含在內,因為流行的隨機正則化在執行時與輸入無關,并且非線性也獲得此類正則化的輔助。

在本文中,研究者提出了一種新的非線性激活函數,名為高斯誤差線性單元(Gaussian Error Linear Unit,GELU)。GELU 與隨機正則化有關,因為它是自適應 Dropout 的修正預期(Ba & Frey, 2013)。這表明神經元輸出的概率性更高。研究者發現,在計算機視覺、自然語言處理和自動語音識別等任務上,使用 GELU 激活函數的模型性能與使用 ReLU 或 ELU 的模型相當或超越了它們。

GELU 激活函數,來點數學

研究者表明,受到 Dropout、ReLU 等機制的影響,它們都希望將「不重要」的激活信息規整為零。我們可以理解為,對于輸入的值,我們根據它的情況乘上 1 或 0。更「數學」一點的描述是,對于每一個輸入 x,其服從于標準正態分布 N(0, 1),它會乘上一個伯努利分布 Bernoulli(Φ(x)),其中Φ(x) = P(X ≤ x)。

隨著 x 的降低,它被歸零的概率會升高。對于 ReLU 來說,這個界限就是 0,輸入少于零就會被歸零。這一類激活函數,不僅保留了概率性,同時也保留了對輸入的依賴性。

好了,現在我們可以看看 GELU 到底長什么樣子了。我們經常希望神經網絡具有確定性決策,這種想法催生了 GELU 激活函數的誕生。這種函數的非線性希望對輸入 x 上的隨機正則化項做一個轉換,聽著比較費勁,具體來說可以表示為:Φ(x) × Ix + (1 − Φ(x)) × 0x = xΦ(x)。

我們可以理解為,對于一部分Φ(x),它直接乘以輸入 x,而對于另一部分 (1 − Φ(x)),它們需要歸零。不太嚴格地說,上面這個表達式可以按當前輸入 x 比其它輸入大多少來縮放 x。

因為高斯概率分布函數通常根據損失函數計算,因此研究者定義高斯誤差線性單元(GELU)為:

上面這個函數是無法直接計算的,因此可以通過另外的方法來逼近這樣的激活函數,研究者得出來的表達式為:

雖然研究者表示高斯概率分布函數的均值與方差都可以設置為可訓練,但他們簡單地采用均值為 0 方差為 1??吹秸庋謀澩鍤?,讓人想到了谷歌 2017 年提出來的 Swish 激活函數,它的表達式可以簡單寫為:f(x) = x · sigmoid(x)。

GELU 激活函數的圖像。

在 Quoc V. Le 等人研究的成果中,他們將 Swish 激活函數定義為 x · σ(βx),其中 σ() 是標準的 sigmoid 函數,β可以是常數,也可以是可訓練的參數。這樣的激活函數是「被搜索」出來的,研究者在一系列函數族中做自動搜索,并表示 Swish 激活函數的效果最好。

通過搜索查找到的激活函數,它們效果都還不錯,選自 arXiv: 1710.05941。

不服跑分:GELU vs ReLU

研究者對 GELU 和 ReLU、ELU 三個激活函數進行了性能上的比較。他們選擇了以下任務:

MNIST 圖片分類(10 類,6 萬張訓練圖片和 1 萬張測試圖片);

TIMIT 語音識別(3696 個訓練樣本、1152 個驗證樣本和 192 個測試樣本);

CIFAR-10/100 分類(10/100 個類,5 萬的訓練樣本和 1 萬的測試樣本)。

MNIST 圖片分類任務

研究者在一個全連接網絡中測試了 MNIST 分類任務,其中 GELU 的參數是μ = 0、σ = 1。ELU 則是α = 1。每個網絡都有 8 個層、128 個神經元。

圖 2 左:無 dropout 模型,圖右:模型設置 dropout 為 0.5。

圖 3:MNIST 魯棒性結果。

TIMIT 語音識別任務

研究者需要解決的另一項挑戰是利用 TIMIT 數據集進行音素識別(phone recognition),該數據集包含 680 名說話者在無聲環境中的錄音。該系統是一個包含 2048 個神經元的 5 層寬分類器(Mohamed et al., 2012),包含 39 個輸出語音標簽。

圖 5:TIMIT 語音識別變化曲線圖。

CIFAR-10/100 分類任務

研究者利用 5000 個驗證樣本來對初始學習率 {10^−3,10^−4,10^−5} 進行微調,然后基于交叉驗證的學習率再次在整個訓練集上進行訓練。他們通過 Adam 對 200 個 epoch 優化,并在第 100 個 epoch 上學習率衰減為零。如下圖 6 所示,每條曲線是三次運行結果取中間值得出的。

圖 6:CIFAR-10 數據集上的結果。

不服跑分:GELU vs Swish

因為表達式差不多,一個是固定系數 1.702,另一個是可變系數 β,Swish 和 GELU 的性質與效果非常類似。在 Swish 論文(SEARCHING FOR ACTIVATION FUNCTIONS)中,研究者對比了不同激活函數的效果,我們可以看到在視覺或語言任務中,Swish 效果要更好一些。

例如在 ImageNet 中訓練 Inception-ResNet-v2,Swish 還是要稍微超過 GELU,其中每一個評估值都記錄了三次運行的結果。

在機器翻譯任務上,研究者在 WMT 2014 English→German 數據集上測試了 12 層 Transformer 的效果。在不同的測試集上,似乎 Swish 激活函數都是最好的,當然 GELU 的效果也不差,它們相差并不大。

最后,我們在 GELU 的引用文獻中發現了大量序列建模都采用它作為激活函數,不論是語言建?;故巧Ы?。也許之前序列建模常采用 tanh() 而不是 ReLU() 作為激活函數,在發現有更好的選擇后,更多的研究者嘗試接受這種非線性單元。

如前文所述,GELU 的近似實現方式有兩種,借助 tanh() 和借助σ()。我們在 GPT-2 的官方代碼中也發現,更多研究者采用了 tanh() 的實現方式盡管它看起來要比 xσ(1.702x) 復雜很多。

# GPT-2 的 GELU 實現

defgelu(x):

return0.5*x*(1+tf.tanh(np.sqrt(2/np.pi)*(x+0.044715*tf.pow(x, 3))))

不管怎么樣,作為神經網絡最基礎的???,我們總希望在 ReLU 之上,在 GELU 和 Swish 之上能有更多的創新與觀點。

近日,基于騰訊天美工作室開發的熱門 MOBA 類手游《王者榮耀》,騰訊 AI Lab 公布了一項用深度強化學習來為智能體預測游戲動作研究成果,在機器之心最新的一期 AAAI 2020 線上分享中,我們邀請到了論文一作、騰訊 AI Lab AI+游戲領域高級研究員葉德珩博士為大家做解讀。

推薦閱讀

Facebook扎克伯格夫婦約會 科技大佬也浪漫

據外媒報道,Facebook創始人兼CEO馬克·扎克伯格及其妻子、慈善家普莉希拉·陳近日首次邀請電視攝制人員到他們家中,讓人們得以一窺這對夫 【詳細】

蘋果又要向Windows低頭?

曾經,為了挑戰IE,瀏覽器的世界也是五花八門、豐富多彩,各種不同特色的內核應有盡有,Firefox、Opera、Safari都是典型代表,但是Google 【詳細】

北京發首批自動駕駛載人測試牌照 百度獲40張

12月30日下午消息,北京市自動駕駛測試管理聯席工作小組頒發首批自動駕駛車輛道路載人測試通知書。百度Apollo拿下40 張自動駕駛載人測試牌 【詳細】

對績效未達標員工調崗優化 蘇寧否認“年底裁員”

12月31日凌晨消息,針對網傳蘇寧年底人員優化并裁員一事,蘇寧方面表示,不存在裁員情況。蘇寧稱,蘇寧屬于快速發展中的企業,2019年不斷的 【詳細】

CCPA:禁止零售商將消費者數據出售第三方

北京時間12月31日早間消息,據外媒報道,美國大型零售商正在紛紛遵守一項新的法律:加利福尼亞州消費者隱私法案(CCPA),該法案將于2020年1 【詳細】



科技新聞網版權
{ganrao}