К книге
Бессовестная машина. Можно ли научить ИИ эмпатии, состраданию и другим человеческим ценностям?Часть 3 Нормативность. 8. Логический вывод. Обучение с помощью демонстрации
80%
Часть 3 Нормативность. 8. Логический вывод. Обучение с помощью демонстрации
66

Любому, кто хоть раз пытался угадать скрытый смысл чужих действий – «Она со мной флиртует или просто вежлива?», «Он злится на меня или просто не в духе?», «Они сделали это нарочно или случайно?» – кажется, что за каждым поступком может скрываться бесконечное множество мотивов.

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

Обратное обучение с подкреплением – это то, что математики называют некорректно поставленной задачей, то есть задачей, не имеющей единственно правильного ответа. Например, существует огромное количество функций вознаграждения, которые приведут к абсолютно одинаковому итоговому поведению. С другой стороны, эта двусмысленность часто не имеет значения потому, что поведение алгоритма в итоге не меняется. Возьмем бокс: там используется десятибалльная система, где победитель раунда получает десять очков, а проигравший – девять. Если начинающий боксер по ошибке решит, что счет идет на миллионы (десять миллионов против девяти) или на крошечные доли (десять миллионных против девяти), либо что счет равен 11 против 10, – он все равно поймет главное: побеждает тот, у кого больше очков. Его поведение на ринге ничем не будет отличаться от поведения бойца, который понял систему подсчета абсолютно верно. Ошибка неизбежна, но она оказывается несущественной [654].

Однако возникает другой, более опасный вопрос: почему мы вообще предполагаем, что человеческие действия имеют хоть какой‐то смысл? Что, если люди вообще ни к чему не стремятся, и их поведение – это просто хаос и ничего больше?

В первой научной статье, посвященной практическому применению IRL, Стюарт Рассел и его на тот момент еще аспирант Эндрю Ын рассмотрели несколько простых примеров, чтобы доказать жизнеспособность своей идеи [655]. Они использовали сетку пять на пять квадратов, где нужно было привести игрока в конкретную клетку, и виртуальную игру, где машина должна была заехать на вершину холма. Могла ли система IRL угадать эти цели, просто наблюдая за тем, как в игру играет эксперт (человек или программа)?

Ын и Рассел заложили в систему несколько упрощающих допущений. Программа исходила из того, что игрок никогда не действует случайно и никогда не ошибается: каждое его действие – объективно лучшее из возможных. Также она полагала, что награды, мотивирующие агента, «просты»: любое действие или состояние, которое выглядит как нулевой результат, действительно имеет нулевую ценность [656]. Наконец, система считала, что если игрок выбирает какое‐то действие, то все остальные вариант заведомо ошибочны. Это исключало вероятность того, что в игре есть несколько равнозначных целей, между которыми игрок выбирает наугад.

Эти предположения были слишком сильными, а сама задача – слишком примитивной, чтобы найти немедленное практическое применение (до разгадки сложности человеческой походки было еще очень далеко). Но метод сработал! Вознаграждения, которые вычислила система, оказались очень близки к реальным правилам игры. А когда Ын и Рассел разрешили программе сыграть самой, максимизируя ту награду, которую она «угадала», она набрала столько же очков, сколько и система, изначально запрограммированная на реальный игровой счет.

К 2004 году Эндрю Ын получил докторскую степень и преподавал в Стэнфорде, где у него появился собственный аспирант – Питер Аббель. Они сделали новый шаг в развитии IRL, попытавшись усложнить виртуальную среду и смягчить первоначальные допущения [657]. Их идея заключалась в следующем: любая решаемая задача обладает набором ключевых характеристик. Например, наблюдая за вождением автомобиля, мы можем выделить такие факторы, как занимаемая полоса, скорость, дистанция до впереди идущей машины и так далее. Ученые разработали алгоритм IRL, который исходил из того, что при самостоятельном управлении машиной он должен ориентироваться на ту же структуру характеристик, что и наблюдаемый водитель. В сильно упрощенном симуляторе вождения (в стиле старых игр Atari) алгоритм показал многообещающие результаты: поведение виртуального «ученика2 во многом повторяло стиль вождения самого Аббеля. ИИ избегал аварий, обгонял тихоходы и старался держаться правой полосы.

Этот подход кардинально отличался от прямого имитационного обучения (о котором шла речь в главе 7). Если бы алгоритм пытался тупо копировать каждое движение руля Аббеля, то уже через минуту он бы потерял ориентацию – дорожная обстановка слишком сложна, чтобы слепо повторять заученные движения. Поведение Аббеля было сложным, но его цель оставалась простой. Всего за несколько секунд система уловила главное правило (не врезаться), а затем дополнила его второстепенным (не съезжать с дороги и держаться правой полосы). Модель целей оказалась гораздо проще, чем модель поведения. Ее было легче усвоить и адаптировать к новым ситуациям: вместо слепого копирования действий эксперта агент учился следовать его намерениям.

Пришло время проверить алгоритм в суровых условиях реального мира.

В главе 5 мы рассказывали, как Ын использовал метод формирующего вознаграждения, чтобы научить автономный вертолет зависать на месте и летать по заданному маршруту. На тот момент ни одна компьютерная система не могла этого делать, и это стало важной вехой в истории машинного обучения. Но затем прогресс застопорился. «Честно говоря, мы уперлись в стену, – вспоминал Ын. – Были вещи, которым мы никак не могли научить вертолет» [658].

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

