Как мы учимся. Почему мозг учится лучше, чем любая машина… пока - Станислас Деан
Шрифт:
Интервал:
Научение – это оптимизация функции вознаграждения
Помните систему LeNet Лекуна, которая распознает формы цифр? Чтобы этот тип искусственной нейросети мог учиться, его необходимо обеспечить правильными ответами. Иными словами, сеть должна знать, какой из десяти возможных цифр соответствует каждое введенное изображение. Для исправления ошибок система должна вычислить разницу между своим и правильным ответами. Данная процедура получила название «обучения с учителем»: некто вне системы знает решение и пытается научить машину. Метод достаточно эффективный, однако следует отметить, что ситуация, в которой правильный ответ известен заранее, – большая редкость. Когда дети учатся ходить, никто не говорит им, какие именно мышцы нужно сокращать; их просто поощряют пробовать снова и снова, пока они не перестают падать. Другими словами, малыши учатся исключительно на основе оценки результата: я упал или же мне удалось наконец пересечь комнату.
С той же проблемой «обучения без учителя» сталкивается и искусственный интеллект. Например, когда машина учится играть в видеоигру, перед ней ставят одну-единственную задачу – набрать максимальное количество очков. Никто не говорит ей, какие именно действия необходимо для этого предпринять. Как же быть? Как машине самостоятельно найти эффективный и быстрый способ достичь поставленной цели?
«Очень просто», – сказали ученые и придумали так называемое «обучение с подкреплением», в рамках которого мы не сообщаем системе никаких подробностей о том, что она должна делать (этого никто не знает!), но определяем «награду» – например, в виде количества очков9. Что еще хуже, машина может узнавать это количество с задержкой, уже после совершения тех или иных действий. Обучение на основе отложенного подкрепления – принцип, на базе которого DeepMind, дочерняя компания Google, построила машину, способную играть в шахматы, шашки и го. В конце партии система получает один-единственный сигнал, свидетельствующий о выигрыше или проигрыше. Во время самой игры обратная связь отсутствует – засчитывается лишь окончательная победа над соперником. Как же тогда машине определить, что нужно делать? И, если уж на то пошло, как она может оценить свои действия, если известен только исход игры?
Ученые нашли хитрое решение. Они программируют машину так, чтобы она делала сразу две вещи: действовала и одновременно оценивала собственный прогресс. Одна половина системы, так называемый «критик», учится предсказывать конечный результат. Цель этой сети искусственных нейронов заключается в том, чтобы как можно точнее оценить состояние игры и предсказать ее исход: я выигрываю или проигрываю? Благодаря «внутреннему критику» система способна оценивать свои действия в любой момент времени, а не только в конце. На основании этой оценки другая половина машины, «актор» (собственно, «исполнитель»), корректирует свое поведение: пожалуй, мне не стоит делать то-то и то-то – «критик» считает, что это увеличит мои шансы на проигрыш.
Испытание за испытанием «актор» и «критик» работают в тандеме: один учится выбирать наиболее эффективные действия, другой – как можно точнее оценивать их последствия. Спустя некоторое время – в отличие от того парня из анекдота, который падает с небоскреба и на лету восклицает: «Пока все хорошо!» – сеть «актор – критик» обретает невероятную прозорливость: способность предсказывать, какие партии скорее всего будут выиграны, а какие неизбежно закончатся катастрофой.
Комбинация «актор – критик» – одна из самых эффективных стратегий современного искусственного интеллекта. При поддержке иерархической нейронной сети она буквально творит чудеса. Еще в 1980-х годах эта система выиграла чемпионат мира по нардам, а недавно позволила DeepMind создать многофункциональную нейронную сеть, способную играть в разного рода видеоигры вроде Super Mario или Tetris10. Достаточно задать пиксели изображения в качестве входных данных, возможные действия в качестве выходных данных и очки в качестве функции вознаграждения. Всему остальному машина научится сама. Играя в Tetris, она обнаружит, что на экране отображаются разные фигуры, что падающая фигура важнее остальных, что те или иные действия могут изменить ее ориентацию и положение в пространстве и так далее, – а затем выработает оптимальную тактику. В Super Mario изменения входных данных и вознаграждений учат машину обращать внимание на совершенно иные параметры: какие пиксели образуют тело Марио, как он движется, где находятся враги, как выглядят стены, двери, ловушки, бонусы… и как себя вести рядом с ними. Регулируя свои настройки – то есть миллионы связей, соединяющих слои, – сеть может адаптироваться ко всем типам игр и научиться распознавать формы Tetris, Pac-Man или Sonic the Hedgehog.
Но зачем учить машину играть в видеоигры? Два года спустя инженеры DeepMind использовали соответствующие наработки для решения жизненно важной экономической задачи: как Google оптимизировать управление своими компьютерными серверами? Искусственная нейронная сеть осталась прежней; изменились лишь входные данные (дата, время, погода, международные события, поисковые запросы, количество людей, подключенных к каждому серверу, и т.д.), выходные данные (подключение или отключение того или иного сервера на разных континентах) и функция вознаграждения (экономия энергии). Результат – мгновенное снижение энергопотребления. В итоге компания Google сократила расходы на электроэнергию на 40 процентов и сэкономила десятки миллионов долларов – а ведь оптимизировать эти самые серверы пытались сотни специалистов! Искусственный интеллект, в самом деле, достиг таких высот, что способен перевернуть вверх дном целые отрасли.
Кстати, DeepMind совершала и другие подвиги. Как всем, наверное, известно, ее программе AlphaGo удалось победить Ли Седоля – восемнадцатикратного чемпиона мира по игре в го, до недавнего времени считавшейся Эверестом искусственного интеллекта11. В го играют на огромной квадратной доске – гобане – размером 19х19 клеток (всего 361 клетка) черными и белыми камнями. Количество комбинаций настолько велико, что систематически проанализировать все будущие ходы, доступные каждому игроку, невозможно. И все же обучение с подкреплением позволило программе AlphaGo распознавать благоприятные и неблагоприятные комбинации лучше, чем любому живому игроку. Как ей это удалось? Разработчики, в частности, заставляли систему играть против самой себя, подобно тому как тренируется шахматист, одновременно играя и белыми, и черными. Идея проста: в конце каждой партии победившая программа усиливает свою тактику, а проигравшая ослабляет, при этом обе учатся более эффективно оценивать свои ходы.
Мы с удовольствием посмеиваемся над Мюнхгаузеном, который в своих легендарных «Приключениях» пытается вытащить себя из болота за волосы. В искусственном интеллекте, однако, безумный метод эксцентричного барона породил довольно сложную стратегию «самонастройки», или бутстрэппинга: шаг за шагом, начиная с бессмысленной архитектуры, лишенной всяких знаний, искусственная нейронная сеть становится чемпионом мира, просто играя сама с собой.
Ускорение обучения за счет обеспечения сотрудничества двух сетей – или, наоборот, их конкуренции – важный прорыв в области искусственного интеллекта, который до сих пор приносит щедрые плоды. Например, одна из последних идей, так называемое «состязательное обучение»12, предполагает наличие двух противоборствующих систем: скажем, одна сеть учится распознавать картины Ван Гога, а вторая – их подделывать. Первая система получает бонус всякий раз, когда успешно идентифицирует подлинник, в то время как вторая – всякий раз, когда ей удается обмануть первую. Данный алгоритм обучения дает не один, а сразу два искусственных интеллекта: въедливого специалиста по Ван Гогу, обожающего выискивать мелкие детали, которые могут подтвердить подлинность картины, и гениального фальсификатора, чьи полотна способны ввести в заблуждение даже лучших экспертов. Такого рода обучение можно сравнить с подготовкой к президентским дебатам: многие кандидаты нанимают специальных людей, которые имитируют речь и повторяют лучшие реплики их оппонентов.
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!