Изменения

Перейти к: навигация, поиск

Механизм внимания

3626 байт добавлено, 17:21, 2 декабря 2020
Добавлен раздел Convolutional Block Attention Module и подраздел Channel Attention Module
Таким образом при помощи механизма внимания достигается "фокусирование" декодера на определенных скрытых состояниях. В случаях машинного перевода эта возможность помогает декодеру предсказывать на какие скрытые состояния при исходных определенных словах на языке ''A'' необходимо обратить больше внимания при переводе данного слова на язык ''B''. То есть на какие слова из исходного текста обратить внимание при переводе конкретного слова на язык назначения.
 
 
==Модули внимания==
===Convolutional Block Attention Module (CBAM)===
'''Convolutional Block Attention Module''' {{---}} простой, но эффективный модуль внимания для сверточных нейросетей. Данный модуль внимания состоит из двух последовательно применяемых подмодулей - канального (Channel Attention Module, применяется ко всем каналам одного пикселя с изображения) и пространственного (Spatial Attention Module, применяется ко всему изображению с фиксированным каналом).
 
====Устройство====
Более формально говоря: на вход подается множество признаков <math>F \in \mathbb{R}^{C \times H \times W}</math>, где <math>C</math> - число каналов, <math>H</math> - высота, а <math>W</math> - длина изображения. Канальный подмодуль <math>A_1(F)</math> принадлежит множеству <math>\mathbb{R}^{C \times 1 \times 1}</math>, а пространственный <math>A_2(F)</math> принадлежит множеству <math>\mathbb{R}^{1 \times H \times W}</math>. Таким образом применение модуля можно описать так:
 
*<math>F_1 = A_1(F) \otimes F</math>
 
*<math>F_2 = A_2(F_1) \otimes F_1</math>
 
Здесь за <math> \otimes </math> обозначено поэлементное произведение, а тензоры <math>A_1(F)</math> и <math>A_2(F_1)</math> копируются вдоль недостающих измерений. <math>F_2 \in \mathbb{R}^{C \times H \times W}</math> является выходным множеством признаков.
 
==== Channel Attention Module ====
Канальный механизм внимания реализуется за счет исследования внутриканальных взяивосвязей во входных данных. Для более эффективной реализации используется сжатие входных данных по измерениям <math>H</math> и <math>W</math> с помощью <math>MaxPool</math> и <math>AvgPool</math>, в результате которого получаются два вектора <math>F^c_{max}</math> и <math>F^c_{avg}</math> из <math>\mathbb{R}^{C}</math>. После чего к этим двум векторам независимо применяется одна и та же полносвязная нейронная сеть с одним скрытым слоем малой размерности (при этом ее входные и выходные вектора принадлежат <math>\mathbb{R}^{C}</math>). После этого полученные из нейросети вектора поэлементно складываются, к результату поэлементно применяется сигмойдная функция активации и добавляются недостающие единичные размерности. Полученный тензор из <math>\mathbb{R}^{C \times 1 \times 1}</math> как раз и является результатом применения <math>A_1(F)</math>, поэлементное произведение которого со входом <math>F</math> дает тензор <math>F_1</math>
==Self-Attention==
85
правок

Навигация