Разделы
Счетчики
ИСКУССТВЕННЫЙ РАЗУМ В НАУЧНЫХ ИССЛЕДОВАНИЯХ
Дискуссии на тему "Может ли машина мыслить?" уже давно сошли со страниц газет и журналов. Скептики устали ждать, когда же сбудутся обещания энтузиастов. А энтузиасты без лишних разговоров, небольшими шагами продолжают двигаться в направлении горизонта, за которым они надеются увидеть искусственного собрата по разуму. А тот факт, что движение идет в нужном направлении, можно подтвердить многими примерами.
Н.Загоруйко, профессор
Институт математики
Около 30 лет назад в местечке Фирбуш под Эдинбургом на международном симпозиуме по искусственному интеллекту был выработан перечень из 10 задач, для решения которых явно нужен интеллект. Задачи были следующими: Шахматные программы. Машинное творчество в области музыки, поэзии, живописи. Машинное доказательство теорем. Программы, выдерживающие тест Тьюринга. Программы индуктивного вывода. Системы автоматического реферирования. Автоматический перевод. Автоматическая проверка правильности программ. Автоматическое распознавание и синтез речи. Роботы-сборщики, роботы-строители.
Договорились, что через 10 лет соберемся вновь и проанализируем итоги своих усилий. Если окажется, что машинные программы решают эти задачи на уровне среднего человека, то будем считать, что проблема создания искусственного интеллекта в первом приближении решена.
Прошло десять лет. Официального подведения итогов этого соревнования по интеллектуальному десятиборью не было. Но сейчас можно видеть, что одни задачи перестали считаться актуальными (доказательство теорем, тест Тьюринга), над другими продолжается упорная работа (автоматический перевод, речевой диалог, реферирование, робототехника). Есть и такие направления, результаты в которых превышают способности среднего человека. Например, машина умеет играть в шахматы уже на уровне среднего гроссмейстера, а в более простых играх (шашки) ей давно нет равных. Машина умеет обнаруживать закономерности, скрытые в массивах данных такого объема, который недоступен человеку.
Создано большое число человеко-машинных систем с элементами искусственного интеллекта. Они используются для управления сложными технологическими процессами, управления навигационным и боевым снаряжением самолетов, для выработки оригинальных технических решений (изобретений), для ориентации в интернете и т.д.
Для оценки перспектив этого направления достаточно обратить внимание на то, что проблемы информатики преобладают над другими во всех прогнозах на XXI век. Центр внимания наиболее развитых стран мира уже перенесен из сферы материального производства на сферу услуг, значительная часть которых основана на использовании достижений информационных технологий. Мир погружается в информационные сети. Европейское Содружество объявило грандиозную по целям и масштабам финансирования программу информатизации Европы. Официальный мотив: нельзя отставать от США и Японии. Нужно создать сплошную среду информационной поддержки всех сторон жизни. Разрабатываемый программный продукт должен быть доступным для использования "кем угодно, где угодно и когда угодно". Конкурентоспособность отдельных людей, фирм и государств начинает определяться их умением быстро и точно ориентироваться в непрерывно нарастающем информационном потоке. Человек не в состоянии справиться с решением этой задачи. Ему необходим автоматический помощник в виде программы, которая играет роль умного агента в информационном мире.
В идеале агент должен обладать не только интеллектом, но и разумом. Согласно установкам русской философской школы, интеллект (ум) является лишь одной из составных частей разума. Разум представляет собой единство Мудрости (способности выдвигать цели), Интеллекта (способности строить планы достижения выдвинутых целей) и Воли (способности организовать процесс выполнения плана достижения цели). Мудрость -- самая сложная функция разума. Скептики считают, что в будущем машина сможет решить любую задачу, но не сможет сформулировать ни одной новой задачи. Спор о том, так это или не так, обычно запутывается в сложных терминологических сетях типа "задача--подзадача--сверхзадача" или "суперцель--цель--подцель" и т.д. Не будем углубляться в эти споры. Пусть цель задается программистом. Даже при этом на долю программы, которая должна вести систему к намеченной цели, возлагаются очень сложные задачи, в том числе задачи интеллектуального характера. Построенная таким образом разумная человеко-машинная система будет существенно расширять возможности пользователя в его работе с информацией.
Научные исследования являются такой сферой человеческой деятельности, в которой помощь разумного агента необходима в гораздо большей степени, чем в сфере экономики или торговли. Однако фактическое положение дел еще раз подтверждает классическую поговорку: "Сапожник -- без сапог". Компьютеры в научной работе используются, главным образом, для написания книг, статей и отчетов. Иногда машины используются в планировании эксперимента и делают традиционную статистическую обработку экспериментальных данных. Все же основные этапы научного творчества -- выдвижение гипотез, поиск нужных данных и знаний, построение модели изучаемого объекта или процесса, объяснение новых явлений -- делается "вручную". Эти этапы остаются объектом неформализованного процесса, то есть, по существу, объектом своеобразного искусства, а не науки.
Наука открывает законы природы и использует их для предсказания будущего. В тех явлениях или процессах, в которых главным действующим лицом остается творчество человека. Главная цель науки состоит, по существу, в том, чтобы превратить искусство в ремесло. Исследователь пытается понять наиболее эффективные процессы и приемы, которыми владеют лучшие мастера своего дела в этой области, формализовать их, описать обнаруженные правила (знания) так, чтобы эти процессы смог воспроизвести любой мастер средней руки или даже машина. Создаваемые при этом экспертные системы, которые сейчас чаще называют системами принятия решений с использованием знаний, применяются в практике работы врачей, геологов, экономистов, коммерсантов. Всюду, но только не в науке как таковой.
Этому факту есть несколько объяснений. Во-первых, нет обучающего материала -- документов, в которых бы отражались этапы научного поиска. Следы неудачных попыток обычно никто не сохраняет и не систематизирует. Академик С.Л.Соболев говорил: "Восемьдесят процентов работы математика идет в корзину". Процесс получения удачных результатов иногда восстанавливается задним числом, обрастая легендами на потребу публике то о яблоке, упавшем на голову, то о периодической таблице, приснившейся во сне.
Вторая причина слабой распространенности интеллектуальных программ в научных исследованиях состоит в незавершенности этих программ. Значительная их часть делается разработчиком под свою конкретную задачу и для себя.
Третья, и наиболее важная причина -- в некомплектности имеющихся, даже хорошо оформленных, программ. Они ориентированы на использование лишь на отдельных этапах исследовательской работы.
Из каких же частей должна была бы состоять программная система, предназначенная для поддержки научного процесса? Для ответа на этот вопрос воспользуемся примером, который обсуждался на совместном семинаре по математической биологии, организованном сотрудниками институтов Математики, Цитологии и генетики СО РАН. Научному сотруднику ставится задача -- изучить генные сети, управляющие, например, выработкой эритроцитов в организмах разных животных. Сотрудник начинает изучать все, что есть в литературе на эту тему. Значительная часть материалов извлекается из интернета. Уже на этом этапе была бы очень полезна программа, которая искала и отбирала бы нужные источники в мировой сети и могла бы составлять их краткие рефераты. Словом, решала бы задачи, которые в западной литературе называют задачами "подъема текстов" (Text Mining).
Из текстов извлекаются разрозненные данные, представленные в разных форматах, с ошибками и пробелами. Эти данные нужно свести к таблицам "объект--свойство" (ТОС). Если исходная информация записана генетическим текстом, то для представления ее в виде ТОС требуется мощная математическая техника обнаружения закономерностей в одномерных последовательностях большой длины. Для предобработки информации, представленной структурными объектами (графами), требуется свой класс методов и алгоритмов. Все это вместе должно быть представлено в системе поддержки исследований блоком "Предобработка".
Данные, получаемые на выходе этого блока можно анализировать методами автоматического обнаружения закономерностей или знаний, то есть методами "Data Mining".
Сотрудник (эксперт) находит сведения о некоторых генах, которые входят в исследуемую генную сеть, и начинает строить структурную модель этой сети. Следует отметить, что в ИЦиГ'е под руководством профессора Н.Колчанова разработана очень удобная система компьютерной поддержки этого этапа работы. На экране, на первоначально чистую доску, предназначенную для построения модели, заносится знак, обозначающий ген, и его название. Если функционирование данного гена ранее изучалось и об этом есть знания в системе, то модель легко дополняется элементами, связанными с этим геном. Этот процесс человеко-машинного построения структуры модели продолжается до тех пор, пока эксперту не покажется, что модель уже достаточно полна.
Теперь наступает этап построения математической модели данной генной сети. Системой уравнений описывается функционирование отдельных структурных элементов и процессы их влияния друг на друга. Этот этап делается экспертом без помощи компьютера, хотя ясно, что часть работы можно было бы автоматизировать. Заканчивается этот этап созданием программы, которая может имитировать в динамике процессы, протекающие в генной сети.
Программа запускается, нарабатываются выходные данные, которые сравниваются с имеющимися экспериментальными данными. Если обнаруживаются расхождения между ними, то эксперт вносит изменения в структуру сети. Например, добавляет какие-то элементы, сведения о которых известны из материалов, касающихся других генных сетей. На этом этапе существует много вариантов возможных изменений. Здесь явно напрашивается использование программ глобальной оптимизации для многоэкстремальных функционалов.
После того, как эксперт приходит к заключению, что модель хорошо отражает работу реальной генной сети, можно приступать к ее использованию для изучения механизмов, компенсирующих локальные нарушения структуры сети, или прогнозирования работы сети под воздействием лекарственных препаратов.
Если в ходе исследований накапливается большой объем закономерностей, то их можно анализировать с помощью методов анализа знаний или "Knowledge Mining". Обнаруженные при этом закономерности более высокого уровня -- метазнания -- могут служить для построения теории изучаемой системы.
Те же основные этапы -- анализ текстов (извлечение данных), предобработка, анализ данных (извлечение знаний), построение модели, имитационное моделирование и прогнозирование - мы видели и в разработанном при нашем участии программном комплексе для поддержки процессов создания одного класса электронных систем. По-видимому, аналогичную структуру должны иметь системы поддержки научного творчества и во многих других областях естественных, технических и гуманитарных наук. Важно отметить, что не ставится задача полностью автоматизировать научный процесс. И не только потому, что это сейчас невозможно: достаточно напомнить, что важнейший этап научного творчества -- этап выдвижения цели -- еще очень далек от понимания и формализации. Но выясняется, что это не нужно и даже вредно. Специалист, получивший "из рук" машины готовую модель исследуемой системы, не будет понимать ее структуру и функционирование так же глубоко, как человек, прошедший самостоятельно или с помощью машины все этапы создания модели.
Речь идет о создании человеко-машинного разума в виде эксперта и экспертной системы партнерского типа, специализированной для каждой конкретной научной области. Это позволило бы использовать новейшие достижения науки для ускорения ее собственного развития.
Предпосылки для решения этой вызывающей задачи сейчас уже имеются. Программы анализа текстов позволяют формировать список ключевых слов для данной предметной области и по ним формировать семантические сети, отражающие основной смысл текста. Богатый набор методов наработан для реализации блока предобработки. Программы анализа данных решают задачи автоматической классификации, распознавания образов, выбора наиболее информативных характеристик изучаемых объектов, обнаружения ошибок и заполнения пробелов в базах данных, обнаружения знаний, скрытых в данных, и прогнозирования динамических процессов. Благодаря введению меры расстояния между знаниями, которые представляются в виде логических высказываний типа "Если..., то...", удается распространить перечисленные выше методы анализа данных и на задачи анализа знаний. Известны образцы работающих систем графической и текстовой поддержки процессов анализа информации.
Правда, все перечисленное разбросано по разным коллективам, многое представлено лабораторными макетами программ, написанных на разных языках для разных операционных систем, и потому простое механическое объединение этих частей невозможно. В традиционной терминологии можно сказать, что более или менее успешно выполнен НИРовский этап. Ситуация созрела для постановки более дорогого этапа ОКР, результатом которого будет опытный образец разумной человеко-машинной системы ведения научно-исследовательских работ. С появлением таких систем наука станет пожинать плоды своих достижений и вступит на путь самоускоряющегося развития.
* * *
Поздравляем с замечательным юбилеем Николая Григорьевича Загоруйко, заведующего отделом информатики ИМ СО РАН, доктора технических наук, профессора, одного из ведущих отечественных специалистов по машинным методам обнаружения эмпирических закономерностей.
Крепкого здоровья, творческого долголетия и счастья!
Администрация и коллектив
Института математики
им. С.Л.Соболева СО РАН.