Нейронные сети
Сергей Бобровский
Буквально за последние несколько лет ИТ достигли уровня, при котором наконец стало возможным создание больших нейронных сетей. Появились новые процессоры, параллельные системы и соответствующее ПО, что позволило использовать нейротехнологии в коммерческих целях.
Абердинский университет создал кластер из 256 RISC-процессоров, способных формировать 2,4 трлн. связей между нейронами в секунду при среднем времени обучения 0,45 с. Некоторые тестовые примеры, требовавшие 10 ч работы на станциях SGI, теперь выполняются в кластере за 1 с.
Фирма Axeon выпустила самообучающийся процессор, применяемый в устройствах мобильной связи для повышения качества передачи, в системах навигации, распознавания изображений, обнаружения отклонений от нормальной работы, что особенно актуально для финансовых организаций.
В мозгу человека примерно 1 трлн. нейронов с огромным числом соединений между ними. Смоделировать такую систему на компьютере пока невозможно, а вот сымитировать поведение более простых существ, например нематоды, имеющей всего 302 нейрона, уже не представляет сложности. Кливлендский университет выполнил такую работу, и процесс поиска компьютерной нематодой пищи в лабиринте полностью совпал с аналогичным процессом, выполняемым живым прототипом. Следующий проект исследователей - создание виртуального таракана, у которого нейронов побольше.
Компания Bittco Solutions (www.bittco.com) предлагает продукт NetReality - хранилище документов, способное с помощью нейронных технологий выделять семантические связи между словами и их комбинациями (“геномы” документов). На основе NetReality реализован Web-портал, учитывающий интересы конкретных пользователей и облегчающий поиск в Интернете нужной информации.
Компания Intelligenesis (www.intelligenesis.net) разработала самоорганизующуюся систему WebMind. Она пытается “осознать” смысл информации в сети (пока локальной) и ответить на вопросы пользователей. WebMind - нечто среднее между хранилищем данных и средством поиска и анализа. Первоначально происходит процесс самообучения на реальных данных с применением нейронных сетей, затем формируется набор семантических сетей, а автономные агенты создают или уничтожают связи между их узлами (строками в БД, документами и т. п.). Анализируются последовательности обращений пользователей к данным и выполненные переходы между ними для выявления скрытых связей. На основе WebMind и технологии объединения мобильных устройств Sun Jini планируется создавать самоорганизующиеся сети Java-процессоров.
Корпорация Symantec лицензировала нейронную технологию IBM для контроля за попытками вирусного заражения загрузочных секторов.
Клеточные автоматы
Клеточные автоматы (КА) применяются сегодня в самых разных областях. Основным преимуществом данной технологии считается самостоятельное развитие системы и теоретическая возможность создания самовоспроизводящихся автоматов, которую Фон Нейман доказал в своей классической статье Theory of Self-Reproducing Automata (такой автомат требует десятков тысяч ячеек, каждая из них может находиться в одном из 29 состояний).
КА обладают тремя основными характеристиками: параллелизм (состояние всех ячеек меняется одновременно), локальность (состояние конкретной ячейки зависит только от состояния ее ближайших соседей) и гомогенность (homogeneity) - подчинение одному набору правил (чаще всего элементарному) для всех ячеек.
Делятся КА на четыре категории:
- точечные области (система переходит в статическое состояние после короткого времени функционирования);
- цикл (периодическое повторение состояний);
- хаотическое состояние (постоянные непредсказуемые изменения системы);
- структурное состояние (упорядоченное нестабильное поведение, пример - игра “Жизнь” Джона Конвея).
Благодаря простоте характеристик КА удается создавать специализированные и высокопроизводительные КА-процессоры. Они применяются для моделирования потоков физических частиц, развития экологических систем и городов, для шифрования, обработки изображений и т. д. Как правило, КА используются в связках с технологиями генетических алгоритмов и нейронных сетей.
Искусственная жизнь
Вопросы создания кибернетических устройств - полностью электронных или построенных на базе живых существ и способных эффективно выполнять присущие человеку действия, как интеллектуальные, так и двигательные, - привлекают активное внимание разработчиков, потому что сулят прекрасный возврат инвестиций.
Пока ИТ только развивались, в этой области главенствовал подход, основанный на создании управляющих алгоритмов для конкретного применения, что позволило, например, наладить массовый выпуск настраиваемых роботов-сборщиков. Современный подход опирается на теории адаптивных систем и эволюционного развития. В соответствии с ним предполагается, что устройства управления должны самостоятельно мутировать и развиваться: менять число и положение различных датчиков, свою форму и размеры и т. п.
Один из финансируемых DARPA проектов - система сборки конструкций из кубиков Лего, состоящая из манипулятора, видеокамеры и компьютера. Исходно в нее заложены только элементарные правила стыковки кубиков и цель - конечное сооружение, после чего система начинает пробовать различные комбинации кубиков, экспериментально определяя прочность и стабильность различных собираемых структур и выполняя несложную оптимизацию процессов сборки. Пока за один день системе удается самостоятельно собирать конструкции типа двухметровых игрушечных мостов и кранов, способных поднимать груз весом в полкилограмма. Самое главное, что эти конструкции отвечают всем инженерным требованиям по надежности, о которых система и не подозревает. Следующая цель разработчиков - подобным путем автоматизировать сборку системой себе подобных роботов.
Мичиганский университет создал программу, моделирующую процессы эволюции организмов. Экспериментируя с ней, ученые пришли к выводу, что мутации в ряде случаев приводят к резкому повышению жизнестойкости виртуальных существ, причем она достигается не просто сложением качеств. Более жизнеспособными оказались существа, способные сопротивляться множественным мутациям. Некоторое удивление исследователей вызвало то, что выживают более простые организмы (по мнению автора статьи, это в определенной степени закономерно - эволюционная теория не может объяснить, почему в природе должно происходить развитие от простого к сложному, ведь таракан более жизнеспособен, чем обезьяна, а камень более “жизнестоек”, чем любое живое существо).
Тем не менее множество экспериментов над цифровыми насекомыми помогло не только понять детали механизма мутаций, но и определить правильные подходы к воздействию на этот процесс, что весьма актуально, в частности, для генной инженерии. Например, программа Avida, моделирующая процессы в чашках Петри, позволила в ряде задач по выделению генотипов повысить их эффективность в миллионы раз. Финансирует эти исследования корпорация Microsoft и Национальный научный фонд США.
Другой проект Microsoft - Microsoft Ball - предназначен для моделирования эмоциональных состояний личности. В соответствии с ним программа должна определять эмоциональное состояние пользователя и менять способ общения с человеком. Учитывая негативное отношение общества к возможной агрессивности компьютеров, реакция системы при потенциально опасных для нее действиях будет пассивной - например, голос, которым комментируется работа и выдаются советы, сменится с женского на мужской.
Microsoft Ball основан на результатах экспериментов, показывающих, что люди, получающие эмоциональный отклик и реакцию на их действия от программы, значительно дольше работают с компьютером, чем те, кто использует “молчаливые” приложения.
Проблемы агрессивного поведения волнуют, конечно, военных. Они планируют применять технологии распознавания уровней агрессии (чтобы определить, какие объекты надо уничтожать в первую очередь) в автономных устройствах. Хорошо подходят для решения подобных задач, например, байесовские сети.
Общение с человеком на естественном языке - задача, волнующая ученых уже 30 лет. Тогда была разработана программа Eliza объемом 240 строк на Лиспе. Она выделяла ключевые слова во фразах, строила на их основе простые вопросы и создавала неплохую иллюзию реального диалога. Большинство сегодняшних разработок действуют по тому же принципу, - определяют ключевые слова и их комбинации без понимания смысла.
Однако имеются программы на основе иных принципов. Так, компания Artificial Life (www.artificial-life.com) выпускает набор продуктов, использующих технологии ИИ.
Сервер приложений Klone Server поддерживает работу автономных агентов (интерактивных персонажей), которые общаются с посетителями сайта на естественном языке. Пока они способны отвечать на 20% вопросов, что обеспечивает 80% всех потребностей посетителей в информации.
Агенты могут решать различные проблемы общения, основываясь на системе логического вывода, имеющей несколько уровней синтаксического анализа фраз, слежения за контекстом разговора и понимания отдельных слов. Способность поддерживать беседу и понимать, куда клонится разговор, очень важна - она позволяет вносить в процесс общения эмоциональные составляющие, например при реакции агентов на трудные вопросы. Агенты могут также определить предпочтения посетителя, обращаясь к базе знаний о структуре сайта. Клиент-серверная версия Klone Server на 50 одновременно работающих с агентами посетителей стоит $2499.
Модуль Messenger выполняет автоматический анализ и обработку поступающей электронной почты и способен самостоятельно отвечать на письма или перенаправлять их на другие адреса в зависимости от смыслового наполнения.
Модуль KnowledgeManager формирует смысловую карту корпоративных документов и семантические взаимосвязи между ними.
Модуль SalesRep составляет пользовательские профили, анализируя траектории путешествия людей по сайту и результаты общения с агентами. Эти профили предназначены для применения в системах электронной коммерции.
Модуль CallCenterAgent позволяет создавать интеллектуальные центры обслуживания, способные в автономном режиме без участия человека выдавать быстрый ответ на обращение по телефону или электронной почте.
Модуль Portfolio Manager определяет типичные интересы человека и предпочтительные для него способы общения (телефон, пейджер, почта), а также вероятность продажи ему того или иного продукта.
Биотехнологии
Перспектива использования биологических объектов для получения программируемых систем привлекает множество ученых. В организме человека действуют самые разные биологические моторы, они переносят молекулы кислорода по кровеносным сосудам, выталкивают пыль из легких, заставляют руки и ноги сгибаться и т. д. Правда, как эти моторы работают, до сих пор далеко не всегда известно.
Бостонский колледж сообщил о создании мотора внутри живой клетки, который состоит из 78 атомов. Источником энергии для мотора, своеобразным аккумулятором служит живой организм (сразу вспоминается фильм “Матрица”). Правда, пока то, что получилось, работает весьма грубо и, по словам одного профессора, напоминает скорее молекулярный трактор.
Вейсманнский научный институт этим летом предложил универсальную технологию биомолекулярного компьютера, функционирующего на основе живой клетки. Принцип действия этого компьютера напоминает машину Тьюринга - одни молекулы играют роль ленты, другие задают правила ее обработки, реализуемые с помощью химических взаимодействий. Предполагается, что это достижение позволит создавать программируемые лекарства.
Лос-Анджелесский университет в сотрудничестве с исследовательской лабораторией компании Hewlett-Packard сообщил о первых достижениях в области молекулярных процессоров. Ученые смогли создать группу молекул, работающую по принципу транзистора. Как обещается, в крупинке песка удастся реализовать мощь 100 рабочих станций.
Игрушки
Роботы активно используются и в индустрии развлечений. С октября компания MGA Entertainment продает интерактивного медведя Koby, который благодаря встроенной микросхеме распознавания речи RSC-264T и нейрочипу способен общаться с ребенком, произносить десятки фраз, выполнять 400 последовательностей движений и проявлять 17 видов активности; он может даже попросить, чтобы с ним поиграли или его погладили.
Не снижается интерес к технологиям ИИ со стороны разработчиков игр. Однако коммерческие игры с компьютерными персонажами, действующими сколько-нибудь осмысленно, еще не появились. Рост спроса на игры с большим числом таких персонажей заставляет программистов реализовывать самые разные алгоритмы для имитации развития виртуальных существ - генетические и нейронные, нечеткой логики и адаптивного поведения, но пока получается это у них плохо. Первые серьезные результаты появятся, очевидно, года через два-три. Сегодня же стоимость более-менее приличного игрового мотора для компьютерных персонажей значительно превышает стоимость графического ядра для 3D-игр. Поэтому в некоторые игры (Unreal, Wisdom of Kings - The Twilight War, Civilization: Call to Power) встраиваются скрипт-языки, описываются открытые интерфейсы для подключения DLL-библиотек, чтобы позволить сторонним разработчикам реализовывать собственные алгоритмы.
Сотрудничают с создателями игровых алгоритмов ИИ военные организации и НАСА, потому что проблемы формирования поведения автономных устройств в сложных условиях при отсутствии с ними связи (например, на других планетах) аналогичны проблемам программирования боевых единиц во всевозможных стратегиях реального времени и ролевых играх, проводимых на огромных виртуальных пространствах.
В свою очередь академические и военные исследования также не остаются без внимания разработчиков игр. Так, в игре Panzer General 3 реализованы алгоритмы из реальных боевых симуляторов, учитываются тактико-технические характеристики настоящей военной техники (вплоть до анализа угла столкновения снаряда с броней танка), которые, впрочем, даже на хороших компьютерах пока требуют пятиминутного ожидания хода программы.
В заключение надо сказать, что, по всей вероятности, революций в технологиях искусственного интеллекта в обозримом будущем не произойдет, а их развитие будет напрямую связано с ростом производительности компьютеров и объемами привлекаемых человеческих ресурсов.
Окончание. Начало см. PC Week/RE, № 43/99, с. 33; № /99, с. 34.