Искусственный интеллект: история, задачи, проекты, применение. История Древний Египет: первые счётные машины. XVII век: В. Шикард, Б. Паскаль: вычислительные машины (только сложение и вычитание); Г. Лейбниц: вычислительная машина с делением и умножением. Чарльз Бэббидж (1792-1871): «аналитическое устройство»: выполняло программируемые операции, содержащие условные следствия. 1956 год: (Брунер, Гуднау и Остин опубликовали книгу «Изучение мышления», Хомский — «Три модели описания языка», Миллер — «Магическое число семь плюс-минус два», Ньюэлл и Саймон — «Логическая теория машин».) Первая конференция по искуственному интеллекту в Дортмуте. Участники: Джон Мак-Карти, Клод Шеннон, Марвин Минский, Герберт Саймон, Аллен Ньюэлл. История Джон Мак-Карти. Основатель лаборатории ИИ в MTI. Разработчик языка Lisp. Джон фон Нейман. Автор стандартной архитектуры компьютера. А.А. Ляпунов. Руководитель семинара «Автоматы и мышление» (начат в 1954 г.) в МГУ. 1965, Герберт Саймон: «Машины в ближайшие двадцать лет станут способны делать любую работу, которую может делать человек». Определение ИИ. Искусственный интеллект (ИИ) – исследования и разработки в области создания искусственных “интеллектуальных агентов”, под которыми понимаются системы, способные воспринимать и оценивать окружающую обстановку и предпринимать действия, максимизирующие шансы на успех. (Caitlin Smith) – Термин предложен Джоном Мак-Карти (по другой версии – Аланом Тьюрингом). Под искусственным интеллектом понимается также свойство машин или программ: «интеллектуальность» которую демонстрирует система. Алан Тьюринг, «Вычислительные машины и разум» (1950): «Я предлагаю рассмотреть вопрос «Могут ли машины думать?»...». Метод поиска ответа – «игра-имитация». Тест Тьюринга Согласно тесту, экзаменатор «общается» с машиной и ещё одним человеком, не зная кто из них кто. В результате он должен определить, кто из испытуемых является машиной. Если это не удастся, то тест можно считать пройденным. Ещё немного определений. «Слабый ИИ»: устройство/программа, поведение которого кажется разумным для наблюдателя. «Сильный ИИ»: устройство/программа, обладающее интеллектом, сравнимым с человеческим. Тест Тьюринга Актуален ли этот тест сегодня? ALICE (чат-робот) способен поддерживать разговор на любые темы неограниченно долго. С ALICE можно пообщаться на сайте www.alicebot.org. На обычные вопросы, не содержащие в себе какой-нибудь специфической информации, эта система дает вполне разумные и логичные ответы. ALICE и другие подобные программы определяют содержащиеся в вопросе ключевые слова (без понимания смысла), а затем выдают имеющие к ним отношения конструкции из своей базы знаний. Есть и другие программы, способные определять эмоциональные составляющие и понимать куда клонится разговор (например, www.artificiallife.com), однако в отличие от традиционных чат-роботов, процент удовлетворительно обработанных ответов невысок. Несмотря на обилие подобного рода программ, тест Тьюринга официально еще не пройден. «Корчеватель» прошёл тест Тьюринга? Некоторые редакторские замечания, сделанные непосредственно в теле статьи, в том виде, как они выглядят в возвращенном из редакции на доработку файле: Статья была сгенерирована на английском языке программой SciGen, а затем переведена на русский автоматическим переводчиком «Этап-3». После этого её отправили для печати в «Журнал публикаций аспирантов и докторантов», где статью к печати приняли, попросив отредактировать текст. После стилистической правки (делалась человеком), статью напечатали. «Китайская комната» (Джон Сёрл, опровержение достаточности теста Тьюринга для утверждения о разумности системы) Предположим, что у нас есть компьютер с программой, которая, получая на входе наборы иероглифов, выдаёт в ответ другие наборы иероглифов, такие, что программа проходит тест Тьюринга. Означает ли это что программа понимает китайский язык? Ответ Сёрла – нет. Предположим, мы заперли самого Сёрла (не понимающего ни слова по-китайски) в комнату с книгой в которой прописаны правила сопоставления комбинаций «входных» иероглифов с «выходными». Находящимся снаружи комнаты будет казаться что они общаются с китайцем. Но Сёрл не станет от этого понимать китайский язык. Способность выполнять такие функции, как перевод по сложным правилам, не означает, что тот, кто это делает, понимает значение «выходных данных». Человеческий разум характеризуется интенциональностью (произвольностью) (Searl, 1983), которая, согласно Сёрлу, определяется как «свойство психических состояний и явлений, направляющее их на объекты и ситуации в окружающем мире». Потенциальные проблемы, связанные с ИИ. - Опасность «выхода из под контроля». Интеллект предполагает способность к самообучению, а значит машина потенциально может научиться «не слушаться». - Этические проблемы. Если предполагать что система с ИИ действительно обладает разумом и способна чувствовать, то не должны ли мы обращаться с ней как с имеющей права – человека или хотя бы животного? - Экономические проблемы. (?) Сравнение человеческого мозга и компьютера фон Неймановского типа (по Солсо, 2006) Компьютеры на основе Мозг на основе углерода кремния (неймановского типа) (люди) Скорость обработки Наносекунды. Тип От миллисекунд до секунд. Последовательный процессор (главным образом). Параллельный образом). процессор (главным для информации, Емкость хранилища Большая закодированной в цифровой форме. информации Кремний и система электронного Материал обеспечения (например, транзисторы, выключатели и электричество). Большая для зрительной и языковой информации. Взаимодействие Абсолютно управляем (делает точно то, что приказано). Обычно готов к сотрудничеству, но при оказании давления может противиться (имеет собственное мнение). Способность к научению Бесхитростный, правилами. Понятийный, адаптивный. Лучшее качество Может обработать огромное количество данных за короткий период без выражения недовольства. Приемлем по цене, управляется правилами, легкий, предсказуемый. Худшее качество управляется Не может легко учиться сам, с трудом выполняет сложные когнитивные задачи, такие как понимание и генерация языка; требует электропитания, что уменьшает его мобильность. Нейроны и система органического обеспечения (например, капилляры и кровь). Легко может делать суждения, выводы и обобщения. Может передвигаться, знает язык, имеет речь, зрение и эмоции. Имеет ограниченную способность обработки и хранения информации; забывчив; дорог в обслуживании — требует пищи, питья сна, кислорода, умеренной температуры, а также целого списка биопсихологических потребностей. Важнейшие отличия: 1. Последовательность vs. параллельность обработки информации и доступа к памяти. 2. Линейность информации. vs. рекурсивность обработки 3. Разделённость vs. совмещённость «процессора» и «памяти». 4. Запрограммированность возможных реакций на события. vs. адаптивность Основное следствие: Компьютеры превосходят человека только в хорошо формализуемых задачах с жёстким набором правил и чёткими целями (таких как игра в шахматы), но не там где требуется учёт широкого контекста, или выработка новых подходов к решению задачи. го «Творчество» ИИ «Кибернетический поэт Рея Курцвейла» (Ray Kurzweil's Cybernetic Poet — RKCP, www.kurzweiltech.com.) Душа Ты разбил мне душу, сок вечности, дух моих губ. Я думаю, что я разрушусь Я думаю, что я разрушусь. Мир на этом странном звуке только для меня и для Бога, для меня в моем сердце? И жизнь плачет из-за кровоточащего сердца изгибающихся ветвей, таковы их пути, изгибающихся ветвей, таковы пути бриза знают, что мы были там. Рисунки робота «Аарон» Гарольда Коуэна Использование искуственного интеллекта для понимания естественного «Крысоробот» Гордон. Культура крысиных нейронов на поверхности мультиэлектродной матрицы. Тест «открытое поле». Электроды улавливают активность нейронов, и сами в свою очередь посылают для них сигналы. Установка матрицы на шасси. Всего 60 контактов с электродами (но при этом несколько десятков тысяч нейронов в сети) позволяют клеточному «мозгу» воспринимать и посылать информацию, достаточную для адаптивного управления «поведением» робота. NOMAD (Darwin-X, моделирование поведения мыши в лабиринте Морриса) 50 нейронных областей, 90000 нейронов, 1.4*106 синапсов Neuroinformatics, 2005, Vol.3, No 3, PP. 197-221 BLUE BRAIN PROJECT Начат в мае 2005 года. Используется суперкомпьютер «BlueGene/L» (IBM) Глобальная цель: построение работающей модели мозга (в том числе человеческого). Локальная цель (достигнута): построение модели колонки коры головного мозга. Затем: колонки измененяются в соответствии с моделируемой областью и «размножаются» для построения модели всей коры мозга. BBP BLUE BRAIN COMPUTER Markram Nature Reviews Neuroscience 7, 153–160 (February 2006) BBP Серый мозг 100 миллиардов = нейронов в мозгу человека 300 миллионов = нейронов в мозгу осьминога 1,300 грамм = вес мозга взрослого человека 90 грамм = вес мозга взрослой макаки резус Синий мозг 22.8 TFLOPS скорость работы 8,096 процессоров на 700 МГц (замедлены для поддержания больших объёмов параллельных вычислений) Двухпроцессорные чипы с суммарной скоростью 5.6 GFLOPS каждый (операции с плавающей точкой) От 256MB до 512MB памяти на процессор Linux и C++ п/о 100 кВт потребление электроэнергии BBP Идея построения модели в BBP 1. На основании анатомических данных «нейроны» разных типов располагаются в «виртуальной колонке» BBP Идея построения модели в BBP 2. На основании известных закономерностей строится алгоритм построения связей («синапсов») между «нейронами». При этом параметры каждой конкретной связи формируются псевдослучайно. BBP Идея построения модели в BBP 3. Моделируется поступление сигналов в «колонку», передача сигнала нейронами колонки друг другу и изменения свойств «синапсов» в результате этого. В итоге должна получиться виртуальная модель колонки коры головного мозга, функционально (в смысле преобразования информации) идентичная реальной колонке. BBP Предполагаемые практические результаты первой части проекта (Neocortical Column) 1. Объединение и проверка массива данных, накопленных за 100 лет исследований в нейронауках (анатомия ЦНС, нейрохимия, нейрофизиология и другие) 2. Расшифровка «нейронного кода». 3. Понимание механизмов обработки колонке коры головного мозга. 4. Новое средство для разработки неврологических болезней. информации в лекарств от 5. Использование построенной модели для разработки гипотез и «виртуальных экспериментов» 6. Основа для построения модели всего мозга (более «высокоуровневая» модель) и для моделирования работы мозга на молекулярном уровне («низкоуровневая» модель) Информация по искуственному интеллекту: Большая подборка материалов по системам ИИ http://dir.yahoo.com/science/computer_science/artificial_intelligence Подборка русскоязычных материалов по ИИ http://www.gotai.net The Journal of Artificial Societies and Social Simulation (JASSS, http://jasss.soc.surrey.ac.uk) Сообщества, посвященные проблемам ИИ: American Association for Artificial Intelligence (AAAI, www.aaai.org) International Society of Artificial Life (ISAL, www.alife.org) IEEE Neural Networks Society (IEEE, www.ieee-nns.org) MIT Artificial Intelligence Laboratory (www.ai.mit.edu) Основные модели и методы, используемые в прикладных системах ИИ: 1. Нейронные сети; 2. Эволюционные вычисления и генетические алгоритмы; 3. Инженерия знаний. 4. Экспертные системы; 5. Системы с нечёткой логикой; Нейронные сети – наиболее популярный аппарат в области ИИ, который может быть применим в любой ситуации где есть связь между входными и выходными переменными. Доказано (Круглов В.В., Борисов В.В. (2002)), что любая непрерывная функция может быть равномерно приближена функциями, вычисляемыми нейронными сетями, если функция активации нейрона дважды непрерывно дифференцируема и непрерывна. Нейроны– синапсы тело нейрона x1 аксоны x2 нейрон w1 w2 1 f(x) = y 0 аксон дендриты синапсы биологический x3 и w3 модельный Биологический нейрон состоит из ядра (тела нейрона), двух видов нервных волокон – аксонов, передающих нервные импульсы и принимающих их дендритов, а также синапсов, влияющих на силу сигнала. Нейрон получает импульсы от аксонов других нейронов через дендриты и при этом сила импульса меняется в зависимости от типа синапса. Если суммарный импульс превышает некоторый порог, то нейрон возбуждается, формирует свой собственный импульс и передает его дальше по аксону. Нейронная сеть естественного интеллекта Мозг человека содержит около 1011 нейронов, каждый из которых связан с 103 – 104 другими нейронами. После того как человек получает новую информацию, «веса» некоторых синапсов меняются и, соответственно меняется «поведение» нейронов мозга. Таким способом нейронные сети мозга «подстраиваются под поиск решения». Чем чаще человек сталкивается с задачами одного класса, тем более устойчивыми становятся «веса» синапсов и меньше времени требуется для поиска решения. Математическая модель искусственного нейрона x1 x2 x3 нейрон v1 v2 1 0 v3 f(x) = y x1, x2, x3 – сила импульсов, поступающих к синапсам v1, v2, v3 – веса синапсов дендритов x = x1v1 + x2v2 + x3v3 – суммарный импульс, поступающий к нейрону y = f(x) – сила выходного импульса 1 – функция активации нейрона f ( x) x 1 e (логистическая функция или сигмоид) Основные функции активации нейронов Название Формула Область значений Линейная f ( x) kx (–∞, ∞) Полулинейная kx, x 0 f ( x) 0, x 0 (0, ∞) Сигмоид 1 f ( x) 1 ex Гиперболический тангенс Экспоненциальная Квадратичная ex ex f ( x) x x e e f ( x) e x f ( x) x 2 Знаковая 1, x 0 f ( x) 1, x 0 (0, 1) (–1, 1) (0, ∞) (0, ∞) (–1, 1) Основные виды нейронных сетей многослойная сеть с последовательными связями (персептрон) полносвязная сеть + слабосвязная сеть Особые виды сетей: • сеть Кохонена • сеть Хопфилда • сеть Хэмминга • когнитрон • неокогнитрон Общая схема обучения нейронной сети (модель обучения с обратной связью) Сеть обучена База данных Применение нейронной сети Выбор примера Ошибка мала Расчет ошибки Ошибка велика Подстройка весов нейронной сети Эволюционные вычисления, это способ организации автономного и адаптивного поведения компьютерных приложений. Прежде всего, эта отрасль затрагивает аспекты самовосстановления и самоконфигурирования сложных систем, состоящих из одновременно функционирующих модулей. Помимо этого, к эволюционным вычислениям относятся автономные агенты, несущие в себе функции электронного секретаря, ассистента, отбирающего нужные сведения в Интернете и т.д. Пример – программа (www.gator.com). фирмы GATOR Генетические алгоритмы компьютерная модель «эволюции» популяции искусственных «особей», ключевыми операторами которой являются селекция, скрещивание и мутация. 1 12 2 11 3 10 4 9 5 8 6 7 Схема работы генетического алгоритма 1 12 1 2 11 12 3 10 11 4 9 5 8 6 7 1 2 12 3 10 11 4 9 5 8 6 7 1 2 12 3 10 4 9 5 8 6 7 2 11 3 10 4 9 5 8 6 7 Популяция – набор вариантов, способных к пошаговому изменению – порождению потомков Схема работы генетического алгоритма 1 12 1 2 11 12 3 10 11 4 9 5 8 6 7 1 2 12 3 10 11 4 9 5 8 6 7 1 2 12 3 10 4 9 5 8 6 7 Селекция – отбор двух вариантов-родителей 2 11 3 10 4 9 5 8 6 7 Схема работы генетического алгоритма 1 12 1 2 11 12 3 10 11 4 9 5 8 6 7 1 2 12 3 10 11 4 9 5 8 1 2 6 7 Скрещивание – порождение потомка 12 3 10 4 9 5 8 6 7 2 11 3 10 4 9 5 8 6 7 Схема работы генетического алгоритма 1 12 1 2 11 12 3 10 11 4 9 5 8 6 1 2 12 3 10 11 4 9 5 8 7 6 7 1 2 12 3 10 4 9 3 10 5 8 4 9 5 6 8 7 6 7 1 12 Мутация – изменение потомка 2 11 2 11 3 10 4 9 5 8 6 7 Схема работы генетического алгоритма 1 12 1 2 11 12 3 10 11 4 9 5 8 6 1 2 12 3 10 11 4 9 5 8 7 6 7 1 2 12 3 10 4 9 3 10 5 8 4 9 5 6 8 7 6 7 1 12 2 11 Изменение популяции 2 11 3 10 4 9 5 8 6 7 На каждом шаге популяция улучшает свои совокупные качества, таким образом, происходит приближение к оптимуму; Поскольку улучшению подвергается популяция в целом, вероятность того, что оптимизация завершится локальным, а не глобальным оптимумом, достаточно мала. Сравнение методов решения оптимизационных задач Основные методы Скорость нахождения экстремума Нахождение глобального максимума или минимума Локально – градиентный Высокая Нет Переборный (сканирование сетки переменных) Низкая Да Генетические алгоритмы Средняя Да Инженерия знаний Направление исследований, занимающееся вопросами формализации, представления и обработки знаний в информационных системах. Неформальные (неявные) знания • часть экспертных знаний носит неосознаваемый характер; • эксперт не всегда способен оценить важность тех или иных знаний для принятия решения; • опыт, накопленный экспертом, сложно вербализовать и представить в формализованном виде. Инженерия знаний Проектирование баз знаний (БЗ) Формализация БЗ модель эксперт Извлечение литература данные База знаний • Семантическая модель, описывающая предметную область и позволяющая отвечать на такие вопросы из этой предметной области, ответы на которые в явном виде не присутствуют в базе. База знаний Данные vs. Знания: Данные – это фактическая информация об объектах, процессах. Знания – это данные + взаимосвязи между ними (то есть структурированные данные). Механизм получения новых знаний База данных Экспертные системы (ЭС) традиционно относятся к классическим сферам использования ИИ. В каждой области человеческой деятельности существуют знания, которые трудно формализовать математическими формулами, что обусловило появление ЭС. Под ЭС понимают систему (как правило воплощенную в виде компьютерной программы), основанную на знаниях экспертов, и помогающую специалисту при принятии решений. Для ответа на поставленные пользователем вопросы требуется система извлечения ответов, называемая машиной логического вывода или интерпретатором. Рабочая память Механизм логического вывода Редактор базы знаний База знаний ИНЖЕНЕР ПО ЗНАНИЯМ Подсистема объяснений информ. по отладке Интерфейс эксперта знания Интерфейс пользователя результаты ЭКСПЕРТ факты, вопросы ПОЛЬЗОВАТЕЛЬ объяснения вопросы Общая схема ЭС: Сферы задач для экспертных систем • • • • • диагностика; мониторинг; прогнозирование; планирование; управление поведением сложных объектов. Примеры ЭС: 1. Экспертно-справочная система Cyc (en-Cyc-lopedia), (www.cyc.com). Эта система содержит более 1 млн. утверждений, охватывает все области знаний и способна делать логические выводы. 2. Помощник в Microsoft Office (Office Assistant) самоорганизующаяся экспертная система, в задачу которой входит конфигурирование справочной системы Microsoft Office в соответствии с часто затрагиваемыми темами. Для этого помощник постоянно отслеживает поведение пользователя в рамках семейства офисных программ. Нечеткая логика (fuzzy logic) – направление, предложенное в 1965 году профессором Калифорнийского университета Лофти Заде, сочетающее в себе подходы математической логики и теории вероятностей. В нечеткой логике, в отличие от классической, высказывания бывают не только истинными или ложными, что позволяет учитывать неопределенности (например, с помощью нечеткой логики можно более точно определить понятие величины дохода человека – «маленький», «средний», «большой», «очень большой»). Согласно теореме FAT (Fuzzy Approximation Theorem), доказанной Б. Коско (Kosko B. (1992)), «любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике». Основные исследования в области нечеткой логики проводятся в США и Японии, а в числе результатов этих исследований – многочисленные микрочипы, используемые как в бытовой технике (стиральные машины, СВЧ-печи), так и в моторных отсеках автомобилей, в поездах метрополитена и т.д. Кроме того, свое место нечеткие системы управления нашли в военной технике (например, при проектировании «умных» ракет). Искусственный интеллект: резюме. 1. Работы по проблеме искуственного интеллекта начались более 50-ти лет назад и ставили целью разработку систем, имитирующих когнитивные функции человека. 2. Полностью эта задача пока не решена: даже тест Тьюринга – необходимый (но не достаточный) признак такой имитации – до сих пор не пройден. 3. В то же время, в рамках проблемы ИИ получено большое число прикладных практических результатов; сам же термин ИИ сейчас применяется в «облегчённом» варианте и обычно обозначает системы (как правило, узко специализированные), принимающие решения или помогающие их принять. 4. Одна из основных причин трудностей в моделировании человеческого интеллекта – различие в архитектурах мозга и компьютерных систем: компьютеры осуществляют операции последовательно, а память в них «отделена от процессора»; мозг работает параллельно, память и обработка информации практически не разделены. 5. Пока трудно представить искуственную систему, способную к произвольной постановке целей для самой себя. Пример – программа (www.gator.com). фирмы GATOR «быстрый и хаотичный рост Web-пространства, несомненно, приведет к появлению интеллектуальных автономных агентов нового поколения, способных к самообучению, взаимодействию с себе подобными и проявляющим самостоятельность при принятии решений» Билл Гейтс. Левнер Е.В., Птускин А.С., Фридман А.А. (1998): Размытые множества и их применение. – М.: ЦЭМИ РАН Масалович А. И. (1995): Этот нечеткий, нечеткий, нечеткий мир. http://www.tora-centre.ru/library/fuzzy/fuzzy.htm Пивкин В.Я., Бакулин Е.П., Кореньков Д.И. (1998): Нечеткие множества в системах управления. http://idisys.iae.nsk.su/fuzzy_book/content.htm