1 Договоримся об определениях

Узнал. Узнал, как обманчива бывает внешняя красота.

Смотришь снаружи — вскормленные жёлтыми тюльпанами овцы.

А удастся заглянуть глубже — ни жёлтых тюльпанов, ни пищеварительных органов, ни результатов пищеварения — одна лишь пугающая бездонная пустота.

Денис Яцутко. Табань!

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

Это понятие, появившись изначально в научной сфере среди специалистов, работавших в области вычислительной техники, довольно быстро просочилось в искусство и поп-культуру, где претерпело весьма причудливые изменения: сейчас представление случайно взятого человека об искусственном интеллекте, скорее всего, основано не на работах учёных, а на фильме «Терминатор».

Автор термина — Джон Маккарти, американский информатик (и, между прочим, изобретатель языка Lisp) — предложил его на границе 1955–1956 гг. Определение Маккарти звучало следующим образом: «Искусственный интеллект — наука и инженерная деятельность, направленная на создание умных [intelligent] машин»[2]. Как часто бывает, название дисциплины стали активно использовать и для обозначения её объекта, то есть самих «умных машин».

На первый взгляд, название, данное создателем, не слишком удачно: его проблема в том, что понятие «умный» само по себе требует определения. Но современникам Маккарти и участникам состоявшейся в 1956 г. первой в истории конференции по искусственному интеллекту всё было более или менее понятно. Дело в том, что исследования в этой области начались задолго до того, как термин появился в его современном виде. В 1950 г. увидела свет статья Алана Тьюринга «Вычислительные машины и разум» (Computing Machinery and Intelligence), содержащая первый детальный анализ вопроса о том, могут ли машины думать. Тремя годами ранее датирована первая дошедшая до нас работа Тьюринга, в которой упоминается «машинный интеллект» [machine intelligence], а вообще, по мнению некоторых исследователей, Тьюринг начал заниматься этим вопросом ещё в 1941 г.[3]

Стюарт Рассел и Питер Норвиг в классической работе «Искусственный интеллект: современный подход» (Artificial Intelligence: A Modern Approach)[4] классифицируют определения искусственного интеллекта исходя из того, на каких свойствах разрабатываемых систем сделан акцент: на действиях [acting] систем или на воплощённых в них принципах рассуждения [thinking]. Это позволяет Расселу и Норвигу разбить все определения искусственного интеллекта на две группы. Далее, внутри каждой группы, может быть сделан акцент на характере действий (или рассуждений) систем — рациональном [rationally] или человекоподобном [humanly]. Таким образом, Рассел и Норвиг выделяют четыре группы определений. Однако, если приглядеться к приведённым ими примерам из трёх разных групп («[Автоматизация] действий, которые мы ассоциируем с мыслительным процессом у людей…»[5], «Изучение вопроса о том, как научить компьютеры делать вещи, которые в настоящее время лучше даются людям», «Изучение принципов вычислений, которые могут сделать возможным восприятие, рассуждение и действие»[6]), можно обнаружить, что они сходятся в одном: искусственный интеллект — это дисциплина, ставящая своей целью создание систем, способных решать интеллектуальные задачи, то есть такие задачи, которые люди традиционно решают при помощи собственного интеллекта. Как выразился Реймонд Курцвейл: «Искусство создания машин, выполняющих функции, требующие интеллекта в случаях, когда их выполняют люди»[7]. Некоторые авторы не могут остановиться на этом и вступают на скользкую дорогу перечисления: «[Автоматизация] действий, которые мы ассоциируем с мыслительным процессом у людей, таких как принятие решений, решение задач, обучение…»[8]

Разумной альтернативой сложившейся практике определения понятия искусственного интеллекта кажется попытка определения понятия «интеллект», но этот подход по сути представляет собой попытку построения множества, основанную лишь на одном бесспорно установленном элементе — человеческом интеллекте. Неясно, какие именно его признаки являются критически важными для того, чтобы приписать наличие интеллекта объекту, не являющемуся человеком. Способность обучаться, наличие сознания?..

Ответы на эти вопросы пытается дать стоящий некоторым особняком от других агентно-ориентированный подход, в основе которого лежит не понятие интеллектуальной задачи, а понятие интеллектуального или рационального агента: «интеллектуальный агент — любое устройство, которое воспринимает своё окружение и осуществляет действия, максимизирующие шансы успешного достижения его целей», а «вычислительный интеллект (computational intelligence) (синоним понятия «искусственный интеллект». — С. М.) — изучение принципов создания интеллектуальных агентов»[9]. Или вот как это сформулировано у Рассела и Норвига: «Агент — это просто нечто, что осуществляет действия (слово происходит от лат. agere, что значит делать). Конечно, все компьютерные программы выполняют какие-то действия, но вычислительные агенты делают большее: оперируют автономно, воспринимают своё окружение, существуют в течение длительного промежутка времени, адаптируются к изменениям, ставят и преследуют цели. Рациональный агент — нечто (некто), что (кто) действует для достижения наилучшего результата или, при наличии неопределённости, наилучшего ожидаемого результата»[10]. Вот что такое агент, а вовсе не умничающий Хьюго Уивинг[11] в чёрных очках и костюме офисного работника.

