{"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/adversarial-bipartite-graph-learning-for","title":"Adversarial Bipartite Graph Learning for Video Domain Adaptation","arxiv_id":"2007.15829","date":"2020-07-31","proceeding":null,"authors":["Yadan Luo","Zi Huang","Zijian Wang","Zheng Zhang","Mahsa Baktashmotlagh"],"abstract":"Domain adaptation techniques, which focus on adapting models between distributionally different domains, are rarely explored in the video recognition area due to the significant spatial and temporal shifts across the source (i.e. training) and target (i.e. test) domains. As such, recent works on visual domain adaptation which leverage adversarial learning to unify the source and target video representations and strengthen the feature transferability are not highly effective on the videos. To overcome this limitation, in this paper, we learn a domain-agnostic video classifier instead of learning domain-invariant representations, and propose an Adversarial Bipartite Graph (ABG) learning framework which directly models the source-target interactions with a network topology of the bipartite graph. Specifically, the source and target frames are sampled as heterogeneous vertexes while the edges connecting two types of nodes measure the affinity among them. Through message-passing, each vertex aggregates the features from its heterogeneous neighbors, forcing the features coming from the same class to be mixed evenly. Explicitly exposing the video classifier to such cross-domain representations at the training and test stages makes our model less biased to the labeled source data, which in-turn results in achieving a better generalization on the target domain. To further enhance the model capacity and testify the robustness of the proposed architecture on difficult transfer tasks, we extend our model to work in a semi-supervised setting using an additional video-level bipartite graph. Extensive experiments conducted on four benchmarks evidence the effectiveness of the proposed approach over the SOTA methods on the task of video recognition.","url_abs":"https://arxiv.org/abs/2007.15829v1","url_pdf":"https://arxiv.org/pdf/2007.15829v1.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":"adversarial-bipartite-graph-learning-for","repo_url":"https://github.com/Luoyadan/MM2020_ABG","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"video-recognition","task_name":"Video Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/domain-adaptation-on-hmdb-ucf-full","task":"Domain Adaptation","dataset":"HMDB --> UCF (full)","model":"ABG","rank_in_archive_order":3,"of":4,"metrics":{"Accuracy":"85.11"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.15829","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.15829"}},"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/Luoyadan/MM2020_ABG","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"unverified":6},"by_repo_kind":{"official":{"samples":9,"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":"5dafc748f41191f5","entry":"attentive_entropy","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"loss.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/loss.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5dafc748f41191f5"}},{"code_sha256_prefix":"b1e8dce608f3f658","entry":"cross_entropy_soft","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"loss.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/loss.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1e8dce608f3f658"}},{"code_sha256_prefix":"0c3c2aa9cf2ac2f0","entry":"dis_MCD","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"loss.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/loss.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c3c2aa9cf2ac2f0"}},{"code_sha256_prefix":"b92a3f112f0c080c","entry":"convert_c3d_tensor_batch","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"dataset_preparation/video2feature.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/dataset_preparation/video2feature.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b92a3f112f0c080c"}},{"code_sha256_prefix":"468842eca7cd59de","entry":"extract_frame_feature_batch","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"dataset_preparation/video2feature.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/dataset_preparation/video2feature.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"468842eca7cd59de"}},{"code_sha256_prefix":"8376f17deba65583","entry":"im2tensor","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"dataset_preparation/video2feature.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/dataset_preparation/video2feature.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8376f17deba65583"}},{"code_sha256_prefix":"5756c9cae54bd813","entry":"loss_adaptive_weight","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"main_G.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/main_G.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5756c9cae54bd813"}},{"code_sha256_prefix":"93d1e6f74e435e53","entry":"train","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"main_G.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/main_G.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"93d1e6f74e435e53"}},{"code_sha256_prefix":"0b81ad55dd1ead9f","entry":"validate","repo":"Luoyadan/MM2020_ABG","repo_kind":"official","path":"main_G.py","file_url":"https://github.com/Luoyadan/MM2020_ABG/blob/HEAD/main_G.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0b81ad55dd1ead9f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}