Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Смешная третья опция для современного проектировщика нейронных сетей (помимо GPU/TPU и CPU, обычных центральных процессоров, которые, кстати сказать, сегодня тоже активно развиваются в направлении расширения наборов инструкций за счёт быстрых векторных операций) — это использование FPGA — устройств, относящихся к категории программируемых логических интегральных схем (ПЛИС). FPGA в наши дни часто используют для прототипирования ASIC: удобно сперва испытать ту или иную архитектуру микросхемы, прежде чем отправить её в серийное производство.
Если вас интересует более подробный анализ состояния дел в мире оборудования, предназначенного для задач глубокого обучения, то рекомендую регулярно дополняемый обзор [1562] от Григория Сапунова, в котором можно найти сведения о последних проектах в чудесном мире CPU, GPU и TPU, ПЛИС и ASIC.
5.3.4 Импульсные нейронные сети
В целом поступательный рост производительности цифровых вычислительных устройств в совокупности с созданием специализированных процессоров, способных более эффективно выполнять алгоритмы, используемые при обучении и выполнении нейронных сетей, оказали чрезвычайно мощное воздействие на прогресс в области нейросетевых технологий. Нередко приходится слышать, что это стало чуть ли не единственным фактором, определившим прогресс в данной области. Такая точка зрения, безусловно, грубо упрощает информацию о состоянии дел в отрасли и обесценивает усилия разработчиков новых моделей и алгоритмов. Но в то же время глупо было бы отрицать, что некоторые модели и методы просто не могут эффективно применяться в отсутствие соответствующих вычислительных ресурсов. Развитие моделей связано с организацией множества вычислительных экспериментов, для постановки которых необходим доступ к подходящему оборудованию.
Иногда устройства, предназначенные для ускорения работы нейронных сетей, называются также ИИ-ускорителями (AI accelerators) или NPU (Neural Processing Unit, Нейронный процессор). В их число обычно включают также и нейроморфные процессоры, которые мы коротко упомянули в подглаве 4.4.6. Современные нейроморфные системы можно условно разделить на два класса: системы, целью которых является моделирование процессов, происходящих в нервной ткани живых существ, и системы, ставящие своей целью решение прикладных задач искусственного интеллекта на основе импульсных нейронных сетей (spiking neural networks, SNN). Для удобства мы будем называть первые нейроморфными системами типа I, а вторые — нейроморфными системами типа II.
Термин «импульсные нейронные сети» появился с лёгкой руки профессора Вольфганга Маасса, который в своей статье 1997 г. предложил разделить нейронные сети на три поколения. К первому он относил нейронные сети на основе нейронов с пороговой функцией активации, ко второму — сети на основе нейронов с непрерывными функциями активации (сигмоидальными, полиномиальными и т. д.), а к третьему — сети, которые в качестве вычислительных единиц используют так называемые импульсные нейроны [1563].
Импульсные нейроны, в отличие от нейронов обычного перцептрона, срабатывают не на каждом из циклов распространения сигнала, а только тогда, когда их мембранный потенциал (т. е. разница в электрическом заряде внутренней и внешней поверхностей клеточной оболочки) достигает определённого значения. Когда нейрон срабатывает, он генерирует сигнал, который передаётся другим нейронам, которые, в свою очередь, увеличивают или уменьшают свои мембранные потенциалы в соответствии с этим сигналом. Несложно убедиться, что источником вдохновения для импульсной модели нейрона послужили работы Луи Лапика, Ходжкина, Хаксли и других нейрофизиологов, занимавшихся изучением распространения электрических сигналов в нервной ткани. Системы уравнений, описывающие накопление потенциала, его утечки, срабатывание нейрона и так далее, могут различаться в различных импульсных моделях. Обычно выбор конкретной модели зависит от области применения нейроморфной системы, именно поэтому модели, лежащие в основах систем типа I, тяготеют к большей биологической достоверности; модели же, лежащие в основе систем типа II, обычно выбираются таким образом, чтобы обеспечить снижение вычислительных затрат и большее удобство применения в используемом типе оборудования. Среди преимуществ систем типа II по сравнению с тензорными процессорами можно назвать их крайне низкий уровень энергопотребления и тепловыделения.
Первые сети третьего поколения (далее — импульсные сети) появились задолго до работ Маасса. Их история не менее интересна, чем история «конвенциональных» искусственных нейронных сетей. У истоков этого направления стоял биофизик Отто Шмитт, известный в качестве автора термина «биомиметика». Старший брат Отто, Фрэнсис, был биологом и изучал в MIT «молекулярную организацию клеток и тканей с особым акцентом на нервные волокна». Отто выбрал близкую тему для исследований в аспирантуре. Он использовал свои знания в области электротехники, стремясь создать искусственные конструкции, способные имитировать распространение импульсов по нервным волокнам. В результате в 1934 г. увидел свет так называемый триггер Шмитта, реализованный на базе электровакуумных триодов. В 1937 г. Шмитт описал его в диссертации под названием «термионный триггер» [1564]. Как и для Ходжкина и Хаксли, источником вдохновения для Шмитта стала нервная система кальмара. В 1940 г. собственную электрическую схему для моделирования работы нерва создал французский исследователь Филипп Фабр, известный в наши дни как изобретатель электроглоттографии [1565]. В своей работе Фабр ссылается на Лапика, а также на ряд исследователей, изучавших нервную проводимость в 1920–1930‑е гг. [1566], [1567] Конечно, все эти ранние работы (как и ряд более поздних) не ставили перед собой задачу создания вычислительных устройств. Действующие электрические модели нейрона в те годы создавались главным образом для исследований в области физиологии и медицины [1568]. Позже, в 1960 г., на заре эпохи интегральных схем, американский инженер Хьюитт Крейн из Стэнфордского исследовательского института предложил концепцию нейристора [neuristor], способного заменить собой все логические элементы цифровой схемы. Впрочем, признавая, что сам по себе нейристор пока что не создан, автор в качестве варианта предлагал ссылаться на его модель как на «эвристор» [heuristor], чтобы приберечь название «нейристор» до того момента, когда такие устройства будут созданы [1569]. Появление таких устройств не заставило себя ждать. Пионерскими работами в этой области стали конструкции Коута и Нагумо.
В 1960–1970-е гг. было предложено множество различных схем реализации нейронных систем, ряд из которых можно отнести к импульсным сетям. Среди интересных проектов в этой области, осуществлявшихся в то время, стоит упомянуть исследования, выполненные в рамках американо-польского научного сотрудничества. Обширная программа совместных исследований финансировалась в начале 1970-х гг. Национальным научным фондом США с использованием польских займов на покупку пшеницы (Польша приобретала американскую пшеницу, что увеличивало её долг перед США, которые снижали размер этого долга на сумму бюджета польской части исследований).
Эта уникальная программа, в рамках которой совместно работали учёные из стран, принадлежавших к разным военно-политическим блокам, была направлена на разработку биполярных и МОП-схем (металл — оксид — полупроводник), подходящих для построения специализированных интегральных схем для искусственных нейронных сетей. Последние с лёгкой руки профессора Николаса Деклариса стали называть микросхемами нейронного типа [neural-type]. С польской стороны проектом руководил доктор Михал Бялко из Гданьского политехнического университета (Politechnika Gdańska), с американской — профессора Декларис и Роберт Ньюкомб из Мэрилендского университета в Колледж-парке (University of Maryland, College Park).