В общем, сторонники стоящего немного особняком агентно-ориентированного подхода, по сути, выделяют следующие необходимые свойства объекта, обладающего интеллектом: наличие восприятия, наличие целей, способность действовать рационально, то есть выполнять действия, способствующие достижению цели. Рассел и Норвиг добавляют ещё несколько качеств: способность адаптироваться, длительное существование. Лично я против подобных дополнений, так как они, по-моему, лишь увеличивают неопределённость. Начиная с какой секунды жизни начинается «длительное существование»? Можно ли сказать, что запорожец, въехавший под БелАЗ, в некотором роде адаптировался, изменив форму кузова?

Легко заметить, что определение интеллекта, неявно данное сторонниками агентно-ориентированного подхода, описывает нечто существенно более широкое, чем человеческий интеллект. Если бы животные или даже растения были компьютерными программами, мы неизбежно должны были бы отнести их к области искусственного интеллекта.

Как мне кажется, агентно-ориентированный подход делает понятие искусственного интеллекта ещё более неопределённым, поэтому в книге я буду придерживаться более классического определения: искусственный интеллект (далее — ИИ, AI, Artificial Intelligence) — область науки и технологии, занимающаяся автоматизацией решения интеллектуальных задач. При этом я осознанно принимаю риск того, что в отношении некоторых задач степень их интеллектуальности может вызывать споры, однако полезность этих споров, на мой взгляд, не превышает полезности приписываемых средневековым схоластам споров о том, сколько ангелов может поместиться на кончике швейной иглы. По мере того как машины справляются со всё большим и большим количеством интеллектуальных задач, общепринятое представление о том, что относится, а что не относится к последним, постепенно меняется. В конце концов, сложение и вычитание чисел в уме человек тоже осуществляет при помощи собственного интеллекта, и ещё 300–400 лет назад машина, способная выполнять арифметические операции, была настоящим чудом техники. Сегодня же этим уже никого не удивишь. В 1960-е мы мечтали о машинах, способных выигрывать у сильнейших шахматных игроков, и если в те времена вы бы спросили обывателя: является ли системой искусственного интеллекта машина, способная выиграть в шахматы у чемпиона мира, то почти наверняка получили бы утвердительный ответ. Сегодня многие люди лишь брезгливо поморщатся при упоминании шахматных программ: подумаешь, не очень-то это интеллект, просто быстрый перебор вариантов! Несколько лет назад к этой тираде, весьма вероятно, добавилось бы рассуждение об игре го: вот когда машины смогут обыграть чемпиона мира по го, тогда и посмотрим! Интересно будет понаблюдать за тем, какая из сложных интеллектуальных задач теперь, после успехов AlphaGo и AlphaZero, займёт в массовом сознании место достойной истинного ИИ.

Это явление массового сознания с лёгкой руки писательницы и специалистки по истории ИИ Памелы Маккордак получило наименование «эффект ИИ».

Рис. 1. Эффект ИИ

«…Каждый раз, когда кто-то находил способ научить компьютер что-то делать — хорошо играть в шашки, решать простые, но относительно неформальные задачи, — раздавался хор критиков, заявлявших, что это не мышление», — пишет Маккордак. То есть некоторые люди полагают, что как только ИИ успешно решает ту или иную задачу, она тут же перестаёт относиться к области ИИ. Маккордак называет «странным парадоксом» тот факт, что «практические успехи ИИ, программы, которые достигали разумного поведения, быстро входили в состав прикладных областей, где они оказывались полезными, становились молчаливыми помощниками наряду с другими подходами к решению задач, оставляя исследователей в области ИИ в компании одних лишьнеудач, крепких орешков, которые ещё не удалось расколоть»[12].

Как говорит австралийский робототехник и исследователь ИИ Родни Брукс: «Каждый раз, когда мы понимаем что-либо, оно перестаёт быть магией, и мы говорим:О, это просто вычисление“»[13]. Ларри Теслеру приписывают изобретение «теоремы Теслера»: «ИИ — это то, что ещё не создано» [Artificial Intelligence is whatever hasn’t been done yet][14]. Впрочем, сам Теслер утверждает, что это неточная цитата. В действительности он говорил, что «интеллект — это всё то, что машины пока не умеют делать» (Intelligence is whatever machines haven’t done yet)[15]. Так или иначе, следует признать мудрость человека, который подарил человечеству клавиатурные сочетания Ctrl + C и Ctrl + V.

Похожая ситуация, как мне кажется, наблюдается и в других дисциплинах. Например, никто всерьёз не назовёт человека, освоившего правило сложения в столбик и способного доказать на школьной доске теорему Пифагора, математиком, хотя арифметика и планиметрия по-прежнему остаются разделами математики и вряд ли это когда-нибудь изменится. А в отношении постоянного роста требований к ИИ я не могу удержаться от цитаты из монолога американского комика Луи Си Кея: «Люди жалуются на задержки вылетов. Из Нью-Йорка в Калифорнию — пять часов пути. Когда-то это занимало 30 лет. По дороге кто-то умер бы, а кто-то родился. На место прибыла бы совершенно другая группа людей. Сейчас ты посмотришь кино, сходишь на горшок — и уже дома».


1.1 Понятие ИИ. Прикладной/слабый ИИ, сильный ИИ (AGI)

