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

Возьмем, к примеру, один из самых фундаментальных строительных блоков современных архитектур: учитываемые нелинейности, например, ReLU. Они позволяют эффективно создавать и обучать рассматриваемые глубинные архитектуры и сыграли важную роль в их успехе. Несмотря на то, что мы можем выбирать из фиксированного набора нелинейных функций активации, таких как ReLU, Mish и другие, хорошо известно, что большинство рассмотренных и реализованных нелинейностей не обладают сильным биологическим правдоподобием. Исходя из этого, мы утверждаем, что (возможно) пришло время пересмотреть наш подход и интерпретировать этот основной блок глубоких сетей в сторону более биологически правдоподобной архитектуры.

Таким образом, мы заимствуем некоторые идеи и результаты из нейронауки (куда еще нам обратиться для анализа структуры и функциональности мозга?). Существует несколько исследований и появляется все больше доказательств того, что нейроны со сходными функциями в мозге млекопитающих объединяются в группы/блоки, и за их активацию происходит локальная конкуренция. Это приводит к механизму «Локальный победитель получает все» (LWTA); победитель соревнования в каждом блоке получает возможность передать свою активацию за пределы блока, в то время как остальным запрещается молчать. Мы подробно объясним этот механизм в следующих разделах.

На данный момент стоит отметить, что включение механизма LWTA в глубокие архитектуры, как было показано, демонстрирует важные свойства, такие как подавление шума, устойчивость к атакам со стороны и сжатие. Несмотря на эти важные свойства, сети на основе LWTA почти не рассматривались в литературе по машинному обучению.

В этом посте мы пойдем другим путем и исследуем радикально иную парадигму функции активации сети в сторону более биологически правдоподобных DNN: недавно предложенную стохастическую адаптацию механизма LWTA, а именно стохастическую локальную модель «победитель получает все». Мы получили несколько захватывающих результатов в различных условиях, но особенно в состязательных условиях. Stochastic LWTA может предложить повышение надежности до 16 % по сравнению со следующим наиболее эффективным состоянием художественная альтернатива. Более того, он делает это без необходимости какого-либо чрезмерного увеличения данных, сохраняя при этом очень высокую точность классификации в доброкачественном случае. Давайте начнем!

Традиционный подход

Мы начнем наше исследование с определения обычного слоя глубокой сети, чтобы ввести некоторые обозначения и ввести Stochastic LWTA.

Давайте рассмотрим вводxс функциями J, например. изображение, представленное обычному уровню DNN, содержащее K скрытых единиц и весовую матрицу W. Каждая единица k выполняет вычисление внутреннего произведения с использованием своего веса, что дает:

Этот промежуточный отклик (обычно) проходит через нелинейную функцию активации σ(⋅), например РеЛУ. Таким образом, выходной вектор конечного слоя возникает в результате объединения нелинейной активации каждой отдельной скрытой единицы:

Ниже представлена ​​графическая иллюстрация описанного обоснования. Для следующего рисунка мы предполагаем изображения из набора данных MNIST, содержащего 28 x 28 = 784 объекта. Каждый скрытый слой состоит из отдельных нелинейных единиц, и их активации распространяются, как описано ранее.

Местное обоснование принципа «победитель получает все»

Хотя обычные нелинейности предлагают простой способ построения иерархических сетей, они игнорируют важный биологический аспект мозга млекопитающих, а именно конкуренцию между нейронами. В отличие от этого, локальный победитель получает все (LWTA) построен на этой предпосылке. Таким образом, в этом случае единичные нелинейные единицы заменяются линейными единицами, которые объединяются/группируются в блок. Они называются блоками LWTA. Каждый блок (LWTA) состоит из U конкурирующих линейных единиц, то есть линейных единиц, которые конкурируют за свои результаты. Здесь и далее через B мы обозначаем количество блоков LWTA в слое на основе LWTA.

Следуйте стандартному вычислению внутреннего продукта

Каждая единица в каждом блоке вычисляет своюлинейную активацию, следуя обычному вычислению внутреннего произведения, описанному выше. Однако, чтобы обозначить, что каждое измерение входных данных x представлено каждому блоку B и всем единицам U в нем, соответствующие веса слоя расположены в виде трехмерного матрица. В частности, соответствующее вычисление промежуточного отклика для каждого блока b и блока u в нем гласит:

