{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/unsupervised-state-representation-learning-in","title":"Unsupervised State Representation Learning in Atari","arxiv_id":"1906.08226","date":"2019-06-19","proceeding":"NeurIPS 2019 12","authors":["Ankesh Anand","Evan Racah","Sherjil Ozair","Yoshua Bengio","Marc-Alexandre Côté","R. Devon Hjelm"],"abstract":"State representation learning, or the ability to capture latent generative factors of an environment, is crucial for building intelligent agents that can perform a wide variety of tasks. Learning such representations without supervision from rewards is a challenging open problem. We introduce a method that learns state representations by maximizing mutual information across spatially and temporally distinct features of a neural encoder of the observations. We also introduce a new benchmark based on Atari 2600 games where we evaluate representations based on how well they capture the ground truth state variables. We believe this new framework for evaluating representation learning models will be crucial for future representation learning research. Finally, we compare our technique with other state-of-the-art generative and contrastive representation learning methods. The code associated with this work is available at https://github.com/mila-iqia/atari-representation-learning","url_abs":"https://arxiv.org/abs/1906.08226v6","url_pdf":"https://arxiv.org/pdf/1906.08226v6.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/mila-iqia/atari-representation-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/GabrielAlacchi/atari-ari-extensions","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/ankeshanand/atari-representation-learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/k4ntz/oc_atari","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/mengli11235/dim-ua","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/mengli11235/mst_dim","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unsupervised-state-representation-learning-in","repo_url":"https://github.com/opendilab/DI-engine","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"atari-games","task_name":"Atari Games"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[{"slug":"atariari","name":"AtariARI","full_name":"Atari Annotated RAM Interface"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1906.08226","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.08226"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ankeshanand/atari-representation-learning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mila-iqia/atari-representation-learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/GabrielAlacchi/atari-ari-extensions","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/opendilab/DI-engine","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mengli11235/dim-ua","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/k4ntz/oc_atari","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mengli11235/mst_dim","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":2,"ran_fixture":1,"unverified":7},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":9,"ran":3,"repositories":3}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"33a582f5c65e69d0","entry":"calculate_accuracy","repo":"mengli11235/dim-ua","repo_kind":"listed","path":"atariari/methods/utils.py","file_url":"https://github.com/mengli11235/dim-ua/blob/HEAD/atariari/methods/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"33a582f5c65e69d0"}},{"code_sha256_prefix":"ac47f2a9466c063d","entry":"calculate_multiclass_accuracy","repo":"mengli11235/dim-ua","repo_kind":"listed","path":"atariari/methods/utils.py","file_url":"https://github.com/mengli11235/dim-ua/blob/HEAD/atariari/methods/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac47f2a9466c063d"}},{"code_sha256_prefix":"729c53ca6081bb07","entry":"calculate_multiclass_f1_score","repo":"mengli11235/dim-ua","repo_kind":"listed","path":"atariari/methods/utils.py","file_url":"https://github.com/mengli11235/dim-ua/blob/HEAD/atariari/methods/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"729c53ca6081bb07"}},{"code_sha256_prefix":"6aff48ec0d1463e1","entry":"compute_cov_a","repo":"mengli11235/mst_dim","repo_kind":"listed","path":"a2c_ppo_acktr/algo/kfac.py","file_url":"https://github.com/mengli11235/mst_dim/blob/HEAD/a2c_ppo_acktr/algo/kfac.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6aff48ec0d1463e1"}},{"code_sha256_prefix":"d9fd61d47e236b09","entry":"compute_cov_g","repo":"mengli11235/mst_dim","repo_kind":"listed","path":"a2c_ppo_acktr/algo/kfac.py","file_url":"https://github.com/mengli11235/mst_dim/blob/HEAD/a2c_ppo_acktr/algo/kfac.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9fd61d47e236b09"}},{"code_sha256_prefix":"7c1ee3a75ad60f87","entry":"find_checkpoint","repo":"mengli11235/mst_dim","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/mengli11235/mst_dim/blob/HEAD/visualize.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7c1ee3a75ad60f87"}},{"code_sha256_prefix":"78832d905c5c1834","entry":"majority_baseline","repo":"ankeshanand/atari-representation-learning","repo_kind":"listed","path":"atariari/methods/majority.py","file_url":"https://github.com/ankeshanand/atari-representation-learning/blob/HEAD/atariari/methods/majority.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"78832d905c5c1834"}},{"code_sha256_prefix":"030e6f81007d1713","entry":"ram2label","repo":"mila-iqia/atari-representation-learning","repo_kind":"official","path":"atariari/benchmark/wrapper.py","file_url":"https://github.com/mila-iqia/atari-representation-learning/blob/HEAD/atariari/benchmark/wrapper.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"030e6f81007d1713"}},{"code_sha256_prefix":"8c0759e56e428dd0","entry":"summarize","repo":"mengli11235/mst_dim","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/mengli11235/mst_dim/blob/HEAD/visualize.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c0759e56e428dd0"}},{"code_sha256_prefix":"eb759f58e5c72c18","entry":"summarize_by_cat","repo":"mengli11235/mst_dim","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/mengli11235/mst_dim/blob/HEAD/visualize.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb759f58e5c72c18"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}