В силу того, что искусственный интеллект — понятие чрезвычайно широкое, возникли термины для конкретизации того, с каким именно явлением мы имеем дело. Сегодня традиционным стало разделение систем ИИ на два вида. Первый из них — «слабый» [weak], «специализированный» [narrow] или «прикладной» [applied], то есть предназначенный для решения какой-то одной, отдельной интеллектуальной задачи или их небольшого множества. Второй вид — «сильный» [strong] или «универсальный» [general] ИИ, к нему относят гипотетические системы, способные, подобно человеческому интеллекту, решать неопределённо широкий спектр интеллектуальных задач.

Интересно, что изначально термин «сильный искусственный интеллект» (strong AI) означал не совсем то, что часто означает сегодня. Его автор, философ Джон Сёрль, ввёл его для того, чтобы отличать систему, которая «ведёт себя так, как будто является разумной» [can (only) act like it thinks and has a mind], от системы, которая «на самом деле» обладает разумом [can think and have a mind][16]. В современных работах понятия «сильный ИИ» и «гипотеза сильного ИИ» иногда используют в оригинальном, сёрлевском смысле, но ряд исследователей, к которым относится, например, уже упоминавшийся Реймонд Курцвейл, считают, что термин «сильный ИИ» описывает любую систему ИИ, которая действует так, как будто обладает разумом, вне зависимости от того, способны ли философы определить, «в самом ли деле» она им обладает[17].

Для того чтобы не допускать путаницы и разночтений, многие исследователи предпочитают использовать термин artificial general intelligence (общий/универсальный искусственный интеллект), обычно его употребляют в виде аббревиатуры — AGI.

Занятно, что впервые термин появился в работе Марка Губруда «Нанотехнологии и международная безопасность», посвящённой военным применениям технологий будущего. Автор даёт AGI следующее определение: «Под продвинутым универсальным ИИ я понимаю системы ИИ, способные соперничать с человеческим мозгом или превосходить его в сложности и скорости, которые способны получать общие сведения, манипулировать ими и выстраивать рассуждения и которые могут использоваться, по сути, в любой фазе индустриальных или военных операций, в которой был бы необходим человеческий интеллект. Эти системы могут быть основаны на моделировании человеческого мозга, но это не является необходимым требованием, они не должны также обязательно обладатьсознаниемили любой другой компетенцией, не имеющей прямого отношения к их применению. Что важно, так это то, что эти системы могут быть использованы для замены человеческих мозгов в задачах, начиная от организации и запуска шахты или фабрики и заканчивая пилотированием самолёта, анализом разведданных или планированием боевых действий»[18]. Сейчас AGI определяют обычно несколько проще: «AGI — искусственный интеллект, способный успешно выполнить любую интеллектуальную задачу, посильную для человека»[19].

1.2 Тест Тьюринга, китайская комната Сёрля

В конце 30-х гг. прошлого века, ещё до того, как были созданы первые электронные вычислительные машины, вопросами потенциальной «разумности» машин стали задаваться люди, формально далёкие от компьютерных наук. Если нечто выглядит как кошка, мяукает как кошка, ведёт себя как кошка, в любом эксперименте проявляет себя как кошка, то, наверное, это кошка. Этот подход использовал Альфред Айер — английский философ-неопозитивист, представитель аналитической философии. В книге «Язык, истина и логика» (Language, Truth and Logic, 1936) он предложил алгоритм распознавания разумного человека и неразумной машины: «Единственным основанием, на котором я могу утверждать, что объект, который кажется разумным, на самом деле не разумное существо, а просто глупая машина, является то, что он не может пройти один из эмпирических тестов, согласно которым определяется наличие или отсутствие сознания»[20]. Впрочем, Айер, будучи философом, наверняка был в курсе остроумного замечания Дидро: «Если удастся найти попугая, способного ответить на любой вопрос, я не раздумывая признаю его разумным»[21].

Доподлинно неизвестно, был ли Алан Тьюринг знаком с трудами Айера или Дидро, но именно он вошёл в историю в качестве автора конкретной процедуры для определения способности машины мыслить. Сегодня она известна нам под названием «тест Тьюринга».

В работе «Вычислительные машины и разум» (1950) Тьюринг пишет:

Эта новая форма проблемы может быть описана с помощью игры, которую мы назовём «игрой в имитацию». В этой игре участвуют три человека: мужчина (A), женщина (В) и кто-нибудь, задающий вопросы (С), которым может быть лицо любого пола. Задающий вопросы отделён от двух других участников игры стенами комнаты, в которой он находится. Цель игры для задающего вопросы состоит в том, чтобы определить, кто из двух других участников игры является мужчиной (A), а кто — женщиной (В). Он знает их под обозначениями X и Y и в конце игры говорит либо: «X есть А, и Y есть В», либо: «X есть В, и Y есть А». Ему разрешается задавать вопросы такого, например, рода: С: «Попрошу X сообщить мне длину его (или её) волос». Допустим теперь, что в действительности X есть А. В таком случае А и должен давать ответ. Для А цель игры состоит в том, чтобы побудить С прийти к неверному заключению. Поэтому его ответ может быть, например, таким: «Мои волосы коротко острижены, а самые длинные пряди имеют около девяти дюймов в длину». Чтобы задающий вопросы не мог определить по голосу, кто из двух других участников игры мужчина, а кто — женщина, ответы на вопросы следовало бы давать в письменном виде или, ещё лучше, печатать на машинке. Идеальным случаем было бы телеграфное сообщение между комнатами, где находятся участники игры. Если же этого сделать нельзя, то ответы и вопросы может передавать какой-нибудь посредник. Цель игры для третьего игрока — женщины (В) — состоит в том, чтобы помочь задающему вопросы. Для неё, вероятно, лучшая стратегия — давать правдивые ответы. Она также может делать такие замечания, как: «Женщина — я, не слушайте его!», но этим она ничего не достигнет, так как мужчина тоже может делать подобные замечания. Поставим теперь вопрос: «Что произойдёт, если в этой игре вместо А будет участвовать машина?» Будет ли в этом случае задающий вопросы ошибаться столь же часто, как и в игре, где участниками являются только люди? Эти вопросы и заменят наш первоначальный вопрос «могут ли машины мыслить?»[22].

