Книга: Искусственный интеллект. Что стоит знать о наступающей эпохе разумных машин
Назад: 2. Машины, которые учатся
Дальше: Новый способ мышления

Пища для размышлений: подход, основанный на данных

Внимание исследователей теперь переключилось на то, что питает «двигатель» интеллектуальных машин – данные. Где же их можно найти? И как максимизировать использование этого ресурса?



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

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

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

Основанный на больших данных, ИИ учится на этой инфраструктуре и питает ее – крайне сложно представить одно без другого. Равно как и сложно представить свою жизнь без всего этого.

Новый стандарт

Сможет ли созданное человеком существо когда-нибудь удивить своего создателя и проявить собственную инициативу? Люди задавались этим вопросом на протяжении нескольких веков, начиная с голема из еврейского фольклора и заканчивая Франкенштейном или «Я, Робот». Ответы давались совершенно разные, но как минимум основоположник компьютерных вычислений знал истину.

– Аналитическая машина не претендует на то, чтобы создавать нечто по-настоящему новое, – говорила Ада Лавлейс, соратница Чарльза Бэббиджа, еще в 1843 году, тем самым устраняя все сомнения в потенциальных возможностях вычислительной машины. – Машина может выполнять только то, что мы будем ей предписывать, – продолжала Лавлейс. – Она может придерживаться анализа, но не в состоянии предугадать какие-либо аналитические зависимости или истины.

И все же 173 года спустя компьютерная программа, написанная в миле от ее дома в Лондоне, обыграла мастера игры в го. Ни один из программистов AlphaGo не мог приблизиться к победе над столь сильным соперником, кроме созданной ими же программы. Примечательно то, что программисты не разбирались в стратегии игры. Машина сама научилась делать то, чего не знали и не понимали ее создатели. AlphaGo – это не исключение, а скорее, новый стандарт.

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

Как машина может учиться?

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

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

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

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

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



Боты в переводе

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

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

В конце 1980-х годов IBM использовала машинное обучение компьютера англо-французскому переводу путем предоставления ему двуязычных документов, подготовленных канадским парламентом. Как и в Rosetta Stone, данные документы содержали в себе несколько миллионов примеров предложений, переведенных на оба языка.

Система IBM определила взаимосвязи между словами и фразами в обоих языках и повторно использовала их для создания нового перевода. Но результаты все еще содержали очень много ошибок – системе нужно научиться обрабатывать больше данных. «А затем появился Google, который в буквальном смысле скормил этой системе весь Интернет», – рассказывает Виктор Майер-Шенбергер из Института интернета Оксфордского университета.

Каждый день Google переводит больше текста, чем расшифровывают все профессиональные переводчики мира за год. Свою работу над сервисом перевода Google, как и IBM, начинал с обучения алгоритмов сопоставлению документов на разных языках. Но затем пришло осознание того, что результаты перевода можно значительно улучшить, если научить систему тому, как на самом деле люди разговаривают на русском, французском или корейском.

Google обратился к огромной сети проиндексированных слов, объем которой стремительно приближался к фантастической библиотеке из рассказа Хорхе Луиса Борхеса «Вавилонская библиотека». Google-переводчик с английского на французский может сравнить свой начальный вариант перевода с каждой фразой на французском языке, размещенной в Интернете. В качестве примера Майер-Шенбергер приводит английское слово light (свет, легкий). Система должна понять, как именно перевести это слово на французский: lumière (свет) или léger (легкий). Google обучался тому, что бы выбрали сами французы.

Переводчики от Google и Microsoft (тот самый, который Рик Рашид продемонстрировал в Китае) обучались в примерно одинаковых условиях: не зная о языке ничего, кроме относительной частоты использования огромного количества последовательностей слов. И все же Google может на достаточно хорошем уровне переводить на 135 письменных языках, начиная африкаанс и заканчивая зулу. Эти ИИ проводят пословный анализ текста, который сводится к расчету вероятности следующего используемого варианта. Для них слова – это набор вероятностей.

Основы алгоритма перевода более или менее понятны. Сложность возникает из-за большого количества сопоставлений, которые происходят между огромными объемами данных. Например, для того чтобы выстроить прогноз об окружающей обстановке, беспилотные автомобили Google каждую секунду собирают почти гигабайт данных. А Amazon нет равных по части того, как заставить людей купить больше, – алгоритм подбирает рекомендации товаров, основанные на миллиардах сопоставлений из миллионов других заказов.

Перевод речи Рашида – то есть обработка того, что он сказал голосом, с дальнейшим мгновенным переводом – лишний раз показывает, насколько мощным может быть статистический ИИ. «Эти системы не творят чудеса», – говорит Крис Бишоп из Microsoft. «Но мы не перестаем удивляться тому, как далеко можно продвинуться, просто просматривая статистику очень больших наборов данных».

«Вам также может понравиться»

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

Следующим по сложности шагом после функции автозаполнения идет агент по выдаче рекомендаций. Вспомните свой любимый онлайн-магазин. Изучив ваши предыдущие заказы или даже просто историю просмотров на сайте, этот агент постарается отыскать в своем каталоге товары, которые с наибольшей вероятностью смогут вас заинтересовать. Они подбираются путем анализа базы данных, содержащей миллионы транзакций, поисковых запросов и товаров. Также впечатляет и количество параметров, которые потребуется извлечь из обучающего набора: в каталоге Amazon зарегистрировано свыше 200 миллионов клиентов и 3 миллионов книг.

