Болезненные упражнения в базовой арифметике – яркая часть воспоминаний начальной школы. Умножение, такое как 5843×2286, выполняемое только с помощью карандаша и бумаги, могло занимать до минуты. Конечно, сегодня, когда мобильный телефон всегда под рукой, мы можем быстро проверить, что результат нашего небольшого упражнения составляет 13357098.
Действительно, процессоры в современных мобильных телефонах могут выполнять более 100 миллиардов таких операций в секунду. Более того, чипы потребляют всего несколько ватт энергии, что делает их гораздо более эффективными, чем наш медленный мозг, который потребляет около 20 ватт и требует значительно больше времени для достижения того же результата.
Конечно, мозг не развивался, чтобы быстро решать арифметические задачи. Так что с этим он справляется довольно плохо, но превосходен при обработке непрерывного потока информации из нашего окружения. И это действует обрабатывает эту информацию иногда гораздо быстрее, чем мы думаем. Независимо от того, сколько энергии потребляет обычный компьютер, он будет иметь большие сложности с решением задач, которые мозг находит легкими, такими как понимание языка и бег по лестнице.
Если бы мы могли создавать машины с вычислительными возможностями и энергоэффективностью мозга, это изменило бы правила игры. Роботы смогут виртуозно перемещаться по физическому миру и общаться с нами на понятном языке. Крупномасштабные системы смогут быстро собирать большие объемы данных от бизнеса, науки, медицины или правительства для выявления новых закономерностей, выявления причинно-следственных связей или прогнозирования. Интеллектуальные мобильные приложения, такие как Алиса, будут меньше полагаться на облако. Та же технология может также привести к созданию устройств с низким энергопотреблением, которые могут поддерживать наши чувства, доставлять лекарства и эмулировать нервные сигналы для компенсации повреждения или паралича органов.
Но не слишком ли рано для такой смелой попытки? Не слишком ли ограничены наши знания о мозге, чтобы начать создавать технологии, основанные на его работе? Я считаю, что эмуляция даже самых базовых функций нейронных цепей может значительно улучшить многие коммерчески важные приложения. Насколько точно компьютеры должны будут подражать биологическим процессам, чтобы приблизиться к уровню производительности мозга, остается открытым вопросом.
Но современные мозговые или нейроморфные системы станут важными инструментами исследования для ответа на него.
Ключевой особенностью обычных компьютеров является физическое отделение памяти, в которой хранятся данные и инструкции, от логики, которая обрабатывает эту информацию. Мозг не имеет такого различия. Вычисления и хранение данных осуществляются локально в обширной сети, состоящей примерно из 100 миллиардов нейронных клеток (нейронов) и более 100 триллионов соединений (синапсов). Большая часть того, что делает мозг, определяется этими связями и тем, как каждый нейрон реагирует на входящие сигналы от других нейронов.
Когда мы говорим об исключительных возможностях человеческого мозга, мы обычно имеем в виду только самое последнее дополнение в долгом эволюционном процессе: неокортекс. Этот тонкий, сильно сложенный слой, который образует внешнюю оболочку нашего мозга и выполняет разнообразные задачи, включая обработку сенсорных входов, управление движениями, памятью и обучением. Этот широкий спектр возможностей достигается с помощью довольно однородной структуры: шесть горизонтальных слоев и миллион вертикальных столбцов шириной 500 микрометров, построенных из нейронов, которые объединяют и распространяют электрически закодированную информацию вдоль усиков, простирающихся от них – дендритов и аксонов.
Как и все клетки человеческого тела, нейрон обычно имеют электрический потенциал около 70 милливольт между его внутренней и внешней частью. Это мембранное напряжение изменяется, когда нейрон получает сигналы от других нейронов, подключенных к нему. И если напряжение мембраны возрастает до критического порогового значения, она формирует импульс напряжения или всплеск с длительностью в несколько миллисекунд и значением около 40 мВ. Этот спайк распространяется вдоль аксона нейрона, пока не достигнет синапса, сложной биохимической структуры, которая соединяет аксон одного нейрона с дендритом другого. Если шип отвечает определенным критериям, синапс преобразует его в другой импульс, который перемещается вниз по разветвляющейся дендритной структуре принимающего нейрона и вносит положительный или отрицательный вклад в напряжение его клеточной мембраны.
Связность – важнейшая особенность мозга. Например, пирамидальная клетка – особенно важный вид клеток в неокортексе человека – содержит около 30000 синапсов и, таким образом, 30000 входов от других нейронов. И мозг постоянно адаптируется.
Свойства нейронов и синапсов – и даже самой структуры сети – всегда меняются, в основном, благодаря сенсорному вводу и обратной связи от окружающей среды.
Компьютеры общего назначения в наши дни являются цифровыми, а не аналоговыми, но мозг не так легко классифицировать. Нейроны накапливают электрический заряд так же, как конденсаторы в электронных схемах. Это явно аналоговый процесс. Но мозг также использует шипы в качестве единиц информации, и они, по сути, двоичны: в любом месте и в любое время, есть или шип, или его нет. С точки зрения электроники, мозг представляет собой систему со смешанными сигналами, с локальными аналоговыми вычислениями и бинарным обменом. Такое сочетание аналогового и цифрового сигналов помогает мозгу преодолеть потери при передаче. Поскольку шип имеет значение 0 или 1, он может преодолевать большие расстояния, не теряя этой базовой информации; он также регенерируется, когда достигает следующего нейрона в сети.
Ещё одно важное различие между мозгом и компьютером состоит в том, что мозг выполняет всю обработку информации без центральных часов синхронизации. Хотя мы наблюдаем события синхронизации – мозговые волны – они являются самоорганизующимися, продуктами нейронных сетей. Интересно, что современные вычисления начали использовать асинхронность, похожую на мозг, чтобы ускорить вычисления, выполняя операции параллельно. Но степень и цель параллелизма в двух системах сильно различаются.
Идея использования мозга в качестве модели вычислений имеет глубокие корни. Первые усилия были сосредоточены на простом пороговом нейроне, который даёт одно значение, если сумма взвешенных входов выше порога, и другое, если оно ниже. Биологический реализм этой схемы, которую Уоррен МакКаллок и Уолтер Питтс задумали в 1940-х годах, очень ограничен. Тем не менее, это был первый шаг к принятию концепции запускающего нейрона как элемента для вычислений.
В 1957 году Фрэнк Розенблатт предложил вариант порогового нейрона, названный персептроном. Сеть интегрирующих узлов (искусственных нейронов), организованная слоями. «Видимые» слои на краях сети взаимодействуют с внешним миром как входы или выходы, а «скрытые» слои, которые выполняют основную часть вычислений, находятся между ними.
Розенблатт также представил существенную особенность мозга: торможение. Вместо простого добавления входных данных нейроны в сети персептронов также могут вносить отрицательный вклад. Эта функция позволяет нейронной сети использовать только один скрытый слой для решения проблемы XOR в логике, в которой выходные данные являются истинными, только если истинным является только один из двух двоичных входов. Этот простой пример показывает, что добавление биологического реализма может добавить новые вычислительные возможности. Но какие особенности мозга необходимы для того, что он может делать, а какие – просто бесполезные пережитки эволюции? Никто не знает.
Мы знаем, что некоторые впечатляющие вычислительные достижения могут быть достигнуты без особого биологического реализма. Например, исследователи с машинного обучения добились больших успехов в использовании компьютеров для анализа больших объемов данных и выделения объектов на сложных изображениях. Хотя построенные ими нейронные сети имеют больше входных данных и скрытых слоев, чем когда-либо прежде, они всё ещё основаны на очень простых моделях нейронов. Их большие возможности отражают не их биологический реализм, а масштаб сетей, которые они содержат, и очень мощные компьютеры, которые используются для их обучения. Но сети глубокого обучения всё ещё далеки от вычислительной производительности, энергоэффективности и способностей к обучению биологического мозга.
Большой разрыв между мозгом и современными компьютерами, возможно, лучше всего показать, если взглянуть на крупномасштабные симуляции мозга. За эти годы было предпринято несколько таких попыток, но все они были строго ограничены двумя факторами: энергией и временем моделирования. В качестве примера рассмотрим моделирование, которое Маркус Дизманн и его коллеги провели несколько лет назад с использованием почти 83000 процессоров на суперкомпьютере K в Японии. Моделирование 1,73 миллиарда нейронов потребляло в 10 миллиардов раз больше энергии, чем эквивалентная часть мозга, хотя оно использовало очень упрощенные модели и не проводило никакого обучения. И эти симуляции обычно выполнялись со скоростью менее одной тысячной скорости биологического реального времени.
Почему так медленно? Причина в том, что для моделирования мозга на обычном компьютере требуются миллиарды дифференциальных уравнений, соединенных вместе для описания динамики клеток и сетей: аналоговые процессы, такие как движение зарядов через клеточную мембрану. Компьютеры, которые используют булеву логику – обменивает энергию на точность и разделяют память и вычисления, кажутся очень неэффективными для подлинной эмуляции мозга.
Эти компьютерные симуляции могут стать инструментом, который поможет нам понять мозг. Но если мы надеемся пойти в другом направлении и использовать уроки нейробиологии для создания новых мощных вычислительных систем, мы должны переосмыслить способы проектирования и создания компьютеров.
Копирование мозговых операций в электронике, на самом деле, может быть более осуществимым, чем кажется на первый взгляд. Оказывается, затраты энергии на создание электрического потенциала в синапсе составляют около 10 фемтоджоулей (10-15 джоуля). Затвор транзистора металл-оксид-полупроводника (MOS) значительно больше и потребляет больше энергии, чем те, которые используются в современных процессорах, требующих всего 0,5 фДж для зарядки. Следовательно, синаптическая передача эквивалентна зарядке по меньшей мере 20 транзисторов. Более того, на уровне структуры биологические и электронные схемы ничем не отличаются.
Итак, мы должны быть в состоянии построить структуры, такие как синапсы и нейроны, из транзисторов и соединить их, чтобы создать искусственный мозг, который не будет потреблять чрезмерное количество энергии.
Идея создания компьютеров, заставляющих транзисторы работать более подобно нейронам, зародилась в 1980-х годах в Калифорнийском технологическом институте под руководством профессора Карвер Мида. Одним из основных аргументов в пользу того, что Мид назвал «нейроморфными» вычислениями, было то, что полупроводниковые устройства могут при работе в определенном режиме следовать тем же физическим правилам, что и нейроны, и что это аналоговое поведение можно использовать для вычисления с высоким уровнем энергоэффективности.
Группа Мида также изобрела систему нейронной связи, в которой шипы кодируются только их сетевыми адресами и временем, когда они образуются. Это была новаторская работа, потому что она была первой, кто сделал время неотъемлемой особенностью искусственных нейронных сетей. Время является ключевым фактором в мозге: для распространения сигналов требуется время, а мембраны реагируют на изменяющиеся условия, время определяет форму постсинаптических потенциалов.
Несколько исследовательских групп, достаточно активных сегодня, таких как Giacomo Indiveri в ETH Zurich и Kwabena Boahen в Stanford, следовали подходу Мида и успешно внедрили биологические элементы корковых сетей. Хитрость заключается в том, чтобы эксплуатировать транзисторы ниже порога их включения с чрезвычайно низкими токами, создавая аналоговые схемы, которые имитируют поведение нейронов, потребляя при этом очень мало энергии.
Дальнейшие исследования в этом направлении могут найти применение в таких системах, как интерфейсы «мозг-компьютер». Но это был бы огромный скачок от туда к сетям, которые имеют что-то вроде размера сети, подключения и способности к обучению всего мозга.
Таким образом, около 2005 года три группы независимо начали разрабатывать нейроморфные системы, которые существенно отклоняются от первоначального подхода Мида, с целью создания крупномасштабных систем с миллионами нейронов.
Наиболее близким к традиционным вычислениям является проект SpiNNaker, возглавляемый Стивом Фербером из Университета Манчестера в Англии. Эта группа разработала собственный полностью цифровой чип, который содержит 18 микропроцессорных ядер ARM, работающих на тактовой частоте 200 мегагерц, что составляет одну десятую скорости современных процессоров. Хотя ядра ARM являются классическими компьютерами, они имитируют пики, которые отправляются через специализированные маршрутизаторы, предназначенные для асинхронной связи, как в мозгу. Текущая реализация, являющаяся частью проекта «Человеческий мозг», была завершена в 2016 году и включает 500000 ядер ARM. В зависимости от сложности модели нейрона, каждое ядро может имитировать до 1000 нейронов.
В рамках программы TrueNorth чип, разработанный Дхармендра Модха и его коллегами из исследовательской лаборатории IBM, отказался от использования микропроцессоров в качестве вычислительных единиц и намерен создать по-настоящему нейроморфную вычислительную систему, в которой вычисления и память переплетены. TrueNorth всё ещё является полностью цифровой системой, но она основана на пользовательских нейронных схемах, которые реализуют очень специфическую модель нейрона. Чип имеет 5,4 миллиарда транзисторов, построенных по 28-нанометровой технологии Samsung CMOS. Эти транзисторы используются для реализации 1 миллиона нейронных цепей и 256 миллионов простых (1 бит) синапсов на одном чипе.
Я бы сказал, что дальше всего от традиционных вычислений и ближе всего к биологическому мозгу находится система BrainScaleS, которую разработали в Гейдельбергском университете в Германии для проекта «Человеческий мозг». BrainScaleS – это реализация со смешанным сигналом. То есть она объединяет нейроны и синапсы, сделанные из кремниевых транзисторов, которые работают как аналоговые устройства с цифровой связью. Полноразмерная система построена из 20 неразрезанных 8-дюймовых кремниевых пластин для создания в общей сложности 4 миллионов нейронов и 1 миллиарда синапсов.
Система может воспроизводить восемь различных режимов запуска биологических нейронов, полученных в тесном сотрудничестве с нейробиологами. В отличие от аналогового подхода, впервые предложенного Mead, BrainScaleS работает в ускоренном режиме и работает примерно в 10000 раз быстрее, чем в режиме реального времени. Это делает его особенно подходящим для изучения процессов обучения и развития.
Обучение, вероятно, будет критическим компонентом нейроморфных систем в будущем. В настоящее время, вдохновленные мозгом микросхемы, а также нейронные сети, реализованные на обычных компьютерах, обучаются в других местах на более мощных компьютерах. Но если мы хотим использовать нейроморфные системы в реальных приложениях, скажем, для мощных роботов, которые будут работать вместе с нами, они должны будут уметь учиться и адаптироваться на лету.
В системе BrainScaleS второго поколения реализована возможность обучения, созданная на чипе «процессора пластичности», которые используются для изменения широкого наборапараметров нейронов и синапсов, когда это необходимо. Эта возможность также позволяет точно настраивать параметры для компенсации различий в размерах и электрических свойствах от устройства к устройству, так же как мозг компенсирует изменения.
Три крупные системы являются взаимодополняющими. SpiNNaker легко конфигурируется и может использоваться для тестирования различных моделей нейронов, TrueNorth имеет очень высокую плотность интеграции, а BrainScaleS предназначена для непрерывного обучения и разработки.
Поиск правильного способа оценки производительности таких систем требует постоянных усилий. Но первые результаты дают хорошие надежды. Например, группа IBM TrueNorth недавно оценила, что синаптическая передача в её системе обходится в 26 пикоджоулей. Хотя это примерно в тысячу раз больше энергии того же действия в биологической системе, оно приближается к 1/100000 энергии, которая потреблялась бы при моделировании, выполняемом на обычной машине общего назначения.
Мы всё ещё находимся в начале пути, который приведёт нас к пониманию, что могут делать эти виды систем и как их можно применять в реальных приложениях. В то же время мы должны найти способы объединения многих нейроморфных чипов в более крупные сети с улучшенными возможностями обучения, одновременно, снижая потребление энергии.
Другим активатором развития будут устройства без CMOS, такие как мемристоры или RAM с изменением фазы. Сегодня значение веса, который управляет тем, как искусственные синапсы реагируют на входящие сигналы, хранятся в обычной цифровой памяти, которая доминирует над кремниевыми ресурсами, необходимыми для построения сети. Но другие формы памяти могут позволить уменьшить эти клетки от микрометров до нанометров. Как и в современных системах, ключевой проблемой будет то, как обрабатывать различия между отдельными устройствами. Помочь могут стратегии калибровки, разработанные с помощью BrainScaleS.
Мы только начинаем путь к полезным и эффективным нейроморфным системам. Но усилия того стоят. Если нам это удастся, мы сможем не просто создавать мощные вычислительные системы; мы можем даже получить полное представление о наших собственных мозгах.