<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          談?wù)勛⒁饬C(jī)制

          共 3837字,需瀏覽 8分鐘

           ·

          2021-07-26 18:48

          點擊上方視學(xué)算法”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達(dá)

          來自|知乎  作者|super灬睿

          報道|人工智能前沿講習(xí)

          01

          注意力機(jī)制(Attention Mechanism)淺談
          1. 注意力機(jī)制的由來,解決了什么問題?
          早期在解決機(jī)器翻譯這一類序列到序列(Sequence to Sequence)的問題時,通常采用的做法是利用一個編碼器(Encoder)和一個解碼器(Decoder)構(gòu)建端到端的神經(jīng)網(wǎng)絡(luò)模型,但是基于編碼解碼的神經(jīng)網(wǎng)絡(luò)存在兩個問題,拿機(jī)器翻譯舉例:
          問題1:如果翻譯的句子很長很復(fù)雜,比如直接一篇文章輸進(jìn)去,模型的計算量很大,并且模型的準(zhǔn)確率下降嚴(yán)重。
          問題2:在翻譯時,可能在不同的語境下,同一個詞具有不同的含義,但是網(wǎng)絡(luò)對這些詞向量并沒有區(qū)分度,沒有考慮詞與詞之間的相關(guān)性,導(dǎo)致翻譯效果比較差。
          同樣在計算機(jī)視覺領(lǐng)域,如果輸入的圖像尺寸很大,做圖像分類或者識別時,模型的性能就會下降。
          針對這樣的問題,注意力機(jī)制被提出。
          2. 什么是注意力機(jī)制?
          注意力機(jī)制早在上世紀(jì)九十年代就有研究,到2014年Volodymyr的《Recurrent Models of Visual Attention》一文中將其應(yīng)用在視覺領(lǐng)域,后來伴隨著2017年Ashish Vaswani的《Attention is all you need》中Transformer結(jié)構(gòu)的提出,注意力機(jī)制在NLP,CV相關(guān)問題的網(wǎng)絡(luò)設(shè)計上被廣泛應(yīng)用。
          “注意力機(jī)制”實際上就是想將人的感知方式、注意力的行為應(yīng)用在機(jī)器上,讓機(jī)器學(xué)會去感知數(shù)據(jù)中的重要和不重要的部分。
          打個比方:當(dāng)我們觀察下面這張圖片時,大部分人第一眼應(yīng)該注意到的是小貓的面部以及吐出的舌頭,然后我們才會把我們的注意力轉(zhuǎn)移到圖片的其他部分。
          所謂的"注意力機(jī)制"也就是當(dāng)機(jī)器在做一些任務(wù),比如要識別下面這張圖片是一個什么動物時,我們讓機(jī)器也存在這樣的一個注意力側(cè)重,最重要該關(guān)注的地方就是圖片中動物的面部特征,包括耳朵,眼睛,鼻子,嘴巴,而不用太關(guān)注背景的一些信息,核心的目的就在于希望機(jī)器能在很多的信息中注意到對當(dāng)前任務(wù)更關(guān)鍵的信息,而對于其他的非關(guān)鍵信息就不需要太多的注意力側(cè)重。
          同樣的如果我們在機(jī)器翻譯中,我們要讓機(jī)器注意到每個詞向量之間的相關(guān)性,有側(cè)重地進(jìn)行翻譯,模擬人類理解的過程。

          3. 注意力機(jī)制如何實現(xiàn),以及注意力機(jī)制的分類

          簡單來說就是對于模型的每一個輸入項,可能是圖片中的不同部分,或者是語句中的某個單詞分配一個權(quán)重,這個權(quán)重的大小就代表了我們希望模型對該部分一個關(guān)注程度。這樣一來,通過權(quán)重大小來模擬人在處理信息的注意力的側(cè)重,有效的提高了模型的性能,并且一定程度上降低了計算量。

          深度學(xué)習(xí)中的注意力機(jī)制通常可分為三類:軟注意(全局注意)、硬注意(局部注意)和自注意(內(nèi)注意)
          1. Soft/Global Attention(軟注意機(jī)制):對每個輸入項的分配的權(quán)重為0-1之間,也就是某些部分關(guān)注的多一點,某些部分關(guān)注的少一點,因為對大部分信息都有考慮,但考慮程度不一樣,所以相對來說計算量比較大。
          2. Hard/Local Attention(硬注意機(jī)制):對每個輸入項分配的權(quán)重非0即1,和軟注意不同,硬注意機(jī)制只考慮那部分需要關(guān)注,哪部分不關(guān)注,也就是直接舍棄掉一些不相關(guān)項。優(yōu)勢在于可以減少一定的時間和計算成本,但有可能丟失掉一些本應(yīng)該注意的信息。
          3. Self/Intra Attention(自注意力機(jī)制):對每個輸入項分配的權(quán)重取決于輸入項之間的相互作用,即通過輸入項內(nèi)部的"表決"來決定應(yīng)該關(guān)注哪些輸入項。和前兩種相比,在處理很長的輸入時,具有并行計算的優(yōu)勢。

          References:

          https://arxiv.org/abs/2103.16775
          https://arxiv.org/abs/1406.6247
          https://arxiv.org/abs/1706.03762

          02

          自注意力機(jī)制(Self-Attention)

          1. 自注意力機(jī)制概述

          自注意力機(jī)制實際上是注意力機(jī)制中的一種,也是一種網(wǎng)絡(luò)的構(gòu)型,它想要解決的問題是網(wǎng)絡(luò)接收的輸入是很多向量,并且向量的大小也是不確定的情況,比如機(jī)器翻譯(序列到序列的問題,機(jī)器自己決定多少個標(biāo)簽),詞性標(biāo)注(Pos tagging一個向量對應(yīng)一個標(biāo)簽),語義分析(多個向量對應(yīng)一個標(biāo)簽)等文字處理問題。

          2. 文字處理中單詞向量編碼的方式

          在文字處理中,我們對單詞進(jìn)行向量編碼通常有兩種方式:
          1. 獨熱編碼(one-hot encoding):用N位的寄存器對N個狀態(tài)編碼,通俗來講就是開一個很長很長的向量,向量的長度和世界上存在的詞語的數(shù)量是一樣多的,每一項都表示一個詞語,只要把其中的某一項置1,其他的項都置0,那么就可以表示一個詞語,但這樣的編碼方式?jīng)]有考慮詞語之間的相關(guān)性,并且內(nèi)存占用也很大
          2. 詞向量編碼(Word Embedding):將詞語映射(嵌入)到另一個數(shù)值向量空間,可以通過距離來表征不同詞語之間的相關(guān)性
          拿詞性標(biāo)注舉例,對一個句子來說每一個詞向量對應(yīng)一個標(biāo)簽,初始的想法是可以通過全連接神經(jīng)網(wǎng)絡(luò),但全連接神經(jīng)網(wǎng)絡(luò)沒有考慮在句子不同位置,單詞可能表示不同含義的問題,并且當(dāng)輸入的句子很長,比如是一篇文章的時候,模型的性能下降嚴(yán)重。

          3. 自注意力機(jī)制如何實現(xiàn)

          針對全連接神經(jīng)網(wǎng)絡(luò)存在的這個問題,通過自注意力機(jī)制來解決,自注意力機(jī)制實際上是想讓機(jī)器注意到整個輸入中不同部分之間的相關(guān)性,它的實現(xiàn)方法如下:

          對于每一個輸入向量a,在本例中也就是每一個詞向量,經(jīng)過self-attention之后都輸出一個向量b,這個向量b是考慮了所有的輸入向量才得到的,這里有四個詞向量a對應(yīng)就會輸出四個向量b

          那么向量b是如何產(chǎn)生的呢?
          步驟1:對于每一個向量a,分別乘上三個系數(shù) ,得到q,k,v三個值:
          寫成向量形式: 
           寫成向量形式: 
           寫成向量形式: 
          得到的Q,K,V分別表示query,key和value

          三個W就是我們需要學(xué)習(xí)的參數(shù)
          步驟2:利用得到的Q和K計算每兩個輸入向量之間的相關(guān)性,也就是計算attention的值α,α的計算方法有多種,通常采用點乘的方式
           寫成向量形式: 
          矩陣A中的每一個值記錄了對應(yīng)的兩個輸入向量的Attention的大小α
          步驟3:對A矩陣進(jìn)行softmax操作或者relu操作得到A'
          步驟4:利用得到的A'和V計算每個輸入向量a對應(yīng)的self-attention層的輸出向量b:
          ,寫成向量形式 
          拿第一個向量a1對應(yīng)的self-attention輸出向量b1舉例,它的產(chǎn)生過程如下:

          先通過三個W矩陣生成q,k,v;然后利用q,k計算attention的值α,再把所有的α經(jīng)過softmax得到α&amp;amp;#39;;最后對所有的v進(jìn)行加權(quán)求和,權(quán)重是α&amp;amp;#39;,得到a1對應(yīng)的self-attention輸出的b1

          4. 自注意力機(jī)制的問題

          自注意力機(jī)制雖然考慮了所有的輸入向量,但沒有考慮到向量的位置信息。在實際的文字處理問題中,可能在不同位置詞語具有不同的性質(zhì),比如動詞往往較低頻率出現(xiàn)在句首。
          有學(xué)者提出可以通過位置編碼(Positional Encoding)來解決這個問題:對每一個輸入向量加上一個位置向量e,位置向量的生成方式有多種,通過e來表示位置信息帶入self-attention層進(jìn)行計算。
          https://arxiv.org/abs/2003.09229

          5. 自注意力機(jī)制&CNN、RNN

          1. 自注意力機(jī)制與CNN:
          實際上,在處理圖像問題時,每一個像素點都可以看成一個三維的向量,維度就是圖像的通道數(shù),所以圖像也可以看成是很多向量輸入到模型,自注意力機(jī)制和CNN的概念類似,都是希望網(wǎng)絡(luò)不僅僅考慮某一個向量,也就是CNN中希望模型不僅僅考慮某一個像素點,而是讓模型考慮一個正方形或者矩形的感受野(Receptive field),對于自注意力機(jī)制來說,相當(dāng)于模型自己決定receptive field是怎樣的形狀和類型。所以其實CNN卷積神經(jīng)網(wǎng)絡(luò)是特殊情況下的一種self-attention,self-attention就是復(fù)雜版的CNN。
          https://arxiv.org/abs/1911.03584
          2. 自注意力機(jī)制與RNN
          RNN和自注意力機(jī)制也類似,都是接受一批輸入向量,然后輸出一批向量,但RNN只能接受前面的輸出作為輸入,self-attention可以同時接受所有的向量作為輸入,所以一定程度上說Self-attention比RNN更具效率
          https://arxiv.org/abs/2006.16236

          相關(guān)鏈接:

          https://zhuanlan.zhihu.com/p/364819787

          https://zhuanlan.zhihu.com/p/365550383


          點個在看 paper不斷!

          瀏覽 81
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  忍不住的亲子伦中文字幕 | 日产毛片不 | 精品成人人妻AV一区二区 | 91麻豆精品国产91久久久久久久久 | 91欧美|