
Инженеры
исследовательского отдела компании
IBM разработали новую архитектуру
сверточных нейросетей, которая подходит
для работы на нейроморфных чипах —
кремниевых устройствах, которые имитируют
работу человеческого мозга. Тестирование
показало, что новые алгоритмы не только
справляются с задачами классификации
изображений и звуков на уровне лучших
современных аналогов, но и обладают
высокой энергоэффективностью. Описание
работы опубликовано в журнале Proceedings
of National Academy of Sciences.
В
2014 году компания IBM представила
первый в мире серийный микропроцессор,
построенный по архитектуре, радикально
отличающейся от фон-неймановской. Этот
процессор, TrueNorth, создатели называют
нейроморфным, то есть напоминающим (до
определенной степени) работу настоящих
нейронов животных. Хотя TrueNorth не первый
нейроморфный микрочип, на сегодняшний
день его можно считать одним из самых
продвинутых и сложных подобных устройств.
TrueNorth в его текущей версии состоит из 4096 идентичных вычислительных
 ядер, расположенных на одной кремниевой
пластине. Каждое ядро представляет
собой что-то вроде таблицы 256×256, где
колонки являются нейронами, а строки — их ответвлениями, на которые подаются данные. Каждый
нейрон может подать сигнал на одну
строку в каждом ядре этого чипа. Синапсами
в такой системе являются пересечения
строк и столбцов. Причем, как и в мозге,
«сила» синапсов используется в качестве
локального хранилища информации и
меняется при обучении. Связь между
нейронами осуществляется за счет
спайков (импульсов). 
По
задумке создателей, одним из ключевых
отличий нейроморфных чипов такой
архитектуры должна стать высокая
энергоэффективность, поскольку во время
вычисления данные не перебрасываются
от процессора в хранилище памяти и
обратно, а обрабатываются локально.
Такой тип обработки данных может быть
использован в алгоритмах на основе
нейросетей (где обычно на каждом этапе
локальные данные имеют локальное
значение), однако до сих пор почти все
их реализации были предназначены для
работы на процессорах классической
фон-неймановской архитектуры. Поэтому
для того, чтобы запустить нейросеть на
нейроморфном процессоре, потребовалась
глубокая адаптация архитектуры этого
алгоритма. В качестве объекта для
адаптации ученые выбрали один из самых
успешных в практическом плане алгоритмов,
глубокую сверточную нейросеть. Сверточные
нейросети представляют собой отдельный
класс нейросетей, которые особенно
хорошо справляются с распознаванием
изображений, звуков и другими подобными
задачами. Если в обычных полносвязных
нейросетях каждый нейрон предыдущего
слоя связан с каждым нейроном следующего,
то в сверточных нейросетях переход от
уровня к уровню проводится через операцию
свертки. В ходе этой операции небольшая
матрица (ядро свертки) проходится по
предыдущему слою. Ядро свертки можно
представить себе как небольшое «окошко»,
которое двигается по двумерному
изображению (на входной слой обычно как
раз изображение и подается), в то время
как информация, видимая в этом «окошке»,
используется для построения следующего
двумерного слоя. Сила такого типа
нейросетей заключается в возможности
наращивания довольно большого числа
слоев без порождения излишне сложной
вычислительной задачи. При этом для
вычленения высокоабстрактных свойств
в данных обычно неизбежно приходится
использовать большое количество слоев,
но в случае классического перцептрона
наращивание слоев ведет к быстрому
замедлению работы.