До этого момента и по сравнению с традиционным подходом единственное, что мы изменили, — это структура весовой матрицы слоя. Мы по-прежнему следуем стандартному вычислению внутреннего произведения между входными данными и единицами в каждом блоке слоя, чтобы вычислить их промежуточный отклик.

Альтернативный вид: определение матрицы каждого слоя как трехмерной изначально может показаться нетрадиционным или слишком сложным. Но мы можем следовать несколько более простому обоснованию. Мы можем определить весовую матрицу, как в обычном случае (при условии, что K = B x U), вычислить промежуточные ответы hₖ, k=1, …, K и затем выполнить операцию «группировка/агрегация». Это означает простое преобразование ответов из вектора из K ответов в двумерный массив с B строками и U столбцами. С небольшим злоупотреблением обозначениями:

В любом случае, мы можем иметь в виду, что первый шаг остается таким же, как и с обычными нелинейностями. Разница заключается в следующем; попрощайтесь с нелинейной функцией σ(⋅) и поздоровайтесь с конкуренцией.

Пришло (почти) время для соревнований

Как следует из названия (и как мы прямо упоминали ранее), линейные единицы в каждом блоке теперь будут конкурировать за свои выходные данные. Но что именно означает, что единицы будут конкурировать?

Основной принцип заключается в том, что из U конкурирующих единиц в каждом блоке LWTA ТОЛЬКО ОДНА может стать победителем. Этот блок передает свой линейный отклик следующему слою, в то время как остальные выводят нулевые значения. . Для слоя на основе LWTA его выходные данные теперь состоят из B подвекторов,по одному для каждого блока LWTA, и каждый с одной ненулевой записью. Мы можем написать:

Из описанного процесса видно, что каждый слой создает разреженный вывод. Все единицы, кроме одной, дают нулевые значения. В этом контексте следует отметить, что чем больше количество конкурентов U, тем меньше результат. Например, когда U=2,активны только 50 % объектов в слое, когда U=4, только 25 % и т. д.

Визуализация

На этом этапе давайте сделаем небольшой «перерыв» и визуализируем процесс. Ниже представлена ​​графическая иллюстрация. Здесь мы рассматриваем сеть на основе LWTA с двумя скрытыми уровнями, состоящими из B=6 блоков LWTA на каждом уровне, в каждом из которых U=2 конкурирующих блоков. Во-первых, вход поступает на уровень, основанный на LWTA; то есть каждое входное измерение представляется каждому блоку LWTA и конкурирующему блоку в нем. Блоки вычисляют свой ответ на основе стандартного вычисления внутреннего продукта; затем проводится соревнование. Единица-победитель получает возможность передать свои выходные данные следующему слою (обозначенному зеленой заливкой), в то время как другая единица (поскольку U=2) выводит нулевое значение. То же обоснование применимо, когда U=4. Соответствующая иллюстрация представлена ​​на рис. 4.

Хорошо, теперь пришло время для соревнований (действительно)

Мы обсудили, в каком представлении происходит конкуренция, но мы все же углубились в сам механизм конкуренции.

Детерминированный случай

В соответствующей литературе LWTA процесс конкуренции является детерминированным. Это означает, что победитель получает самый высокий/сильный отклик. На этом основании жесткая функция конкуренции LWTA гласит:

Мы уже обсуждали, как вычисляются промежуточные ответы: с помощью стандартного вычисления внутреннего продукта. Таким образом, в жестком соревновании LWTA юнит с наибольшей/самой сильной h в блоке производит результат 1, а остальные — ноль.

На протяжении всего этого поста мы намекали, что в рассматриваемой настройке LWTA единицы-победители получают возможность передать свои выходные данные на следующий уровень, а не только 1. Действительно, жесткая формулировка предполагает двоичный выходной сигнал, который довольно ограничительный. Таким образом, для обхода этого ограничения были предложены более выразительные варианты [1]. Обобщенные жесткие сети LWTA основаны на следующем механизме:

Таким образом, единицы-победители в каждом блоке напрямую передают свой ответ следующему слою, в то время как остальным запрещается молчать.

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

Стохастическая адаптация

