Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть) кратко

Лекция



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

« би-реальная сеть ( двоичная нейронная сеть ,): повышение производительности 1-битных CNN с улучшенной репрезентативной способностью и расширенным алгоритмом обучения» В этой статье сделан ряд улучшений и улучшений в структуре сети и обучении оптимизации в ответ на дефекты XNOR-сети, включая введение из одного Быстрое соединение в виде слоя на блок, использование квадратичной функции для соответствия знаковой операции активации действительного числа, введение величины веса действительного числа при обновлении веса действительного числа и предварительное обучение модель, использующая функцию отсечения вместо ReLU для обучения, тем самым достигая сетевого веса и активации. Хотя выходные данные бинаризованы, это обеспечивает высокую точность вывода, особенно для больших наборов данных (ILSVRC ImageNet).

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Как показано на рисунке выше, после бинаризации веса и активации глубокой сети объем памяти параметров и активаций может быть значительно сокращен. Во-вторых, вычисление свертки также упрощается до операций XNOR и подсчета битов, поэтому очень Это способствует развертыванию глубоких сетей с логическим выводом, особенно на мобильных устройствах с ограниченными ресурсами и чрезвычайно высокими требованиями к энергоэффективности. XNOR-net, ABC-net и т. Д. В настоящее время являются ведущими бинарными сетями. Bi-Real Net, предложенная в статье, является последующим развитием и улучшением XNOR-сети. Во-первых, реализован ярлык в виде одного слоя на блок в структуре сети. Соединение, то есть результат действительного числа текущей 1-битной свертки или вывода BN, напрямую добавляется к результату действительного числа следующей 1-битной свертки или вывода BN, тем самым увеличивая диапазон значений сети. структура следующая:

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

В бинарной сети бинаризация активации A и веса W обычно реализуется с помощью операции Знака:

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Схема обучения бинарной сети, предложенная в статье, показана на рисунке ниже, включая прямой процесс (знаковая операция, активируемая действительными числами, знаковая операция с учетом величины с действительными весами, 1 бит Conv, BN и т. Об этом говорит сайт https://intellect.icu . Д.) И обратные процессы. (двоичные веса, двоичные веса и т. д.) Вывод веса и обновление веса действительных чисел и т. д.):

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

На этапе обучения действительные числовые веса сети обновляются напрямую, и градиент потерь по отношению к действительным числовым весам может быть расширен в соответствии с правилом цепочки (условия произведения - это градиент потерь относительно двоичного веса и градиента двоичного веса относительно реального веса):

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Среди них градиент потерь по отношению к двоичному весу может быть расширен в соответствии с правилом цепочки следующим образом (термины произведения - это градиент потерь по отношению к активации действительного числа, гамма-коэффициент слоя BN и бинарная активация):

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

В это время сначала необходимо решить градиент потери относительно активации действительного числа (он может быть выражен как произведение градиента потери относительно двоичной активации и градиента двоичной активации относительно активация действительного числа в соответствии с цепным правилом), но поскольку функция Знака не дифференцируема (производная - это единичный импульс) Шоковая реакция), необходимо разработать функцию аппроксимации F (дифференцируемую) функции Знака как прямое приближение:

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Аппроксимация функции Знака вызовет несоответствие между приблизительным градиентом, полученным в фазе обратного распространения ошибки, и реальной активацией, поэтому степень приближения между функцией аппроксимации и функцией Знака влияет на производительность модели. XNOR-net выбирает кусочно-линейную функцию clip (-1, x, 1) в качестве приближения функции Sign, которая имеет большое отклонение. В статье строится квадратичная функция как прямая аппроксимация функции Знака, которая может дополнительно уменьшить отклонение и повысить производительность модели, а соответствующая производная кривая имеет треугольную форму, которая больше подходит для моделирования импульсных сигналов:

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

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

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

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

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Термин продукта на этапе обновления - это градиент потерь относительно активации действительного числа, гамма-коэффициент слоя BN, двоичная активация и градиент операции Знака с учетом величины. Градиент операции Знака с учетом величины, то есть градиент двоичного веса относительно реального веса, выражается как (вывод функции Знака по-прежнему аппроксимируется функцией Клипа):

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

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

Кроме того, поскольку выход бинаризации бинарной сети равен {-1,1} и не содержит нулевых элементов, при обновлении параметров модели предварительного обучения выбор функции отсечения вместо ReLU, поскольку функция нелинейной активации может получить лучший эффект инициализации. В то же время на этапе обучения двоичной сети убывание веса устанавливается на ноль, то есть нет необходимости вводить ограничения регуляризации L1 или L2 на веса действительных чисел. И сокращенная структура из двух слоев по одному на блок лучше, чем сокращенная структура из двух слоев на блок, подробности см. В экспериментальном анализе.

Экспериментальные результаты показывают, что Bi-Real Net работает лучше, чем XNOR-net, ABC-net и т. Д., С такими наборами данных, как CIFAR10 / 100 и ImageNet, и имеет меньше параметров. Он очень подходит для развертывания мобильных терминалов и ускоряется с помощью помощь набора инструкций NEON:

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Би-реальная сеть - Расширение и развитие XNOR-сети (двоичная нейронная сеть)

Вау!! 😲 Ты еще не читал? Это зря!

архитектура нейронной сети ,

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

Из статьи мы узнали кратко, но содержательно про двоичная нейронная сеть
создано: 2021-06-06
обновлено: 2024-11-11
2



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Вычислительный интеллект

Термины: Вычислительный интеллект