Новый алгоритм приблизил нас к полной симуляции мозга
Известный физик Ричард Фейнман однажды сказал: «Чего я не могу создать, я не понимаю. Узнавайте, как решить каждую проблему, которая уже была решена». Область нейронаук, которая все больше набирает обороты, приняла слова Фейнмана близко к сердцу. Для нейробиологов-теоретиков ключом к пониманию того, как работает интеллект, будет его воссоздание внутри компьютера. Нейрон за нейроном, они пытаются восстановить нервные процессы, которые дают начало мыслям, памяти или ощущениям. Имея цифровой мозг, ученые смогут проверить наши нынешние теории познания или исследовать параметры, которые приводят к нарушению работу мозга. Как полагает философ Ник Бостром из Оксфордского университета, имитация человеческого сознания является одним из самых многообещающих (и кропотливых) способов воссоздать — и превзойти — человеческую изобретательность.
Есть только одна проблема: наши компьютеры не могут справиться с параллельной природой наших мозгов. В полуторакилограммовом органе переплетены более 100 миллиардов нейронов и триллионы синапсов.
Даже самые мощные суперкомпьютеры сегодня отстают от этих масштабов: такие машины, как компьютер K из Передового института вычислительных наук в Кобе, Япония, могут обрабатывать не более 10% нейронов и их синапсов в коре.
Отчасти эта слабина связана с программным обеспечением. Чем быстрее становится вычислительная аппаратура, тем чаще алгоритмы становятся основой для полной симуляции мозга.
В этом месяце международная группа ученых полностью пересмотрела структуру популярного алгоритма симуляции, разработав мощную технологию, которая радикально сокращает время расчета и использование памяти. Новый алгоритм совместим с разного рода вычислительным оборудованием, от ноутбуков до суперкомпьютеров. Когда будущие суперкомпьютеры выйдут на сцену — а они будут в 10-100 раз мощнее современных — алгоритм сразу же будет обкатан на этих монстрах.
«Благодаря новой технологии мы можем использовать растущий параллелизм современных микропроцессоров намного лучше, чем раньше», говорит автор исследования Джейкоб Джордан из Исследовательского центра Юлиха в Германии. Работа была опубликована в Frontiers in Neuroinformatics.
«Это решающий шаг по направлению к созданию технологии для достижения симуляции сетей в масштабах мозга», пишут авторы.
Проблема масштаба
Современные суперкомпьютеры состоят из сотен тысяч поддоменов — узлов. Каждый узел содержит множество обрабатывающих центров, которые могут поддерживать горстку виртуальных нейронов и их соединений.
Основной проблемой в симуляции мозга является то, как эффективно представить миллионы нейронов и их связей в этих центрах обработки, чтобы сэкономить на времени и мощности.
Один из самых популярных алгоритмов симуляции — Memory-Usage Model. Прежде чем ученые симулируют изменения в своих нейронных сетях, им нужно сперва создать все эти нейроны и их соединения в виртуальном мозге с использованием алгоритма. Но вот в чем загвоздка: для каждой пары нейронов модель хранит всю информацию о связях в каждом узле, в котором находится принимающий нейрон — постсинаптический нейрон. Иными словами, пресинаптический нейрон, который посылает электрические импульсы, кричит в пустоту; алгоритм должен выяснить, откуда взялось конкретное сообщение, глядя исключительно на принимающий нейрон и данные, хранящиеся в его узле.
Может показаться странным, но такая модель позволяет всем узлам выстроить свою часть работы в нейронной сети параллельно. Это резко сокращает время загрузки, что отчасти и объясняет популярность такого алгоритма.
Но как вы уже, возможно, догадались, появляются серьезные проблемы с масштабированием. Узел отправителя передает свое сообщение всем принимающим нейронным узлам. Это значит, что каждый принимающий узел должен сортировать каждое сообщение в сети — даже те, что предназначены для нейронов, расположенных в других узлах.
Это значит, что огромная часть сообщений отбрасывается в каждом узле, потому что конкретно в нем нет нейрона-адресата. Представьте, что почтовое отделение отправляет всех сотрудников страны относить нужное письмо. Сумасшедшая неэффективность, но именно так работает принцип модели использования памяти.
Проблема становится серьезнее по мере роста размера моделируемой нейронной сети. Каждому узлу необходимо выделить место для хранения памяти «адресной книги», в которой перечислены все нейронные жители и их связи. В масштабе миллиардов нейронов «адресная книга» становится огромным болотом памяти.
Размер или источник
Ученые взломали проблему, добавив в алгоритм… индекс.
Вот как это работает. Принимающие узлы содержат два блока информации. Первый — это база данных, в которой хранятся данные обо всех нейронах-отправителях, которые подключаются к узлам. Поскольку синапсы бывают нескольких размеров и типов, которые различаются по использованию памяти, эта база данных также сортирует свою информацию в зависимости от типов синапсов, сформированных нейронами в узле.
Эта настройка уже значительно отличается от предыдущих моделей, в которых данные о связях сортировались по входящему источнику нейронов, а не по типу синапса. Из-за этого узлу больше не придется поддерживать «адресную книгу».
«Размер структуры данных таким образом перестает зависеть от общего числа нейронов в сети», объясняют авторы.
Второй блок хранит данные об актуальных соединениях между получающим узлом и отправителях. Подобно первому блоку, он организует данные по типу синапса. В каждом типе синапса данные отделяются от источника (отправляющий нейрон).
Таким образом, этот алгоритм специфичнее своего предшественника: вместо того чтобы хранить все данные о соединении в каждом узле, принимающие узлы хранят только те данные, которые соответствуют виртуальным нейронам в них.
Ученые также предоставили каждому отправляющему нейрону целевую адресную книгу. Во время передачи данные разбиваются на куски, причем каждый фрагмент, содержащий код почтового индекса, направляет его на соответствующие принимающие узлы.
Быстрый и умный
Модификация сработала.
В ходе испытаний новый алгоритм показал себя много лучше своих предшественников с точки зрения масштабируемости и скорости. На суперкомпьютере JUQUEEN в Германии алгоритм работал на 55% быстрее предыдущих моделей на случайной нейронной сети, в основном благодаря своей прямолинейной схеме передачи данных.
В сети размером в полмиллиарда нейронов, например, симуляция одной секунды биологических событий заняла около пяти минут времени работы JUQUEEN на новом алгоритме. Модели-предшественники занимали в шесть раз больше времени.
Как и ожидалось, несколько испытаний масштабируемости показали, что новый алгоритм намного более эффективен в управлении крупными сетями, поскольку сокращает время обработки десятков тысяч трансферов данных в три раза.
«Сейчас основное внимание уделяется ускорению моделирования при наличии различных форм сетевой пластичности», — заключили авторы. С учетом этого, наконец, цифровой мозг человека может быть в пределах досягаемости.