Приведенные выше схемы не учитывают основной аспект, преобладающий в биологических системах, а именно Sтохастичность. Мы утверждаем, что этот аспект может иметь решающее значение для наделения современных глубоких сетей возможностями первостепенной важности, включая, помимо прочего, устойчивость к состязаниям, сжатие и многое другое.

В этом контексте нам нужен способ кодирования единицы-победителя в каждом из блоков B LWTA, составляющих слой Stochastic LWTA. С этой целью мы вводим соответствующий набор дискретных скрытых переменных/индикаторов, обозначенных как:

Этот вектор состоит из B составных подвекторов (по одному для каждого блока LWTA), причем каждый компонент содержит точно одно ненулевое значение (фактически 1) в индексе позиция, соответствующая победителю в каждом соответствующем блоке LWTA. Поскольку переменные этих индикаторов обозначают победителя в каждом блоке, мы можем записать выходные данные для стохастического компонента слоев LWTA (b, u) (блок b, единица u) как:

Действительно, если мы внимательнее посмотрим на это уравнение, то увидим, что единица uᵗʰ, которая окажется победителем в блоке bᵗʰ LWTA, выдаст на выходе свой промежуточный ответ (поскольку ξ будет равно 1), а остальные единицы в блок будет передавать нулевое значение (поскольку ξ будет равно 0).

Все, что осталось, — это прояснить, как мы получаем эти индикаторы ξ принципиальным способом, управляемым данными.

Мы постулируем, что переменные индикатора скрытого победителя ξ для каждого блока b взяты из категориального распределения с вероятностями, пропорциональными промежуточным линейным вычислениям, которые выполняет каждый блок. Таким образом, основной принцип работы заключается в том, что чем выше линейная реакция конкретного блока в конкретном блоке, тем выше вероятность того, что он станет победителем в этом блоке. Однако важно то, что победитель определяется стохастически. Это дает:

Проще говоря, каждый блок в каждом блоке LWTA вычисляет свой линейный отклик (хорошо, мы сказали это миллион раз); затем для каждого блока мы объединяем эти линейные ответы и преобразуем их в вероятности с помощью преобразования softmax. Теперь их можно использовать для получения выборок из категориального/дискретного распределения. Эти выборки представляют собой горячие векторы с одной ненулевой записью (фактически 1) в позиции u', обозначающей победителя в блоке (именно то, к чему мы стремились, когда вводили ξ !).

Описанная управляемая данными адаптация обоснования LWTA для блока LWTA b может быть визуально закодирована с помощью следующей иллюстрации.

Вот и все! Надеюсь, теперь вы знакомы с биологически вдохновленной и радикально отличающейся функцией активации по сравнению со стандартными ReLU, Tanh, Swish и другими нелинейностями. Прежде чем приступить к изложению некоторых интересных результатов, мы должны сделать небольшое отступление.

Когда мы говорим о нейронных сетях, первое, что приходит на ум, — это свертки. В какой-то момент во время этого анализа вы, возможно, задались вопросом: «Это кажется хорошим и все такое, но как насчет сверточных слоев?». И это наш (краткий) обход.

Сверточный вариант

Сверточные слои являются основным аспектом (нескольких) современных глубоких архитектур. Таким образом, когда мы разрабатывали стохастический вариант LWTA, нам нужен был способ адаптировать обоснование конкуренции к сверточной настройке (насколько мне известно, в то время не было сверточной версии для детерминированного процесса WTA/LWTA). Объяснив ход мыслей от обычного случая до LWTA, мы опускаем первоначальные определения и переходим к определению обоснования конкуренции.

В этой настройке мы предполагаем входной тензор вместо вектора:

и определить набор ядер, каждое из которых имеет вес:

По аналогии с группировкой линейных единиц в плотные слои, в этом случае локальная конкуренция осуществляется между картами объектов на основе положения. Каждое ядро ​​рассматривается как блок LWTA с конкурирующими картами функций; каждый слой состоит из ядер B. В частности, каждая карта признаков u=1, …, U в блоке bᵗʰ LWTA сверточного слоя LWTA вычисляет:

Опять же, этот процесс такой же, как и в обычной процедуре, основанной на нелинейности. Каждая карта признаков в ядре выполняет операцию свертки с входными данными, используя соответствующие веса. Разница снова заключается в (i) структуре ядра (как определено выше) и (ii) механизме конкуренции (как описано ниже).

