視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

PHPz
發布: 2023-09-20 20:53:02
轉載
1237 人瀏覽過

Transformer 架構已經在現代機器學習領域中得到了廣泛的應用。重點是要集中註意力是 transformer 的一大核心元件,其中包含了一個 softmax,作用是產生 token 的一個機率分佈。 softmax 有較高的成本,因為其會執行指數計算和對序列長度求和,這會使得平行化難以執行。

Google DeepMind 想到了一個新思路:用某種不一定會輸出機率分佈的新方法來取代 softmax 運算。 他們也觀察到:在用於視覺 Transformer 時,使用 ReLU 除以序列長度的重點是要集中註意力可以接近或匹敵傳統的 softmax 重點是要集中註意力。

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

論文連結:https://arxiv.org/abs/2309.08586

此結果為並行化帶來了新方案,因為ReLU重點是要集中註意力可以在序列長度維度上並行化,而且所需的gather運算比傳統的重點是要集中註意力少

方法

重點是要集中註意力

#重點是要集中註意力的作用是透過一個兩步驟流程對d 維的查詢、鍵和值{q_i, k_i, v_i} 進行轉換

在第一步,透過下式得到重點是要集中註意力權重 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

其中ϕ 通常是softmax。

下一步,使用這個重點是要集中註意力權重來計算輸出視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 這篇論文探討了使用逐點式計算的方案來取代 ϕ。

ReLU 重點是要集中註意力

DeepMind 觀察到,對於1 式中的ϕ = softmax, 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降是一個較好的替代方案。他們將使用 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降的重點是要專心稱為 ReLU 重點是要集中註意力。

已擴展的逐點式重點是要集中註意力

研究者也透過實驗探索了更廣泛的 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 選擇,其中α ∈ [0, 1] 且h ∈ {relu,relu² , gelu,softplus, identity,relu6,sigmoid}。

需要進行重新編寫的內容是:序列長度的擴展

他們也發現,如果使用一個涉及序列長度L 的項目進行擴展,可提高準確度。先前試圖移除 softmax 的研究工作並沒有使用這種擴充方案

#

在目前使用softmax 重點是要集中註意力設計的Transformer 中,有 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 ,這意味著 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 儘管這不太可能是一個必要條件,但 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降能確保初始化時 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 的複雜度是 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 保留此條件可能會減少替換softmax 時對更改其它超參數的需求。

在初始化的時候,q 和 k 的元素為 O (1),因此 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 也將為 O (1)。 ReLU 這樣的活化函數維持在 O (1),因此需要因數視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降才能使 視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降 的複雜度為  視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

實驗與結果

主要結果

圖1 說明在ImageNet-21k 訓練方面,ReLU 重點是要集中註意力與softmax 重點是要集中註意力的擴展趨勢相當。 X 軸展示了實驗所需的內核計算總時間(小時)。 ReLU 重點是要集中註意力的一大優勢是能在序列長度維度上實現並行化,其所需的 gather 操作比 softmax 重點是要集中註意力更少。

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

需要重新編寫的內容是:序列長度的擴展的效果

#圖2 比較了需要重新寫的內容是:序列長度的擴充方法與其它多種取代softmax 的逐點式方案的結果。具體來說,就是用 relu、relu²、gelu、softplus、identity 等方法取代 softmax。 X 軸是 α。 Y 軸則是 S/32、S/16 和 S/8 視覺 Transformer 模型的準確度。最佳結果通常是在 α 接近 1 時得到。由於沒有明確的最佳非線性,所以他們在主要實驗中使用了 ReLU,因為它速度更快。

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

#qk-layernorm 的效果可以重新表達如下:

主要實驗中使用了qk-layernorm,在這其中查詢和鍵會在計算重點是要集中註意力權重前被傳遞通過LayerNorm。 DeepMind 表示,預設使用 qk-layernorm 的原因是在擴展模型大小時有必要防止不穩定情況發生。圖 3 展示了移除 qk-layernorm 的影響。這結果顯示 qk-layernorm 對這些模型的影響不大,但當模型規模變大時,情況可能會有所不同。

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

#重新描述:閘的增添效果

#

先前有移除 softmax 的研究採用了增加一個門控單元的做法,但這種方法無法隨序列長度而擴展。具體來說,在閘控重點是要集中註意力單元中,會有一個額外的投影產生輸出,該輸出是在輸出投影之前透過逐元素的乘法組合得到的。圖 4 探討了閘的存在是否可消除對需要進行重新編寫的內容是:序列長度的擴展的需求。整體而言,DeepMind 觀察到,不管有沒有門,透過需要重新編寫的內容是:序列長度的擴展都可以獲得最佳準確度。也要注意,對於使用 ReLU 的 S/8 模型,這種閘控機制會將實驗所需的核心時間增加約 9.3%。

視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降

以上是視覺Transformer中ReLU取代softmax,DeepMind新招讓成本速降的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!