Кратко: AndroidEnv
AndroidEnv - это новый уровень, позволяющий обучать агентов обучения с подкреплением в ОС Android, разработанный Deepmind, довольно известной ветвью искусственного интеллекта от Alphabet. Он находится между Android и ADB с одной стороны и агентом, который проходит обучение, с другой стороны. Если вы не знаете, «агент» относится к приложению машинного обучения, которое вы можете кодировать и запускать. AndroidEnv доступен как репозиторий с открытым исходным кодом на Github.
Реалистичный доступ к Android
AndroidEnv стремится предоставить максимально реалистичную среду для обучения, поэтому применяемые ограничения соответствуют тем, которые мы можем ожидать от людей, которые также взаимодействуют с Android:
- агент может в первую очередь считывать пиксели, отображаемые Android; для этой функции интерфейс, имитирующий сенсорный экран, используется для
- пространство действий (набор доступных опций для взаимодействия с окружающей средой) состоит из нескольких простых действий, таких как прикосновение, подъем или удаление
Цель AndroidEnv - раздвинуть границы обучения с подкреплением. Подобно платформе OpenAI «Universe», которая позволяла агентам взаимодействовать со сценами через интерфейс для мыши и клавиатуры, последнее творение Deepmind позволяет разработчикам обучать свои модели в одной из самых сложных сред, которые только можно вообразить.
Я имею в виду, что предыдущие модели имели доступ к своим целям через специальный интерфейс, который значительно упрощал взаимодействие. Кроме того, AndroidEnv не предоставляет много дополнительной информации, кроме пикселей экрана (подробнее об этом позже), что делает его использование таким реалистичным.
Более пристальный взгляд на взаимодействие
Как уже упоминалось, AndroidEnv предоставляет набор необработанных действий, которые имитируют базовые движения, которые человек также может использовать при взаимодействии с сенсорным экраном. Эти необработанные действия дополняются набором жестов, которые позволяют агенту эффективно управлять, например пролистыванием или прокруткой.
Взаимодействие с AndroidEnv также указывает на одну из серьезных проблем на этой платформе: в зависимости от открытого приложения (или задачи в целом) они могут сильно различаться по значению. Свайп в одном приложении может использоваться в совершенно другом контексте внутри другого приложения.
Также важно: агенты на AndroidEnv должны иметь дело с природой реального времени ОС реального времени, такой как Android. Это означает, что приложение не ждет, пока агент установит следующее действие - ОС просто продолжает работать. Это особенно сложная задача для агентов. AndroidEnv предоставляет небольшой инструмент совместимости, чтобы избежать ложных срабатываний в случае, если агент слишком долго реагирует (например, оставляет нажатие во время обработки, что приводит к долгому нажатию, интерпретируемому Android).
Определение задач, которые необходимо выполнить
Задача определяет конкретную проблему, которую должен решить агент RL. Чтобы обеспечить надлежащее обучение вашего агента, задачи фиксируют определенные аспекты данных, которые имеют значение:
- «Условия завершения эпизода»: когда задача выполнена или когда она окончательно провалилась
- «Награды»: предоставление количественной обратной связи по достигнутым целям.
- другие приложения, с которыми можно взаимодействовать для выполнения задачи
Чтобы обеспечить значимую и актуальную обратную связь, AndroidEnv имеет доступ к ADB, «Android Device Bridge», который представляет собой поток журналов с устройства и, следовательно, позволяет задаче наблюдать за ним и при необходимости запускать заранее определенные сигналы.
Море возможностей
Невозможно переоценить возможное влияние AndroidEnv на общее развитие ИИ и обучения с подкреплением в частности. Он не только позволяет агентам научиться взаимодействовать с Android («открывать Карты и искать ближайший суши-ресторан»), но также применять различные другие методы для решения проблем в зависимости от приложения. Например, агента можно обучить игре (доступны все игры на Android!) Для разработки долгосрочных выигрышных стратегий.
AndroidEnv действует как ворота, которые были открыты для любого человека, чтобы писать модели машинного обучения, которые можно обучить практически любой возможной задаче. Это потрясающе!
Установка паруса
Поскольку я не инженер по машинному обучению, мои знания поверхностны. Эта статья действует как введение в AndroidEnv, но для получения дополнительной информации ознакомьтесь со всеми соответствующими ссылками, включая репозиторий Github.