Шрифт:
Закладка:
Обучение множества глубоких сетей одним и тем же набором данных приводит к появлению большого числа различных сетей с примерно одинаковым средним уровнем производительности. Нам хотелось бы знать, что общего у всех тех одинаково неплохих сетей, и анализ одной сети этого не выявит. Еще один подход к пониманию принципов, лежащих в основе глубокого обучения, – дальнейшее исследование пространства алгоритмов обучения. Мы отметили лишь несколько точек в этом пространстве. При более широком исследовании теория обучения может выйти столь же основательной, как и теории в других областях науки[242]. Вычислительная теория обучения может пролить свет и на алгоритмы обучения, созданные природой.
Рис. 9.8. Йошуа Бенджио – содиректор программы CIFAR «Обучение машин и мозга». Канадский специалист по вычислениям, родившийся во Франции, Йошуа был лидером в применении глубокого обучения к проблемам живого языка. Достижения Джеффри Хинтона, Яна Лекуна и Йошуа Бенджио стали основополагающими в глубоком обучении
Йошуа Бенджио[243] (рис. 9.8) из Монреальского университета и Ян Лекун сменили Джеффри Хинтона на посту директора программы «Нейронные вычисления и адаптивное восприятия» Канадского института перспективных исследований (Canadian Institute for Advanced Research; CIFAR)[244], когда она, пройдя десятилетний путь, была переименована в «Обучение в машинах и мозге» («Learning in Machines and Brains»). Бенджио возглавлял команду в Монреальском университете, которая применяла глубокое обучение к естественному языку, что и стало новым направлением для этой программы. На встречах в течение десяти с лишним лет небольшая группа из двух десятков преподавателей и стипендиатов положила начало глубокому обучению. Заметный прогресс в применении глубокого обучения ко многим проблемам, которые ранее казались неразрешимыми, можно проследить до их деятельности, но, конечно, они лишь небольшой частью гораздо большего сообщества, которое будет рассмотрено в главе 11.
Сети глубокого обучения зарекомендовали себя во многих приложениях, но они никогда не выживут в реальном мире самостоятельно[245]. С ними нянчатся исследователи, которые кормят эти сети данными, настраивают свои гиперпараметры, такие как скорость обучения, количество слоев и число единиц в каждом слое, чтобы улучшить сходимость и предоставить им огромные вычислительные ресурсы. Кора головного мозга также не выжила бы в мире без тела и остальной части мозга, которые обеспечивают ей поддержку и автономию. Автономия в изменчивом мире – гораздо более сложная проблема, чем распознавание образов. В следующей главе будет представлен древний алгоритм обучения, который важен для выживания в природе, так как мотивирует нас искать полезный опыт.
Глава 10. Обучение с подкреплением
Согласно легенде, уходящей корнями в Средневековье, изобретателю игры в шахматы предложили пшеничное поле в качестве подарка от благодарного правителя. Вместе поля изобретатель попросил положить одно зерно на первый квадрат, два зерна – на второй, четыре зерна – на третий, и так далее, удваивая количество зерен на каждом последующем квадрате, пока все 64 квадрата на шахматной доске не будут заполнены зерном. Правитель посчитал это скромной просьбой и удовлетворил ее. Но на самом деле правитель отдал все зерно своего королевства, так как количество зерен на 64-м квадрате составляет 264, и в сумме выходит 18 446 744 073 709 551 615[246] зерен. Это называется экспоненциальным ростом: хоть 64 – небольшое число, такой показатель степени очень велик[247]. Количество позиций в таких настольных играх, как шахматы и го, растет даже быстрее, чем количество зерен пшеницы. На каждый ход в шахматной партии приходится в среднем 35 вариантов, в го – 250. Это делает скорость экспоненциальный рост гораздо выше.
Учим играть в нарды
Преимущество игр в том, что правила в них четко определены, а решения не столь сложны, как в реальном мире, но достаточно сложны, чтобы заставить людей соревноваться. В 1959 году Артур Самюэль, один из первопроходцев машинного обучения из компании IBM, написал программу, которая могла играть в шашки так хорошо, что в тот день, когда это было объявлено, акции IBM сильно подорожали. Шашки – относительно простая игра, но программа Самюэля оказалась впечатляющей для своего времени, учитывая, что он запустил ее на первом коммерческом компьютере IBM – IBM 701, – который работал еще на электронно-лучевых трубках. Программа была основана на функции стоимости, оценивающей сильные стороны различных игровых позиций, так же, как и предыдущие игровые программы, но ее отличало то, что она это освоила на собственном игровом опыте.
Рис. 10.1. Доска для игры в нарды. Нарды – это гонка до финиша, красные фишки движутся в направлении, противоположном направлению, в котором движутся черные (см. стрелки). Показана начальная позиция. Бросают два кубика, и числа на них указывают, на сколько шагов фишки передвигаются вперед
Джерри Тезауро перешел в исследовательский центр IBM имени Томаса Уотсона после того, как работал со мной над проблемой обучения нейронной сети игре в нарды[248]. При обучения сетей с обратным распространением ошибки для оценки игровых позиций и возможных ходов мы использовали экспертный контроль (рис. 10.1). Недостаток такого подхода в том, что требуется много экспертных оценок позиций, и программа никогда не стала бы лучше наших специалистов, которые играли далеко не на уровне чемпионов мира. Но при игре с самой собой она могла бы добиться большего. Проблема игры с самой собой в том, что единственный обучающий сигнал – победа или поражение в конце партии. Но если одна сторона выиграла, то какой из многих ходов был решающим? Это называется временно́й задачей присваивания коэффициентов доверия.
Алгоритм обучения, который может решить временную задачу присваивания коэффициентов доверия, изобрел Ричард Саттон из Массачусетского университета в Амхерсте в 1988 году[249]. Он тесно сотрудничал с Эндрю Барто, своим научным руководителем, в работе над сложными проблемами в обучении с подкреплением – отрасли машинного обучения, вдохновленной ассоциативным обучением в экспериментах на животных (рис. 10.2). В отличие от сети глубокого обучения, единственной задачей которой является преобразование входных данных в выходные, система усиления взаимодействует с окружающей средой в замкнутом цикле, получая входную сенсорную информацию, принимая решения и осуществляя действия, которые влияют на мир. Обучение с подкреплением основано на наблюдении за животными, которые решают сложные проблемы в изменчивой среде после того, как исследовали различные варианты и их результаты. По мере того как обучение улучшается, исследование уменьшается, что в конечном итоге приводит к чистому использованию лучшей стратегии, найденной во время