{"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/entaugment-entropy-driven-adaptive-data","title":"EntAugment: Entropy-Driven Adaptive Data Augmentation Framework for Image Classification","arxiv_id":"2409.06290","date":"2024-09-10","proceeding":null,"authors":["Suorong Yang","Furao Shen","Jian Zhao"],"abstract":"Data augmentation (DA) has been widely used to improve the generalization of deep neural networks. While existing DA methods have proven effective, they often rely on augmentation operations with random magnitudes to each sample. However, this approach can inadvertently introduce noise, induce distribution shifts, and increase the risk of overfitting. In this paper, we propose EntAugment, a tuning-free and adaptive DA framework. Unlike previous work, EntAugment dynamically assesses and adjusts the augmentation magnitudes for each sample during training, leveraging insights into both the inherent complexities of training samples and the evolving status of deep models. Specifically, in EntAugment, the magnitudes are determined by the information entropy derived from the probability distribution obtained by applying the softmax function to the model's output. In addition, to further enhance the efficacy of EntAugment, we introduce a novel entropy regularization term, EntLoss, which complements the EntAugment approach. Theoretical analysis further demonstrates that EntLoss, compared to traditional cross-entropy loss, achieves closer alignment between the model distributions and underlying dataset distributions. Moreover, EntAugment and EntLoss can be utilized separately or jointly. We conduct extensive experiments across multiple image classification tasks and network architectures with thorough comparisons of existing DA methods. Importantly, the proposed methods outperform others without introducing any auxiliary models or noticeable extra computational costs, highlighting both effectiveness and efficiency. Code is available at https://github.com/Jackbrocp/EntAugment.","url_abs":"https://arxiv.org/abs/2409.06290v1","url_pdf":"https://arxiv.org/pdf/2409.06290v1.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":"entaugment-entropy-driven-adaptive-data","repo_url":"https://github.com/jackbrocp/entaugment","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"entropy-regularization","method_name":"Entropy Regularization"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2409.06290","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.06290"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/jackbrocp/entaugment","reach":{"status":"ok"}}],"summary":{"ran":4,"ran_draft_wrong":3,"unverified":3},"by_repo_kind":{"official":{"samples":10,"ran":7,"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":10,"samples":[{"code_sha256_prefix":"e4c841a535ce14d5","entry":"CutoutDefault","repo":"jackbrocp/entaugment","repo_kind":"official","path":"augmentation/entaugment.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/augmentation/entaugment.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e4c841a535ce14d5"}},{"code_sha256_prefix":"3547cbf35948cbd0","entry":"ResNet110","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/resnet2.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/resnet2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3547cbf35948cbd0"}},{"code_sha256_prefix":"0f23e7e681845fe0","entry":"ResNet18","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/ResNet.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/ResNet.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0f23e7e681845fe0"}},{"code_sha256_prefix":"846cb5f53ff86760","entry":"ResNet44","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/resnet2.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/resnet2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"846cb5f53ff86760"}},{"code_sha256_prefix":"21ba14c82993c2fe","entry":"ResNet50","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/ResNet.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/ResNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"21ba14c82993c2fe"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/pyramidnet.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/pyramidnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"00e569acd6b45ef0","entry":"conv3x3","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Network/Wide_Resnet.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Network/Wide_Resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"00e569acd6b45ef0"}},{"code_sha256_prefix":"3434fff9b5d4912e","entry":"float_parameter","repo":"jackbrocp/entaugment","repo_kind":"official","path":"augmentation/entaugment.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/augmentation/entaugment.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":"3434fff9b5d4912e"}},{"code_sha256_prefix":"b3a390f777b2388c","entry":"int_parameter","repo":"jackbrocp/entaugment","repo_kind":"official","path":"augmentation/entaugment.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/augmentation/entaugment.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":"b3a390f777b2388c"}},{"code_sha256_prefix":"bd25ca8227612380","entry":"load_CIFAR_100","repo":"jackbrocp/entaugment","repo_kind":"official","path":"Dataset.py","file_url":"https://github.com/jackbrocp/entaugment/blob/HEAD/Dataset.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":"bd25ca8227612380"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}