В некоторых источниках сообщается, что в основу процедуры, предложенной Тьюрингом, легла салонная «игра в имитацию», популярная в Викторианскую эпоху[23] и известная Тьюрингу с юности[24] (оставим здесь за скобками тот факт, что юность Тьюринга более чем на два десятилетия отстояла от Викторианской эпохи, — в конце концов, почему бы юношам в 1920-е не играть в некоторые викторианские игры?). В других источниках «игра в имитацию» упоминается просто как популярное времяпрепровождение на вечеринках[25]. Мне, однако, не удалось обнаружить ни одного упоминания подобной игры вне связи с тестом Тьюринга. Молодёжь Викторианской эпохи, конечно, знала толк в изощрённых забавах, иногда требовавших продемонстрировать искусство имитации. Например, при игре в «Придворные» (The Courtiers) один из гостей, выбранный королём или королевой, садился в центре комнаты, а остальные, исполнявшие роли придворных, должны были имитировать все его действия, сохраняя серьёзные лица. Если придворный улыбался или начинал смеяться, он выбывал из игры и должен был выполнить фант. Последний из гостей, продемонстрировавший наибольшую выдержку, становился новым монархом. Использование подобной процедуры в научных исследованиях, конечно, могло бы серьёзно разнообразить работу учёных, но, боюсь, надежд на это пока что немного.

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

Отметим важную особенность теста Тьюринга: он предлагает чисто поведенческий критерий наличия интеллекта, не требующий анализа внутреннего строения объекта. Тьюринг отмечает, что мы приписываем интеллект другим людям, пользуясь именно этим критерием, ведь мы никак не можем залезть в сознание другого человека.

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

Вокруг теста Тьюринга, несмотря на прозрачность предложенного автором подхода, существует изрядное количество путаницы. Виноват в этом отчасти и сам Тьюринг, который в своей работе, по сути дела, описывает две несколько отличающиеся друг от друга процедуры. Кроме того, в 1951 г. в передаче на радио Би-би-си (BBC, British Broadcasting Corporation, Британская вещательная корпорация) Тьюринг предлагает третью формулировку теста[26].

Итак, путаница начинается со статьи 1950 г., в которой Тьюринг сначала описывает игру, в которой участвует женщина, пытающаяся своими ответами помочь задающему вопросы, а также мужчина, стремящийся выдать себя за женщину. Далее Тьюринг рассматривает возможность замены мужчины на машину. Получающаяся в результате процедура сегодня носит наименование «Оригинальный тест игры в имитацию» (Original Imitation Game Test, или сокращённо OIG).

В конце V части статьи Тьюринг ВНЕЗАПНО даёт несколько отличающееся описание процедуры: «Если взять только одну конкретную цифровую вычислительную машину Ц, то спрашивается: справедливо ли утверждение о том, что, изменяя ёмкость памяти этой машины, увеличивая скорость её действия и снабжая её подходящей программой, можно заставить Ц удовлетворительно исполнять роль А вигре в имитацию(причём роль В будет исполнять человек [man])?»

Лёгким движением руки «женщина» превратилась в «мужчину» или даже в «человека» вообще, как разумно предполагает переводчик на русский язык. Если мы согласимся с переводчиком, то полученный вариант процедуры (в котором машина стремится выдать себя за человека, а не за конкретно женщину, в то время как человек B старается помочь задающему вопросы) будет называться стандартным тестом Тьюринга (Standard Turing Test, STT). Конечно, возможна альтернативная интерпретация, в которой на месте женщины в игре оказывается мужчина A из оригинальной игры в имитацию, стремящийся, как и машина, выдать себя за женщину. В таком случае машина и мужчина будут соревноваться в искусстве выдачи себя за другого перед лицом задающего вопросы[27].

Из записи радиопередачи 1951 г. становится ясно, что Тьюринг всё-таки не делал различия между словами man и human. Версия теста, предложенная радиослушателям, по сути дела, повторяет STT с той лишь разницей, что на место человека, задающего вопросы, приходит жюри и целью машины становится обмануть существенную долю его участников.

Отдельный важный вопрос практической организации тестирования состоит в том, должен ли задающий вопросы знать, что один из его собеседников — машина. В оригинальном описании теста ничего не говорится об этом, а современные исследовательские стандарты предполагают использование в подобных экспериментах контроля и двойного слепого метода[28]. Словом, сегодня валидным вариантом теста Тьюринга считается версия STT с жюри, контрольной группой и двойным слепым методом проведения испытаний.

Рис. 2. Игра в имитацию и две различные версии теста Тьюринга из статьи 1950 г.

