{"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/maximum-likelihood-training-of-implicit","title":"Maximum Likelihood Training of Implicit Nonlinear Diffusion Models","arxiv_id":"2205.13699","date":"2022-05-27","proceeding":null,"authors":["Dongjun Kim","Byeonghu Na","Se Jung Kwon","Dongsoo Lee","Wanmo Kang","Il-Chul Moon"],"abstract":"Whereas diverse variations of diffusion models exist, extending the linear diffusion into a nonlinear diffusion process is investigated by very few works. The nonlinearity effect has been hardly understood, but intuitively, there would be promising diffusion patterns to efficiently train the generative distribution towards the data distribution. This paper introduces a data-adaptive nonlinear diffusion process for score-based diffusion models. The proposed Implicit Nonlinear Diffusion Model (INDM) learns by combining a normalizing flow and a diffusion process. Specifically, INDM implicitly constructs a nonlinear diffusion on the \\textit{data space} by leveraging a linear diffusion on the \\textit{latent space} through a flow network. This flow network is key to forming a nonlinear diffusion, as the nonlinearity depends on the flow network. This flexible nonlinearity improves the learning curve of INDM to nearly Maximum Likelihood Estimation (MLE) against the non-MLE curve of DDPM++, which turns out to be an inflexible version of INDM with the flow fixed as an identity mapping. Also, the discretization of INDM shows the sampling robustness. In experiments, INDM achieves the state-of-the-art FID of 1.75 on CelebA. We release our code at \\url{https://github.com/byeonghu-na/INDM}.","url_abs":"https://arxiv.org/abs/2205.13699v3","url_pdf":"https://arxiv.org/pdf/2205.13699v3.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":"maximum-likelihood-training-of-implicit","repo_url":"https://github.com/byeonghu-na/INDM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-generation-on-celeba-64x64","task":"Image Generation","dataset":"CelebA 64x64","model":"INDM (VP, FID)","rank_in_archive_order":5,"of":39,"metrics":{"FID":"1.75"},"uses_additional_data":false},{"leaderboard":"/sota/image-generation-on-celeba-64x64","task":"Image Generation","dataset":"CelebA 64x64","model":"INDM (VE, FID)","rank_in_archive_order":15,"of":39,"metrics":{"FID":"2.54"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.13699","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.13699"}},"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/byeonghu-na/INDM","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"ran":1,"unverified":5},"by_repo_kind":{"official":{"samples":8,"ran":3,"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":0,"samples":[{"code_sha256_prefix":"6c419026e778dee2","entry":"get_data_inverse_scaler","repo":"byeonghu-na/INDM","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6c419026e778dee2"}},{"code_sha256_prefix":"346d2e6cc8b48a5d","entry":"get_data_scaler","repo":"byeonghu-na/INDM","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"346d2e6cc8b48a5d"}},{"code_sha256_prefix":"366bb8c7035a2fc8","entry":"optimization_manager","repo":"byeonghu-na/INDM","repo_kind":"official","path":"losses.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/losses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"366bb8c7035a2fc8"}},{"code_sha256_prefix":"54a00db9aadf092f","entry":"classifier_fn_from_tfhub","repo":"byeonghu-na/INDM","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"54a00db9aadf092f"}},{"code_sha256_prefix":"fd14d238ccd5f679","entry":"crop_resize","repo":"byeonghu-na/INDM","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fd14d238ccd5f679"}},{"code_sha256_prefix":"0bfcb6b2d940e393","entry":"get_div_fn","repo":"byeonghu-na/INDM","repo_kind":"official","path":"likelihood.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/likelihood.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0bfcb6b2d940e393"}},{"code_sha256_prefix":"6cb12916e3601e4e","entry":"get_optimizer","repo":"byeonghu-na/INDM","repo_kind":"official","path":"losses.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6cb12916e3601e4e"}},{"code_sha256_prefix":"9aab5813052c11b2","entry":"load_dataset_stats","repo":"byeonghu-na/INDM","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/byeonghu-na/INDM/blob/HEAD/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9aab5813052c11b2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}