Вы знаете, когда они говорят, что ИИ не так силен, как вы думаете? Ну, я думаю, я почувствовал вкус того, что это на самом деле означает.

Мой опыт не связан с компьютерными науками или разработкой программного обеспечения — ничего, что хоть отдаленно связано с модными словечками в области технологий в наши дни. Однако несколько недель назад ИТ-отдел моего университета разослал электронное сообщение о хакатоне, организованном AWS Educate в АСЕАН (Ассоциация государств Юго-Восточной Азии). После некоторых поисков я узнал, что DeepRacer — это автономный гоночный автомобиль в масштабе 1/18, предназначенный для тестирования моделей RL [обучения с подкреплением] путем гонок на физической трассе», созданный Amazon Web Services (AWS). Есть основной хакатон, а есть Женская лига, для участия в обоих нужно было подавать заявки. Хакатон Build On предназначен для команд, но любая женщина, обучающаяся в университете страны АСЕАН, может участвовать в индивидуальной гонке женской лиги.

Кроме прохождения курса «ИИ для всех» на Coursera и чтения новостей о технологиях, я мало что знал об искусственном интеллекте (ИИ) и машинном обучении (МО). Скорее, я не до конца понимал, что это влечет за собой и что на самом деле означает работа с этими инструментами. Я увидел возможность и подумал, что это интересно, поэтому я просто воспользовался ею! Я отправил свою заявку и не думал об этом, пока несколько недель спустя я не получил новое электронное письмо, в котором говорилось, что меня приняли и выбрали для участия. Честно говоря, я все еще не совсем понимал, что мне делать, но здесь начинается мое исследование.

В письме был разослан список ресурсов для начала работы с DeepRacer и ML. Модели DeepRacer основаны на обучении с подкреплением (RL). Подобно подкреплению в оперантном обусловливании в психологии, RL — это тип машинного обучения, в котором вознаграждение стимулирует определенное поведение. В этой ситуации с автомобилем, исходя из конкретных условий, наблюдаемых на трассе, машина получит десятичное число баллов (скажем, все колеса на трассе). Эти «правила» указаны в чем-то, что называется функцией вознаграждения — программном коде, который подробно описывает, когда и сколько очков получит автомобиль в зависимости от действий, которые он предпринимает, и результатов этих действий. Есть много других гиперпараметров (например, скорость обучения, количество эпох и т. д.), которые можно настроить для повышения производительности вашего автомобиля. Изучив все возможные действия и увидев, какие из них могут помочь ей получить наибольшее вознаграждение (этап исследования), модель теперь может использовать эти знания для преднамеренного увеличения своего вознаграждения (этап эксплуатации). Окончательная модель содержит функцию вознаграждения и информацию, полученную на каждой итерации (и, вероятно, многое другое), но я не думаю, что я достаточно квалифицирован, чтобы обсуждать это!

Что я могу сказать после написания функций вознаграждения, настройки гиперпараметров и обучения моей модели, так это то, что RL (и большая часть ML) обучается чему-то оченьспецифичному. Буквально каждое очко и то, сколько очков можно получить за определенный результат, четко закодировано в модели, которая после каждой итерации узнает немного о том, какие конкретные действия она может выполнить, чтобы получить результат, за который она может получить наибольшее количество очков. Вау, это было многословно, но, по сути, это основа RL в AWS DeepRacer. Другими словами, я понял, что не могу ожидать, что машина будет вилять или двигаться медленнее при повороте (потому что мы, люди, по-видимому, знаем эти вещи более интуитивно), если только модель не узнала, что замедление непосредственно перед поворотом и ускорение при выходе из поворота предотвратит соскальзывание с рельсов хорошо, соскальзывание с рельсов, потому что оно не замедлилось, прежде чем снова ускориться и получить очки или получить меньше очков.

В общей сложности я тренировал свою модель около 10 часов, а затем участвовал в гонке в Сингапуре. Для Женской лиги это было проще, чем основной хакатон, поскольку модели будут гонять только по трассе re:Invent2018 в гонке на время. На самом деле гонка транслировалась в прямом эфире на Twitch, и люди из AWS Educate (?) комментировали, как каждая модель (от всех участников в Сингапуре) мчалась по трассе.

Совершенно не ожидал, но думаю, благодаря удаче и упорному труду, мне удалось занять 2-е место! Моя машина продолжала останавливаться и выезжать за пределы трассы во время гонки, но, поскольку это была гонка на время, машине нужно было проехать только один круг за наименьшее количество времени. У каждой машины было три минуты, чтобы пройти круг столько раз, сколько она могла, и было зафиксировано самое короткое время.

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

Что хорошего в DeepRacer, так это то, что существует такое большое сообщество, к которому можно обратиться за помощью и предложениями. Это с открытым исходным кодом и существует множество ресурсов (статьи, вики, Github, документация от AWS и т. д.), и если вы обратитесь, люди обычно будут очень рады помочь! Идеальная гоночная линия также является одним из других ресурсов, которые я нашел действительно полезными. Если вы хотите изучить некоторые основы обучения с подкреплением, перейдите здесь к руководству по AWS!

Честно говоря, хотя я чувствую, что знаю немного больше о том, что такое машинное обучение, в частности, обучение с подкреплением, я все еще многого не знаю и не понимаю. Поскольку я также учусь в аспирантуре, а моя область исследований не совсем связана с ИИ и машинным обучением, у меня не было столько времени, чтобы действительно изучить все ресурсы и узнать больше по этой теме. Таким образом, я смог только изучить AWS DeepRacer и еще не использовать его. Надеюсь, эта возможность станет ступенькой к большему обучению и реальному использованию, я имею в виду, использования инструментов ИИ в будущем!

* Отказ от ответственности: если есть какие-либо путаницы или несоответствия, это, вероятно, моя вина и, вероятно, мое собственное непонимание. Ваше здоровье!