Implementimi i Përforcimit (PG) me TensorFlow 2.x

Në këtë artikull, ne do të përpiqemi të kuptojmë konceptin që qëndron pas algoritmit të Gradientit të Politikave të quajtur Reinforce. Dhe më pas do të shikojmë kodin për algoritmet në TensorFlow 2.x. Le të shohim së pari se çfarë është Gradienti i Politikës dhe më pas do të shikojmë një metodë specifike të Gradientit të Politikës, e quajtur Reinforce.

Çfarë/Pse Gradient i Politikës?

Deri më tani, ne po mësonim vlerat Q për çiftet e veprimit të gjendjes. Në vend që të mësojnë vlerat Q dhe më pas të gjejnë një politikë, algoritmet e Gradientit të Politikave mësojnë drejtpërdrejt një politikë. Por pse? le ta zbulojmë

  1. Politika e të mësuarit rezulton në konvergjencë më të mirë duke ndjekur gradientin. Ndërsa metodat e bazuara në vlerë mund të kenë një ndryshim të madh në përzgjedhjen e veprimeve të tyre edhe me një ndryshim të vogël në vlerësimin e vlerës.
  2. Këto algoritme janë të dobishme me një numër të madh veprimesh si dronë automatikë fluturues ose makina vetë-drejtuese.
  3. Mund të mësojë politikën stokastike.

Algoritmi dhe zbatimi

Reinforce është një metodë e Gradientit të Politikës Monte Carlo e cila kryen përditësimin e saj pas çdo episodi. Rrjeti ynë nervor merr gjendjen aktuale si hyrje dhe nxjerr probabilitete për të gjitha veprimet. Ne mund të optimizojmë politikën tonë për të zgjedhur veprime më të mira në një gjendje duke rregulluar peshat e rrjetit tonë të agjentëve. Këto pesha rregullohen duke kryer Ngjitje të Gradientit në funksionin tonë objektiv.

Le të shohim kodin.

Rrjeti nervor:

Modeli ynë zbatohet si më poshtë. Ju lutem vini re shtresa e fundit përmban softmax aktivizimi, i cili nxjerr probabilitete për çdo veprim.

Zgjedhja e veprimit:

  1. Merrni probabilitetet e parashikuara sipas grupit të gjendjes së hyrjes NumPy.
  2. Ne përdorim bibliotekën e probabilitetit TensorFlow për t'i kthyer probabilitetet tona në një shpërndarje.
  3. Pastaj marrim mostrën e veprimit nga shpërndarja.
  4. Pastaj kthehemi në veprim si numër i plotë.

Së pari, le t'i hedhim një vështrim trajnimit kryesor për ta kuptuar më mirë.

Cikli kryesor i trajnimit:

  1. Ne kemi mbajtur tre lista që mbajnë shënime për gjendjen, shpërblimin, veprimin.
  2. Modelja stërvitet pas çdo episodi.

Funksioni i mësimit:

  1. Ky funksion merr listën e gjendjeve, veprimeve dhe shpërblimeve si argumente.
  2. Ne do të kthehemi nga elementi i fundit në listën e shpërblimeve.
  3. Më pas do të llogarisim shpërblimin kumulativ të pritur për çdo shtet ashtu siç bëjmë në metodën Tabular Monte Carlo.
  4. Më pas kemi llogaritur gradientin e humbjes dhe aplikojmë optimizuesin.

Funksioni i humbjes:

  1. Humbja është negative e probabilitetit log të veprimit të zgjedhur shumëzuar me shpërblimin e zbritur nga ajo gjendje.
  2. Ju lutemi vini re se shenja negative këtu nënkupton që ne po kryejmë ngjitje gradient.

Kjo është e gjitha për kodin, kodin e plotë mund ta gjeni këtu. le të diskutojmë disa disavantazhe të gradientit të politikave.

Disavantazhet:

  1. Shumicën e kohës, Gradienti i Politikave konvergjon në maksimum lokal.
  2. Metodat e gradientit të politikave kërkojnë një kohë të gjatë në trajnim.

Pra, kjo përfundon këtë artikull. Faleminderit që lexuat, shpresoj që të kënaqeni dhe keni qenë në gjendje të kuptoni atë që doja të shpjegoja. Shpresoj të lexoni artikujt e mi të ardhshëm. Hari Om…🙏

Referencat: