Human brain inspired computing [part 1]
На прошлой неделе на портале «Истовый Инженер» мы опубликовали финальную лекцию из цикла материалов про нейроморфные вычисления — сложную область, в которой есть много перспективных технологий, близких направлению разработки микропроцессоров, которое мы активно развиваем. Например, нейроморфные чипы и аппаратные ускорители, которые будут играть важную роль в будущем развитии технологий искусственного интеллекта и, вероятнее всего, будут использоваться везде, где необходимо обрабатывать данные в быстроменяющихся, неструктурированных средах и в режиме реального времени.
Мы решили поделиться серией обзорных статей, составивших небольшое исследование на эту же тему. Оно было сделано нашей исследовательской группой осенью прошлого года в том числе и для того, чтобы сформировать собственное представление об актуальных технологиях, проблемах, перспективах и проектах. Позднее эта работа стала основой для целого цикла «взрослых» материалов, авторами которых стали эксперты из российских институтов и компаний (МГУ, ЛЭТИ, Сколтех, Яндекс), и даже европейской лаборатории Intel Research.
Клубок нервов нейро
В первой, вступительной статье мы рассмотрим три технологии, которые имеют в своём названии общий корень «нейро» – это нейрокомпьютерные интерфейсы, нейроморфные процессоры, а также нейросети, как один из методов машинного обучения. Несмотря на то, что эти технологии имеют похожее звучание и некоторые точки соприкосновения, они совершенно независимы друг от друга, хоть та самая приставка «нейро» в названиях и может сформировать ложное представление об обратном. Исторически эти технологии начали развиваться в очень разное время и с большим отрывом друг от друга. В связи с чем на данный момент находятся на разных этапах и обладают разной степенью зрелости.
Немного истории
Исследования нейросетей начались в 40-50-х годах XX века и заметно ускорились в наши дни. В качестве аппаратного обеспечения для них традиционно используется актуальная в настоящее время вычислительная архитектура. В последнее десятилетие такой базой являются процессоры общего назначения (CPU) и специализированные процессорные акселераторы (GPU/TPU), выполненные на полупроводниковой (CMOS) основе. Как раз на комбинации этих аппаратных средств сегодня и работает абсолютное большинство существующих нейросетей, принося вполне реальные и достойные результаты, которые используются в многообразии прикладных, коммерческих сценариев.
Параллельно с дальнейшим совершенствованием специализированных процессоров и аппаратных акселераторов, в 2010-е годы начались работы по созданию альтернативных вычислительных архитектур, более адаптированных для работы нейросетей. Разработчики предположили, что логическая структура процессоров нового типа должна имитировать структуру головного мозга живого организма, в которой большое количество миниатюрных исполнительных элементов, наподобие нейронов, будут связаны между собой огромным количеством сигнальных соединений, похожих на синапсы. Такие архитектуры стало принято называть нейроморфными.
Ожидается, что специально адаптированные виды нейронных сетей смогут работать на процессорах такого типа с затратой значительно меньших ресурсов. На данный момент несколько моделей нейроморфных процессоров были реализованы на привычной полупроводниковой (CMOS) основе.
Первые шаги
Первые опыты взаимодействия с процессорами нового типа раскрыли целый пласт проблем, связанных с их разработкой, начиная от постановки задачи, решаемой конкретным процессором, и заканчивая деталями реализации элементов процессора на физическом и логическом уровнях. Дальше мы детально рассмотрим все эти проблемы.
Тем временем, исследователи пытаются найти новые технологические подходы для более естественной и органичной имитации работы нервной сети человека. Для этого предполагается отойти от полупроводниковой (CMOS) основы и использовать принципиально новые типы устройств, например мемристоры, а также задействовать аналоговые формы сигналов и вычислений вместо цифровых. Некоторые наиболее смелые исследователи пытаются строить вычислительные структуры по принципу «wetware»— то есть с использованием реальных живых нейронов. Далее мы рассмотрим эти новые подходы несколько подробнее.
Все еще темные глубины мозга
В отличие от нейросетей и нейроморфных процессоров, нейроинтерфейсы имеют ещё более глубокую историю исследований. Отдельные попытки внешнего искусственного воздействия на нервную систему человека предпринимались начиная с XVIII века, а работы по считыванию активности нервных импульсов человека и животных проводятся с начала XX века. Осязаемых результатов в области целенаправленного воздействия на нервную систему удалось достичь начиная с 60-70-х годов XX века, когда некоторые специальные внешние устройства, соединённые с головным мозгом незрячих людей при помощи набора электродов в той или иной мере позволяли вернуть этим людям способность распознавать ряд визуальных образов. В последнее время медицина успешно использует большой объём наработок в этой области, позволяющий компенсировать человеку отсутствующие или утраченные функции организма: зрение, речь, движение и т.п.
И манит, и пугает
Наблюдаемый в наши дни рост интереса к нейроинтерфейсам вызван возможностью выхода этой технологии за сугубо медицинские рамки. Объём данных, необходимых человеку в профессиональной деятельности и даже в повседневной жизни, вырос настолько, что традиционные интерфейсы обмена данными (текст, аудио, видео) скоро перестанут справляться. Возможность передачи данных от человека к внешнему устройству и обратно со скоростью мысли выглядит очень привлекательной в этом аспекте. Поэтому поиски способов надёжного и универсального обмена данными с человеческим мозгом ведутся сразу в нескольких направлениях с использованием множества существующих возможностей считывания нервных импульсов, начиная от электроэнцефалограммы и мониторинга определённых групп мышц, и заканчивая группами электродов, вживляемыми непосредственно в головной мозг.
Главная проблема, с которой сталкиваются исследователи сейчас, это корректная интерпретация считываемых сигналов. Есть основания полагать, что методы машинного обучения, в том числе и нейросети, могут упростить процесс интерпретации таких сигналов, но для этого требуется совершенствование как самих алгоритмов машинного обучения, так и аппаратной базы для их исполнения.
Не переключайтесь
В следующих статьях, которые напишут мои коллеги, мы подробнее поговорим про каждое из этих трех направлений исследований, а также рассмотрим эволюцию различных реализаций, существующих проектов и технологий, которые стали их прикладным отражением:
часть 2: Нейроморфные процессоры как подвид акселераторов для нейросетей