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 - это функция, которая подсчитывает количество единиц в ряду битов, а знак - это знаковая функция.
Процесс обучения бинаризованных нейронных сетей отличается от процесса обучения обычных нейронных сетей. Во время обучения веса принимают реальные веса в дополнение к бинарным весам, которые равны знаку реальных весов. В обучении используются классические ошибочные уравнения обратного размножения с несколькими адаптациями.
Бинаризованные веса используются в уравнениях как прямого, так и обратного прохода, но реальные веса меняются в результате правила обучения. Кроме того, поскольку функция активации бинаризованных нейросетей является знаковой функцией и не дифференцируется, мы рассматриваем знаковую функцию как первое приближение 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), основанная на аналоговой электронике: умножения выполняются на основе закона Ома и добавления, основанного на действующем законе Кирхоффа. Этот аналоговый подход может быть перенесен непосредственно на бинаризованные нейронные сети.
Продолжение следует...