SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 1905.09788 · 2019

Multi-Sample Dropout for Accelerated Training and Better Generalization

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 7 functions out of this paper's own repositories and ran 7 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
ywu94/Code-Notes pwc_unofficial 6 of 6
lonePatient/multi-sample_dropout_pytorch reimplementation 1 of 1
FunctionStatusWhere it lives
MiniResNet Ran lonePatient/multi-sample_dropout_pytorch/nn.py
pointer only (licence: NONE) · get_code("ebdc10a64c9c2f8a")
get_GTSRB_dataloader Ran ywu94/Code-Notes/PytorchLightning-GTSRB/dataset.py
code served (permissive licence) · get_code("bd236068d0231084")
get_bert_tokenizer Ran ywu94/Code-Notes/HuggingFace-TSE/dataset.py
code served (permissive licence) · get_code("66185ba843fd431d")
initiate_logger Ran ywu94/Code-Notes/HuggingFace-TSE/utils.py
code served (permissive licence) · get_code("5b37f5d880c825bf")
jaccard_iterable Ran ywu94/Code-Notes/HuggingFace-TSE/dataset.py
code served (permissive licence) · get_code("3d5744556206e92a")
preprocess Ran ywu94/Code-Notes/HuggingFace-TSE/prepare.py
code served (permissive licence) · get_code("4ed843c936fff706")
process_bert_data Ran ywu94/Code-Notes/HuggingFace-TSE/dataset.py
code served (permissive licence) · get_code("70086749b8492c95")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Dropout is a simple but efficient regularization technique for achieving better generalization of deep neural networks (DNNs); hence it is widely used in tasks based on DNNs. During training, dropout randomly discards a portion of the neurons to avoid overfitting. This paper presents an enhanced dropout technique, which we call multi-sample dropout, for both accelerating training and improving generalization over the original dropout. The original dropout creates a randomly selected subset (called a dropout sample) from the input in each training iteration while the multi-sample dropout creates multiple dropout samples. The loss is calculated for each sample, and then the sample losses are averaged to obtain the final loss. This technique can be easily implemented by duplicating a part of the network after the dropout layer while sharing the weights among the duplicated fully connected layers. Experimental results using image classification tasks including ImageNet, CIFAR-10, and CIFAR-100 showed that multi-sample dropout accelerates training. Moreover, the networks trained using multi-sample dropout achieved lower error rates compared to networks trained with the original dropout. The additional computation cost due to the duplicated operations is not significant for deep convolutional networks because most of the computation time is consumed in the convolution layers before the dropout layer, which are not duplicated.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("1905.09788")
get_code_for_paper("1905.09788")
have("1905.09788")

Connect an agent — have() is free.