{"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/an-end-to-end-approach-for-the-verification","title":"An end-to-end approach for the verification problem: learning the right distance","arxiv_id":"2002.09469","date":"2020-02-21","proceeding":"ICML 2020 1","authors":["Joao Monteiro","Isabela Albuquerque","Jahangir Alam","R. Devon Hjelm","Tiago Falk"],"abstract":"In this contribution, we augment the metric learning setting by introducing a parametric pseudo-distance, trained jointly with the encoder. Several interpretations are thus drawn for the learned distance-like model's output. We first show it approximates a likelihood ratio which can be used for hypothesis tests, and that it further induces a large divergence across the joint distributions of pairs of examples from the same and from different classes. Evaluation is performed under the verification setting consisting of determining whether sets of examples belong to the same class, even if such classes are novel and were never presented to the model during training. Empirical evaluation shows such method defines an end-to-end approach for the verification problem, able to attain better performance than simple scorers such as those based on cosine similarity and further outperforming widely used downstream classifiers. We further observe training is much simplified under the proposed approach compared to metric learning with actual distances, requiring no complex scheme to harvest pairs of examples.","url_abs":"https://arxiv.org/abs/2002.09469v4","url_pdf":"https://arxiv.org/pdf/2002.09469v4.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":"an-end-to-end-approach-for-the-verification","repo_url":"https://github.com/joaomonteirof/e2e_verification","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"metric-learning","task_name":"Metric Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2002.09469","atlas_url":"https://app.syntology.ai/?focus=2002.09469","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2002.09469"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/joaomonteirof/e2e_verification","reach":null}],"summary":{"ran":3,"unverified":1},"by_repo_kind":{"official":{"samples":4,"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":"77348fdf19359ab2","entry":"AMSoftmax","repo":"joaomonteirof/e2e_verification","repo_kind":"official","path":"asv/model.py","file_url":"https://github.com/joaomonteirof/e2e_verification/blob/HEAD/asv/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"77348fdf19359ab2"}},{"code_sha256_prefix":"6294f2d6b2cdbc24","entry":"PreActBottleneck","repo":"joaomonteirof/e2e_verification","repo_kind":"official","path":"asv/model.py","file_url":"https://github.com/joaomonteirof/e2e_verification/blob/HEAD/asv/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6294f2d6b2cdbc24"}},{"code_sha256_prefix":"02f30dae2cadc62b","entry":"Softmax","repo":"joaomonteirof/e2e_verification","repo_kind":"official","path":"asv/model.py","file_url":"https://github.com/joaomonteirof/e2e_verification/blob/HEAD/asv/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02f30dae2cadc62b"}},{"code_sha256_prefix":"96baf4fdabff71a0","entry":"ResNet_stats","repo":"joaomonteirof/e2e_verification","repo_kind":"official","path":"asv/model.py","file_url":"https://github.com/joaomonteirof/e2e_verification/blob/HEAD/asv/model.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":"96baf4fdabff71a0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}