PerNodeDrop: A Practical and Efficient Alternative to DropConnect:- – Exploring Node-Owned Stochasticity #23237
geleshChrsitUniversity
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
PerNodeDrop — a per-sample, per-node stochastic regularizer (Keras 3 layer)
Idea # 23090
Hi everyone! Sharing a small regularization technique I've been working on, along with a Keras-native layer implementation.
The idea
Standard noise-based regularizers like Dropout and DropConnect inject stochastic perturbations during training, but the noise is typically uniform across a layer or across a batch of samples. That uniformity suppresses both harmful and beneficial co-adaptation between neurons — which can leave useful, fine-grained feature interactions on the table.
PerNodeDrop applies perturbations at a finer grain: per-sample, per-node, rather than per-batch or per-layer. Each node experiences input-specific variability, so the model can retain useful co-adaptation while still getting the overfitting-reducing benefits of stochastic regularization.
It's worth being precise about where this sits relative to DropConnect, since there are two versions worth distinguishing:
PerNodeDrop aims at a middle ground: it keeps the per-sample property that the original DropConnect has (which batch-level approximations lose), but perturbs at the coarser node level rather than every individual connection — avoiding the memory blow-up and high-dimensional matrix handling that makes the exact Wan et al. formulation expensive.
In short:
Usage
It's a drop-in Keras layer:
Works with the standard Keras 3 backends (TensorFlow / JAX / PyTorch) — [ADD: confirm which backends you've tested].
Results
Evaluated on vision, text, and audio benchmarks against standard Dropout / DropConnect baselines:
Across these, PerNodeDrop narrows the gap between training and validation performance compared to standard noise-based regularization, suggesting better reliability on unseen data.
Links
Feedback welcome
This is early-stage — I'd love feedback on:
Happy to answer questions or take PRs on the repo!
All reactions