Nakon više od 2 mjeseca bez objave, vratio sam se! Sada, želim s vama podijeliti svoja posljednja iskustva studiranja Učenje s pojačanjem i rješavanje nekih problema.
Prvi algoritam za svakog početnika u Učenje s pojačanjem obično jest Q-učenje , i zašto? Zato što je to vrlo jednostavan algoritam, lako razumljiv i moćan za mnoge probleme!
U ovom ćemo postu zajedno izgraditi a agent igrati Taksi-V 3 igra od OpenAI teretana samo koristeći numpy i nekoliko redaka koda. Nakon ovog članka moći ćete se prijaviti Q-učenje za rješavanje drugih problema u različitim okruženjima.
Ali prvo moramo razumjeti što jest Učenje s pojačanjem ?
Kao što sam rekao prije, Q-učenje je algoritam koji je vrlo jednostavan za razumijevanje i vrlo se preporučuje početnicima u učenju pojačanja, jer je moćan i može se primijeniti u nekoliko redaka koda.
Uglavnom u Q-učenje , naš stvaramo tablicu s radnjama i stanjima, tzv Q-Tablica . Ova tablica će pomoći našem agentu da poduzme najbolje korake u ovom trenutku. Tablica izgleda ovako:
Q-Tablica
Ali na početku ovu tablicu započinjemo s 0 u svim vrijednostima. Ideja je ostaviti agenta da istražuje okolinu poduzimajući nasumične radnje i nakon toga iskoristiti nagrade dobivene od tih radnji za popunjavanje tablice, ovo je Istraživanje .
Nakon toga započinjemo s iskorištavanjem, gdje agent koristi tablicu za poduzimanje radnji koje će mu maksimizirati buduću nagradu. Ali u eksploataciji, Q-tablica se i dalje mijenja sa stanjima, dobra radnja u nekom stanju nije neophodna bit će dobra radnja u drugom stanju.
Za odlučivanje o radnji za maksimiziranje buduće nagrade koristimo formulu u nastavku
Nakon toga naš agent će dobiti nagradu od okoline, koja može biti negativna ili pozitivna. I upotrijebit ćemo formulu u nastavku za ažuriranje naše Q-tablice:
Ovako je Q-učenje Algoritam radi, zapamtite tok:
medij.com
Učenje za pojačanje: korištenje Q-učenja za vožnju taksija!
Nakon više od 2 mjeseca bez objave, vratio sam se! Sada, želim s vama podijeliti svoja posljednja iskustva proučavanja učenja s potkrepljenjem.>
Vidi Također:
- Kako poslati e -poštu pomoću Gmail SMTP -a u Node.js
- Implementirajte Rustov tip rezultata u TypeScript sa samo 7 redaka koda
- Kako povezati Ruby on Rails API, PostgreSQL i Heroku
- Dodajte git oznake i određivanje verzija za označavanje implementacija u Azure DevOps Pipelines
- Proširenje nabrajanja u Javi