Но когда речь зашла о сложнейших аэродинамических фигурах, выполняемых на высокой скорости, стало совершенно не ясно, как вообще должна выглядеть функция вознаграждения. Конечно, можно просто нарисовать в пространстве кривую и приказать компьютеру по ней пролететь. Но законы физики (особенно на скорости) могут этого не позволить. На каком‐то участке траектории инерция окажется слишком сильной, перегрузка – запредельной, а мощности двигателя просто не хватит. В таком случае система запрограммирована на провал. А крушение 7‐килограммового вертолета, летящего на скорости 70 км/ч, – забава не только опасная, но и крайне дорогая. «Наши попытки использовать жестко запрограммированные траектории раз за разом заканчивались катастрофой», – писали исследователи [659].

Тогда ученые решили поступить иначе. Они попросили опытного пилота выполнить нужный маневр и запустили алгоритм обратного обучения с подкреплением, чтобы ИИ сам вычислил цель, к которой стремится человек. В 2007 году Аббель, Ын и их коллега Адам Коутс продемонстрировали первый в мире радиоуправляемый вертолет, способный автономно (под управлением ИИ) сделать переднее сальто и «бочку» [660]. Это был колоссальный прорыв. Он доказал: метод IRL способен разгадывать намерения людей в реальном мире даже тогда, когда все остальные подходы бессильны.

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

Они сделали критически важное открытие. Даже если Оку не может выполнить маневр безупречно, в каждой его попытке ошибки будут разными. В отличие от метода прямого копирования (когда ИИ повторяет ошибки учителя), система IRL способна проанализировать набор несовершенных и даже провальных попыток и вычислить идеальную траекторию, к которой подсознательно стремился человек [661].

К 2008 году анализ человеческих полетов привел к целой лавине успехов. Вертолет научился автономно выполнять непрерывные сальто на месте, фигуру «тик-так» хвостом вниз, мертвые петли (в том числе с пируэтами), фигуру «ураган» (быстрый полет хвостом вперед по нисходящей спирали), полет «на ноже», переворот Иммельмана, агрессивные развороты и даже посадку на авторотации (с выключенным двигателем) [662].

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

Фигуру «хаос» придумал Кертис Янгблад – легенда мира радиоуправляемых моделей, многократный чемпион США и мира (с 1986 по 2012 год) [663]. Многие считают его величайшим пилотом в истории.

«Тогда я задумался: какой самый сложный маневр я вообще могу изобрести?», – рассказывал Янгблад. Он взял за основу и без того невероятно трудную фигуру «танцующий полет» и добавил к ней безостановочное вращение вокруг своей оси.

На вопрос, сколько пилотов могут стабильно выполнять этот трюк, Янгблад ответил лаконично: ни одного. «Когда‐то я мог это делать, но сейчас уже вряд ли… Если бы меня попросили повторить этот маневр прямо сейчас, без подготовки я бы не справился».

По его словам, проблема еще и в том, что трюк настолько сложен, что оценить его способен только другой профи. «Обычно ты выступаешь на авиашоу, – говорил Янгблад. – Твоя задача – впечатлить толпу. А только понятия не имеет, что ты делаешь. Они не увидят разницы между идеальным „хаосом“ и обычным „танцующим полетом“. Так что нет никакого смысла тратить время на заучивание этого элемента, кроме как ради того, чтобы доказать другим топ-пилотам: да, я действительно могу это сделать» [664].

К лету 2008 года стэнфордский ИИ полностью освоил «хаос», хотя никогда не видел ни одного идеального исполнения – ни от Оку, ни от Янгблада, ни от кого‐либо еще. Программа просто видела, как люди «несли свои пачки журналов к дверцам шкафа». И тогда компьютерный вертолет с размаху распахнул эти дверцы: он раз за разом танцевал в воздухе, вращаясь на 300 градусов в секунду, подобно механическому торнадо [665].

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

Зибарт протестировал этот метод на базе данных, содержащей сотни тысяч километров поездок двух десятков реальных таксистов из Питтсбурга, чтобы понять их дорожные предпочтения. Модель научилась безошибочно предсказывать маршрут, который выберет конкретный водитель до нужно точки. Но что еще поразительнее – программа могла догадаться, куда едет водитель, лишь на основе того, по каким улицам он уже проехал. (Как отмечает Зибарт, это позволяет навигатору предупреждать водителя о пробках на его любимом маршруте, даже если тот еще не ввел пункт назначения.) [666]

В последнее десятилетие произошел настоящий бум исследований в области так называемого кинестетического обучения в робототехнике. В этом методе человек берет механическую руку робота и физически направляет ее, выполняя задачу. Система должна сама понять суть задачи (цель), чтобы в будущем свободно выполнять ее в слегка изменившихся условиях [667]. В 2016 году аспирантка Челси Финн из Беркли добавила в алгоритм IRL глубокие нейросети. Это позволило ИИ создавать функции вознаграждения любой сложности и избавило инженеров от ручной настройки характеристик [668]. Всего после 20–30 демонстраций ее робот научился выполнять сугубо человеческие действия (которые невозможно запрограммировать цифрами): например, аккуратно складывать тарелки в сушилку или пересыпать миндаль из одной чашки в другу, не проронив ни зернышка. Справедливо отметить, что сегодня мы ушли далеко вперед от тех времен, когда машины умели делать лишь то, что мы могли описать строгим языком математики и кода.

Предыдущая главаГлава 66 из 83Следующая глава