大模型神經網絡之注意力機制——attention 原創(chuàng)
“ 注意力機制是Transformer的核心,而注意力的目的卻是特征提取 ”
Transformer架構對從事大模型領域的人來說應該不是一個陌生的詞匯,而且大家應該都知道Transformer架構的核心點就在于其self-attention自注意力機制;雖然說Transofrmer架構的自注意力機制大名鼎鼎, 但真正了解注意力機制的人好像并不是很多,所以今天我們就來簡單了解一下注意力機制。
注意這里說的是注意力機制,不是自注意力機制。
注意力機制
先來思考一個問題,什么是注意力機制?
說到注意力機制可能有些人顧名思義就知道是什么意思了;而有些人可能還沒明白什么是注意力機制。
就像神經網絡是模仿我們人類大腦神經元一樣,注意力機制也是模仿我們人類的信息處理機制——那就是注意力。
我們經常會走神,比如說某人問你問題或和你講話,你說你沒注意,沒聽到等等;這個就是注意力。而注意力機制,就是用一種數學辦法來為注意力進行建模,用來處理大模型對待不同數據所產生的注意力大小。
下面我們來舉個例子:
如上圖所示,你第一眼看到的是什么?就代表著你的注意力在哪里,然后間接忽略其它次要內容。
再比如說,如果問你這張圖片的背景是什么?這時你的注意力會在哪里?
如果問你這個小姐姐可能會在什么地方,大概處于一個什么樣的環(huán)境?這時你的注意力又會在哪里?
現在明白什么是注意力了吧?就是在不同的前提和關注點下,你的注意力會集中在不同的地方。
人在觀察事物時會有選擇性的關注較為重要的信息,稱其為注意力。通過持續(xù)關注這一關鍵位置以獲得更多的信息,而忽略其他的無用信息,這種視覺注意力機制大大提高了我們處理信息的效率和準確性。深度學習中的注意力機制和人類視覺的注意力機制類似,就是在更多信息中把注意力集中放在重要的點上,選出關鍵信息,而忽略其他不重要的信息。
那為什么需要注意力機制,注意力機制解決了哪些問題?
注意力機制被提出來的原因就是解決傳統(tǒng)機器學習模型中的長距離依賴信息丟失問題。什么是長距離依賴信息丟失問題?
比如傳統(tǒng)的RNN網絡——循環(huán)神經網絡;它需要把全部文本輸入到神經網絡模型中,雖然這種處理方式并沒有什么錯;但它存在一個問題,就是當文本過長時,會丟失前面文本的信息,原因就在于模型的處理能力有限。
這個就類似于我們人類的記憶一樣,離你時間越久遠的東西,你的記憶越模糊。
而注意力機制就恰巧能解決這個問題;舉個簡單的例子:
如果讓你背一篇幾十個字的文章,你可能用一會時間就背下來了;即使忘了,隨便看一下也能記得起來;但是如果給你一個萬字長文,這時你想把它完全背下來并做到不容易忘就很難了。
所以,注意力機制是怎么解決的呢?
一篇萬字長文總不可能所有的內容都很重要,它總有一個中心思想,其它的內容都是為了這個表述這個中心思想準備的;因此,在注意力機制中,我不需要把萬字長文都背下來,只需要記住其中的中心思想即可。
而這篇萬字長文中的中心思想,才是我們需要注意的點,也就是注意力需要集中的地方。
那注意力機制是怎么實現的呢?
其實注意力三個字已經給我們講的很明白了,你的注意力在哪;哪里就需要注意。但在數學模型中沒有注意力這個東西啊,那應該怎么做呢?
這時權重的作用就出現了,所謂的注意力就是對同一個目標的不同點的關注度不一樣;而這個關注度就可以用權重來表示。注意力集中的地方,權重就越大,注意力不集中的地方,注意力就越小。
雖然理論上說起來比較簡單,但具體實現應該怎么做呢?
在注意力機制中,有三個比較重要的參數——Q,K,V;Q就是你的查詢參數,K就是唯一標識,V就是實際值。
舉個例子來說,以淘寶或等電商平臺的搜索功能來說;Query就是我們在輸入框中輸入的參數,比如鞋子,衣服等等;然后系統(tǒng)就會給我們返回很多有關鞋子,衣服的店鋪,商品等——Key;而我們點進這些店鋪或商品詳情——Value,就能看到更多關于衣服鞋子等商品的信息。
在注意力機制中,通過把Q,K,V三個參數乘以一個W系數,再進行相加等操作就可以獲取到某個數據的權重;而通過這種計算方式,就可以獲取到整個輸入數據的不同權重,也就產生了多種不同的注意力。
當然,不論是長距離依賴,還是注意力機制,其唯一的目的就是特征提取,以更小的代價,提取更加準確的數據特征。
本文轉載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/XHZsR6CW7GvbOqoJwcJsWA??
