注意力機(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)行翻譯,模擬人類理解的過程。