Soft Actor Critic - Pytorch
Project description
SAC (Soft Actor Critic) - Pytorch
Implementation of Soft Actor Critic and some of its improvements in Pytorch. Interest comes from watching this lecture
Update: I no longer believe in Q-learning as a base technique (it does alright for finetuning policies trained with other methods, but alone is insufficient).
Will place my bets on contrastive RL instead
import torch
from SAC_pytorch import (
SAC,
Actor,
Critic,
MultipleCritics
)
critic1 = Critic(
dim_state = 5,
num_cont_actions = 2,
num_discrete_actions = (5, 5),
dim_out = 3
)
critic2 = Critic(
dim_state = 5,
num_cont_actions = 2,
num_discrete_actions = (5, 5),
dim_out = 3
)
actor = Actor(
dim_state = 5,
num_cont_actions = 2,
num_discrete_actions = (5, 5)
)
agent = SAC(
actor = actor,
critics = [critic1, critic2],
quantiled_critics = True
)
state = torch.randn(3, 5)
cont_actions, cont_logprob, discrete, discrete_logprob = actor(state, sample = True)
agent(
states = state,
cont_actions = cont_actions,
discrete_actions = discrete,
rewards = torch.randn(1),
done = torch.zeros(1).bool(),
next_states = state + 1
)
Citations
@article{Haarnoja2018SoftAA,
title = {Soft Actor-Critic Algorithms and Applications},
author = {Tuomas Haarnoja and Aurick Zhou and Kristian Hartikainen and G. Tucker and Sehoon Ha and Jie Tan and Vikash Kumar and Henry Zhu and Abhishek Gupta and P. Abbeel and Sergey Levine},
journal = {ArXiv},
year = {2018},
volume = {abs/1812.05905},
url = {https://api.semanticscholar.org/CorpusID:55703664}
}
@article{Hiraoka2021DropoutQF,
title = {Dropout Q-Functions for Doubly Efficient Reinforcement Learning},
author = {Takuya Hiraoka and Takahisa Imagawa and Taisei Hashimoto and Takashi Onishi and Yoshimasa Tsuruoka},
journal = {ArXiv},
year = {2021},
volume = {abs/2110.02034},
url = {https://api.semanticscholar.org/CorpusID:238353966}
}
@inproceedings{ObandoCeron2024MixturesOE,
title = {Mixtures of Experts Unlock Parameter Scaling for Deep RL},
author = {Johan S. Obando-Ceron and Ghada Sokar and Timon Willi and Clare Lyle and Jesse Farebrother and Jakob Foerster and Gintare Karolina Dziugaite and Doina Precup and Pablo Samuel Castro},
year = {2024},
url = {https://api.semanticscholar.org/CorpusID:267637059}
}
@inproceedings{Kumar2023MaintainingPI,
title = {Maintaining Plasticity in Continual Learning via Regenerative Regularization},
author = {Saurabh Kumar and Henrik Marklund and Benjamin Van Roy},
year = {2023},
url = {https://api.semanticscholar.org/CorpusID:261076021}
}
@inproceedings{Kuznetsov2020ControllingOB,
title = {Controlling Overestimation Bias with Truncated Mixture of Continuous Distributional Quantile Critics},
author = {Arsenii Kuznetsov and Pavel Shvechikov and Alexander Grishin and Dmitry P. Vetrov},
booktitle = {International Conference on Machine Learning},
year = {2020},
url = {https://api.semanticscholar.org/CorpusID:218581840}
}
@article{Zagoruyko2017DiracNetsTV,
title = {DiracNets: Training Very Deep Neural Networks Without Skip-Connections},
author={Sergey Zagoruyko and Nikos Komodakis},
journal = {ArXiv},
year = {2017},
volume = {abs/1706.00388},
url = {https://api.semanticscholar.org/CorpusID:1086822}
}
@article{Abbas2023LossOP,
title = {Loss of Plasticity in Continual Deep Reinforcement Learning},
author = {Zaheer Abbas and Rosie Zhao and Joseph Modayil and Adam White and Marlos C. Machado},
journal = {ArXiv},
year = {2023},
volume = {abs/2303.07507},
url = {https://api.semanticscholar.org/CorpusID:257504763}
}
@article{Zhang2024ReLU2WD,
title = {ReLU2 Wins: Discovering Efficient Activation Functions for Sparse LLMs},
author = {Zhengyan Zhang and Yixin Song and Guanghui Yu and Xu Han and Yankai Lin and Chaojun Xiao and Chenyang Song and Zhiyuan Liu and Zeyu Mi and Maosong Sun},
journal = {ArXiv},
year = {2024},
volume = {abs/2402.03804},
url = {https://api.semanticscholar.org/CorpusID:267499856}
}
@inproceedings{Lee2024SimBaSB,
title = {SimBa: Simplicity Bias for Scaling Up Parameters in Deep Reinforcement Learning},
author = {Hojoon Lee and Dongyoon Hwang and Donghu Kim and Hyunseung Kim and Jun Jet Tai and Kaushik Subramanian and Peter R. Wurman and Jaegul Choo and Peter Stone and Takuma Seno},
year = {2024},
url = {https://api.semanticscholar.org/CorpusID:273346233}
}
@article{Farebrother2024StopRT,
title = {Stop Regressing: Training Value Functions via Classification for Scalable Deep RL},
author = {Jesse Farebrother and Jordi Orbay and Quan Ho Vuong and Adrien Ali Taiga and Yevgen Chebotar and Ted Xiao and Alex Irpan and Sergey Levine and Pablo Samuel Castro and Aleksandra Faust and Aviral Kumar and Rishabh Agarwal},
journal = {ArXiv},
year = {2024},
volume = {abs/2403.03950},
url = {https://api.semanticscholar.org/CorpusID:268253088}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sac_pytorch-0.0.18.tar.gz.
File metadata
- Download URL: sac_pytorch-0.0.18.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53bea7c9ab7a52a789abe38eea55fed1586d260e115b2357323628fd355c326f
|
|
| MD5 |
fc8b59d7a5ff41ea74312ad2859cc930
|
|
| BLAKE2b-256 |
2d34504814ff300f6c45f0276b696c96500c823454bf8b7f0e81795b080c0014
|
File details
Details for the file sac_pytorch-0.0.18-py3-none-any.whl.
File metadata
- Download URL: sac_pytorch-0.0.18-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
964bcc6e8405485822fc40ef20286b0f52ef607893428b1ea03cdd9a07a1a17b
|
|
| MD5 |
cc510b4c5b7f69d3d6ee2fefc912218b
|
|
| BLAKE2b-256 |
7e1cbaea5055dbf0c70761a4b09921f5409442acf67b5c05d08eefe89fe34e45
|