AlphaGo на этапе обучения сыграла миллионы партий, но не научилась “мыслить” ни о чем, кроме го. Она не умеет ни думать, ни рассуждать, ни строить планы, не связанные с го. Насколько мне известно, ни один из усвоенных ею навыков ни в коей мере нельзя называть общим. Ни один из них невозможно перенести на другую задачу. AlphaGo – настоящий савант.
Несомненно, метод глубокого Q-обучения, использованный в AlphaGo, можно применять для освоения других навыков, но систему при этом придется полностью переобучать – по сути, ей придется приобретать новый навык с нуля.
И здесь мы снова возвращаемся к парадоксу ИИ, который гласит, что “простые вещи делать сложно”. AlphaGo стала феноменальным достижением в сфере ИИ: обученная в основном на играх с самой собой, она смогла победить одного из лучших в мире мастеров игры, которая считается мерилом интеллектуальных способностей. Но AlphaGo не обладает интеллектом человеческого уровня в традиционном понимании, и можно даже сказать, что она не обладает настоящим интеллектом вообще. Для человека ключевой аспект интеллекта заключается не в способности приобрести конкретный навык, а в способности научиться мыслить и затем адаптировать свое мышление к различным обстоятельствам и задачам. Когда наши дети играют в шахматы и го, мы хотим, чтобы они приобрели именно этот навык. Возможно, это прозвучит странно, но в этом отношении даже рядовой детсадовец из шахматного клуба умнее, чем AlphaGo.
От игр в реальный мир
Наконец, рассмотрим утверждение Демиса Хассабиса, что освоение игр служит цели “использовать их так, чтобы они решали реальные задачи и оказывали огромное влияние на такие области, как здравоохранение и наука”. Думаю, вполне возможно, что работа DeepMind с обучением с подкреплением в итоге действительно окажет воздействие, на которое рассчитывает Хассабис. Но путь от игр в реальный мир довольно долог.
Необходимость переноса обучения – серьезное препятствие. Но есть и другие причины, по которым успех обучения с подкреплением в играх будет сложно повторить в реальном мире. Игры вроде Breakout и го идеально подходят для обучения с подкреплением, потому что обладают четкими правилами, понятными функциями вознаграждения (например, наградами за набранные очки или победу) и относительно небольшим набором допустимых действий (ходов). Кроме того, игроки имеют доступ к “полной информации”: все компоненты игры всегда видны всем игрокам, а “состояние” игрока не предполагает скрытых или неопределенных аспектов.
Реальный мир очерчен не так четко. Дуглас Хофштадтер отметил, что от действительности оторвана даже сама концепция однозначно определенного “состояния”. “Реальные ситуации не имеют рамок в отличие от ситуаций в игре в шахматы или го… Реальная ситуация лишена границ, и невозможно понять, что относится к ней, а что нет”
[224].
В качестве примера представьте, что с помощью обучения с подкреплением робот учится выполнять весьма полезную реальную задачу: забирать грязные тарелки из раковины и класть их в посудомоечную машину. (Подумайте только, какую гармонию принес бы такой робот в семью!) Как определить “состояние” робота? Стоит ли учитывать все, что попадает в поле его зрения? А содержимое раковины? А содержимое посудомоечной машины? А что насчет собаки, которая подошла облизать тарелки и которую нужно прогнать? Как бы мы ни определили состояние, роботу необходимо будет распознавать различные объекты – например, тарелку (которую следует поставить на нижнюю полку посудомоечной машины), кружку (на верхнюю полку) и губку (которой в машине вообще не место). Как мы видели, компьютеры пока очень плохо справляются с распознаванием объектов. Кроме того, роботу нужно будет учитывать объекты, которых он не видит, – например, кастрюли и сковородки, скрытые на дне раковины. Роботу также придется брать различные объекты и помещать их (аккуратно!) в соответствующие места. Для этого ему необходимо научиться выбирать одно из множества доступных действий, чтобы контролировать положение тела, работу механических “пальцев”, перемещение объектов из раковины на верное место в посудомоечной машине и так далее
[225].
Игровым агентам DeepMind понадобились миллионы итераций обучения. Если мы не хотим разбить миллионы тарелок, обучать робота придется в симуляции. Создать точную компьютерную симуляцию игры несложно – ведь на самом деле никакие элементы игры не двигаются, мячи не отскакивают от ракеток, а кирпичи не взрываются. Создать симуляцию загрузки посудомоечной машины гораздо сложнее. Чем выше ее реалистичность, тем медленнее она работает на компьютере, и даже с очень быстрым компьютером ужасно сложно учесть все физические силы и другие аспекты загрузки посудомоечной машины, чтобы сделать симуляцию максимально приближенной к жизни. Не стоит также забывать о несносной собаке и других непредсказуемых аспектах реального мира – как нам понять, что нужно включить в компьютерную симуляцию, а что можно без проблем опустить?
Зная об этих проблемах, Андрей Карпатый, директор Tesla по ИИ, отметил, что в подобных реальных задачах “практически все допущения, которые позволяет сделать го и которыми пользуется AlphaGo, нарушаются, а потому любой успешный метод должен выглядеть совсем иначе”
[226].
Никто не знает, каким станет этот успешный метод. Сфера глубокого обучения с подкреплением все еще довольно молода. Описанные в настоящей главе результаты можно считать доказательством того, что комбинация глубоких сетей и Q-обучения удивительно хорошо работает в весьма интересных, хоть и узких, областях, и, хотя я перечислила ряд проблем, с которыми сталкиваются исследователи, многие сегодня ищут способ применять обучение с подкреплением более широко. Игровые программы DeepMind пробудили новый интерес к отрасли, и глубокое обучение с подкреплением в 2017 году вошло в список 10 прорывных технологий по версии журнала Technology Review, издаваемого в MIT. В последующие годы, когда обучение с подкреплением достигнет зрелости, я буду ждать появления робота, который самостоятельно научится загружать посудомоечную машину, на досуге играя в футбол и го.