Наверное, самым известным возражением на предложенную Тьюрингом процедуру стал ответ философа Джона Сёрля, который предложил мысленный эксперимент, получивший название «китайской комнаты». Представим себе закрытую комнату, в которую передают вопросы, написанные на китайском языке, и из которой получают ответы, опять же написанные на китайском. В комнате находится человек, не говорящий по-китайски (для простоты далее будем считать, что это сам Джон Сёрль), который понимает английский язык и использует набор правил, написанных по-английски, с китайскими иероглифами, предназначенными для записи ответов. Таким образом, человек, пишущий вопросы по-китайски и получающий из комнаты ответы, может сделать вывод, что внутри комнаты находится некто, способный понимать китайский язык. Но, по условию задачи, это не так. Следовательно, процедура, построенная только на изучении коммуникативного поведения объекта, подобная тесту Тьюринга, приводит нас к неправильному умозаключению.

Вокруг аргумента Сёрля развернулась весьма масштабная полемика, различные нюансы которой весьма детально разобраны в статьях Пола Кокшотта «Бёттке, синтаксис и тест Тьюринга» (Boettke, Syntax and the Turing Test)[29] и Лоуренса Ландау «Философская ошибка Пенроуза» (Penrose’s Philosophical Error)[30]. Здесь мы рассмотрим только два из основных аргументов против мысленного эксперимента Сёрля.

Первый и наиболее известный из них получил название «системный аргумент». Он сводится к тому, что даже если сам Сёрль, в соответствии с условиями эксперимента, не понимает китайский язык, тем не менее систему, состоящую из набора правил и самого Сёрля, вполне можно охарактеризовать как понимающую китайский. Если мы посмотрим на человеческий мозг, то легко заметим, что он состоит из различных элементов. Можно ли считать, что каждая взятая по отдельности часть мозга разумна? Разумны ли взятые порознь отделы мозга? Нейроны? Атомы углерода?

Суть второго популярного возражения, аргумента «другие умы», состоит в следующем: если вы отказываете китайской комнате в понимании языка, то вы не можете быть уверенными в том, что кто-то, кроме вас, вообще что-то понимает, поскольку всё, с чем вы имеете дело, — это только поведение других людей.

В целом аргументы Сёрля и его сторонников, например Роджера Пенроуза, вызывают ассоциации с витализмом, то есть учением о наличии в живых организмах нематериальной сверхъестественной силы, управляющей жизненными явлениями, — «жизненной силы» (лат. vis vitalis) («души», «энтелехии», «археи» и проч.). Теория витализма постулирует, что процессы в биологических организмах зависят от этой силы и не могут быть объяснены с точки зрения физики, химии или биохимии. Когда-то виталисты утверждали, что органическую материю нельзя получить из неорганической. Затем, по мере прогресса в химии, границы «невозможного» постепенно стали сдвигаться, теперь уже невозможным объявлялось создание сложных органических соединений, а после успешного освоения их синтеза — создание живого организма. Теперь очередным «непреодолимым» рубежом стал человеческий разум, при этом роль жизненной силы у Сёрля выполняет «каузальная мощь человеческого мозга»[31], а у Пенроуза — квантовая природа сознания[32], [33].

Велико ли значение теста Тьюринга в наши дни? С одной стороны, искусственный интеллект, способный пройти тест Тьюринга или по крайней мере приблизиться к его прохождению, должен демонстрировать решение важных практических задач: понимание естественного языка и умение производить произвольные рассуждения. С другой стороны, некоторые современные исследователи в области искусственного интеллекта считают, что сегодня попытки создания системы для прохождения теста Тьюринга — это лишь отвлечение внимания от более плодотворных направлений исследований[34]. Действительно, тест Тьюринга не является сегодня областью, популярной в рамках академических или коммерческих проектов. Рассуждая о причинах такого положения дел, Рассел и Норвиг приводят забавную аналогию с историей создания самолёта: «В инженерных текстах по авиационной технике, — пишут они, — нигде не говорится о том, что целью этой области является „создание машин, способных летать подобно голубям настолько, чтобы они могли обмануть других голубей“»[35].

Сегодня тест Тьюринга относят к группе так называемых ИИ-полных (AI-complete) задач, то есть таких задач, сложность которых делает их решение эквивалентным созданию AGI[36]. К таким задачам обычно относят задачу понимания естественного языка, машинный перевод, решение тестов Бонгарда[37] и тому подобное. Важно заметить, что ИИ-полнота — неформальный термин, так как строгого доказательства необходимости AGI для решения всех этих задач пока что не существует.

Тьюринг стремился дать чёткий и понятный пример, необходимый в дискуссии о философии искусственного интеллекта. Как заметил Джон Маккарти: «Маловероятно, что [философия ИИ] окажет больший эффект на практические исследования в области ИИ, чем философия науки в целом — на саму науку»[38].

Впрочем, некоторое отношение к современной практике тест Тьюринга всё-таки имеет, в одном из хорошо всем известных вариантов. Наверняка вам не раз приходилось вводить цифры или буквы с картинок, чтобы доказать, что вы не робот. Подобного рода тесты получили название «кáпча»[39]. В 2013 г. каждый день пользователям во всём мире приходилось проходить подобные тесты примерно 320 млн раз[40]. Старт этому масштабному противостоянию снаряда и брони был дан в 1997 г.[41], и с тех пор тесты постоянно приходится усложнять из-за появления всё новых и новых систем ИИ, способных справиться с их прохождением. Позже мы ещё несколько раз вернёмся к тесту Тьюринга — например, когда будем обсуждать прогресс в области обработки машинами естественного языка, а сейчас перейдём к не менее животрепещущей теме — машинному обучению.



