Pomocí této sady nástrojů vyvíjejte a porovnávejte výukové algoritmy zesílení.

Pokud nemůžete vytvořit model strojového učení od nuly nebo vám chybí infrastruktura, mezeru vyřeší pouhé připojení vaší aplikace k funkčnímu modelu.

Umělá inteligence je tu pro každého, aby ji využil jedním nebo druhým způsobem. Pokud jde o OpenAI Gym, existuje mnoho prozkoumatelných tréninkových hřišť, kde můžete nakrmit své posilovací učební agenty.

Co je OpenAI Gym, jak funguje a co pomocí něj můžete stavět?

Co je OpenAI Gym?

OpenAI Gym je Pythonic API, které poskytuje simulovaná tréninková prostředí pro posilovací učební agenty, aby jednali na základě pozorování prostředí; každá akce přichází s pozitivní nebo negativní odměnou, která narůstá v každém časovém kroku. Zatímco agent usiluje o maximalizaci odměn, je penalizován za každé neočekávané rozhodnutí.

Časový krok je diskrétní čas pro přechod prostředí do jiného stavu. Sčítá se, když akce agenta mění stav prostředí.

Jak funguje OpenAI Gym?

Prostředí OpenAI Gym jsou založena na Markovově rozhodovacím procesu (MDP), dynamickém rozhodovacím modelu používaném při posilování učení. Z toho tedy vyplývá, že odměny přicházejí pouze tehdy, když prostředí změní stav. A události v dalším stavu závisí pouze na současném stavu, protože MDP nezohledňuje minulé události.

instagram viewer

Než budeme pokračovat, pojďme se ponořit do příkladu pro rychlé pochopení aplikace OpenAI Gym v posilovacím učení.

Za předpokladu, že máte v úmyslu trénovat auto v závodní hře, můžete roztočit závodní dráhu v OpenAI Gym. V posilovacím učení, pokud vozidlo odbočí vpravo místo vlevo, může získat zápornou odměnu -1. Závodní dráha se mění v každém časovém kroku a v následujících stavech se může zkomplikovat.

Negativní odměny nebo tresty nejsou pro agenta v posilovacím učení špatné. V některých případech ho povzbudí k rychlejšímu dosažení svého cíle. Vůz se tak v průběhu času dozvídá o trati a ovládá její navigaci pomocí proužků odměn.

Zahájili jsme např FrozenLake-v1 prostředí, kde je agent penalizován za pád do ledových děr, ale odměněn za získání dárkové krabičky.

Náš první běh přinesl méně penalizací bez odměn:

Třetí iterace však vytvořila složitější prostředí. Ale agent dostal několik odměn:

Výše uvedený výsledek neznamená, že se agent v další iteraci zlepší. I když se může příště úspěšně vyhnout více dírám, nemusí získat žádnou odměnu. Ale úprava několika parametrů může zlepšit rychlost učení.

Součásti tělocvičny OpenAI

OpenAI Gym API se točí kolem následujících komponent:

  • The prostředí kde trénujete agenta. Můžete ji spustit pomocí tělocvična.make metoda. OpenAI Gym také podporuje prostředí s více agenty.
  • The obaly pro úpravu stávajícího prostředí. Přestože je každé základní prostředí ve výchozím nastavení předem zabaleno, můžete jej změnit pomocí parametrů, jako jsou max_actions, min_actions a max odměny.
  • An akce; definuje, co agent dělá, když pozoruje změny ve svém prostředí. Každá akce v prostředí je krokem, který definuje reakci agenta na pozorování. Dokončení kroku vrátí pozorování, odměnu, informace a hodnotu zkrácení nebo ukončení.
  • The pozorování; definuje zkušenost agenta v prostředí. Jakmile dojde k pozorování, následuje akce s informacemi. Parametr info je protokol provádění, který se hodí pro ladění. Jakmile krok skončí, prostředí se resetuje nkrát, v závislosti na počtu zadaných iterací.

Co můžete udělat s OpenAI Gym?

Vzhledem k tomu, že OpenAI Gym umožňuje vytvořit vlastní výuková prostředí, zde je několik způsobů, jak jej použít v reálném scénáři.

1. Simulace hry

Herní prostředí OpenAI Gym můžete využít k odměňování požadovaného chování, vytváření herních odměn a zvyšování složitosti na úroveň hry.

2. Rozpoznávání obrazu

Tam, kde je k dispozici omezené množství dat, zdrojů a času, může být OpenAI Gym užitečný pro vývoj systému rozpoznávání obrázků. Na hlubší úrovni jej můžete škálovat a vytvořit systém rozpoznávání tváří, který odměňuje agenta za správnou identifikaci tváří.

3. Školení robotů

OpenAI Gym také nabízí intuitivní modely prostředí pro 3D a 2D simulace, kde můžete do robotů implementovat požadované chování. Roboškola je příklad softwaru pro simulaci škálovaného robota vytvořeného pomocí OpenAI Gym.

4. Marketing

Pomocí OpenAI Gym můžete také vytvářet marketingová řešení, jako jsou reklamní servery, boti pro obchodování s akciemi, boti pro predikci prodeje, systémy doporučování produktů a mnoho dalších. Můžete si například vytvořit vlastní model OpenAI Gym, který penalizuje reklamy na základě počtu zobrazení a kliknutí.

5. Zpracování přirozeného jazyka

Několik způsobů, jak aplikovat OpenAI Gym zpracování přirozeného jazyka jsou otázky s výběrem odpovědí zahrnující dokončování vět nebo vytváření klasifikátoru spamu. Můžete například vycvičit agenta, aby se naučil variace vět, abyste se vyhnuli zkreslení při označování účastníků.

Jak začít s OpenAI Gym

OpenAI Gym podporuje Python 3.7 a novější verze. Chcete-li nastavit prostředí OpenAI Gym, nainstalujete tělocvična, rozvětvená nepřetržitě podporovaná verze tělocvičny:

pip install gymnasium

Dále roztočte prostředí. Můžete si však vytvořit vlastní prostředí. Ale začněte tím, že si pohrajete se stávajícím, abyste zvládli koncept OpenAI Gym.

Níže uvedený kód roztočí FrozenLake-v1. The env.reset metoda zaznamenává počáteční pozorování:

import tělocvična tak jako tělocvična
env = gym.make('FrozenLake-v1', render_mode="člověk")

pozorování, info = env.reset()

Některá prostředí vyžadují ke svému fungování další knihovny. Pokud potřebujete nainstalovat jinou knihovnu, Python to doporučí prostřednictvím zprávy o výjimce.

Například nainstalujete další knihovnu (tělocvična[hračka-text]) spustit FrozenLake-v1 životní prostředí.

Stavte na síle OpenAI Gym

Jednou z překážek vývoje AI a strojového učení je nedostatek infrastruktury a tréninkových datových sad. Ale jak se snažíte integrovat modely strojového učení do svých aplikací nebo zařízení, je to nyní snazší s hotovými modely umělé inteligence létajícími po internetu. Zatímco některé z těchto nástrojů jsou levné, jiné, včetně OpenAI Gym, jsou bezplatné a open source.