Автор портала VentureBeat считает, что вскоре машинное обучение может изменить наше представление о возможностях игрового опыта. К этому приближается Владимир Иванов – старший инженер по глубокому обучению компании NVIDIA. Он работает в отделе тестирования, помогая 80 млн пользователей GeForce Experience играть в видеоигры на оптимальных настройках. Для этого он использует обучение нейронных сетей с подкреплением.

В интервью для AI Conference Владимир Иванов поделился воспоминаниями о первых курсах по разработке, рассказал о работе с нейронными сетями в NVIDIA и том, на что 90% времени тратят ИИ-разработчики на самом деле.

«Как по мне, регрессия и нейросети решают одни и те же задачи: мы хотим что-нибудь понять и ищем способы решения этих задач. Меняются только инструменты»

Я учился на физическом факультете МГУ, там приходилось много работать с данными. Тогда это все называлось проще – статистика и регрессия.

Со временем, когда начали появляться более сложные задачи, улучшились и вычислительные мощности. Для обработки данных начали использовать видеокарты, что косвенно привело к появлению нейронных сетей. Их функциональность немного расширилась – а вместе с ней и круг выполнимых задач. Если раньше можно было анализировать сотни или тысячи точек, то сейчас можно обрабатывать миллионы таких. Так плавный переход из регрессии и статистики завершился появлением ИИ.

Как по мне, регрессия и нейросети решают одни и те же задачи: мы хотим что-нибудь понять и ищем способы решения этих задач. Меняются только инструменты.

«Начинающим разработчикам лучше всего слушать курсы с домашним заданием»

Начинающим разработчикам лучше всего слушать курсы с домашним заданием. К примеру, сейчас большое количество курсов есть у Стэнфорда – там в открытом доступе лежат видеоуроки и домашние задания в виде скриптов Python. Для того чтобы разобраться в определенной системе, я рекомендую курс CS231n – там доступно и на интуитивном уровне рассказывают о нейросетях.

Десять лет назад, конечно, таких курсов еще не было. Тем не менее уже тогда я слушал стэндфордские лекции – курс назывался «Введение в машинное обучение» от американского информатика Эндрю Ына.

«С помощью ИИ мы пытаемся извлечь из определенного видеоряда информацию – к примеру, удобно ли людям играть с конкретными настройками или нет»

В NVIDIA я попал два года назад. Здесь я работаю в отделе тестирования, отвечаю за машинное обучение. В компании постоянно появляются новые технологии. Наша задача – оценить, что улучшилось с новой версией видеокарт и драйверов.

Кроме того, в NVIDIA есть система рекомендаций – GeForce Experience. Она помогает понять, с какими настройками лучше играть в видеоигры. В этом проекте я применяю компьютерное зрение как раз для их анализа.

Условно говоря, с помощью ИИ мы пытаемся извлечь из определенного видеоряда информацию – к примеру, удобно ли людям играть с конкретными настройками или нет.

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

«О машинном обучении с подкреплением я могу говорить часами»

Когда мы тестируем видеоигры, то хотим видеть, как бы в них играл человек. Получается, чтобы автоматизировать этот процесс – нам нужно научить программу симулировать поведение человека.

Для этого мы обучаем нейросети.

Есть разные методы обучения – например, обучение с учителем. Грубо говоря, мы задаем ИИ определенные параметры: «иди направо», «смотри на эту картинку» и т.д. Тогда программа выполняет заданные нами действия, но придумать их сама она не может.

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

Но мы можем узнать архетипы поведения человека. Соответственно, мы можем посадить опытного геймера играть и дать нейросетке понаблюдать за ним.

О машинном обучении с подкреплением я могу говорить часами. Обученная данным методом нейросеть получает награды за выполненные действия.

Для примера возьмем гонки: их принцип заключается в том, что чем быстрее ты проедешь – тем лучше. Мы отпускаем нейросетку играть, и за каждый пройденный метр она получает, к примеру, 1 рубль. В шутерах количество очков будет зависеть от количества попаданий в цель.

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

Если необученную сеть отпустить в игру – она будет совершать странные действия.

«Если аспиранты и студенты тратят 90% времени на разработку моделей, то на практике 90% времени мы тратим на обработку данных»

Качество данных очень важно – для обучения с подкреплением это вообще острый вопрос. Если аспиранты и студенты в академической сфере тратят 90% времени на разработку моделей, то на практике 90% времени мы тратим на обработку данных.

Визуализация данных – залог их качества. Если это картинки – их нужно сортировать, если это текстовые данные – к примеру, замеры скоростей или количество кадров в секунду, которые выдает видеоигра – их нужно визуализировать в качестве инфографик.

Когда я проходил один из курсов, то решил опубликовать на GitHub несколько проектов, сделанных по домашним заданиям. После этого со мной начали связываться работодатели. Так я начал работать с нейронными сетями.

Владимир Иванов – спикер на AI Conference. Во время доклада эксперт расскажет о том, чем RL отличается от Supervised и Unsupervised Learning, что такое Imitation Learning и как его используют в NVIDIA и Tesla, а всю теоретическую информацию подкрепит видеопримерами.


Чтобы послушать Владимира Иванова и других экспертов отрасли – регистрируйтесь на AI Conference, которая состоится 22 ноября в Москве.

Регистрация