1 сентября в нашей онлайн-школе перезапустится курс «Обучение с подкреплением». Слушатели могут узнать об основных методах обучения с подкреплением, после чего создать своих первых агентов для решения задач, например балансировки маятника или управления машиной при въезде на гору.
Реально ли после курса научить модель обыгрывать человека в шахматы? Нужна ли математика для занятий машинным обучением? Сможет ли ИИ со временем записать курс не хуже? На эти вопросы ответил младший научный сотрудник Санкт-Петербургского отделения Математического института имени В. А. Стеклова РАН, преподаватель Школы анализа данных «Яндекса» и автор нового курса по искусственному интеллекту на Сириус.Курсах Максим Николаев.
Опора на результат
— Максим, как бы вы объяснили нашим читателям, что такое обучение с подкреплением?
Думаю, многие хотя бы раз в жизни пытались балансировать, идя по бревну через ручей, или жонглировать. Те люди, у которых это получалось, отмечали, что делали верные движения не задумываясь, и не отдавали себе отчёт, как этот процесс выглядел изнутри, какие мышцы или связки они напрягали в конкретный момент времени.
А теперь представьте, что у вас есть робот, а у него шарниры или суставы, которыми можно управлять.
Перед вами стоит непростая задача: сделать так, чтобы этот робот мог стоять или даже ходить. Несмотря на то, что вы прекрасно осознаёте, как должен выглядеть финальный результат, у вас нет чёткого понимания, какой сустав и в какой момент должен задействовать робот, чтобы овладеть новым навыком.
Так вот обучение с подкреплением — раздел машинного обучения, который изучает способы, как извлекать опыт из метода проб и ошибок и потом использовать его для синтеза алгоритмов, которые бы позволили условному роботу выполнять поставленные перед ним задачи: стоять, ходить, жонглировать. Главная сложность заключается в том, что мы пытаемся подбирать алгоритмы, опираясь на наше видение итогового результата. При этом мы не знаем наверняка, какие конкретно ходы в обучении нужно сделать, в том ли направлении оно вообще развивается. Можно оценить только результат. Если робот лежит и не может встать, вероятно, обучение не достигло своей цели.
— Чем может быть интересен слушателю курс «Обучение с подкреплением»?
Это хорошая возможность самому реализовать алгоритм, который позволит управлять небольшой моделью машинного обучения (агентом). В рамках курса слушатели не встретят готовых решений, где нужно нажать одну кнопку. Они досконально изучат, как выглядит процесс обучения модели на каждом этапе, и получат осязаемый результат.
— Насколько реальная практика отличается от того, что обсуждается на новом курсе?
Если говорить только о теории, то курс получился взрослым, в нём освещены все основные идеи обучения с подкреплением. Если рассматривать практические задания, ситуация немного другая. Обучение с подкреплением непростое с инженерной точки зрения. Чтобы эффективно обучать сложные модели, нужно уметь распараллеливать этот процесс, работать с большими вычислительными мощностями, выстраивать работу так, чтобы во время обучения ничего не ломалось. Погружения в такие темы на курсе не будет, но общие паттерны, то, что в целом нужно делать, мы обсудим.
Например, последние модули посвящены глубокому обучению с помощью нейронных сетей — они дадут ребятам понимание, какие проблемы могут перед ними возникнуть и как их можно пытаться решать.
Курс даст хороший толчок слушателям, чтобы продолжить изучение этой темы и развиваться в ней самостоятельно.
Неверная дихотомия
— Я смогу после вашей части курса обучить программу обыгрывать всех в шахматы?
Как бы ни хотелось сейчас прорекламировать курс, такие обещания дать не могу. На уровне концепции возможно всё: школьнику можно объяснить за полтора модуля, как была обучена нейронная сеть, которая обыгрывает человека в шахматы. Но понять мало. Для реализации знаний на практике придётся писать очень много кода, использовать конкретные технологии, учиться их применять. В рамках школы это сделать тяжело, здесь требуются навыки профессионала, востребованного в машинном обучении. Стать таким специалистом — цель, которая будет мотивировать школьников развиваться дальше. Поняв математику, лежащую в основе обучения, слушатель сможет начать изучать программирование на серьёзном уровне.
— Есть ли игры, в которых ИИ до сих пор не выиграл у человека?
Кажется, сейчас нет смысла задавать вопрос «Кто лучше: человек или ИИ?» В реальной жизни такой дихотомии никогда не будет. В любой ситуации человек будет противостоять человеку с машиной. Поэтому вопрос может звучать так: где участие человека не слишком существенно? Правда ли, что человек с машиной не лучше самой машины? Есть ощущение, что ИИ ещё не скоро станет настолько самодостаточным, чтобы люди уже не могли его существенно улучшить. Дальнейшее развитие искусственного интеллекта вижу как историю о том, что модели научились хорошо помогать человеку решать проблемы, вместе, но не вместо него.
Цена обучения
— Через сколько лет курс перестанет быть нужен, потому что ИИ сгенерирует не хуже?
Может быть, школьники, которые проходят этот курс, ещё не успеют окончить школу или университет, а все онлайн-программы уже будут устроены совсем по-другому. В каждой займёт своё место ИИ-преподаватель, которому станут задавать вопросы об обучении. Ученики подберут учителю любой аватар или голос. У них появится возможность поработать с конкретным преподавателем, который научится в рамках курса понимать, какие у ученика есть слабые места, и будет больше их прорабатывать. Такая концепция образования в будущем мне кажется более вероятной, чем история с моделью, которая сгенерирует курс самостоятельно.
— Что бы вы хотели пожелать слушателям курса «Обучение с подкреплением»?
Терпения и усидчивости. Мы выбрали амбициозную цель: рассказать сложный и богатый материал юным слушателям. В рамках университетского курса, поверьте, проходят не намного больше. Но такой подход имеет свою цену: от слушателей потребуется желание посидеть и поразбираться, позадавать вопросы. Потраченные время и силы окупятся сторицей. Осознание того, что происходит на курсе, даст неплохое понимание многих аспектов машинного обучения в будущем. Это обучение позволяет разогнаться и впоследствии неплохо разбираться в нетривиальной математике и в обучении нетривиальных агентов.
Смысл высшего образования
— Посоветуйте школьнику, который хочет заниматься машинным обучением, на кого идти учиться: программиста или математика?
Выбирать не обязательно. Сейчас в России много программ, которые совмещают программирование и математику. В качестве примера могу привести программы на факультете математики и компьютерных наук СПбГУ, на которых сам преподаю. Совмещать математику и программирование важно потому, что сейчас машинное обучение имеет очень серьёзную инженерную составляющую: нужно уметь писать высокопроизводительный код, знать множество библиотек и фреймворков, организовывать удалённые и распределённые вычисления. Если за время учёбы в бакалавриате изучать только математику, то потом придётся очень много догонять. Это возможно, но тяжело.
— Чтобы заниматься машинным обучением, школьнику вообще нужно получать высшее образование? Или достаточно немного поучить высшую математику, программирование, актуальный ИИ и пойти работать?
Думаю, для того, чтобы устроиться на работу, связанную с машинным обучением, получать высшее образование не обязательно. Но надо понимать, что оно не даёт необходимых знаний, которые больше нигде нельзя получить. Его смысл немного в другом. Во-первых, студент учится существенно эффективнее, так как его направляет преподаватель-профессионал, а не он сам. К тому же дедлайны и сессии вынуждают изучать больше материала, чем самому было бы комфортно. Думаю, тут уместно провести аналогию с тренировками у спортсменов. Во-вторых, важно то, с кем и у кого учишься. Самообразование опасно существованием в вакууме. Университет даёт возможность учиться в компании таких же мотивированных людей, которые будут вас поддерживать, возможность общаться с преподавателями, которые поделятся ценным опытом, выходящим часто за пределы изучаемого предмета. Имея все эти знакомства, проще потом идти по жизни и выстраивать карьеру.
— На ваш взгляд, современные школьники сильно отличаются от школьников 5–10 лет назад?
Есть неизбежные различия, соответствующие духу времени. Сейчас мы живём в обществе, перенасыщенном информацией, когда есть возможность залезть в поисковик и найти за два клика всё, что угодно. В этом смысле школьники, с одной стороны, умеют эффективно пользоваться интернетом для решения своих проблем, а с другой стороны, учатся быть максимально гибкими и получать навыки, которые позволят быть востребованными в стремительно меняющемся мире. Роль конкретной специализации отходит на второй план.
Сегодня ребята лучше чувствуют эту динамику и внимательно следят за старшими товарищами. У них больше информации: о профессиях, необходимых знаниях и навыках, карьерных возможностях. Школьники могут не очень хорошо понимать, чего хотят в моменте, но существенно лучше чувствуют выбор и осознают специфику всех вариантов развития.
Изучить программу обучения и записаться на курс можно здесь.
Читайте по теме: