AndroidEnv

Android işletim sistemine erişmek için Güçlendirme Öğrenimi için bir arayüz

Bir bakışta: AndroidEnv

AndroidEnv, Reinforcement Learning ajanlarının, Alphabet'in oldukça ünlü yapay zeka dalı olan Deepmind tarafından geliştirilen, Android işletim sistemi üzerinde eğitilmesini sağlayan yeni bir katmandır. Bir tarafta Android ve ADB, diğer tarafta eğitim alan bir ajan arasında oturuyor. Bilmiyorsanız, "aracı", kodlayıp çalıştırabileceğiniz bir makine öğrenimi uygulamasını ifade eder. AndroidEnv, Github'da açık kaynaklı bir depo olarak mevcuttur.

Android'e gerçekçi bir erişim

AndroidEnv, eğitim için mümkün olduğunca gerçekçi bir ortam sağlamayı amaçlar, bu nedenle uygulanan kısıtlamalar, Android ile etkileşime giren insanlar için de bekleyebileceğimiz kısıtlamalarla eşleşir:

  • bir aracı öncelikle Android'in oluşturduğu pikselleri okuyabilir; bu özellik için dokunmatik ekranı simüle eden bir arayüz kullanılır.
  • eylem alanı (çevreyle etkileşim kurmak için mevcut seçenekler kümesi), dokunma, kaldırma veya kaldırma gibi birkaç basit eylemden oluşur.

AndroidEnv'in amacı, Güçlendirmeli Öğrenmenin sınırlarını zorlamaktır. Aracıların fare ve klavye için bir arayüz aracılığıyla sahnelerle etkileşime girmesini sağlayan OpenAI'nin "Evren" platformuna benzer şekilde, Deepmind'in en son ürünü geliştiricilerin modellerini hayal edilebilecek en zorlu ortamlardan birinde eğitmelerine olanak tanır.

Bununla demek istediğim, önceki modellerin etkileşimi çok basitleştiren özel bir arayüz aracılığıyla hedeflerine erişimi vardı. Ayrıca, AndroidEnv, ekranın pikselleri dışında fazla ek bilgi sağlamaz (daha fazlası için), bu da kullanımını çok gerçekçi kılar.

Etkileşime daha yakından bir bakış

Belirtildiği gibi, AndroidEnv, bir insanın dokunmatik ekranla etkileşim kurarken kullanacağı temel hareketleri simüle eden bir dizi ham eylem sağlar. Bu ham eylemler, kaydırma veya kaydırma gibi aracı tarafından etkin kontrole izin veren bir dizi hareketle tamamlanır.

AndroidEnv ile olan etkileşimler de bu platformdaki en büyük zorluklardan birinin ana hatlarını çiziyor: açık uygulamaya (veya genel olarak göreve) bağlı olarak, anlam bakımından büyük ölçüde farklılık gösterebilirler. Bir uygulamada hızlıca kaydırma, başka bir uygulamada tamamen farklı bir bağlamda kullanılabilir.

Ayrıca önemli: AndroidEnv'deki aracılar, Android gibi gerçek zamanlı bir işletim sisteminin gerçek zamanlı yapısıyla uğraşmak zorundadır. Bu, aracı bir sonraki eylemi belirleyene kadar uygulamadan bekleme olmadığı anlamına gelir - işletim sistemi devam eder. Bu, ajanların üstesinden gelmesi gereken özel bir zorluktur. AndroidEnv, aracının tepki vermesinin çok uzun sürmesi durumunda yanlış pozitif girdileri önlemek için küçük bir uyumluluk aracı sağlar (işleme sırasında bir dokunuştan ayrılmak ve bu da Android tarafından yorumlanan uzun bir basışa yol açar).

Tamamlanması gereken görevlerin tanımlanması

Bir görev, bir RL aracısı tarafından çözülmesi gereken belirli bir sorunu tanımlar. Aracınızın uygun şekilde eğitilmesine olanak sağlamak için görevler, ilgili belirli veri özelliklerini yakalar:

  • "Bölüm sonlandırma koşulları": görev ne zaman tamamlandı veya ne zaman kesinlikle başarısız oldu
  • “ödüller”: başarılmış hedefler için sayısal geri bildirim sağlamak
  • görev için etkileşim kurulabilecek diğer uygulamalar

Anlamlı ve ilgili geri bildirim sağlamak için AndroidEnv, cihazdan bir günlük akışı olan ve bu nedenle bir görevin onu gözlemlemesine ve gerektiğinde önceden tanımlanmış sinyalleri tetiklemesine izin veren "Android Cihaz Köprüsü" olan ADB'ye erişime sahiptir.

Bir olasılıklar denizi

AndroidEnv'nin, özellikle AI ve Reinforcement Learning'in genel gelişimi üzerindeki olası etkisi göz ardı edilemez. Temsilcilerin yalnızca Android ile nasıl etkileşim kuracaklarını öğrenmelerine ("Haritalar'ı açın ve yakındaki bir suşi restoranını arayın") değil, aynı zamanda uygulamaya bağlı olarak problem çözme için çeşitli diğer teknikleri uygulamalarına da olanak tanır. Örneğin, bir temsilci, uzun vadeli kazanma stratejileri geliştirmek için oyun oynama konusunda eğitilebilir (Android'deki tüm oyunlar mevcuttur!).

AndroidEnv, herkesin hemen hemen olası her görevde eğitilebilen ML modelleri yazabilmesi için açılmış bir kapı görevi görür. Akıllara durgunluk veriyor!

Yelken ayarlama

Makine Öğrenimi mühendisi olmadığım için bilgilerim yalnızca yüzey düzeyindedir. Bu makale AndroidEnv'e giriş niteliğindedir, ancak daha fazla bilgi için lütfen Github deposu da dahil olmak üzere tüm ilgili bağlantıların bulunduğu eke bakın.

Öneriler

İlgili

Ek

Diller