Шрифт:
Интервал:
Закладка:
Кое-кто предлагает правовые меры для исправления этого положения, но такие меры оказывается чертовски сложно применять. Статья 22 Общего регламента по защите данных (General Data Protection Regulations), вступившего в силу в Европейском союзе в мае 2018 года, утверждает, что всякий человек должен иметь «право не быть субъектом такого решения, которое основано только на автоматической обработке» и право получать «полноценную информацию о заключенной в ней логике» во всех случаях, когда решение выносится компьютером. И как, интересно, этого добиться?
Отрасль информационных технологий уже призывали попытаться разработать метаязык, при помощи которого алгоритмы могли бы обосновывать свои решения, но пока эта задача не решена, нам, может быть, следует относиться к влиянию таких алгоритмов на повседневную жизнь с большей осторожностью. Многие алгоритмы хорошо справляются с одной конкретной работой, но не очень-то знают, что делать при возникновении непредвиденных отклонений. Когда происходит нечто необычное, они попросту игнорируют это явление, хотя человек на их месте, возможно, смог бы заметить такую нестандартную ситуацию и разобраться в ней.
Это подводит нас к «теореме об отсутствии бесплатных завтраков», которая доказывает невозможность существования универсального обучающегося алгоритма, способного точно предсказывать результат развития событий в любом сценарии. Эта теорема доказывает, что, даже если обучающемуся алгоритму показать половину данных, остальные, невидимые, данные всегда можно подобрать таким образом, что алгоритм будет выдавать точные предсказания на тренировочных данных, но совершенно утратит эту способность, когда дело дойдет до тех данных, которых ему не показывали.
Одних только данных никогда не будет достаточно. Они должны сопровождаться знаниями. Именно в этом отношении человеческий код, видимо, лучше способен работать с контекстом и видеть общую картину – по меньшей мере пока что.
Машина против машины
Именно эта способность изменяться и адаптироваться к новым условиям и была использована при создании AlphaGo. Сотрудники DeepMind предусмотрели при разработке своего алгоритма период контролируемого обучения. Так взрослые помогают детям освоить навыки, которые сами взрослые уже освоили. Человек как биологический вид развивается потому, что мы накапливаем знания и передаем их следующим поколениям образом гораздо более эффективным по сравнению с их первоначальным обретением. Чтобы добраться до переднего края математических исследований, мне не нужно самостоятельно открывать всю предыдущую математику заново. Вместо этого я учусь несколько лет в университете, проходя через века математических открытий по ускоренному маршруту.
Программа AlphaGo начала с прохождения такого же процесса. Люди уже сыграли в го миллионы партий, которые были записаны, оцифрованы и доступны в Сети. Эти записи дают замечательный материал, который компьютер может исследовать, выделяя ходы, давшие преимущество победителю. Такая большая база данных позволяет компьютеру оценить вероятность успешности всех возможных ходов в конкретных вариантах расположения камней на доске. Когда рассматриваются все возможные варианты развития конкретной партии, данных немного, но такой анализ создает хорошую основу для обучения игрока, хотя его будущий противник может не пойти по тому же пути, по которому пошла проигравшая сторона в партии, занесенной в базу данных, и именно поэтому одного лишь изучения этого массива данных было недостаточно.
В долговременной перспективе алгоритму обеспечила преимущество вторая фаза обучения – так называемое обучение с подкреплением. На этом этапе компьютер начал играть сам с собой, обучаясь на каждой следующей сыгранной партии. Когда какие-либо ходы, казавшиеся заведомо выигрышными, не давали нужного результата, алгоритм изменял уровень вероятности того, что такой ход принесет победу. Обучение с подкреплением генерирует огромный массив новых, искусственно созданных игровых данных. А игра с самим собой дает алгоритму возможность выявить собственные слабые стороны.
Одна из опасностей обучения с подкреплением состоит в том, что оно может быть ограниченным и замкнутым. Машинное обучение чем-то похоже на попытки взобраться на вершину Эвереста. Если ваши глаза завязаны, вы не знаете, куда движетесь, а вас просят подняться на самый высокий пик, одна из возможных стратегий сводится к передвижению маленькими шагами, позволяющими определить, увеличивается ли высота при шаге в том или ином направлении.
Эта стратегия рано или поздно приведет вас в самую высокую точку окружающей местности. Любое движение из этой точки будет движением вниз. Но это не значит, что, спустившись ниже, вы не обнаружите, что по другую сторону долины есть другой, гораздо более высокий пик. В этом и заключается проблема так называемых локальных максимумов – пиков, на которых вам кажется, что вы забрались на самый верх, но которые на самом деле представляют собой всего лишь крошечные бугорки, окруженные гигантскими горами. Что, если программа AlphaGo оптимизировала свою игру, ориентируясь на победу над игроками такого локального максимума?
Казалось, что именно так и обстояло дело, когда европейский чемпион Фань Хуэй за несколько дней до матча против Ли Седоля обнаружил изъян в игре AlphaGo. Но, как только алгоритм познакомился с новым типом игры, он быстро научился переоценивать свои ходы так, чтобы снова максимизировать шансы на победу. Новый противник заставил алгоритм спуститься с холма и найти путь к новым вершинам.
Сейчас у DeepMind есть еще более совершенный алгоритм, способный разгромить первоначальную версию AlphaGo. Этому алгоритму не нужно было показывать, как играют в го люди. Как и алгоритм, игравший на приставке Atari, он видел массив пикселей размером 19 × 19 и счет в игре и начал играть, экспериментируя с разными ходами. Он использовал возможности обучения с подкреплением, которое было второй стадией создания AlphaGo. Новый алгоритм обучался почти с чистого листа, и даже сами сотрудники DeepMind были поражены его силой. Он уже не был ограничен тем, как мыслят и играют люди.
Через трое суток обучения, в рамках которого алгоритм сыграл сам с собой 4,9 млн партий, он смог выиграть у того варианта AlphaGo, который победил Ли Седоля, сто партий из ста. Всего за три дня он добился того, на что у человечества ушли три тысячи лет. К сороковому дню он стал непобедимым. Еще за восемь часов он сумел научиться играть в шахматы и сёги (японскую игру, аналогичную шахматам), причем дошел до такого уровня мастерства, что победил две из лучших имеющихся на рынке шахматных программ. Этот пугающе разносторонний алгоритм получил название AlphaZero.
Ведущий исследователь этого проекта Дэвид Силвер объяснил, какое значение может иметь подобное обучение с чистого листа в разных областях:
Если вы можете реализовать обучение с чистого листа, вы на самом деле получаете систему, которую можно перенести из игры в го в любую другую область. Вы освобождаетесь от конкретики той области, в которой вы работаете, и получаете алгоритм, настолько универсальный, что его можно использовать где угодно. С нашей точки зрения смысл AlphaGo – не в победе над человеком, а в выявлении сути научной работы, в создании программы, которая может самостоятельно выяснить, что такое знание.