Python siūlo keletą bibliotekų, skirtų sustiprinto mokymosi (RL) ir gilaus sustiprinimo mokymosi (DRL) modeliams įdiegti. Štai keletas populiariausių ir plačiausiai naudojamų bibliotekų:
1. KerasRL:
- Aprašymas: „KerasRL“ yra gilaus mokymosi biblioteka, sukurta „Keras“ gilaus mokymosi bibliotekos viršuje. Jame pateikiamas aukšto lygio API rinkinys, skirtas stiprinti mokymosi modelius kurti ir mokyti. „KerasRL“ apima populiarių algoritmų, tokių kaip „Deep Q-Networks“ (DQN) ir „Actor-Critic“ metodų, įgyvendinimą[1][3].
- Kriterijai:
– Pažangiausi RL metodai: įdiegti algoritmai apima DQN, DDPG, CDQN, CEM ir Deep SARSA.
- Lengva pradėti: kodas gerai komentuojamas ir lengvai skaitomas, todėl jį lengva suprasti ir keisti.
- Lengva prijungti savo aplinką: nėra agnostikas OpenAI Gym, todėl kitoms aplinkoms reikia atlikti pakeitimus.
- Lengva keisti agentus: labai lengva pridėti naujų agentų.
- Bendruomenė ir atnaujinimai: aktyviai neprižiūrima.
- Tensorboard palaikymas: neįdiegta.
- Kitos funkcijos: apima vektorizuotą aplinkos sistemą[4].
2. RL_Coach:
– Aprašymas: RL_Coach yra „Intel AI Lab“ sukurta „Python RL“ sistema. Jame yra daug naujausių algoritmų ir pateikiamos lengvai naudojamos API, skirtos eksperimentuoti su naujais RL algoritmais. Komponentai yra moduliniai, todėl esamus komponentus lengva išplėsti ir naudoti pakartotinai[1].
- Kriterijai:
– Įdiegti moderniausi RL algoritmai: apima daugybę algoritmų, tokių kaip „Actor-Critic“, „ACER“, „Behavioral Cloning“ ir kt.
- Oficiali dokumentacija ir vadovėliai: yra visa dokumentacija ir vertingos mokymo programos.
- Nuskaitomas kodas: kodas yra atvirojo kodo, tačiau jame nėra komentarų, todėl tinkinti sunku.
- Palaikomų aplinkų skaičius: nenurodyta.
- Registravimo ir sekimo įrankiai: nenurodyta.
- Vektorizuota aplinka: nenurodyta.
- Reguliarūs atnaujinimai: nenurodyta[1].
3. Tensorforce:
- Aprašymas: Tensorforce yra gilaus sustiprinimo mokymosi sistema, pagrįsta TensorFlow. Jame yra vienas geriausių RL algoritmų įgyvendinimų[4].
- Kriterijai:
- Pažangiausi RL metodai: nenurodyta.
- Geri dokumentacija ir vadovėliai: nenurodyta.
- Veikia jūsų aplinkoje: nenurodyta.
- Įskaitomas kodas: nenurodyta.
- Reguliarūs atnaujinimai ir aktyvi bendruomenė: nenurodyta.
- Tensorboard palaikymas: nenurodyta.
- Kitos funkcijos: nenurodyta[4].
4. Pyqlearning:
- Aprašymas: Pyqlearning yra Python biblioteka, skirta sustiprinamajam mokymuisi ir giliam mokymuisi, ypač Q-Learning, Deep Q-Network ir kelių agentų giluminiam Q-tinklui. Jį galima optimizuoti naudojant atkaitinimo modelius, tokius kaip imituojamas atkaitinimas, adaptyvusis imituojamas atkaitinimas ir kvantinis Monte Karlo metodas[2].
- Kriterijai:
- Pažangiausi RL metodai: nenurodyta.
- Oficiali dokumentacija ir vadovėliai: nenurodyta.
- Nuskaitomas kodas: nenurodyta.
- Palaikomų aplinkų skaičius: nenurodyta.
- Registravimo ir sekimo įrankiai: nenurodyta.
- Vektorizuota aplinka: nenurodyta.
- Reguliarūs atnaujinimai: nenurodyta[2].
5. Stabilios bazinės linijos:
- Aprašymas: stabilios bazinės linijos yra galinga biblioteka, siūlanti naujausių „Python“ sustiprinimo mokymosi algoritmų rinkinį. Jis sukurtas „OpenAI Gym“ bibliotekos viršuje ir suteikia paprastą ir lengvai naudojamą API, skirtą mokymui ir sustiprinimo mokymosi agentams vertinti[3].
- Kriterijai:
– Pažangiausi RL metodai: apima populiarių algoritmų, tokių kaip A2C, TRPO ir PPO, įgyvendinimą.
- Geri dokumentacija ir vadovėliai: nenurodyta.
- Veikia jūsų aplinkoje: nenurodyta.
- Įskaitomas kodas: nenurodyta.
- Reguliarūs atnaujinimai ir aktyvi bendruomenė: nenurodyta.
- Tensorboard palaikymas: nenurodyta.
- Kitos funkcijos: nenurodyta[3].
6. Spindulys RLlib:
- Aprašymas: „Ray RLlib“ yra sustiprinimo mokymosi biblioteka, sukurta „Ray“ paskirstytos skaičiavimo sistemos viršuje. Jame pateikiamas išsamus API rinkinys, skirtas mokymosi modeliams kurti ir mokyti, įskaitant paskirstyto mokymo ir hiperparametrų derinimo palaikymą[3].
- Kriterijai:
– Pažangiausi RL metodai: apima populiarių algoritmų, tokių kaip DQN, A3C ir IMPALA, įgyvendinimą.
- Geri dokumentacija ir vadovėliai: nenurodyta.
- Veikia jūsų aplinkoje: nenurodyta.
- Įskaitomas kodas: nenurodyta.
- Reguliarūs atnaujinimai ir aktyvi bendruomenė: nenurodyta.
- Tensorboard palaikymas: nenurodyta.
- Kitos funkcijos: nenurodyta[3].
7. Dopaminas:
– Aprašymas: dopaminas yra „Google“ sukurta mokymosi biblioteka. Jis sukurtas siekiant suteikti lanksčią ir lengvai naudojamą sistemą, skirtą sustiprinimo mokymosi agentams kurti ir mokyti. Dopaminas apima populiarių algoritmų, tokių kaip DQN ir C51, įgyvendinimą, taip pat įrankius, skirtus vizualizuoti ir analizuoti sustiprinimo mokymosi eksperimentus[3].
- Kriterijai:
- Pažangiausi RL metodai: apima populiarių algoritmų įgyvendinimą.
- Geri dokumentacija ir vadovėliai: nenurodyta.
- Veikia jūsų aplinkoje: nenurodyta.
- Įskaitomas kodas: nenurodyta.
- Reguliarūs atnaujinimai ir aktyvi bendruomenė: nenurodyta.
- Tensorboard palaikymas: nenurodyta.
- Kitos funkcijos: nenurodyta[3].
8. RLkit:
- Aprašymas: RLkit yra sustiprinimo mokymosi biblioteka, kurią sukūrė Berklio dirbtinio intelekto tyrimų (BAIR) laboratorija. Jis sukurtas ant „PyTorch“ ir suteikia aukšto lygio API rinkinį, skirtą mokymosi modeliams kurti ir mokyti. RLkit apima populiarių algoritmų, tokių kaip DDPG ir SAC, įgyvendinimą, taip pat įrankius, skirtus rezultatams vizualizuoti ir analizuoti[3].
- Kriterijai:
- Pažangiausi RL metodai: apima populiarių algoritmų įgyvendinimą.
- Geri dokumentacija ir vadovėliai: nenurodyta.
- Veikia jūsų aplinkoje: nenurodyta.
- Įskaitomas kodas: nenurodyta.
- Reguliarūs atnaujinimai ir aktyvi bendruomenė: nenurodyta.
- Tensorboard palaikymas: nenurodyta.
- Kitos funkcijos: nenurodyta[3].
Kiekviena biblioteka turi savo stipriąsias ir silpnąsias puses, o pasirinkimas, kurią naudoti, priklauso nuo konkrečių jūsų projekto reikalavimų. Pavyzdžiui, jei jums reikia bibliotekos su daugybe įdiegtų algoritmų, RL_Coach gali būti geras pasirinkimas. Jei jums labiau patinka biblioteka, pastatyta ant „TensorFlow“, „Tensorforce“ gali būti tinkama. Jei naudojate biblioteką su paprasta ir lengvai naudojama API, stabilios bazinės linijos gali būti geriausias pasirinkimas[1][3][4].
Citatos:[1] https://neptune.ai/blog/the-best-tools-for-reinforcement-learning-in-python
[2] https://pypi.org/project/pyqlearning/
[3] https://www.devopsschool.com/blog/list-of-reinforcement-learning-libraries/
[4] https://blog.dataiku.com/on-choosing-a-deep-reinforcement-learning-library
[5] https://pub.towardsai.net/top-python-packages-for-studying-reinforcement-learning-e332e1c6e16a?gi=9d11806ea7b2