Найти тему
Мария Опарышева

Цифровое биологически правдоподобное внедрение бинаризированных нейронных сетей (Часть 5)

2.2. Проектирование бинаризованной нейронной сети In-memory на основе блока построения дифференциальной памяти

Эта работа направлена на внедрение Бинаризированных Нейронных Сетей в аппаратное обеспечение. В таких нейронных сетях синаптические веса, как и состояния нейронов, могут принимать только два значения, +1 и -1, в то время как в обычных нейронных сетях эти параметры предполагают реальные значения. Уравнение для значения нейрона Aj в обычной нейронной сети равно:

Aj=f(∑i Wji*Xi+bj), (1)

где Xi - входы нейронов, Wji - значения синаптических весов, bj - срок смещения и f - функция нейронной активации, которая вводит в сеть нелинейность. Типичными примерами функций активации являются сигмоидная функция, софтмакс-функция и гиперболическая тангенциальная функция.

В Бинаризованных нейронных сетях функция активации намного проще, так как она подменяется знаковой функцией, как показано в уравнении:

Aj=sign(POPCOUNTi(XNOR(Wji,Xi))-Tj), (2)

В этом уравнении Tj является так называемым порогом нейрона, и он усваивается во время обучения. POPCOUNT - это функция, которая подсчитывает количество единиц в ряду битов, а знак - это знаковая функция.

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

https://pixabay.com/ru/photos/%D0%BD%D0%B5%D0%BE%D0%BD-%D1%81%D0%B8%D0%BD%D0%B8%D0%B9-%D1%81%D0%BA%D0%BE%D0%B1%D1%8B-%D0%BE%D0%B3%D0%BD%D0%B8-%D1%81%D0%BF%D0%B8%D1%80%D0%B0%D0%BB%D1%8C-3217149/
https://pixabay.com/ru/photos/%D0%BD%D0%B5%D0%BE%D0%BD-%D1%81%D0%B8%D0%BD%D0%B8%D0%B9-%D1%81%D0%BA%D0%BE%D0%B1%D1%8B-%D0%BE%D0%B3%D0%BD%D0%B8-%D1%81%D0%BF%D0%B8%D1%80%D0%B0%D0%BB%D1%8C-3217149/

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

Hardtanh(x)=Clip(x,-1,1), (3)

и мы используем производную этой функции как замену производной знаковой функции в обратном проходе. Эта замена является ключевым элементом для успешного обучения BNN. Интервал клипа в уравнении (3) не обучается и для всех нейронов выбирается между -1 и 1. Использование большего интервала действительно увеличит эффект исчезающего градиента, в то время как использование меньшего интервала приведет к производным выше единицы, что может привести к эффекту взрывного градиента.

Наконец, оптимизатор Adam используется для стабилизации обучения. Техника, известная как пакетная нормализация, используется на каждом слое нейронной сети. Пакетная нормализация сдвигает и масштабирует нейронные активации по пакету во время тренировочного процесса. Этот метод используется опционально в обычных нейронных сетях для ускорения и стабилизации обучения. Использование этого метода становится необходимым при обучении бинаризированных нейронных сетей для достижения высокой точности, так как он гарантирует, что нейронные активации используют как +1, так и -1 значения. Во время вывода, пакетная нормализация больше не нужна, и порог, полученный с помощью этой техники, может быть использован непосредственно в качестве порога нейронов в уравнении (2).

При использовании этой методики обучения бинаризованные нейронные сети функционируют удивительно хорошо. Они могут достигать почти современного уровня производительности при решении задач распознавания изображений, таких как CIFAR-10 и ImageNet.

После обучения реальные веса больше не служат цели и могут быть отброшены.

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

Возможна реализация ASIC Binarized Neural Networks с использованием исключительно CMOS. Однако более оптимальная реализация будет опираться на появляющуюся энергонезависимую память и как можно более тесную ассоциацию логики и памяти. Такой подход может обеспечить создание энергонезависимых нейронных сетей и полностью устранить "узкое место" фон Неймана:

  • Наноустройства могут реализовать синаптические веса, а арифметика может быть выполнена в КМОП.

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

Часть 1

Часть 2

Часть 3

Часть 4

Продолжение следует...

Наука
7 млн интересуются