AndroidEnv

Android OS에 액세스하기위한 강화 학습용 인터페이스

한 눈에보기 : AndroidEnv

AndroidEnv는 Alphabet의 유명한 AI 브랜치 인 Deepmind에서 개발 한 Android OS에서 강화 학습 에이전트를 교육 할 수있는 새로운 레이어입니다. 한쪽에서는 Android와 ADB 사이에 있고 다른 쪽에서는 교육을받는 에이전트 사이에 있습니다. 모르는 경우 '에이전트'는 코딩하고 실행할 수있는 기계 학습 애플리케이션을 의미합니다. AndroidEnv는 Github에서 오픈 소스 저장소로 사용할 수 있습니다.

Android에 대한 현실적인 액세스

AndroidEnv는 학습에 가능한 한 현실적인 환경을 제공하는 것을 목표로합니다. 따라서 적용된 제약 조건은 Android와 상호 작용하는 인간에게도 기대할 수있는 제약 조건과 일치합니다.

  • 에이전트는 주로 Android가 렌더링하는 픽셀을 읽을 수 있습니다. 이 기능을 위해 터치 스크린을 시뮬레이션하는 인터페이스가 사용됩니다.
  • 작업 공간 (환경과 상호 작용하는 데 사용할 수있는 옵션 집합)은 터치, 들어 올리기 또는 제거와 같은 몇 가지 간단한 작업으로 구성됩니다.

AndroidEnv의 목표는 강화 학습의 경계를 넓히는 것입니다. 에이전트가 마우스 및 키보드 용 인터페이스를 통해 장면과 상호 작용할 수있게했던 OpenAI의 "Universe"플랫폼과 유사하게 Deepmind의 최신 창작물은 개발자가 상상할 수있는 가장 까다로운 환경 중 하나에서 모델을 교육 할 수 있도록합니다.

즉, 이전 모델은 상호 작용을 많이 단순화하는 특수 인터페이스를 통해 대상에 액세스 할 수있었습니다. 또한 AndroidEnv는 화면의 픽셀과는 별도로 추가 정보를 제공하지 않으므로 (나중에 자세히 설명) 사용이 매우 현실적입니다.

상호 작용 자세히 살펴보기

언급했듯이 AndroidEnv는 인간이 터치 스크린과 상호 작용할 때 사용하는 기본 동작을 모두 시뮬레이션하는 일련의 원시 동작을 제공합니다. 이러한 원시 동작은 스 와이프 또는 스크롤과 같이 에이전트가 효과적으로 제어 할 수있는 일련의 제스처로 보완됩니다.

AndroidEnv와의 상호 작용은 또한이 플랫폼의 큰 과제 중 하나를 요약합니다. 오픈 앱 (또는 일반적으로 작업)에 따라 의미가 크게 다를 수 있습니다. 한 앱의 스 와이프는 다른 앱 내에서 완전히 다른 컨텍스트에서 사용될 수 있습니다.

또한 중요합니다. AndroidEnv의 에이전트는 Android와 같은 실시간 OS의 실시간 특성을 처리해야합니다. 즉, 에이전트가 다음 작업을 설정할 때까지 애플리케이션에서 기다릴 필요가 없습니다. OS는 계속 진행됩니다. 이것은 에이전트가 극복해야 할 특히 어려운 도전입니다. AndroidEnv는 에이전트가 반응하는 데 너무 오래 걸리는 경우 (예 : 처리하는 동안 탭을 남겨 두어 Android에서 길게 눌러 해석하는 경우) 오탐 입력을 방지하는 작은 호환성 도구를 제공합니다.

수행해야 할 작업 정의

작업은 RL 에이전트가 해결해야하는 특정 문제를 정의합니다. 에이전트에 대한 적절한 교육을 허용하기 위해 작업은 관련된 특정 데이터 측면을 캡처합니다.

  • "에피소드 종료 조건": 작업이 언제 완료되었거나 확실히 실패했는지
  • "보상": 달성 된 목표에 대한 수치 적 피드백 제공
  • 작업을 위해 상호 작용할 수있는 다른 응용 프로그램

의미 있고 관련성있는 피드백을 가능하게하기 위해 AndroidEnv는 기기의 로그 스트림 인 'Android 기기 브리지'인 ADB에 액세스 할 수 있으므로 작업이이를 관찰하고 필요한 경우 사전 정의 된 신호를 트리거 할 수 있습니다.

가능성의 바다

AndroidEnv가 AI의 전반적인 개발과 특히 강화 학습에 미칠 수있는 영향은 아무리 강조해도 지나치지 않습니다. 상담원이 Android와 상호 작용하는 방법 ( '지도를 열고 근처 스시 레스토랑 검색')을 배울 수있을뿐만 아니라 앱에 따라 문제 해결을 위해 다양한 다른 기술을 적용 할 수도 있습니다. 예를 들어, 에이전트는 장기적인 승리 전략을 개발하기 위해 게임 (Android의 모든 게임을 사용할 수 있음)에 대한 교육을받을 수 있습니다.

AndroidEnv는 거의 모든 가능한 작업에 대해 학습 할 수있는 ML 모델을 누구나 작성할 수 있도록 열린 문 역할을합니다. 마음이 불다!

항해 설정

기계 학습 엔지니어가 아니기 때문에 제 지식은 표면 수준 일뿐입니다. 이 기사는 AndroidEnv에 대한 소개 역할을하지만 자세한 내용은 Github-repository를 포함한 모든 관련 링크가있는 부록을 확인하십시오.

제안

관련된

부록

언어