{"id":29777394,"url":"https://github.com/deezer/vmf-glove","last_synced_at":"2026-02-14T07:02:27.353Z","repository":{"id":304089186,"uuid":"958566714","full_name":"deezer/vMF-GloVe","owner":"deezer","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-01T12:10:09.000Z","size":278,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-27T11:14:38.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deezer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-01T12:08:03.000Z","updated_at":"2025-04-21T07:11:15.000Z","dependencies_parsed_at":"2025-07-11T07:23:45.610Z","dependency_job_id":"8d4ebc49-872c-403a-92a6-d0903d3ab596","html_url":"https://github.com/deezer/vMF-GloVe","commit_stats":null,"previous_names":["deezer/vmf-glove"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deezer/vMF-GloVe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2FvMF-GloVe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2FvMF-GloVe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2FvMF-GloVe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2FvMF-GloVe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deezer","download_url":"https://codeload.github.com/deezer/vMF-GloVe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deezer%2FvMF-GloVe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-27T11:04:32.654Z","updated_at":"2026-02-14T07:02:27.316Z","avatar_url":"https://github.com/deezer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# von Mises-Fisher Sampling of GloVe Vectors\n\nRepository for the paper \"von Mises-Fisher Sampling of GloVe Vectors\" by W. Bendada, G. Salha-Galvan, R. Hennequin, T. Bontempelli, T. Bouabça and T. Cazenave, presented at the FPI workshop of ICLR 2025.\n\n## Introduction\n\nWe recently introduced, in [1], von Mises-Fisher exploration (vMF-exp), a scalable sampling method for exploring large action sets in reinforcement learning problems where hyperspherical embedding vectors represent these actions.\nIn this prior work, we demonstrated that vMF-exp scales to millions of actions\nand exhibits several desirable properties. However, we did not test vMF-exp on publicly available\nreal-world data, which is essential for reproducibility and deeper understanding of the method.\n\n\nWe address this limitation by experimentally validating the main properties of vMF-exp on\na large-scale, publicly available real-world dataset of GloVe word embedding vectors. The purpose of this paper is to provide a\nfresh perspective on our initial work, with reinforced validation. \n\n## Download data\n\nThe GloVe word embedding dataset used in our experiments is publicly available for\ndownload at: [https://nlp.stanford.edu/projects/glove/](https://nlp.stanford.edu/projects/glove/)\n\nExperiences were run using the 25-dimensional embedding vectors (GloVe-25).\n\nAfter downloading the correct file, unzip it and place it in a folder named `dataset`.\n\n## Compute probabilities for a given set of parameters\n\nThe script `compute_probas.py` will run Monte Carlo simulations estimating the probability for von Mises-Fisher exploration and Boltzmann exploration to sample an action with known similarity given a state vector.\n\nAll vectors are sampled from the GloVe-25 dataset previously downloaded. The result can then be plotted using `plot_probas.py`.\n\nFor instance, to reproduce **Figure 2.a**, one can run the following command:\n\n```\npython -m src.compute_probas -k 1 -a 0.0 -n glove.25 -bs 3000 -nt 10000\n```\nwhich will run the corresponding Monte Carlo Simulations, followed by the command:\n```\npython -m src.plot_probas --path results/glove.25/k\\=1.0_a\\=0.00_samples\\=30000000/\n```\nwhich will create a plot similar to the following one:\n\n![alt text](resources/plot_0.0.png)\n\nand saved in a sub-folder of `/results/` named according to the chosen parameters.\n\n\n## Compare Boltzmann and von-Mises Fisher Explorations for a range of values\n\nThe script `compare_boltzmann_vs_vmf.py` will reproduce **Figure 1.a** and **Figure 1.b** for a specified range of values of \u003cV,A\u003e that must first be computed using `compute_probas.py` with changing values of a (see above).\n\nFor instance, running `compute_probas.py`  several times with values of a in [0.9,0.3,0.0,-0.3,-0.9] and then running:\n\n```\npython -m src.compare_boltzmann_vs_vmf --values 0.9,0.3,0.0,-0.3,-0.9\n```\n\nwill create the following two plots:\n\n![alt text](resources/boltzmann_plot.png)\n![alt text](resources/vmf_plot.png)\n\n## References\n\n[1] Bendada et al., vMF-exp: von Mises-Fisher Exploration of Large Action Sets with Hyperspherical Embeddings, 2024","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeezer%2Fvmf-glove","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeezer%2Fvmf-glove","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeezer%2Fvmf-glove/lists"}