Интерпретация статьи 丨 Модуль внимания без параметров SimAm

искусственный интеллект

Аннотация: В этой статье предлагается модуль внимания, который концептуально прост, но очень эффективен для сверточных нейронных сетей.

Эта статья опубликована в сообществе HUAWEI CLOUD.«Тридцатая серия интерпретаций статей: интерпретация статей SimAm без модуля внимания к параметрам», Автор: Гу Юрун Йимай.

Резюме

В этой статье предлагается модуль внимания, который концептуально прост, но очень эффективен для сверточных нейронных сетей. По сравнению с существующими механизмами внимания канала и пространственного внимания, эта статья напрямую выводит трехмерные веса внимания на сетевом уровне без добавления каких-либо параметров. В частности, в этой статье предлагается определить важность каждого нейрона путем оптимизации функции энергии на основе известных теорий нейронауки. В этой статье реализация кода дополнительно контролируется в пределах десяти строк путем решения аналитического решения функции энергии. Еще одним преимуществом режима SimAm является то, что большинство операций основано на решении определенной функции энергии, поэтому для внесения структурных корректировок не требуется больших усилий. Количественные эксперименты по различным задачам зрения демонстрируют гибкость и эффективность предлагаемого модуля в улучшении репрезентативных возможностей сверточных сетей.

мотивация

Есть две проблемы с существующими модулями, основанными на внимании. Во-первых, они могут уточнять объекты только в одном из каналов или пространственных измерений, но им не хватает гибкости в пространстве, где и пространство, и канал изменяются одновременно. Во-вторых, их структуры часто должны основываться на ряде сложных операций, таких как объединение. Предлагаемые в тексте модули, основанные на хорошо зарекомендовавших себя нейрофизиологических теориях, хорошо решают две вышеуказанные задачи. В частности, для того, чтобы позволить сети обучаться более различающим нейронам, в этой статье предлагается выводить трехмерные веса непосредственно из текущих нейронов, а затем по очереди оптимизировать эти нейроны. Чтобы эффективно вывести трехмерные веса, в этой статье определяется функция энергии, основанная на знаниях нейробиологии, а затем получено аналитическое решение функции.

метод

В неврологии нейроны, богатые информацией, часто проявляют другие паттерны возбуждения, чем периферические нейроны. Кроме того, активирующие нейроны часто подавляют периферические нейроны, что известно как пространственное торможение. Другими словами, нейронам, которые проявляют эффекты пространственного торможения, следует придавать большее значение в задачах обработки зрительной информации. Самый простой способ найти важные нейроны — измерить линейную разделимость между нейронами. Основываясь на этих выводах нейронауки, в этой статье определяется следующая энергетическая функция для каждого нейрона:

в,hatt=w_tt+b_t,hatx_i=w_tx_i+b_t\\hat t=w\_t t+b\_t, \\hat x\_i=w\_t x\_i + b\_tдаttиx_ix\_iЛинейное преобразование,ttиx_ix\_iявляется входной функциейtextbfXinmathbbRCtimesHtimesW\\textbf{X}\\in \\mathbb{R}^{C\\times H\\times W}нейрон-мишень и другие нейроны в одном канале.iiиндекс в пространственном измерении,M=HtimesMM=H\\times Mэто количество нейронов в канале.w_tw\_tиb_tb\_t— веса и смещения линейного преобразования. Все значения в уравнении (1) являются скалярами. когдаhatt=y_t\\hat t=y\_tа для других есть нейроныhatx_i=y_o\\hat x\_i =y\_o, Уравнение (1) получает минимальное значение, гдеy_ty\_tиy_oy\_oэто два разных значения. Минимизация формулы (1) эквивалентна нахождению целевого нейрона в том же каналеttи линейная отделимость других нейронов. Для простоты в этой статье используются двоичные метки и добавляются обычные термины. Конечная энергетическая функция выглядит следующим образом:

Теоретически каждый канал будет иметьMMДля такой функции энергии, если для решения этих уравнений используется алгоритм градиентного спуска, такой как SGD, вычислительные затраты будут очень высокими. К счастью, в уравнении (2)w_tw\_tиb_tb\_tАналитическое решение может быть получено быстро, как показано в следующей формуле:

вu_t=frac1M1sumi=1M1x_iu\_t=\\frac{1}{M-1}\\sum{i=1}^{M-1}x\_iиsigma_t2=frac1M1sumiM1(s_imu_t)2\\sigma\_t^2=\\frac{1}{M-1}\\sum{i}^{M-1}(s\_i-\\mu\_t)^2является исходящим нейроном в соответствующем каналеttСреднее значение и дисперсия всех нейронов после. Из формулы (3) и формулы (4) видно, что аналитические решения получены на одном канале, поэтому разумно предположить, что другие нейроны в том же канале также удовлетворяют такому же распределению. Основываясь на этом предположении, среднее значение и дисперсию можно рассчитать для всех нейронов, а среднее значение и дисперсию можно повторно использовать для всех нейронов одного и того же канала. Таким образом, повторный расчет каждой позиции может быть значительно сокращен.mu\\muиsigma\\sigmaСтоимость ​, итоговая минимальная энергия в каждой позиции может быть получена по следующей формуле:

вmu=frac1Msumi=1Mx_i\\mu=\\frac{1}{M}\\sum{i=1}^{M}x\_iиhatsigma2=frac1Msumi=1M(x_ihatmu)2\\hat\\sigma^2=\\frac{1}{M}\\sum{i=1}^{M}(x\_i-\\hat\\mu)^2. Уравнение (5) утверждает, что энергияe\_t^Чем ниже нейронttЧем больше отличие от периферических нейронов, тем большее значение он имеет в зрительной обработке. Поэтому в данной статье принимается1/e\_t^для представления важности каждого нейрона. Согласно Хилларду и соавт.1Исследования показывают, что регуляция внимания в мозге млекопитающих часто проявляется как эффект усиления нейронных ответов. Поэтому в этой статье вместо добавления операций для извлечения признаков используется непосредственно масштабирование.Процесс извлечения всего модуля выглядит следующим образом:

вEpsilon\\Epsilonдаe_t\*e\_t^\*Совокупно по всем каналам и пространственным измерениям,sigmoidsigmoidиспользуется для ограничения слишком больших значений, он не влияет на относительный размер каждого нейрона, поскольку является монотонной функцией.

Фактически все операции представляют собой операции точка-точка на уровне элемента, за исключением вычисления среднего значения и дисперсии каждого канала. Поэтому с помощью Pytorch функцию формулы (6) можно реализовать в несколько строк кода, как показано на рисунке 1.

Рис. 1. Реализация SimAM в стиле pytorch

эксперимент

Классификационный эксперимент CIFAR

​Эксперименты были проведены на данных 10 категорий CIFAR и данных 100 категорий и сравнивались с другими четырьмя механизмами внимания. Модуль, предложенный в этой статье, показал превосходство в нескольких моделях без добавления каких-либо параметров. Экспериментальные результаты показаны на рисунке 2. .

Рисунок 2. Топ-1 точности пяти различных модулей внимания в задаче классификации изображений CIFAR на разных моделях.

[1]: Hillyard, SA, Vogel, EK, and Luck, SJ Управление сенсорным усилением (усиление) как механизм избирательного внимания: электрофизиологические и нейровизуализационные доказательства, Философские труды Лондонского королевского общества, Серия B: Биологические науки, 353 (1373): 1257–1270, 1998.

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~