1.3 Машинное обучение, его виды и области применения

Одно из распространённых заблуждений об искусственном интеллекте заключается в уверенности, что машины не могут учиться и, решая задачу, способны лишь следовать алгоритму — жёстко заданному программистами пошаговому сценарию.

В действительности то, что машины исполняют определённую программу, никак не мешает им учиться, для этого нужно только, чтобы программа воплощала тот или иной алгоритм обучения. В принципе, единственным необходимым для обучения условием является наличие у машины изменяемой памяти, но этим свойством машины обладают с давних пор.

В качестве самого простого примера обучения можно привести программу, которая при первом запуске спрашивает имя пользователя, которое затем запоминает, чтобы при следующих запусках обращаться к этому человеку по имени. Легко заметить, что поведение программы от запуска к запуску поменяется, то есть программа «научится» правильно обращаться к вам, хотя программисты, создавая программу, не указывали в ней вашего имени. Конечно, обучение может быть разным: как и человек, одним вещам машина может обучиться с лёгкостью, другие же пока что находятся за пределами возможностей современных технологий ИИ, и эта граница постоянно сдвигается по мере того, как очередные задачи сдаются под напором достижений науки и технологии.

Машинное обучение (machine learning) — направление в искусственном интеллекте, обычно использующее статистические техники для придания компьютерам способности «обучаться» (т. е. постепенно улучшать результаты, достигаемые при решении той или иной задачи), основываясь на некоторых данных, без явного программирования. Термин был изобретён Артуром Сэмюэлом в далёком 1959 г.[42] Выражаясь более формально, можно сказать, что машинное обучение занимается созданием систем ИИ, в которых параметры моделей вычисляются в ходе автоматического или автоматизированного процесса обучения. Машинное обучение тесно связано с такими направлениями, как вычислительная статистика и теория оптимизации: эти дисциплины выступают в роли поставщиков конкретных методов и инструментов, применяемых в машинном обучении.

Большинство современных прикладных систем искусственного интеллекта созданы с привлечением методов машинного обучения. Поэтому может показаться, что искусственный интеллект и машинное обучение почти тождественны, но на самом деле это не так. Со многими практическими задачами неплохо справляются старые добрые запрограммированные правила. Далее в книге мы увидим несколько примеров того, как построенные на основании правил системы могут демонстрировать весьма интеллектуальное поведение, производящее большое впечатление на внешнего наблюдателя.

И всё же сложнейшие из задач искусственного интеллекта требуют гораздо более гибких и мощных методов, поэтому машинное обучение сегодня — самое быстроразвивающееся направление в отрасли.

1.3.1 Виды машинного обучения

Рис. 3. Виды машинного обучения

Обычно машинное обучение разделяют на две большие категории в зависимости от наличия в обучающей системе обратной связи — некоторого сигнала, получаемого системой и содержащего информацию о том, является ли выбранное обучаемой моделью действие правильным (или неправильным). При наличии обратной связи задача машинного обучения называется задачей обучения с учителем [supervised learning].

Часто в качестве обратной связи используется ручная разметка, выполненная людьми. Например, обучая модель отличать изображения кошек от изображений собак, мы можем отобрать несколько десятков тысяч фотографий и вручную сопоставить каждой из них правильную метку — «кошка» или «собака». Такой набор данных, содержащий исходные данные (в нашем случае — фотографии) и метки, называется обучающей выборкой, а каждая пара, состоящая из исходных данных и ответа на них (в нашем случае — метки класса), — прецедентом[43].

Иногда обучающая выборка по тем или иным причинам содержит пробелы. Например, маленький ребёнок не знает вкуса многих объектов, встречающихся в окружающем мире, поэтому с особым интересом запихивает в рот те предметы, которые ему ранее не приходилось пробовать. В таком случае можно говорить о том, что мы имеем дело с активным обучением — ещё одной разновидностью обучения с учителем. При таком подходе модель сама выбирает необходимые для обучения эксперименты и пополняет их результатами обучающую выборку. Конечно, при этом следует заботиться о том, чтобы последствия экспериментов не обошлись нам слишком дорого.

Активное обучение является частным случаем парадигмы, получившей название «обучение с подкреплением» [reinforcement learning]. Термин «подкрепление» (положительное или отрицательное) был позаимствован у психологов, под ним понимается ответный сигнал внешней среды, который позволяет обучающемуся агенту делать выводы о желательности или нежелательности выполненных действий. Обучение с подкреплением не обязано быть активным в том смысле, что агент не обязательно должен руководствоваться определённой «исследовательской» стратегией при выборе действий, агент не обязан быть «любопытным», его действия вполне могут быть обусловлены стремлением увеличить подкрепление в моменте («пихаем в рот то, что предполагаем вкусным, а не то, что ещё не пробовали») или быть и вовсе случайными («едим что попало»). Даже в таком случае обучение иногда может вполне успешно достигать поставленной цели.

