{"url":"/method/graddrop","slug":"graddrop","name":"GradDrop","full_name":"Gradient Sign Dropout","full_name_withheld":false,"description_markdown":"**GradDrop**, or **Gradient Sign Dropout**, is a probabilistic masking procedure which samples gradients at an activation layer based on their level of consistency. It is applied as a layer in any standard network forward pass, usually on the final layer before the prediction head to save on compute overhead and maximize benefits during backpropagation. Below, we develop the GradDrop formalism. Throughout, o denotes elementwise multiplication after any necessary tiling operations (if any) are completed.\r\nTo implement GradDrop, we first define the Gradient Positive Sign Purity, $\\mathcal{P}$, as\r\n\r\n$$\r\n\\mathcal{P}=\\frac{1}{2}\\left(1+\\frac{\\sum\\_{i} \\nabla L_\\{i}}{\\sum\\_{i}\\left|\\nabla L\\_{i}\\right|}\\right)\r\n$$\r\n\r\n$\\mathcal{P}$ is bounded by $[0,1] .$ For multiple gradient values $\\nabla\\_{a} L\\_{i}$ at some scalar $a$, we see that $\\mathcal{P}=0$ if $\\nabla_{a} L\\_{i}<0 $ $\\forall i$, while $\\mathcal{P}=1$ if $\\nabla\\_{a} L\\_{i}>0$ $\\forall i $. Thus, $\\mathcal{P}$ is a measure of how many positive gradients are present at any given value. We then form a mask for each gradient $\\mathcal{M}\\_{i}$ as follows:\r\n\r\n$$\r\n\\mathcal{M}\\_{i}=\\mathcal{I}[f(\\mathcal{P})>U] \\circ \\mathcal{I}\\left[\\nabla L\\_{i}>0\\right]+\\mathcal{I}[f(\\mathcal{P})<U] \\circ \\mathcal{I}\\left[\\nabla L\\_{i}<0\\right]\r\n$$\r\n\r\nfor $\\mathcal{I}$ the standard indicator function and $f$ some monotonically increasing function (often just the identity) that maps $[0,1] \\mapsto[0,1]$ and is odd around $(0.5,0.5)$. $U$ is a tensor composed of i.i.d $U(0,1)$ random variables. The $\\mathcal{M}\\_{i}$ is then used to produce a final gradient $\\sum \\mathcal{M}\\_{i} \\nabla L\\_{i}$","description_state":"present","introduced_year":null,"introduced_by":{"title":"Just Pick a Sign: Optimizing Deep Multitask Models with Gradient Sign Dropout","paper":"/paper/just-pick-a-sign-optimizing-deep-multitask","first_author":"Zhao Chen","n_authors":7,"url_abs":null,"archive_paper_url":"https://paperswithcode.com/paper/just-pick-a-sign-optimizing-deep-multitask"},"source":{"url":"https://arxiv.org/abs/2010.06808v1","title":"Just Pick a Sign: Optimizing Deep Multitask Models with Gradient Sign Dropout","url_on_a_paper_host":true},"code_snippet_url":null,"code_snippet_url_on_a_code_host":false,"categories":[{"area":"General","area_id":"general","collection":"Regularization","url":"/methods/category/regularization","pwc_aliases":[]}],"n_papers_tagged":3,"archive_num_papers":3,"papers_newest_first":[{"paper":null,"title":"Gradient Sparsification For Masked Fine-Tuning of Transformers","date":"2023-07-19","arxiv_id":"2307.10098","n_code_links":0,"syntology":null},{"paper":null,"title":"Gradient Sparsification For \\emph{Masked Fine-Tuning} of Transformers","date":"2021-11-16","arxiv_id":null,"n_code_links":0,"syntology":null},{"paper":"/paper/just-pick-a-sign-optimizing-deep-multitask","title":"Just Pick a Sign: Optimizing Deep Multitask Models with Gradient Sign Dropout","date":"2020-10-14","arxiv_id":"2010.06808","n_code_links":2,"syntology":{"ran":3,"of":6,"unverified":3,"pointer_only":6}}],"papers_shown":3,"tasks":[{"task":"/task/transfer-learning","name":"Transfer Learning","papers":3},{"task":"/task/xlm-r","name":"XLM-R","papers":1}],"tasks_shown":2,"n_tasks":2,"usage_by_year":[{"year":"2020","papers":1},{"year":"2021","papers":1},{"year":"2023","papers":1}],"row_source":"methods_table","archive":{"source":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","archive_url":"https://paperswithcode.com/method/graddrop"},"syntology_read_at":"2026-09-24T18:15:14+00:00"}