«Умные» машины, телесные и бестелесные, окружают нас во всё большей степени. В квартире — пылесос, на складе — погрузчик, в смартфонах — голосовой помощник Siri. Но для того, чтобы машины эти стали подлинно умными, им необходимо обзавестись инженерным аналогом достаточно мощного головного мозга. Причём для решения не только тех задач, которые принято связывать с человеческим интеллектом, но и тех, с которыми справляются животные, и не обязательно высшие. И вот теперь решение этой проблемы переходит в практическую плоскость.
Сначала несколько слов о мощностях нынешних компьютеров в их мобильном обличье. Как отмечают читатели, процессор смартфонов ARM Cortex выдаёт 1,5–2 гигафлопс, ну а тот ENIAC, что позволил технологии в рамках Манхэттенского проекта овладеть внутриядерными силами, мог осилить лишь 500 флопс. И этого хватило для нужд атомной программы… Мощностей же нынешних смартфонов вполне хватает для того, чтобы создать автопилот дрона («Смартфоны даруют мозги дронам«). А вот болтушка Siri зависит в своём функционировании от внешних серверов, из-за чего и впадает порой в длительные паузы…
Парадокс. Для самого что ни на есть передового научного исследования, связанного с абстрактным мышлением, хватило половины килофлопса. Гигафлопса хватает для автопилотирования дрона (подозреваю, что с лихвой хватит и для большого самолёта), связанного уже не с абстрактным мышлением, а с быстрой реакцией, равновесием и ориентацией в пространстве. А вот простейшее (то, что может любая базарная торговка или девка на завалинке, — быстро и связно трепаться) заставляет обращаться к внешним серверам…
А вот ещё критически важная для «умных» машин задача распознавания образов. С ней справляется и малый ребёнок, и лабораторный шимпанзе, и приподъездные кошки… И программное обеспечение от Google это тоже умеет, опознает лица людей и котиков. Но — требуя для этого массива из шестнадцати тысяч мощных процессоров, функционирование которых связано с весьма серьёзными энергетическими затратами, несопоставимыми с тем, кои употребляет на решение аналогичной задачи живой мозг (оценить затраты в единицах «флопс» затруднительно, ибо слишком уж велики порядки величин).
А объясняется этот парадокс историей технологий — в сопоставлении с историей человечества и живых существ. Для чего делались первые вычислительные машины? Для работы с абстрактными образами. Да, самое обычное натуральное число есть абстрактный образ. И не слишком простой. Читатель с математическим образованием — или, скорее, с интересом к этой науке — может обратиться к «Теории множеств» коллективного французского математика Николя́ Бурбаки́ и посмотреть, сколь громоздко приведённое там определение обыкновенного натурального числа 1.
Но вот эти-то абстракции, при их кажущейся простоте и доступности первокласснику, весьма могущественны. Движение небесных тел Кеплер описывал с помощью элементарной математики, а вот для того, чтобы определить наилучшую форму бочек для свойственника-бондаря ему пришлось создать основы математики высшей… И нынешние «мельницы чисел» с их гигантской производительностью не могут справиться с тем, с чем легко справляется кусочек серого вещества, неспособный сложить два и два.
Дело именно в различии первоначально поставленных задач. От живых существ беспощадная эволюция требовала выживания в реальном мире. В вычислительные машины конструктора закладывали способность совершения цепочек операций над абстрактными объектами, при всей привычности для нас являющихся плодом последовательного творчества умов ряда гениев, от Платона и Лейбница до Гильберта и фон Неймана. Причём то, что эти цепочки операций совершаются всё быстрее и быстрее, со всё большими объёмами чисел, распараллеливаемыми даже в смартфонах, преимуществ кремнию над белком не давало.
Да! Наращивание процессорных мощностей и объёмов обрабатываемых данных ключом к решению проблемы не было. И от технологии потребовалось то, чего не может сделать эволюция живых существ, являющаяся не-марковским процессом. Живое существо довольно жёстко определено прошедшими этапами развития. Инженер же может вернуться назад и начать движение от другой точки, располагая тем опытом и технологиями, которые наработал, двигаясь по предыдущему пути. Применить подходы, позволившие достичь нынешних процессорных мощностей, к нейросетям.
Именно этим занимается нынче DARPA в рамках программы Систем нейроморфной адаптивной пластично-масштабируемой электроники (SyNAPSE). Пентагоновские деньги, скажем, выделяются командам разработчиков из HRL Laboratories, ранее известной как Hughes Research Laboratories, и родителям Watson’а из IBM Research. Команду SyNAPSE в IBM возглавляет Дхармендра С. Модха (Dharmendra S. Modha), глава группы когнитивных вычислений (Cognitive Computing) из IBM Almaden Research Center. Ну а Центр неврологических и поведенческих систем трудится под началом Нараяна Шринивазы (Narayan Srinivasa).
И результаты в обоих случаях достигнуты более чем впечатляющие. Команда Модхи сейчас работает с представленным в 2011 году нейрочипом, на кристалле которого 6 000 вентилей моделируют поведение нейрона. Всего в микросхеме 256 кремниевых «нейронов», между которыми может быть установлено 262 000 «синаптических» связей. Свойства нейросети, в которую превращается кристалл в процессе программирования, и определяются этими синаптическими связями, сохраняемыми в блоке памяти.
Что нынче может этот нейрокристалл? Распознавать цифры от 0 до 9, причём даже предсказывать ту, которую только начинают писать на планшете. Играть в виртуальный настольный теннис. Водить дрон строго над двойной жёлтой, которой размечено шоссе к Альмадене… Скромно? Да, всё это умеют обычные процессоры. Но нейрочип использует для исполнения своих задач ничтожную долю вычислительных ресурсов, обычно требуемых от традиционных архитектур. А для программирования нейроморфных архитектур IBM создаёт библиотеки объектов, названных corelets: то ли ядрышки, то ли сущностишки, (от сути); не ясно, как перевести…
Из этих корелетов — придётся, похоже, ввести очередной варваризм — и предполагается строить нейроморфный софт, в значительной степени моделирующий деятельность коры головного мозга. Но подход HRL ещё интересней: нейрочип, созданный командой Нараяна Шринивазы, имеет 576 искусственных нейронов. И тоже умеет играть в виртуальный настольный теннис. Но — в отличие от айбиэмовского образца, его для этого не программировали. В структуру изделия HRL Laboratories заложена возможность самостоятельного формирования синаптических связей.
В результате ему вручили виртуальную ракетку, дали ощущение виртуального мяча и не забывали стимулировать, поощрять или наказывать по результатам поведения. И в итоге всего лишь в пяти раундах нейрочип научился более чем прилично играть в пинг-понг. Причём применяя для этого всего лишь 120 нейронов! (Это к вопросу о том, насколько загружают свой мозг те, кто проводит досуг перед телевизором в обществе видеоигры. К нормальной игре в мелкий теннис ворчание автора не относится, она хороша для профилактики близорукости и развития моторики…)
В ближайших планах HRL’s Center for Neural and Emergent Systems — поставить свой нейрочип на орнитоптер размером с ладонь, получивший уже имя «Бекас» — Snipe. Задача машущего полёта в авиации — одна из давнейших и смутнейших, сродни квадратуре круга. Вроде бы на некоторых режимах и для некоторых «массгабаритов» летательного аппарата он сулит заметный выигрыш по затратам энергии. Но даже комнатные модельки орнитоптеров, из сухих стебельков травы, гнутых на лампе накаливания, и тончайшей плёночки (фотоплёнка растворялась в ацетоне, а потом это выливалось на поверхность воды, откуда после застывания и снималось рамочкой) были редкостно капризны.
Машущему полёту нужно куда больше петель обратной связи, чем позволяла классическая инженерия. А теперь HRL надеется на успех! Ховард Хьюз был же изначально авиамагнатом (см. фильм-байопик «Авиатор» и фантастический «Контакт» по роману К. Сагана, где Хьюз — прототип загадочного благотворителя). Да и Пентагону, который оплачивает эти исследования (в SyNAPSE вложено уже около ста миллионов долларов), такая машинка вполне может пригодиться. Но это — частности! Куда важнее то, что на практике реализуется абсолютно новое направление ИТ.
Если вычислительные машины изначально создавались для операций с абстрактными объектами, то теперь весь гигантский потенциал ИТ-отрасли может быть использован и уже используется для нейрочипов, ориентированных на работу с объектами реального мира. По примерно тем же принципам, что функционируют живые организмы, но — без ошибок, которые неизбежно делала слепая эволюция. И такая технология имеет хорошие шансы наградить «умные» машины вполне полноценным «головным мозгом».