9 February 2009

Может ли машина мыслить?

Artificial Intelligence
В ряде последних обсуждений по теме ИИ (1 и 2) возникла глубоко принципиальная дискуссия: умеют ли методы ИИ что-нибудь такое, что нельзя сделать детерминированными алгоритмами и «где же тут интеллектуальность»?


Имитация физиологии
Дело в том, что термин «Искусственный интеллект» (кстати, постепенно вытесняемый понятиями «интеллектуальные системы», «методы принятия решений», «интеллектуальный анализ данных») изначально рассматривался как объемлющий для большого класса моделей и алгоритмов, которые должны были работать также, как человеческий мозг (соответственно представлениям того времени).
К таким относятся, например, пресловутые нейронные сети всех мастей и генетические алгоритмы.

Обобщение, статистика и анализ
С другой стороны, множество методов так называемого ИИ являются не более чем развитием разделов математики: статистики, исследования операций, топологии и метрических пространств. К таким относится большая часть методов data mining и knowledge data discovery, кластерного анализа, метода группового учета аргументов и прочего.

Это методы так называемого индуктивного вывода, когда на основе имеющихся данных выводят общие закономерности.

Правила, логика, вывод
Третьей особой группой можно объединить методы, которые пытаются построить общие закономерности и по ним делать выводы в отношении конкретных фактов. Это методы дедуктивного вывода, и их представляют: старая как мир силлогистика Аристотеля, исчисление высказываний и предикатов, разнообразные формальные системы и логики. Тут же с краю пристроились теории формальных и естественных языков, различные порождающие грамматики.

Мы видим, что все, обычно относимое к термину «ИИ», пытается имитационно или логически решить задачу подражания интеллекту человека.

Возникает вопрос, а что же такого специфического делает человек, чего пока не делают современные компьютеры, построенные еще по принципам Беббиджа?
Одно из определений задач, которыми занимается ИИ, звучит так: «задача, для которой не существует алгоритмического решения или оно неприменимо по причинам вычислительной сложности».

Таким образом, например, задача игры в шашки когда-то была задачей ИИ, а после построения полной модели и набора полной БД неулучшаемых ходов она превратилась просто в задачу поиска по информационной базе (см 1 и 2).

Задачи «ИИ» меняются со временем
Возможно, наши дети будут жить в информационном мире, когда многие задачи будут решены и встанут новые – от общения на естественных языках до автоматического управления всеми видами техники и механизмов.

Однако когда каждый из нас слышал слова «искусственный интеллект», нам ведь хотелось иного.
Нам хотелось получить машину, которая умеет думать, которая владеет базовыми навыками обучения, обобщения; способна, подобно живым организмам, замещать одни органы другими и совершенствоваться. Все читали раннюю научную фантастику, так ведь?

А был ли мальчик?
Так где же потерялся интеллект? Когда и почему то, что мы хотели видеть, стало унылыми матмоделями и довольно неизящными алгоритмами?

Пару строк оффтопика. Если вы защищаете диссертацию со словом «интеллектуальный», то члены совета, как правило, попросят вас указать то место в системе, которое является интеллектуальным, и доказать ПОЧЕМУ оно является таковым. Вопрос этот относится к абсолютно «неберущимся».

Дело в том, что люди, придумавшие все то, на чем стоит современный «ИИ», были ведомы инновационными и революционными для того времени идеями (собственно, наше время отличается только тем, что мы во все это уже вдоволь поиграли, в том числе и с применением современных вычислительных мощностей)

Пример 1 (из области непознаваемого).
Нейронные сети прямого распространения сигнала с алгоритмом обратного распространения ошибки (так называемые back-propagation). Это, безусловно, прорыв.
Правильно настроенная сеть (с умно выбранными входами и выходами) может обучиться любой входной последовательности и успешно распознавать примеры, которым ее не учили.
Типовой эксперимент формулируется так: 1000 примеров, на половине из которых мы алгоритм учим, а на другой проверяем. И выбор первой и второй половины делается случайно.
Это работает, я лично не меньше 10 раз учил разные НС разным задачам и получал нормальные результаты, с 60-90% правильных ответов.

В чем же проблема нейронных сетей? Почему они — не подлинный интеллект?
1. Входные данные почти всегда надо очень тщательно готовить и предварительно обрабатывать. Часто тонны кода и фильтров делаются для того, чтобы данные стали съедобны для сетей. Иначе сеть будет учиться годами и ничему не научится.
2. Результат обучения НС невозможно интерпретировать и объяснить. А эксперту этого очень хочется.
3. Сети часто просто запоминают примеры, а не учатся закономерностям. Точных способов построить сеть достаточно умную, чтобы закономерность представить и недостаточно емкую, чтобы тупо запомнить всю выборку нет.

В чем же интеллектуальность нейронных сетей?
В том, что мы не учили систему решать задачу, мы научили ее учиться решать задачи. Алгоритм определения пола человека не заложен в систему человеком, он найден почти эмпирически и зашит в весах синапсов. Это – элемент интеллекта.

Пример 2 (из области дедуктивного вывода).
Идея проста. Обучим машину мыслить как человека (ну хотя бы примитивные выводы делать) и дадим элементарные факты. Дальше – пусть сама.
Экспертные системы, системы машинной логики, онтологии (с некоторой натяжкой) работают согласно этому принципу. Это работает? Безусловно. Тысячи систем диагностики болезней и описания областей знания реализованы и продолжают работать.

В чем же проблема? Почему формальные системы — не подлинный интеллект?
Проблема в том, что система, поглотив колоссальные объемы крови и пота своих создателей, начинает худо-бедно повторять и развивать решения того эксперта (или сообщества), который ее учил.
Полезно ли это? Бесспорно. Эксперт смертен, задачи множатся.

В чем же интеллектуальность систем, основанных на знаниях?
В том, что машина делает НОВЫЕ выводы, которым ее никто не учил. Этот элемент ее работы крайне убог (пока) и ограничен теми моделями и алгоритмами, которые были заложены. Но это — элемент интеллекта.

Так в чем же проблема современного ИИ?
Просто мы еще очень маленькие. Наши наивные и поверхностные представления о том, как мыслит человек и как работает мозг, дают такие плоды, каких заслуживают.

Мы, безусловно, безумно далеки от создания машин, которые бы умели мыслить в нашем с вами, человеческом смысле, однако наши шаги в этом направлении правильны и полезны.

И даже если мы идем не туда, кто знает, может, как у Стругацких, мы в результате направленных усилий нечаянно сделаем что-то намного лучшее, чем собирались?

Ссылки
0. Могут ли машины мыслить? Алан Тьюринг
1. Могут ли машины мыслить? Леонид Ашкинази.
Tags:ИИразвитиеумеет ли машина мыслитьинтеллектуальные системы
Hubs: Artificial Intelligence
+23
3.4k 21
Comments 72
Popular right now
Профессия Java-разработчик
December 1, 202082,500 ₽SkillFactory
Data Analyst
December 1, 202085,000 ₽SkillFactory
Профессия Product Manager
December 2, 2020108,500 ₽Нетология
Python для анализа данных
December 2, 202019,000 ₽SkillFactory
Профессия Data Scientist
December 2, 2020135,000 ₽SkillFactory
Top of the last 24 hours