Шрифт:
Интервал:
Закладка:
Еще несколько лет назад считалось, что люди понимают, что именно делают их алгоритмы и как они это делают. Подобно Аде Лавлейс, мы считали, что из машины нельзя извлечь больше того, что мы в нее ввели. Но потом начали появляться алгоритмы нового рода, алгоритмы, способные адаптироваться и изменяться по мере взаимодействия с данными. Через некоторое время создатель такого алгоритма может перестать понимать, почему тот выбирает именно то, что выбирает. Эти программы начали преподносить нам сюрпризы – из них стало возможно извлечь нечто большее, чем то, что мы в них ввели. Они начали становиться более изобретательными.
Именно такие алгоритмы использовали в DeepMind, чтобы разгромить человечество в игре го. Они открыли новую эру машинного обучения.
Лично меня машины удивляют очень часто[26].
Я впервые встретился с Демисом Хассабисом за несколько лет до его великой победы в го, на конференции, посвященной будущему инноваций. Там были представлены новые компании, пытавшиеся найти себе спонсоров и инвесторов. Некоторым из них было суждено изменить будущее, другим – ярко вспыхнуть и сгореть. Венчурным инвесторам и меценатам нужно было распознать будущих победителей. Должен признать, что, услышав разговоры Хассабиса о программах, способных учиться, приспосабливаться и совершенствоваться, я сразу решил, что этот вопрос не заслуживает внимания.
Я не понимал, как компьютерная программа, играющая в какую-то игру, может научиться играть лучше, чем человек, написавший ее код. Разве можно получить из машины больше, чем мы в нее вкладываем? В этом я был не одинок. Хассабис признает, что еще лет десять назад было чрезвычайно трудно найти инвесторов, которые согласились бы вкладывать средства в разработки искусственного интеллекта.
Как же я теперь жалею, что не поставил на эту лошадь, когда она пробегала мимо меня! Преобразующий эффект идей, которые предлагал тогда Хассабис, можно оценить по названию недавней конференции по искусственному интеллекту – «Может ли машинное обучение быть новым 42?» Эта отсылка к ответу на главный вопрос Жизни, Вселенной и Всего Такого из книги Дугласа Адамса «Автостопом по галактике», должно быть, была хорошо знакома эксцентричным участникам этого мероприятия, многие из которых выросли на одной лишь научной фантастике. Так что же было искрой, из которой разгорелась новая революция искусственного интеллекта?
Простой ответ – данные. Как это ни поразительно, 90 % существующих в мире данных были созданы за последние пять лет. Каждый день в интернете производится 1 экзабайт (1018 байтов) данных, что приблизительно соответствует объему информации, который можно сохранить на 250 миллионах DVD-дисков. Теперь каждые два дня человечество производит столько же данных, сколько было создано за период с момента зарождения цивилизации до 2003 года.
Этот информационный потоп стал главным катализатором новой эпохи машинного обучения. До сих пор просто не существовало достаточных размеров среды, по которой алгоритм мог бы бродить, обучаясь. Его можно было сравнить с младенцем, органы чувств которого не получают сигналов извне. Мы знаем, что у детей, выросших взаперти, не развиваются языковые и другие базовые навыки. Их мозг, возможно, и готов к обучению, но не получает достаточного количества стимулов, достаточного опыта для полноценного развития.
Данные настолько важны для этой новой революции, что многие называют данные новой нефтью. Тот, кто имеет доступ к данным, получает в свое распоряжение нефтяные месторождения XXI века. Именно поэтому в таком выгодном положении оказались компании Facebook, Twitter, Google, Amazon и им подобные – мы бесплатно отдаем им свои запасы. То есть не совсем бесплатно, потому что мы обмениваем данные на предоставляемые ими услуги. Когда я веду машину при помощи навигационного приложения Waze, я соглашаюсь отдать данные о своем местоположении в обмен на оптимальный маршрут к месту назначения. Беда в том, что многие люди не знают о таких сделках и отдают свои ценные данные в обмен на сущую ерунду.
В основе машинного обучения лежит идея о возможности создания алгоритма, способного задавать новые вопросы, если у него что-то не получается. Он учится на собственных ошибках. При этом формулы такого алгоритма корректируются таким образом, что в следующий раз он поступает иначе и не совершает той же ошибки. Поэтому так важен доступ к данным: чем больше у такого умного алгоритма примеров, на которых он может учиться, тем опытнее он становится и тем больше улучшает его каждая следующая поправка. По сути дела, программисты создают метаалгоритм, который создает новые алгоритмы, исходя из встречающихся ему данных.
Действенность этого нового подхода потрясла специалистов по искусственному интеллекту. Отчасти потому, что технология, на которой он основан, не так уж и нова. Эти алгоритмы создаются путем последовательного накопления слоев вопросов, которые помогают прийти к решению. Такие слои иногда называют нейронными сетями, потому что они имитируют работу человеческого мозга. Представьте себе строение мозга: одни нейроны соединяются с другими синапсами. Группа нейронов может активироваться в результате поступления информации от наших органов чувств (например, запаха свежеиспеченного хлеба). Затем, если уровень сигнала превысит определенные пороговые значения, возникает импульс во вторичных нейронах (например, принимается решение съесть хлеб). Скажем, вторичный нейрон может быть активирован, если десять связанных друг с другом нейронов, но не меньше, активируются при поступлении входящей информации. Кроме того, его активация может зависеть от мощности сигнала, поступающего от других нейронов.
Еще в 1950-х годах информатики создали искусственный аналог этого процесса, который назвали перцептроном. Идея состояла в том, что нейрон подобен логическому вентилю, который детектирует входящий сигнал и принимает решение об активации или ее отсутствии в зависимости от результата вычислений.
Представим себе, что на вход перцептрона поступают три числа. Он взвешивает значимость каждого из них. Пусть на нашей схеме число x1 в три раза значимее, чем числа x2 и x3. Система вычисляет выражение 3x1 + x2 + x3, а затем активирует или не активирует вывод в зависимости от того, превышает или не превышает эта сумма некоторое пороговое значение. Машинное обучение основано на повторном взвешивании входящих сигналов в случае получения неверного ответа. Например, возможно, число x3 важнее для принятия решения, чем x2: тогда формулу можно поменять на 3x1 + x2 + + 2x3. А может быть, нужно просто скорректировать уровень активации, то есть поднять или опустить порог срабатывания перцептрона. Также можно создать такой перцептрон, что уровень его активации будет зависеть от того, насколько результат вычисления превышает порог. Выходной сигнал может служить показателем уверенности в оценке данных.