{"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/learning-iterative-neural-optimizers-for","title":"Learning Iterative Neural Optimizers for Image Steganography","arxiv_id":"2303.16206","date":"2023-03-27","proceeding":null,"authors":["Xiangyu Chen","Varsha Kishore","Kilian Q Weinberger"],"abstract":"Image steganography is the process of concealing secret information in images through imperceptible changes. Recent work has formulated this task as a classic constrained optimization problem. In this paper, we argue that image steganography is inherently performed on the (elusive) manifold of natural images, and propose an iterative neural network trained to perform the optimization steps. In contrast to classical optimization methods like L-BFGS or projected gradient descent, we train the neural network to also stay close to the manifold of natural images throughout the optimization. We show that our learned neural optimization is faster and more reliable than classical optimization approaches. In comparison to previous state-of-the-art encoder-decoder-based steganography methods, it reduces the recovery error rate by multiple orders of magnitude and achieves zero error up to 3 bits per pixel (bpp) without the need for error-correcting codes.","url_abs":"https://arxiv.org/abs/2303.16206v1","url_pdf":"https://arxiv.org/pdf/2303.16206v1.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":"learning-iterative-neural-optimizers-for","repo_url":"https://github.com/cxy1997/LISO","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"image-steganography","task_name":"Image Steganography"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.16206","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.16206"}},"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":"deterministic:regex_extraction","url":"https://github.com/cxy1997/LISO","reach":null}],"summary":{"ran":2,"ran_honours":1,"ran_draft_wrong":2,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"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":8,"samples":[{"code_sha256_prefix":"c538a3b8029d9312","entry":"JPEG_Layer","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c538a3b8029d9312"}},{"code_sha256_prefix":"3be506a7f68f6fd0","entry":"calc_psnr","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3be506a7f68f6fd0"}},{"code_sha256_prefix":"7eab72802f8ad766","entry":"seq_loss","repo":"cxy1997/liso","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/liso/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7eab72802f8ad766"}},{"code_sha256_prefix":"4d38b3b1ca2f9512","entry":"seq_loss","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4d38b3b1ca2f9512"}},{"code_sha256_prefix":"85048b5da796bb5b","entry":"to_np_img","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"85048b5da796bb5b"}},{"code_sha256_prefix":"0b4941c6c4fdbae2","entry":"JPEG_Function","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0b4941c6c4fdbae2"}},{"code_sha256_prefix":"e89a93e98d64b450","entry":"LISO","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e89a93e98d64b450"}},{"code_sha256_prefix":"4f295d47ee8d9f62","entry":"calc_ssim","repo":"cxy1997/LISO","repo_kind":"official","path":"liso/models.py","file_url":"https://github.com/cxy1997/LISO/blob/HEAD/liso/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4f295d47ee8d9f62"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}