Введем аналогичные индикаторы латентных победителей; однако в этом случае они определяются на основе позиции. В частности, процедура конкурентной случайной выборки гласит:

В каждом ядре, b=1,…,B, для каждой позиции (например, пикселя), только карта объектов-победителей содержит ненулевую запись; все остальные карты признаков содержат нулевые значения в этой позиции. Это дает разреженные карты признаков с взаимоисключающими активными позициями.

Таким образом, на заданном слое предлагаемого варианта свертки вывод читается:

Соответствующая визуализация сверточного варианта представлена ​​на следующем рисунке.

И после завершения этого небольшого обходного пути мы успешно (надеюсь!) определили стохастическую активацию LWTA как для плотного, так и для сверточного случая. В этом посте мы не будем вдаваться в подробности процедур обучения и логического вывода; на данный момент достаточно сказать, что мы прибегаем к стохастическому градиентному вариационному байесовскому методу и приемам для ослабления категориального распределения во время обучения (не можем выполнять обратное распространение с дискретными выборками).

Ключевой аспект этой активации (помимо других, которые мы обсуждали ранее) заключается в ее стохастическом характере. Обратите внимание, что стохастический выбор победителя каждого блока LWTA на каждом уровне вводит стохастичность в активацию сети. При представлении одних и тех же входных данных могут быть активированы разные подсети, и к выходным данным следует другой подпуть в результате выборки победителей. Этот факт будет иметь первостепенное значение для результатов, которые мы опишем далее.

Приложения

Стохастическое обоснование LWTA было тем, что мы представили еще в ICML 2019. Мы протестировали несколько приложений и задач ML и получили некоторые значительные результаты, охватывающие расширенные возможности сжатия DNN при использовании LWTA в сочетании с непараметрическими априорными значениями, улучшенный СИНИЙ балл для перевода жестового языка с использованием архитектур-трансформеров и многое другое. Одним из приложений, чрезвычайно важных для будущего глубокого обучения, является противоборствующая устойчивость. В этих условиях результаты, которые мы получили с помощью Stochastic LWTA, были… глубокими!

Стохастические сети LWTA обеспечивают глубокую устойчивость к состязаниям

Введение

Для тех, кто не знаком с противоборствующей устойчивостью, мы начнем с заявления о том, что глубокие нейронные сети печально известны своей высокой восприимчивостью к состязательным атакам. Состязательные примеры, т. е. входные данные, содержащие тщательно продуманные возмущения, разрабатываются с целью «обмануть» рассматриваемую модель, заставив ее неправильно классифицировать. Было показано, что даже небольшие возмущения исходных входных данных могут успешно сделать DNN уязвимой; это подчеркивает хрупкость обычных DNN.

Состязательные примеры могут быть построены с использованием различных подходов, например. FSGM [2] и CW [3]. Популярной и мощной атакой является атака с прогнозируемым градиентным спуском (PGD) [4]; такой противник вычисляет в пространстве признаков пример противника (например, с ограничением l_inf), основанный на многошаговой процедуре PGD для отрицательной функции потерь, так что:

где S — множество допустимых возмущений, то есть манипулятивная сила противника, т.е. шар l₂ вокруг x; а sign(·) обозначает знаковую функцию, извлекающую знак действительного числа. В этом контексте даже некоторые незначительные и часто незаметные модификации могут успешно «атаковать» модель, что приводит к серьезному снижению производительности. Такой пример изображен ниже.

Эта уязвимость вызывает серьезные сомнения в отношении уверенного использования современных DNN в критически важных для безопасности приложениях, таких как автономное вождение. В этом контексте состязательные атаки и связанные с ними стратегии защиты включают в себя множество различных подходов, преследующих одну и ту же цель; сделать глубокую архитектуру более надежной и надежной. С этой целью существует несколько стратегий, направленных на создание устойчивых к состязаниям моделей; однако их изучение выходит за рамки этого поста (обязательно прочитайте прекрасную статью Мадри и др. о состязательных атаках[2]).

Описанный стохастический подход LWTA подпадает под процесс стохастического моделирования, при котором некоторая рандомизация входных данных и/или нейронных активаций выполняется на каждом скрытом слое для обеспечения надежности. В этих условиях Stochastic LWTA кажется естественным решением. Мы сочетаем эту схему стохастического моделирования с состязательным обучением, чтобы еще больше повысить надежность.

