{"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/multi-task-learning-using-uncertainty-to","title":"Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics","arxiv_id":"1705.07115","date":"2017-05-19","proceeding":"CVPR 2018 6","authors":["Alex Kendall","Yarin Gal","Roberto Cipolla"],"abstract":"Numerous deep learning applications benefit from multi-task learning with\nmultiple regression and classification objectives. In this paper we make the\nobservation that the performance of such systems is strongly dependent on the\nrelative weighting between each task's loss. Tuning these weights by hand is a\ndifficult and expensive process, making multi-task learning prohibitive in\npractice. We propose a principled approach to multi-task deep learning which\nweighs multiple loss functions by considering the homoscedastic uncertainty of\neach task. This allows us to simultaneously learn various quantities with\ndifferent units or scales in both classification and regression settings. We\ndemonstrate our model learning per-pixel depth regression, semantic and\ninstance segmentation from a monocular input image. Perhaps surprisingly, we\nshow our model can learn multi-task weightings and outperform separate models\ntrained individually on each task.","url_abs":"http://arxiv.org/abs/1705.07115v3","url_pdf":"http://arxiv.org/pdf/1705.07115v3.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":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/CXMANDTXW/MTL-Using-Uncertainty-to-Weigh-Losses","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/CubiCasa/CubiCasa5k","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/Hui-Li/multi-task-learning-example-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/Lukeasargen/targetClassifier","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/SharadGitHub/Self-Supervised-Autoencoder","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/gabriel-sgama/semantic-superpoint","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/grtzsohalf/SpeechNet-codebase","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/hardianlawi/MTL-Homoscedastic-Uncertainty","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/maudzung/TTNet-Real-time-Analysis-System-for-Table-Tennis-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/maudzung/TTNet-Realtime-for-Table-Tennis-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/mrvoh/meta_learning_multilingual_doc_classification","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/oxcsaml2019/multitask-learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/ranandalon/mtl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/yaringal/multi-task-learning-example","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/AvivNavon/AuxiLearn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/MindCode-4/code-8/tree/main/multi-task-learning-using-uncertainty-to","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/MindSpore-scientific/code-6/tree/main/multi-task-learning-using-uncertainty-to","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/danielsyahputra/HydraNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-task-learning-using-uncertainty-to","repo_url":"https://github.com/guluguluhhhh/contrib/tree/37-2/application/multi-task-learning-using-uncertainty-to","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1705.07115","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1705.07115"}},"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/AvivNavon/AuxiLearn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gabriel-sgama/semantic-superpoint","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/guluguluhhhh/contrib/tree/37-2/application/multi-task-learning-using-uncertainty-to","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/maudzung/TTNet-Real-time-Analysis-System-for-Table-Tennis-Pytorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Hui-Li/multi-task-learning-example-PyTorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/oxcsaml2019/multitask-learning","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Lukeasargen/targetClassifier","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SharadGitHub/Self-Supervised-Autoencoder","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/maudzung/TTNet-Realtime-for-Table-Tennis-Pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ranandalon/mtl","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/grtzsohalf/SpeechNet-codebase","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindCode-4/code-8/tree/main/multi-task-learning-using-uncertainty-to","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yaringal/multi-task-learning-example","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/danielsyahputra/HydraNet","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific/code-6/tree/main/multi-task-learning-using-uncertainty-to","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CubiCasa/CubiCasa5k","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hardianlawi/MTL-Homoscedastic-Uncertainty","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mrvoh/meta_learning_multilingual_doc_classification","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CXMANDTXW/MTL-Using-Uncertainty-to-Weigh-Losses","reach":{"status":"unanswered"}}],"summary":{"ran_draft_wrong":1,"ran_fixture":1,"unverified":2},"by_repo_kind":{"listed":{"samples":4,"ran":2,"repositories":2}},"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":3,"samples":[{"code_sha256_prefix":"fe01d93285cd6b2f","entry":"pred_list2dict","repo":"ranandalon/mtl","repo_kind":"listed","path":"src/inference.py","file_url":"https://github.com/ranandalon/mtl/blob/HEAD/src/inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fe01d93285cd6b2f"}},{"code_sha256_prefix":"dab11d8b10137d95","entry":"rotate_2d","repo":"Lukeasargen/targetClassifier","repo_kind":"listed","path":"generate_targets.py","file_url":"https://github.com/Lukeasargen/targetClassifier/blob/HEAD/generate_targets.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dab11d8b10137d95"}},{"code_sha256_prefix":"a7e804e0909b8135","entry":"BuildMultiTaskResnet","repo":"Lukeasargen/targetClassifier","repo_kind":"listed","path":"models/multitask.py","file_url":"https://github.com/Lukeasargen/targetClassifier/blob/HEAD/models/multitask.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":"a7e804e0909b8135"}},{"code_sha256_prefix":"1c497cef0290295e","entry":"load_multitask_resnet","repo":"Lukeasargen/targetClassifier","repo_kind":"listed","path":"models/multitask.py","file_url":"https://github.com/Lukeasargen/targetClassifier/blob/HEAD/models/multitask.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":"1c497cef0290295e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}