{"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/bytecover-cover-song-identification-via-multi","title":"ByteCover: Cover Song Identification via Multi-Loss Training","arxiv_id":"2010.14022","date":"2020-10-27","proceeding":null,"authors":["Xingjian Du","Zhesong Yu","Bilei Zhu","Xiaoou Chen","Zejun Ma"],"abstract":"We present in this paper ByteCover, which is a new feature learning method for cover song identification (CSI). ByteCover is built based on the classical ResNet model, and two major improvements are designed to further enhance the capability of the model for CSI. In the first improvement, we introduce the integration of instance normalization (IN) and batch normalization (BN) to build IBN blocks, which are major components of our ResNet-IBN model. With the help of the IBN blocks, our CSI model can learn features that are invariant to the changes of musical attributes such as key, tempo, timbre and genre, while preserving the version information. In the second improvement, we employ the BNNeck method to allow a multi-loss training and encourage our method to jointly optimize a classification loss and a triplet loss, and by this means, the inter-class discrimination and intra-class compactness of cover songs, can be ensured at the same time. A set of experiments demonstrated the effectiveness and efficiency of ByteCover on multiple datasets, and in the Da-TACOS dataset, ByteCover outperformed the best competitive system by 20.9\\%.","url_abs":"https://arxiv.org/abs/2010.14022v2","url_pdf":"https://arxiv.org/pdf/2010.14022v2.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":"bytecover-cover-song-identification-via-multi","repo_url":"https://github.com/Orfium/bytecover","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"cover-song-identification","task_name":"Cover song identification"},{"task_slug":null,"task_name":"Triplet"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"instance-normalization","method_name":"Instance Normalization"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/cover-song-identification-on-covers80","task":"Cover song identification","dataset":"Covers80","model":"ByteCover","rank_in_archive_order":3,"of":5,"metrics":{"MAP":"0.906"},"uses_additional_data":false},{"leaderboard":"/sota/cover-song-identification-on-da-tacos","task":"Cover song identification","dataset":"Da-TACOS","model":"ByteCover","rank_in_archive_order":2,"of":4,"metrics":{"mAP":"0.743"},"uses_additional_data":false},{"leaderboard":"/sota/cover-song-identification-on-shs100k-test","task":"Cover song identification","dataset":"SHS100K-TEST","model":"ByteCover","rank_in_archive_order":4,"of":8,"metrics":{"mAP":"0.836"},"uses_additional_data":false},{"leaderboard":"/sota/cover-song-identification-on-youtube350","task":"Cover song identification","dataset":"YouTube350","model":"ByteCover","rank_in_archive_order":2,"of":4,"metrics":{"MAP":"0.955"},"uses_additional_data":false}],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}