Результаты эксперимента

Мы исследуем потенциал сетей на основе LWTA против состязательных атак в режиме состязательного обучения; мы используем WideResNet-34 и набор данных CIFAR-10.

Сначала мы сравниваем надежность сетей WideResNet на основе LWTA с их базовыми аналогами на основе ReLU.

Как мы видим, наши сети на основе Stochastic LWTA обеспечивают значительное повышение надежности при традиционной атаке PGD; они сохраняют чрезвычайно высокую естественную точность (до ≈ 13 % лучше), демонстрируя при этом
ошеломляющую, до ≈ 32,6 %, разницу в надежной точности по сравнению с точно такими же архитектурами использование обычных нелинейностей на основе ReLU и обучение точно таким же образом.

Кроме того, мы оцениваем возможности предлагаемого нами подхода против различных атак со стороны противника и при различных настройках. С этой целью мы используем известную структуру AutoAttack (AA) [5] и сравниваем сети на основе LWTA с несколькими недавними современными подходами, оцененными на AA.

Заявленная точность соответствует окончательной заявленной надежной точности методов после последовательного выполнения всех рассмотренных атак AA (всего четыре). Еще раз мы наблюдаем, что предлагаемые сети на основе LWTA обеспечивают современную надежность по сравнению со всеми методами SOTA с улучшением ≈ 16,72%, даже по сравнению с методами, которые используют существенное увеличение данных для повышения надежности, например. [6].

Потенциально ключевым принципом защиты от состязательных действий может быть стохастическое изменение информационного потока в стохастических сетях на основе LWTA; это вытекает из рассмотренного механизма выбора победителя на основе данных в каждом блоке LWTA. Различные подпути, стохастически возникающие даже для одних и тех же входных данных, существенно мешают злоумышленнику успешно атаковать модель. Некоторые дополнительные сведения можно найти в нашей публикации AISTATS 2021, цитируемой ниже.

Реализация кода

Полную реализацию кода для стохастического LWTA, а также для обучения и тестирования результирующей устойчивости можно найти здесь. В настоящее время мы изучаем различные аспекты и приложения Stochastic LWTA, включая, помимо прочего, метаобучение, репрезентативное обучение, компьютерное зрение и преобразование текста в речь. Не стесняйтесь исследовать другие мои репозитории и другие наши работы (ниже) и дайте мне знать, что вы думаете!

Публикации:

  • Непараметрические байесовские глубокие сети с локальной конкуренцией, ICML 2019 [статья]
  • Локальная конкуренция и стохастичность для состязательной устойчивости в глубоком обучении, AISTATS 2021 [статья]
  • Сети стохастических трансформаторов с линейными конкурирующими блоками: приложение для сквозного преобразования SL, ICCV 2021 [бумага]
  • Стохастические локальные сети победитель получает все обеспечивают глубокую устойчивость к состязаниям, семинар NeurIPS 2021 BDL [бумага]
  • Конкурирование взаимных информационных ограничений со стохастическими активациями на основе конкуренции для изучения диверсифицированных представлений, AAAI 2022 [статья]

Рекомендации

[1] Сривастава Р.К., Маски Дж., Казерунян С., Гомес Ф. и Шмидхубер Дж., «Соревнуйтесь в вычислениях», в Proc. Нейрипс, 2013.

[2] И. Гудфеллоу, Дж. Шленс и К. Сегеди, «Объяснение и использование состязательных примеров», в Proc ICLR, 2015.

[3] Н. Карлини и Д. А. Вагнер, «На пути к оценке надежности нейронных сетей», в Proc. IEEE SSP, 2017 г.

[4]А. Мадри, А. Макелов, Л. Шмидт, Д. Ципрас и А. Владу, «На пути к моделям глубокого обучения, устойчивым к состязательным атакам», в Proc. ИКЛР, 2017.

[5] Кроче, Ф. и Хейн, М., «Надежная оценка противоборствующей устойчивости с помощью ансамбля разнообразных атак без параметров», в Proc. МЦМЛ, 2020 г.

[6] Говал, С., Цинь, К., Уэсато, Дж., Манн, Т., и Кохли, П., «Выявление пределов состязательного обучения против ограниченных нормами состязательных примеров», в препринте arXiv arXiv: 2010.03593 , 2021.