Сопоставление пользователей с товарами на основании предыдущих операций требует статистического анализа колоссального масштаба. Как и в случае с функцией автозаполнения, традиционного понимания здесь не требуется, так как для подбора рекомендаций не нужны психологические модели покупателей или литературная критика новел. Поэтому неудивительно, что возникает закономерный вопрос: а следует ли вообще называть таких агентов «разумными»? Тем не менее никаких сомнений о самом «обучении» быть не может: с накоплением опыта такие агенты действительно становятся лучше.

Имитация поведения

Многие вещи со временем усложняются. Онлайн-магазины отслеживают не только покупки, но и пользовательское поведение на сайте. Они могут собирать различную информацию, например товары, которые вы сначала положили в корзину, а затем удалили из заказа, или артикулы, которые вы оценили или добавили в список пожеланий. Есть и другая информация, которую можно получить из одной покупки: время суток, адрес, способ оплаты и даже время, потраченное на оформление заказа. Разумеется, все это подсчитывается для миллионов пользователей.

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

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

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

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

Новые ситуации

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

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

Что мы имеем в виду, говоря, что два элемента похожи? Книгу можно описать по количеству страниц, языку, тематике, цене, дате выхода, автору и даже индексу ее читабельности. Если говорить о покупателях, то нужными характеристиками могут считаться возраст, пол или местоположение клиента. В машинном обучении такие характеристики иногда называют «признаками» или «сигналами». При достаточности данных ими можно пользоваться для поиска похожих объектов. Таким образом, машина может делать общие выводы об одной ситуации и применять их к другой, благодаря чему совершенствуется ее опыт.

Одна из ключевых проблем машинного обучения – отбор правильных признаков. Цена книги, к примеру, может быть важнее использованного шрифта. А по мере обработки более сложных элементов, таких как изображения, данная проблема становится еще более актуальной. Если сравнить две фотографии на паспорт, снятые с разницей в одну минуту, то на уровне необработанных (сырых) пикселей данные изображения не будут идентичными. Этого достаточно, чтобы компьютер рассматривал их как два совершенно разных изображения. Нам бы хотелось, чтобы компьютер оценивал такие изображения по более подходящим критериям, нежели пиксели. Тогда компьютер не будет сбит с толку небольшими и незначительными изменениями в изображении. Так какими же признаками изображения необходимо руководствоваться для распознавания одного и того же лица на разных фотографиях?

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

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



Слои обучения

Одной из самых нашумевших фраз в исследованиях ИИ является, пожалуй, «глубокое обучение». Несмотря на непривычное название, это всего лишь еще один подход, основанный на больших данных. Именно он помог достичь столь впечатляющих результатов в исследованиях ИИ за последние годы. Глубокое обучение использует технологию под названием «нейронная сеть». Это программный модуль, разработанный для имитации мириад нейронов человеческого мозга, соединенных синапсами, которые и реализуют его беспрецедентную вычислительную мощность. Многие простые процессоры нейронной сети соединены так, что значения на выходе одного процессора могут выступать в роли входных значений для других. Такие входные значения ранжируются по степени своего влияния. Суть в том, что сеть «говорит» сама с собой, используя выходные значения для изменения «входных весов» – то есть обучается, как и мозг.

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

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

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

Под капотом

А теперь представьте себе, что все эти «винтики и шестеренки» машинного обучения могут одновременно применяться ко многим частям одной и той же системы. Поисковая система пользуется ими, чтобы научиться тому, как правильно выполнять ваши запросы, оценивать подходящие ответы, переводить документы… все это делается помимо выдачи результатов поиска и выбора правильной рекламы для показа. И это лишь то, что происходит на поверхности.

Скорее всего, неизвестная для пользователей система будет также выполнять тесты для сравнения производительности всевозможных методов на разных случайных подмножествах пользователей. Это еще называется А/В-тестированием. Каждый раз при работе с онлайн-сервисом вы предоставляете ему исчерпывающую информацию о качестве методов, которые в данный момент тестируются за кулисами. И все это вы делаете в дополнение к прибыли, которую компания получает за ваши клики по рекламе и покупку товаров.

Несмотря на кажущуюся простоту таких механизмов, результатом их одновременного и постоянного использования в широком масштабе является чрезвычайно адаптивное поведение, которое нам кажется весьма разумным. AlphaGo – ИИ от Google, играющий в го, – обучился своим выигрышным стратегиям, изучив миллионы прошлых партий, а затем сыграв с различными версиями самого себя миллион последующих партий. Это впечатляющее достижение. Тем не менее стоит лишь разобраться в скрытом механизме, лежащем в основе ИИ, как возникает чувство разочарования. Системы ИИ генерируют адаптивное и целенаправленное поведение без потребности в самосознании, а ведь именно его мы обычно считаем признаком «настоящего» интеллекта. Лавлейс может отклонить предложения ИИ как неоригинальные, но пока философы продолжают спорить, область ИИ продолжает двигаться вперед.

Назад: 2. Машины, которые учатся
Дальше: Новый способ мышления