{"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/sparse-and-continuous-attention-mechanisms","title":"Sparse and Continuous Attention Mechanisms","arxiv_id":"2006.07214","date":"2020-06-12","proceeding":"NeurIPS 2020 12","authors":["André F. T. Martins","António Farinhas","Marcos Treviso","Vlad Niculae","Pedro M. Q. Aguiar","Mário A. T. Figueiredo"],"abstract":"Exponential families are widely used in machine learning; they include many distributions in continuous and discrete domains (e.g., Gaussian, Dirichlet, Poisson, and categorical distributions via the softmax transformation). Distributions in each of these families have fixed support. In contrast, for finite domains, there has been recent work on sparse alternatives to softmax (e.g. sparsemax and alpha-entmax), which have varying support, being able to assign zero probability to irrelevant categories. This paper expands that work in two directions: first, we extend alpha-entmax to continuous domains, revealing a link with Tsallis statistics and deformed exponential families. Second, we introduce continuous-domain attention mechanisms, deriving efficient gradient backpropagation algorithms for alpha in {1,2}. Experiments on attention-based text classification, machine translation, and visual question answering illustrate the use of continuous attention in 1D and 2D, showing that it allows attending to time intervals and compact regions.","url_abs":"https://arxiv.org/abs/2006.07214v3","url_pdf":"https://arxiv.org/pdf/2006.07214v3.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":"sparse-and-continuous-attention-mechanisms","repo_url":"https://github.com/deep-spin/mcan-vqa-continuous-attention","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"sparse-and-continuous-attention-mechanisms","repo_url":"https://github.com/deep-spin/quati","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"text-classification","task_name":"Text Classification"},{"task_slug":"translation","task_name":"Translation"},{"task_slug":"visual-question-answering-1","task_name":"Visual Question Answering"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"},{"task_slug":"text-classification-1","task_name":"text-classification"}],"methods":[{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"sparsemax","method_name":"Sparsemax"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-question-answering-on-vqa-v2-test-dev","task":"Visual Question Answering (VQA)","dataset":"VQA v2 test-dev","model":"2D continuous softmax","rank_in_archive_order":41,"of":56,"metrics":{"Accuracy":"65.96"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-on-vqa-v2-test-std","task":"Visual Question Answering (VQA)","dataset":"VQA v2 test-std","model":"2D continuous softmax","rank_in_archive_order":35,"of":38,"metrics":{"overall":"66.27"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.07214","atlas_url":"https://app.syntology.ai/?focus=2006.07214","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.07214"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/deep-spin/mcan-vqa-continuous-attention","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deep-spin/quati","reach":null}],"summary":{"ran":9,"ran_draft_wrong":3,"unverified":3},"by_repo_kind":{"official":{"samples":2,"ran":0,"repositories":1},"listed":{"samples":13,"ran":12,"repositories":1}},"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":2,"samples":[{"code_sha256_prefix":"544ace0143134f21","entry":"BasisFunctions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"544ace0143134f21"}},{"code_sha256_prefix":"88d5d46a3e9f268f","entry":"ContinuousSoftmax","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"88d5d46a3e9f268f"}},{"code_sha256_prefix":"2abd421a2409332c","entry":"ContinuousSoftmaxFunction","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2abd421a2409332c"}},{"code_sha256_prefix":"91ec632f03a8f06b","entry":"ContinuousSparsemax","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"91ec632f03a8f06b"}},{"code_sha256_prefix":"45b9c83a5ff5f057","entry":"ContinuousSparsemaxFunction","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"45b9c83a5ff5f057"}},{"code_sha256_prefix":"0513653665d957f6","entry":"CosineBasisFunctions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0513653665d957f6"}},{"code_sha256_prefix":"d4a4993b0f77f70a","entry":"GaussianBasisFunctions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d4a4993b0f77f70a"}},{"code_sha256_prefix":"af4a48bd715bb239","entry":"PowerBasisFunctions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"af4a48bd715bb239"}},{"code_sha256_prefix":"a041cde2266ca5ff","entry":"SineBasisFunctions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a041cde2266ca5ff"}},{"code_sha256_prefix":"b2b0552bda1b4c2d","entry":"add_gaussian_basis_functions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b2b0552bda1b4c2d"}},{"code_sha256_prefix":"4500f4cfd4afb4ee","entry":"add_power_basis_functions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4500f4cfd4afb4ee"}},{"code_sha256_prefix":"7811322c90f19d30","entry":"add_wave_basis_functions","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7811322c90f19d30"}},{"code_sha256_prefix":"7bc1d8632d6b41c5","entry":"ContinuousAttention","repo":"deep-spin/quati","repo_kind":"listed","path":"quati/modules/continuous_attention.py","file_url":"https://github.com/deep-spin/quati/blob/HEAD/quati/modules/continuous_attention.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":"7bc1d8632d6b41c5"}},{"code_sha256_prefix":"4d564215130f97e9","entry":"ContinuousSparsemax","repo":"deep-spin/mcan-vqa-continuous-attention","repo_kind":"official","path":"core/model/continuous_sparsemax.py","file_url":"https://github.com/deep-spin/mcan-vqa-continuous-attention/blob/HEAD/core/model/continuous_sparsemax.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4d564215130f97e9"}},{"code_sha256_prefix":"dc6bd3d88b59cbda","entry":"ContinuousSparsemaxFunction","repo":"deep-spin/mcan-vqa-continuous-attention","repo_kind":"official","path":"core/model/continuous_sparsemax.py","file_url":"https://github.com/deep-spin/mcan-vqa-continuous-attention/blob/HEAD/core/model/continuous_sparsemax.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc6bd3d88b59cbda"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}