Contrastive RL
Project description
contrastive-rl
For following a new line of research that started in 2022 from Eysenbach et al.
This is important not because of contrastive learning, but because it happens to be a special case where the RL and SSL algorithm is one. It reveals how "traditional" RL is unable to build up representations alone.
Update: Finally seeing it, at about 3-4k steps
install
$ pip install contrastive-rl-pytorch
usage
import torch
from contrastive_rl_pytorch import ContrastiveRLTrainer
from x_mlps_pytorch import ResidualNormedMLP # https://arxiv.org/abs/2503.14858
encoder = ResidualNormedMLP(dim = 256, dim_in = 16, dim_out = 128)
trainer = ContrastiveRLTrainer(encoder)
trajectories = torch.randn(256, 512, 16)
trainer(trajectories, 100)
# train for 100 steps and save
torch.save(encoder.state_dict(), './trained.pt')
quick test
make sure uv is installed pip install uv
then
$ uv run train_lunar.py
citations
@misc{eysenbach2023contrastivelearninggoalconditionedreinforcement,
title = {Contrastive Learning as Goal-Conditioned Reinforcement Learning},
author = {Benjamin Eysenbach and Tianjun Zhang and Ruslan Salakhutdinov and Sergey Levine},
year = {2023},
eprint = {2206.07568},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2206.07568},
}
@misc{ziarko2025contrastiverepresentationstemporalreasoning,
title = {Contrastive Representations for Temporal Reasoning},
author = {Alicja Ziarko and Michal Bortkiewicz and Michal Zawalski and Benjamin Eysenbach and Piotr Milos},
year = {2025},
eprint = {2508.13113},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2508.13113},
}
@inproceedings{anonymous2025hierarchical,
title = {Hierarchical Contrastive Reinforcement Learning: learn representation more suitable for {RL} environments},
author = {Anonymous},
booktitle = {Submitted to The Fourteenth International Conference on Learning Representations},
year = {2025},
url = {https://openreview.net/forum?id=rTCSFOzVcK},
note = {under review}
}
@misc{liu2024singlegoalneedskills,
title = {A Single Goal is All You Need: Skills and Exploration Emerge from Contrastive RL without Rewards, Demonstrations, or Subgoals},
author = {Grace Liu and Michael Tang and Benjamin Eysenbach},
year = {2024},
eprint = {2408.05804},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2408.05804},
}
@inproceedings{anonymous2025demystifying,
title = {Demystifying Emergent Exploration in Goal-Conditioned {RL}},
author = {Anonymous},
booktitle = {Submitted to The Fourteenth International Conference on Learning Representations},
year = {2025},
url = {https://openreview.net/forum?id=mwgYORsqtv},
note = {under review}
}
@inproceedings{wang2025,
title = {1000 Layer Networks for Self-Supervised {RL}: Scaling Depth Can Enable New Goal-Reaching Capabilities},
author = {Kevin Wang and Ishaan Javali and Micha{\l} Bortkiewicz and Tomasz Trzcinski and Benjamin Eysenbach},
booktitle = {The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year = {2025},
url = {https://openreview.net/forum?id=s0JVsx3bx1}
}
@misc{nimonkar2025selfsupervisedgoalreachingresultsmultiagent,
title = {Self-Supervised Goal-Reaching Results in Multi-Agent Cooperation and Exploration},
author = {Chirayu Nimonkar and Shlok Shah and Catherine Ji and Benjamin Eysenbach},
year = {2025},
eprint = {2509.10656},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2509.10656},
}
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 contrastive_rl_pytorch-0.0.24.tar.gz.
File metadata
- Download URL: contrastive_rl_pytorch-0.0.24.tar.gz
- Upload date:
- Size: 375.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d492044cf70883bc30baa24f138376b5dfc1ed41a373d8f4433f81ad305ad4ca
|
|
| MD5 |
dca260181dfefcbb109ca9833d0e8a50
|
|
| BLAKE2b-256 |
a34b8b8249dd09fc7af96bc412aedb9752ba76dce49ae1a47abd5ee6037469b0
|
File details
Details for the file contrastive_rl_pytorch-0.0.24-py3-none-any.whl.
File metadata
- Download URL: contrastive_rl_pytorch-0.0.24-py3-none-any.whl
- Upload date:
- Size: 4.3 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 |
84494b1ff9abc342a21b9b8b79649a4d02f3c2ce3f2073b8d32ce55f14d5f8d7
|
|
| MD5 |
2b0212c607c3608fa5741f848a5cfe44
|
|
| BLAKE2b-256 |
bbde8e88299ebac71a1b977f0a46dae7aaca064d40f06686a91097c366aa97e7
|