Код креативности. Как искусственный интеллект учится писать, рисовать и думать — страница 14 из 64

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

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

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

5От нисходящего к восходящему

Лично меня машины удивляют очень часто[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. А может быть, нужно просто скорректировать уровень активации, то есть поднять или опустить порог срабатывания перцептрона. Также можно создать такой перцептрон, что уровень его активации будет зависеть от того, насколько результат вычисления превышает порог. Выходной сигнал может служить показателем уверенности в оценке данных.

Давайте создадим перцептрон, позволяющий решить, пойдете ли вы куда-нибудь сегодня вечером. Его решение будет зависеть от трех факторов: 1) показывают ли что-нибудь хорошее по телевизору; 2) идут ли куда-нибудь ваши друзья; 3) какой сегодня день недели. Каждая из этих переменных может принимать значения от 0 до 10, соответствующие вашим предпочтениям. Например, понедельнику присваивается значение 1, а пятнице – 10. В зависимости от ваших личных склонностей некоторые из переменных могут быть весомее, чем другие. Может быть, вы больше всего на свете любите валяться на диване: тогда вы останетесь дома, если по телевизору будет хоть что-то достойное. Значит, переменная x1 будет иметь большой вес. Тонкость этой формулы сводится к нахождению такой настройки весов и порогов, при которой формула хорошо отражала бы ваше поведение.

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

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