Как мы обучили нейронного пилота автономно летать на дроне

Версия этой  статьи  была первоначально опубликована на  Medium . Мнения, выраженные здесь, принадлежат исключительно авторам и не отражают позиции  IEEE Spectrum  или IEEE.

Мы, сотрудники Skydio , годами занимаемся разработкой и внедрением систем машинного обучения, благодаря их способности масштабировать и совершенствовать данные. Однако на сегодняшний день наши системы обучения используются только для интерпретации информации о мире; В этом посте мы представляем нашу первую систему машинного обучения для реальных действий в мире.

Используя новый алгоритм обучения, механизм автономии Skydio и только 3 часа зарегистрированных данных «вне политики», мы обучили пилота глубокой нейронной сети, которая способна снимать и отслеживать объект, избегая препятствий.

Мы подошли к проблеме обучения пилота глубокой нейронной сети через призму имитационного обучения, цель которого — обучить модель, которая подражает эксперту. Имитационное обучение было для нас привлекательным подходом, потому что у нас есть огромное количество полетных данных с отличным пилотом-беспилотником — планировщиком движений в автономном движке Skydio. Однако мы быстро обнаружили, что стандартное имитационное обучение неэффективно применительно к нашей сложной проблемной области.

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

CEILing может использовать точные (будущие) данные, что позволяет ему «смотреть» дальше в будущее и, следовательно, обучать даже более умных пилотов.

Как мы можем сделать лучше? Мы понимаем, что у нас нет только эксперта, у нас есть вычислительный эксперт : Skydio Autonomy Engine. Поэтому вместо того, чтобы имитировать то, что делает эксперт , мы понимаем, о чем заботится эксперт . Мы называем этот подход вычислительным искусственным обучением, или CEILing.

Почему CEILing лучше, чем стандартная имитация обучения? Давайте рассмотрим дидактический пример, в котором учитель пытается научить студента умножению. Учитель выбирает между двумя возможными планами урока. План первого урока состоит в том, чтобы дать ученику кучу проблем умножения вместе с ключом ответа, и оставить ученика в покое, чтобы он мог понять, как работает умножение. План второго урока состоит в том, чтобы позволить ученику попытаться решить некоторые проблемы умножения, дать ученику обратную связь о совершенных ошибках и продолжать до тех пор, пока ученик не освоит тему.

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

Gif: Skydio

Имитационные испытания пилота с глубокими нейронами основаны на разработанном авторами подходе «Вычислительная имитация обучения», или CEILing.

То же самое относится и к навигации робота: некоторые отклонения от эксперта должны наказываться более строго, чем другие. Например, отклонение от эксперта в целом нормально в открытом космосе, но является критической ошибкой, если оно направлено на препятствие или вызывает визуальную потерю объекта. CEILing позволяет нам передавать эту информацию от эксперта, а не слепо наказывать отклонения от траектории эксперта. Вот почему CEILing обучает глубокого нейронного пилота, который хорошо обобщает с небольшим количеством данных.

Теперь один вопрос, который нужно задать, — почему даже использовать CEILing для обучения глубокого нейронного пилота? Почему бы просто не быть экспертом по вычислительной технике в качестве пилота? Основная причина, по которой мы в восторге от CEILing, заключается в том, что CEILing может обучить пилота, который на самом деле лучше пилота вычислительного эксперта.

Как это возможно? Рассмотрим сценарий, в котором беспилотник должен лететь через лес на высокой скорости. Это сложная среда, потому что тонкие объекты, такие как ветви деревьев, трудно увидеть издалека. Хотя текущий механизм автономии Skydio способен воспринимать и избегать этих тонких ветвей, иногда ветви можно обнаружить только тогда, когда дрон уже достаточно близко, что заставляет дрон выполнить агрессивный маневр. Напротив, наш глубокий нейронный пилот мог бы плавно избегать этих тонких ветвей, потому что он научился бы летать к деревьям — которые большие и хорошо видны -коррелирует с встречением тонких ветвей. Короче говоря, CEILing может использовать точные (будущие) данные, что позволяет ему «заглядывать» дальше в будущее и, следовательно, обучать даже более умных пилотов.

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

Добавить комментарий

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