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

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

Глубокое обучение с подкреплением для роботизированной навигации

В конечном итоге DRL - это построенный код, который может самостоятельно обучаться для решения сложных задач, где знания представлены глубокими нейронными сетями. В обучении с подкреплением (RL) мы называем учащегося агентом ИИ, который учится решать конкретную задачу, взаимодействуя с окружающей средой. Агент узнает, как вести себя в среде, выполняя действия и видя свои собственные результаты (награды). Идея обучения с подкреплением заключается в том, что агент будет учиться у окружающей среды, взаимодействуя с ней и получая вознаграждение за выполнение действий.

Для каждого состояния агент выполняет действие, переходит в следующее состояние и получает вознаграждение. Таким образом, он состоит из трех этапов (состояние, действие и награда). Здесь вы можете сравнить агент ИИ с процессом обучения ребенка. Если вы попросите ребенка выучить алфавиты, и вы скажете: «Эй, если ты сможешь правильно сказать все алфавиты, то получишь шоколад или не получишь шоколада», здесь шоколад является наградой, и ребенок будет пытаться учиться без под вашим присмотром, чтобы схватить шоколад. Точно так же агент ИИ может научиться решать задачи. Это взаимодействие с окружающей средой проявляется в виде последовательности состояний, действий и вознаграждений. Теперь, чтобы быть конкретным, цель любого агента ИИ будет состоять в том, чтобы максимизировать совокупное вознаграждение или сумму вознаграждений, полученных на всех временных шагах.

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

На этом этапе мы можем сказать, что агент ИИ стремится найти стратегию, которая максимизирует вознаграждение. Что ж, теперь нашей целью было бы разработать алгоритм RL, чтобы можно было максимизировать вознаграждение. Единственный способ, которым Агент может максимизировать вознаграждение, - это взаимодействовать с окружающей средой. Кроме того, агент может изучить два типа задач:

  1. Эпизодическая задача: в этом случае у нас есть начальная точка и конечная точка (конечное состояние). Это создает эпизод: список состояний, действий, наград и новых состояний. Например, подумайте о Super Mario Bros, эпизоде, который начинается при запуске нового Марио и заканчивается: когда вас убивают или вы достигли конца уровня.
  2. Непрерывные задачи: это задачи, которые продолжаются вечно (без конечного состояния) . В этом случае агент должен научиться выбирать лучшее действия и одновременно взаимодействует с окружающей средой. Например, агент, который занимается автоматической торговлей акциями. Для этой задачи нет начальной точки и конечного состояния. Агент продолжает работать, пока мы не решим его остановить.

В RL существует множество приложений, начиная от автомобиля, обучающего себя вождению, и заканчивая агентом, который учится играть в игры Atari. Хотя все эти приложения преследуют разные цели, их можно решить, используя одну и ту же теоретическую основу. Но что может означать вознаграждение в случае обучения беспилотного автомобиля самостоятельному вождению и обучения робота ходьбе. Мы можем представить себе среду как тренера, где может быть множество препятствий и ситуаций, дающих вознаграждение. Все эти цели можно сформулировать как максимизацию ожидаемого совокупного вознаграждения, которую мы называем ГИПОТЕЗОЙ НАГРАДЫ. Чтобы быть конкретным, нам нужно разработать вознаграждение как механизм обратной связи, который сообщает агенту (роботу или машине), какие соответствующие действия ему необходимо предпринять для достижения своей цели. Если робот или машина врезаются в что-то, то они получают отрицательные или положительные награды. Таким образом, агенты учатся ориентироваться и предпринимать соответствующие действия. В следующем посте мы увидим, как математически сформулировать проблему обучения с подкреплением, чтобы заставить автомобиль перемещаться с использованием Deep Q Networks.

Если вы уже знакомы с глубоким обучением с подкреплением, вы можете обучить агента перемещаться, используя код из этой ссылки, используя Deep Q Networks.

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

Глубокое обучение для обнаружения объектов

Компьютерное зрение - одна из важнейших областей искусственного интеллекта, которая позволяет компьютерам распознавать и понимать изображения и сцены. Чтобы быть конкретным, мы можем сказать, что это ГЛАЗ. Обнаружение объектов является наиболее важным аспектом компьютерного зрения при разработке системы технического зрения по сравнению с восприятием человеческого уровня. Когда дело доходит до создания системы технического зрения для агента ИИ, в идеале нам нужно сделать так, чтобы агент мог обнаруживать и распознавать все окружающие его объекты.

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

Если вы хотите внедрить систему обнаружения объектов, то перейдите по этой ссылке, и вы сможете увидеть, насколько хорошо обнаруживаются объекты. Этот алгоритм обучен с помощью Google OpenImage Dataset, который может обнаруживать 600 классов объектов. Теперь вы можете реализовать алгоритм и сами увидеть результат :).

В этом посте мы кратко рассмотрели глубокое обучение с подкреплением и обнаружение объектов. В следующем посте мы увидим, как машина учится ориентироваться в пробке.