Transformer 架構(gòu)已經(jīng)在現(xiàn)代機(jī)器學(xué)習(xí)領(lǐng)域得到了廣泛的應(yīng)用。注意力是 transformer 的一大核心組件,其中包含了一個(gè) softmax,作用是產(chǎn)生 token 的一個(gè)概率分布。softmax 有較高的成本,因?yàn)槠鋾?huì)執(zhí)行指數(shù)計(jì)算和對(duì)序列長(zhǎng)度求和,這會(huì)使得并行化難以執(zhí)行。
Google DeepMind 想到了一個(gè)新思路:用某種不一定會(huì)輸出概率分布的新方法替代 softmax 運(yùn)算。他們還觀察到:在用于視覺(jué) Transformer 時(shí),使用 ReLU 除以序列長(zhǎng)度的注意力可以接近或匹敵傳統(tǒng)的 softmax 注意力。
這一結(jié)果為并行化帶來(lái)了新方案,因?yàn)?ReLU 注意力可以在序列長(zhǎng)度維度上并行化,其所需的 gather 運(yùn)算少于傳統(tǒng)的注意力。
方法
注意力
注意力的作用是通過(guò)一個(gè)兩步式流程對(duì) d 維的查詢、鍵和值 {q_i, k_i, v_i} 進(jìn)行變換。
在第一步,通過(guò)下式得到注意力權(quán)重
其中 ϕ 通常是 softmax。
下一步,使用這個(gè)注意力權(quán)重來(lái)計(jì)算輸出圖片 這篇論文探索了使用逐點(diǎn)式計(jì)算的方案來(lái)替代 ϕ。
ReLU 注意力
DeepMind 觀察到,對(duì)于 1 式中的 ϕ = softmax,圖片是一個(gè)較好的替代方案。他們將使用 圖片的注意力稱為 ReLU 注意力。
已擴(kuò)展的逐點(diǎn)式注意力
研究者也通過(guò)實(shí)驗(yàn)探索了更廣泛的 圖片 選擇,其中 α ∈ [0, 1] 且 h ∈ {relu,relu² , gelu,softplus, identity,relu6,sigmoid}。
序列長(zhǎng)度擴(kuò)展
他們還觀察到,如果使用一個(gè)涉及序列長(zhǎng)度 L 的項(xiàng)進(jìn)行擴(kuò)展,有助于實(shí)現(xiàn)高準(zhǔn)確度。之前試圖去除 softmax 的研究工作并未使用這種擴(kuò)展方案。
在目前使用 softmax 注意力設(shè)計(jì)的 Transformer 中,有 圖片 ,這意味著 圖片 盡管這不太可能是一個(gè)必要條件,但 圖片能確保在初始化時(shí) 圖片 的復(fù)雜度是 圖片 ,保留此條件可能會(huì)減少替換 softmax 時(shí)對(duì)更改其它超參數(shù)的需求。
大林上位機(jī)機(jī)器視覺(jué)_蘇州機(jī)器視覺(jué)培訓(xùn)_蘇州上位機(jī)培訓(xùn)_蘇州工業(yè)機(jī)器人培訓(xùn)__蘇州電工培訓(xùn)_蘇州PLC培訓(xùn)最適合電工及plc編程人員學(xué)習(xí)的上位機(jī)機(jī)器視覺(jué)課程 大林老師:15861139266(微信同號(hào))
實(shí)驗(yàn)與結(jié)果
主要結(jié)果
圖 1 說(shuō)明在 ImageNet-21k 訓(xùn)練方面,ReLU 注意力與 softmax 注意力的擴(kuò)展趨勢(shì)相當(dāng)。X 軸展示了實(shí)驗(yàn)所需的內(nèi)核計(jì)算總時(shí)間(小時(shí))。ReLU 注意力的一大優(yōu)勢(shì)是能在序列長(zhǎng)度維度上實(shí)現(xiàn)并行化,其所需的 gather 操作比 softmax 注意力更少。
序列長(zhǎng)度擴(kuò)展的效果
圖 2 對(duì)比了序列長(zhǎng)度擴(kuò)展方法與其它多種替代 softmax 的逐點(diǎn)式方案的結(jié)果。具體來(lái)說(shuō),就是用 relu、relu²、gelu、softplus、identity 等方法替代 softmax。X 軸是 α。Y 軸則是 S/32、S/16 和 S/8 視覺(jué) Transformer 模型的準(zhǔn)確度。最佳結(jié)果通常是在 α 接近 1 時(shí)得到。由于沒(méi)有明確的最佳非線性,所以他們?cè)谥饕獙?shí)驗(yàn)中使用了 ReLU,因?yàn)樗俣雀臁?/p>
qk-layernorm 的效果
主要實(shí)驗(yàn)中使用了 qk-layernorm,在這其中查詢和鍵會(huì)在計(jì)算注意力權(quán)重前被傳遞通過(guò) LayerNorm。DeepMind 表示,默認(rèn)使用 qk-layernorm 的原因是在擴(kuò)展模型大小時(shí)有必要防止不穩(wěn)定情況發(fā)生。圖 3 展示了移除 qk-layernorm 的影響。這一結(jié)果表明 qk-layernorm 對(duì)這些模型的影響不大,但當(dāng)模型規(guī)模變大時(shí),情況可能會(huì)不一樣。
添加門的效果
先前有移除 softmax 的研究采用了添加一個(gè)門控單元的做法,但這種方法無(wú)法隨序列長(zhǎng)度而擴(kuò)展。具體來(lái)說(shuō),在門控注意力單元中,會(huì)有一個(gè)額外的投影產(chǎn)生輸出,該輸出是在輸出投影之前通過(guò)逐元素的乘法組合得到的。圖 4 探究了門的存在是否可消除對(duì)序列長(zhǎng)度擴(kuò)展的需求?傮w而言,DeepMind 觀察到,不管有沒(méi)有門,通過(guò)序列長(zhǎng)度擴(kuò)展都可以得到最佳準(zhǔn)確度。也要注意,對(duì)于使用 ReLU 的 S/8 模型,這種門控機(jī)制會(huì)將實(shí)驗(yàn)所需的核心時(shí)間增多大約 9.3%。