На другом полюсе машинного обучения находятся методы обучения без учителя [unsupervised learning]. Казалось бы, будучи лишённым образца для подражания или какого-либо ориентира, ничему научиться нельзя. Однако это не так. Например, изучая недешифрованную письменность, можно выделить наборы повторяющихся знаков и их последовательностей, составить алфавит, оценить частоту возникновения последовательностей знаков, чтобы затем попытаться соотнести её с данными, полученными для других, известных нам языков. Конечно, набор задач, которые можно решить подобными способами, гораздо скромнее, чем в случае обучения с учителем, но в некоторых случаях, как в примере с недешифрованной письменностью, у нас просто нет выбора.

В последние годы с лёгкой руки известного исследователя в области нейронных сетей Яна Лекуна часто используется термин self-supervised learning (самообучение, самоконтролируемое обучение, обучение в режиме «сам себе учитель»). В его основе лежит автоматическая генерация обратной связи на основе структуры данных, используемых при обучении[44]. Например, модель, которая предсказывает следующее слово в тексте по предшествующим, или модель, угадывающая скрытую часть картинки по её видимой части, вроде бы не требует размеченных людьми данных — достаточно лишь набора текстов или изображений, а разметку выполняет алгоритм. В случае задачи с текстом он создаёт из набора текстов множество прецедентов, в которых роль правильного ответа выполняет слово, продолжающее последовательность предшествующих ему слов, которые алгоритм включает в число факторов. В случае с картинкой факторами становятся видимые части изображения, а правильным ответом — скрытая его часть. Таким образом, самообучение можно рассматривать или как разновидность обучения без учителя, или как разновидность обучения с учителем, в которой роль суррогатного учителя выполняет алгоритм авторазметки.

В принципе, методы обучения с учителем и без учителя нередко могут комбинироваться в одной задаче. В таком случае принято говорить о методе обучения с частичным привлечением учителя [semi-supervised learning]. Например, создавая систему для распознавания речи, мы можем привлечь сравнительно небольшой набор размеченных вручную данных (аудиозаписей, снабжённых текстом выполненной людьми расшифровки) и огромный массив неразмеченных, «сырых» аудиозаписей. При помощи второго массива мы обучим модель различать регулярно повторяющиеся звуковые элементы речи — фонемы, — а затем при помощи первого массива научим её превращать последовательность фонем в текст.

1.3.2 Задачи, решаемые с помощью машинного обучения

Среди задач, решаемых при помощи методов машинного обучения, выделяют несколько крупных категорий.

1. Задачи классификации. Цель модели в них — отнесение объекта на основании его известных свойств к некоторым группам (классам). Иногда классы называют образами, в таком случае говорят о задачах распознавания образов[45]. Именно к этому типу относится задача различения кошек и собак на фото. В данном случае «кошка» и «собака» — это два разных класса, а известные свойства, или факторы, модели — это цвет каждой из точек на фотографии. Например, если мы имеем дело с чёрно-белыми фотографиями разрешением 1024 × 1024 точки, то всего у нас будет 1 048 576 входных факторов модели (цвет каждой точки будет представлен числом, характеризующим степень её яркости). При решении задачи классификации модель (в данном случае её называют классификатором), обучившись на некотором наборе объектов, должна будет уметь отнести к тому или иному классу в том числе и новые объекты, которых в обучающей выборке не было. Потому что классификаторы, просто запоминающие всё, что им предъявили, и неспособные сделать вывод в отношении чего-то отсутствующего в обучающей выборке, нам обычно не очень интересны.


Рис. 4. Примеры решения задачи классификации для изображений. Модель посчитала, что первое изображение со степенью уверенности в 95% принадлежит к следующим классам: «кот» (cat), «животное семейства кошачьих» (feline), «хищник» (carnivore), «млекопитающее» (mammal), «животное» (animal). Далее следуют классы с меньшей степенью уверенности модели: «кошечка» (kitty-cat) — 58%, «домашняя кошка» (domestic cat) — 63%, «бумажный пакет» (paper bag) — 50%, «сумка» (bag) — 50%. Потом идут ещё два класса: «угольно-чёрный цвет» (coal black color) — 89% и «серый цвет» (gray color) — 80%. Для второго изображения модель полагает, что это, скорее всего, «животное» (animal) — 97%, «домашнее животное» (domestic animal), «собака» (dog) — 92%, «сторожевая собака» (watchdog), «дворняга» (kuvasz dog) — 83%. С меньшей степенью уверенности модель предполагает, что это «белый медведь» (ice bear) — 64% или «медведь» (bear) — 68% и т. д.

2. Задачи [восстановления] регрессии. Данные задачи в целом похожи на задачи классификации, но в них мы имеем дело не с множеством классов, к которым хотим отнести экзаменуемый объект, а с некоторой непрерывной величиной, которую желаем оценить на основании входных факторов. Простой пример — модель, пытающаяся определить возраст человека по фотографии. Любую задачу классификации можно свести к задаче регрессии, если взять в качестве прогнозируемой величины вероятность принадлежности объекта к каждому из классов.


