{"id":27721510,"url":"https://github.com/serre-lab/lens","last_synced_at":"2026-01-29T09:03:13.880Z","repository":{"id":170826944,"uuid":"646665322","full_name":"serre-lab/Lens","owner":"serre-lab","description":"LENS Project","archived":false,"fork":false,"pushed_at":"2024-02-22T15:08:17.000Z","size":398493,"stargazers_count":47,"open_issues_count":1,"forks_count":0,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-30T12:34:47.220Z","etag":null,"topics":["deep-learning","explainability","xai"],"latest_commit_sha":null,"homepage":"https://serre-lab.github.io/Lens/","language":"HTML","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/serre-lab.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}},"created_at":"2023-05-29T04:09:21.000Z","updated_at":"2025-03-07T16:04:19.000Z","dependencies_parsed_at":"2023-10-16T14:02:17.802Z","dependency_job_id":"cdd1a106-474b-420d-a9ee-f6a7c7eeda15","html_url":"https://github.com/serre-lab/Lens","commit_stats":null,"previous_names":["serre-lab/lens"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serre-lab%2FLens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serre-lab%2FLens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serre-lab%2FLens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serre-lab%2FLens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serre-lab","download_url":"https://codeload.github.com/serre-lab/Lens/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251119616,"owners_count":21539196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["deep-learning","explainability","xai"],"created_at":"2025-04-27T10:10:58.377Z","updated_at":"2026-01-29T09:03:08.834Z","avatar_url":"https://github.com/serre-lab.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e \u003cimg src=\"https://serre-lab.github.io/Lens/assets/lens.png\" width=42px\u003e LENS Project \u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Thomas Fel, Thomas Serre \u003cbr\u003e \u003csub\u003e{thomas_fel}@brown.edu \u003c/sub\u003e\n\u003c/p\u003e\n\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\nCarney Institute for Brain Science, \u003ca href=\"https://serre-lab.clps.brown.edu/\"\u003eBrown University (Providence, USA)\u003c/a\u003e, \u003cbr\u003e \n\u003ca href=\"https://deel.ai/\"\u003e DEEL\u003c/a\u003e Team - Artificial and Natural Intelligence Toulouse Institute \u003c/span\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e\u003ca href=\"https://serre-lab.github.io/Lens/classes/espresso/\"\u003e Getting Started » \u003c/a\u003e\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cdiv class=\"image-intro\"\u003e\n    \u003cimg src=\"https://serre-lab.github.io/Lens/assets/lens_intro.jpg\" width=100%\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  This project is the result of several articles, the most notable ones being \u003cbr\u003e\n  \u003ca href=\"https://arxiv.org/abs/2211.10154\" style=\"color: rgb(84, 134, 255)\"\u003e\u003cstrong\u003eCRAFT \u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://arxiv.org/abs/2306.06805\" style=\"color: rgb(62, 147, 131)\"\u003e\u003cstrong\u003eMACO \u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://arxiv.org/abs/2306.07304\" style=\"color: rgb(250, 189, 56)\"\u003e\u003cstrong\u003eHolistic\u003c/strong\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n\nThis project aims to characterize the strategies, identify key features used by state-of-the-art models trained on ImageNet, and detect biases using the latest explainability methods: Concept-based explainability, Attribution methods, and Feature Visualization. We show that these approaches, far from being antagonistic, can be complementary in helping better understand  models.\n\nThe illustrated model in this project is a ResNet50, where each class in ImageNet has its dedicated page highlighting the concepts used by the model to classify that particular class.\n\nA normalized importance score is calculated for each concept, indicating the concept's significance for the class. For example, an importance level of 0.30 means that the concept contributes 30% of the sum of logits for all points classified as that class.\n\nThe \u003ca href=\"https://serre-lab.github.io/Lens/method/\"\u003e\u003cimg src=\"https://serre-lab.github.io/Lens/assets/lens.png\" width=32px\u003e \"LENS Method\"\u003c/a\u003e page provides an introduction explaining how to interpret the results.\n\n\n## 🤝 Contributors\n\nThomas Fel developed the data and the website itself. However, the website relies on numerous published studies, with each member considered a contributor to the project.\n\n\u003ca href=\"https://arxiv.org/abs/2211.10154\" style=\"color: rgb(84, 134, 255)\"\u003e\u003cstrong\u003eCRAFT\u003c/strong\u003e\u003c/a\u003e:\nThomas Fel\u003csup\u003e⭑\u003c/sup\u003e, Agustin Picard\u003csup\u003e⭑\u003c/sup\u003e, Louis Béthune\u003csup\u003e⭑\u003c/sup\u003e, Thibaut Boissin\u003csup\u003e⭑\u003c/sup\u003e, David Vigouroux, Julien Colin, Rémi Cadène \u0026 Thomas Serre.\n\n\u003ca href=\"https://arxiv.org/abs/2306.06805\" style=\"color: rgb(62, 147, 131)\"\u003e\u003cstrong\u003eMACO\u003c/strong\u003e\u003c/a\u003e:\nThomas Fel\u003csup\u003e⭑\u003c/sup\u003e, Thibaut Boissin\u003csup\u003e⭑\u003c/sup\u003e, Victor Boutin\u003csup\u003e⭑\u003c/sup\u003e, Agustin Picard\u003csup\u003e⭑\u003c/sup\u003e, Paul Novello\u003csup\u003e⭑\u003c/sup\u003e, Julien Colin, Drew Linsley, Tom Rousseau, Rémi Cadène, Laurent Gardes \u0026 Thomas Serre.\n\n\u003ca href=\"https://arxiv.org/abs/2306.07304\" style=\"color: rgb(250, 189, 56)\"\u003e\u003cstrong\u003eHolistic\u003c/strong\u003e\u003c/a\u003e:\nThomas Fel\u003csup\u003e⭑\u003c/sup\u003e, Victor Boutin\u003csup\u003e⭑\u003c/sup\u003e, Mazda Moayeri, Rémi Cadène, Louis Béthune, Léo Andeol, Mathieu Chalvidal \u0026 Thomas Serre.\n\n## 👀 See Also:\n\nFurthermore, this work heavily builds on seminal research in explainable AI, specifically the work on concepts by Been Kim et al.[^1] and ACE[^2] for the automatic extraction of concept activation vectors (CAVs). More recently, the research on invertible concepts[^3] and their impressive human experiments.\n\nRegarding the feature visualization, this work builds on the insightful articles published by the Clarity team at OpenAI[^4], notably the groundbreaking work by Chris Olah et al[^5]. Similarly, their recent work on mechanistic interpretability[^7] and the concept of superposition[^6] has motivated us to explore dictionary learning methods.\n\nSeveral articles have greatly inspired the development of the attribution method[^11] and importance estimation, ranging from attribution metrics[^10] [^12] [^13] to more recent theoretical insights [^8] [^9].\n\n**A more comprehensive list of this foundational body of work is discussed in the three articles that form the foundation of our project.**\n\n\n\n## 🗞️ Citation\n\nIf you are using \u003cimg src=\"https://serre-lab.github.io/Lens/assets/lens.png\" width=32px\u003e LENS as part of your workflow in a scientific publication, please consider citing one of the articles we build on:\n\n```latex\n@inproceedings{fel2023craft,\n      title     = {CRAFT: Concept Recursive Activation FacTorization for Explainability},\n      author    = {Thomas Fel and Agustin Picard and Louis Bethune and Thibaut Boissin\n                  and David Vigouroux and Julien Colin and Rémi Cadène and Thomas Serre},\n      year      = {2023},\n      booktitle = {Proceedings of the IEEE Conference on Computer Vision and \n                   Pattern Recognition (CVPR)},\n}\n```\n```latex\n@article{fel2023holistic,\n  title         = {A Holistic Approach to Unifying Automatic Concept Extraction \n                  and Concept Importance Estimation},\n  author        = {Thomas Fel and Victor Boutin and Mazda Moayeri and Rémi Cadène and Louis Bethune\n                  and Léo andéol and Mathieu Chalvidal and Thomas Serre},\n  journal       = {arXiv preprint arXiv:2306.07304},\n  year          = {2023}\n}\n```\n```latex\n@article{fel2023unlocking,\n  title         = {Unlocking Feature Visualization for Deeper Networks with \n                  MAgnitude Constrained Optimization},\n  author        = {Thomas Fel and Thibaut Boissin and Victor Boutin and Agustin Picard and\n                  Paul Novello and Julien Colin and Drew Linsley and Tom Rousseau and\n                  Rémi Cadène and Laurent Gardes, Thomas Serre},\n  journal       = {arXiv preprint arXiv:2306.06805},\n  year          = {2023}\n}\n```\n\n## 📝 License\n\nThe package is released under \u003ca href=\"https://choosealicense.com/licenses/mit\"\u003e MIT license\u003c/a\u003e.\n\n\n[^1]: [Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV) (2018).](https://arxiv.org/abs/1711.11279)\n[^2]: [Towards Automatic Concept-based Explanations (ACE) (2019).](https://arxiv.org/abs/1902.03129)\n[^3]: [Invertible Concept-based Explanations for CNN Models with Non-negative Concept Activation Vectors (2021).](https://arxiv.org/abs/2006.15417)\n[^4]: [Thread: Circuits: What can we learn if we invest heavily in reverse engineering a single neural network? (2020).](https://distill.pub/2020/circuits/)\n[^5]: [Feature Visualization: How neural networks build up their understanding of images (2017).](https://distill.pub/2017/feature-visualization/)\n[^6]: [Toy Models of Superposition (2022).](https://transformer-circuits.pub/2022/toy_model/index.html)\n[^7]: [Progress measures for Grokking via Mechanistic Interpretability (2023).](https://arxiv.org/pdf/2301.05217.pdf)\n[^8]: [Which explanation should i choose? a function approximation perspective to characterizing post hoc explanations.](https://arxiv.org/pdf/2206.01254.pdf)\n[^9]: [Towards the Unification and Robustness of Perturbation and Gradient Based Explanations.](http://proceedings.mlr.press/v139/agarwal21c/agarwal21c.pdf)\n[^10]: [Towards Faithfully Interpretable NLP Systems: How Should We Define and Evaluate Faithfulness?](https://aclanthology.org/2020.acl-main.386.pdf)\n[^11]: [Interpretable Explanations of Black Boxes by Meaningful Perturbation](https://arxiv.org/abs/1704.03296)\n[^12]: [On the (In)fidelity and Sensitivity of Explanations](https://proceedings.neurips.cc/paper_files/paper/2019/file/a7471fdc77b3435276507cc8f2dc2569-Paper.pdf)\n[^13]: [Evaluating and Aggregating Feature-based Model Explanation](https://arxiv.org/pdf/2005.00631.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserre-lab%2Flens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserre-lab%2Flens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserre-lab%2Flens/lists"}