Понятие регрессии ввёл в 1886 г. антрополог Фрэнсис Гальтон, изучавший статистические закономерности наследственности. В рамках разработанного им антропометрического подхода учёный измерял у своих соотечественников множество параметров: размеры головы, рост, возвышение над стулом при сидении, размах рук, объём вдыхаемого воздуха, массу тела, время реакции на зрительные и звуковые раздражители — и даже оценивал степень привлекательности девушек. На Международной выставке здоровья, открывшейся в 1884 г. в Лондоне, в антропометрической лаборатории Гальтона было проведено 150 000 отдельных измерений для 10 000 человек. Данные, собранные учёным, среди прочего содержали сведения о 928 потомках 205 матерей и отцов. Изобразив данные на графике, Гальтон обнаружил вполне ожидаемую положительную ассоциацию между ростом родителей и их детей, однако заметил, что дети наиболее высоких родителей имели тенденцию уступать своим родителям в росте, в то время как для наиболее низких родителей наблюдалась обратная зависимость: их дети обычно превосходили родителей ростом. Полученные данные повторяли результаты серии экспериментов 1876 г., в которых Гальтон изучал диаметр горошин; наиболее крупные горошины давали обычно более мелких, чем они сами, потомков, а наиболее мелкие — более крупных[46]. Гальтон назвал этот феномен «регрессией к среднему» и ввёл понятие «степень регрессии» (сегодня обычно её называют коэффициентом регрессии)[47]. Позже термин, возникший в частной прикладной задаче, закрепился за широким классом методов восстановления зависимостей[48].


Рис. 5. Примеры решения задачи регрессии для изображений (определение возраста)

Рис. 6. Показатель регрессии в наследовании роста

3. Задачи преобразования последовательностей, или, как их принято называть, seq2seq-задачи (от sequence to sequence — «последовательность в последовательность»)[49]. Модель получает на вход некоторую последовательность и должна выдать также некоторую последовательность, соответствующую входной. Простой пример — задача перевода текста с одного языка на другой. В данном случае входная последовательность — это текст, написанный на одном языке, выходная — перевод входного текста на другой язык. Другой пример — задача распознавания речи, при которой на вход модели подаётся последовательность звуковых амплитуд, а на выходе получается текстовая расшифровка речи. Задачи регрессии и классификации тоже можно представить в виде задачи преобразования последовательности в последовательность. В этом случае входная последовательность будет содержать значения входных факторов (или весь набор значений факторов в виде единственного элемента-вектора), а выходная будет состоять из одного элемента — метки класса или значения регрессии. Этот пример показывает некоторую условность выделения категорий задач машинного обучения. Когда мы относим ту или иную задачу к категории seq2seq, то обычно хотим тем самым подчеркнуть, что входные и выходные данные модели могут иметь переменную размерность. Если же, например, на входе нашей модели последовательность переменной длины, а на выходе — метка класса, то такая задача будет скорее отнесена к задачам классификации последовательностей (sequence classification)[50]. Примером такой задачи может быть выявление языка, на котором написан некоторый текст переменной длины. Аналогичным образом говорят о регрессии последовательностей (sequence regression)[51], в случаях когда на входе модели — последовательность, а на выходе — некоторая величина, например на входе — текст комментария в Facebook, а на выходе — предполагаемый возраст его автора.



4. Также важными разновидностями задач машинного обучения являются задачи сокращения размерности (dimensionality reduction)[52] и задачи генерации (порождения) данных[53]. Представим себе свидетеля преступления, который описывает внешность преступника словами: сообщает цвет глаз, рассказывает о причёске, форме носа и глаз, наличии или отсутствии усов, бороды, воспроизводит другие особенности внешности, называет пол преступника, его ориентировочные рост и возраст. Такой набор свойств обычно называют признаками или фичами (от англ. features) объекта. Весь этот набор значений признаков куда более компактен, чем фото преступника, составленное из миллионов пикселей[54]. В данном случае мозг свидетеля выполняет роль модели, решающей задачу сокращения размерности входных данных. Художник же, который рисует портрет преступника по словесному описанию внешности, в данном случае выполняет роль генеративной модели, то есть такой модели, которая порождает в ходе своей работы новые данные (в нашем случае путём домысливания всех мельчайших деталей портрета). Модели машинного обучения, сочиняющие музыку, пишущие тексты или создающие изображения по заданию, также являются генеративными моделями.


Пары моделей, использующих одно и то же компактное представление данных, одна из которых преобразует данные в их компактное представление, а вторая — пытается по этому компактному представлению восстановить исходные данные, называют соответственно кодировщиком (encoder) и декодером (decoder).

1.3.3 Области применения машинного обучения

В наши дни методы машинного обучения применяются в самых разных областях человеческой деятельности. В таблице ниже представлены лишь некоторые из них[55].


Рис. 7. Области применения методов машинного обучения

В этой книге мы поговорим о различных проектах, относящихся к большинству из перечисленных здесь областей. В силу того, что машинное обучение проникает в самые разные сферы, о нём нередко говорят как о технологии, лежащей в основе новой технологической революции. «Принимая во внимание различные определения и научные доводы, используемые для описания первых трёх промышленных революций, я считаю, что сегодня мы стоим у истоков четвёртой промышленной революции. Она началась на рубеже нового тысячелетия и опирается на цифровую революцию. Её основные черты — это «вездесущий» и мобильный Интернет, миниатюрные производственные устройства (которые постоянно дешевеют), искусственный интеллект и обучающиеся машины», — пишет президент Всемирного экономического форума профессор Клаус Шваб в своей книге «Четвёртая промышленная революция» [56], [57].

Загрузка...