본문 바로가기
Seize the moment/Paper Research

Contrastive Learning

by 콜라찡 2023. 3. 10.


Contrastive Learning for Recommender System (2021.01)




Practical Impliciation

The practical implications of this paper are that it provides a new framework for recommender systems, which can be used to improve the performance and accuracy of such systems. This proposed framework includes two main components: a graph contrastive learning module and debiased contrastive loss.


  • This paper assumes that recommender systems, which analyze users' preference patterns to suggest potential targets, are indispensable in today's society.
  • The most popular recommendation model is Collaborative Filtering (CF), and Graph Neural Network (GNN) has become the new state-of-the art for CF.


  • This paper introduces a new framework for recommender systems, which consists of two main components: a graph contrastive learning module and debiased contrastive loss. The former is used to learn embeddings in a self-supervised manner while the latter provides sufficient negative samples for optimizing models with pairwise ranking objectives such as Bayesian Pairwise Ranking (BPR).


  • The paper concludes that the proposed framework, including graph contrastive module and debiased contrastive module with several Matrix Factorization(MF) and GNN-based recommendation models is effective.
  • Experiments on three public benchmarks demonstrate that this framework can reduce randomness of message dropout in user item bipartite graphs while providing sufficient negative samples to optimize model performance using pairwise ranking objectives such as Bayesian Pairwise Ranking (BPR).

Main Ideas

여기서 제시한 loss function 2개 중 Debiased Contrastive Loss 가 메인. 충분한 negative samples를 만들어내서 bias를 최소화하고자함.

Loss Function

  1. Graph Contrastive Learning Module - This module is used to learn embeddings in a self-supervised manner, which can be applied to reduce randomness of message dropout and improve performance of recommender systems.
  2. Debiased Contrastive Loss - This provides sufficient negative samples for optimizing models with pairwise ranking objectives such as Bayesian Pairwise Ranking (BPR). It also applies a bias correction probability to alleviate sample bias issues that may arise from using BPR based on a negative sampling strategy. 


  • The input data for the proposed framework is a user-item bipartite graph, which contains information about users and items. This graph can be used to analyze preference patterns of users in order to suggest potential target.


  • The output of the proposed framework is a set of embeddings that can be used to reduce randomness in message dropout and provide sufficient negative samples for optimizing models with pairwise ranking objectives such as Bayesian Pairwise Ranking (BPR).

(Used Data)

  • MovieLens-1M
  • Amazon Clothing Electronics reviews dataset
  • LastFM music listening history dataset.


GNN(Graph Neural Network) :

GNN은 Graph Neural Network의 약자로, 그래프 구조를 분석하고 처리하기 위한 딥러닝 모델의 한 종류입니다.

기존의 딥러닝 모델은 주로 이미지, 음성 등의 데이터를 다루는 데에 초점을 맞추고 있었습니다. 그러나 그래프는 여러 가지 형태의 데이터와 관계를 나타내는 데에 유용한 자료구조이기 때문에, 그래프에 적용할 수 있는 딥러닝 모델이 필요해졌습니다.

GNN은 그래프 내의 노드와 엣지의 정보를 수집하고 이를 바탕으로 노드의 특성을 추론하는 모델입니다. 이를 위해서 GNN은 각 노드와 그 주변의 이웃 노드의 정보를 집계하고, 이를 바탕으로 새로운 노드의 정보를 예측합니다.

GNN은 그래프 분류, 노드 분류, 링크 예측 등 다양한 그래프 기반 문제를 해결하는 데에 이용됩니다. 예를 들어, 소셜 네트워크에서 친구 추천, 분자 구조에서 분자 상호작용 예측 등에 이용됩니다.


Bayesian Pairwise Ranking (BPR):

Bayesian Pairwise Ranking은 베이지안 추론을 이용하여 랭킹 문제를 해결하는 방법 중 하나입니다. 이 방법은 주어진 데이터셋에서 각 항목의 상대적인 순위를 추론하는 것을 목표로 합니다.

예를 들어, 영화나 상품 추천 시스템에서, Bayesian Pairwise Ranking은 각 영화나 상품의 상대적인 인기나 우선순위를 파악하는 데에 이용될 수 있습니다.

이 방법은 일반적인 순위 학습 알고리즘과 다르게, 직접적인 순위 정보가 주어지지 않아도 됩니다. 대신, 각 항목들 간의 이긴/진 항목의 개수를 바탕으로 추론을 수행합니다.

Bayesian Pairwise Ranking은 베이지안 확률론적 접근 방식을 취하므로, 알고리즘이 데이터셋에 적합한 최적의 모델 파라미터를 찾을 수 있습니다. 이를 통해, 적은 수의 데이터로도 더 정확한 순위 예측이 가능해집니다. 또한, 이 방법은 모델 파라미터의 불확실성도 함께 추정할 수 있어, 신뢰성 높은 예측 결과를 도출할 수 있습니다.




Contrastive Learning of Musical Representations - CLMR (2021.03)



Practical Impliciation

  • This paper introduces a new approach to self-supervised learning of raw waveforms in music, called CLMR. • It requires no manual labeling or preprocessing of the audio data and can be used for downstream tasks such as music classification on datasets like MagnaTagATune and Million Song Dataset.
  •  The results show that this method is able to outperform fully supervised models with an average precision score of 35.4% on the MagnaTagATune dataset compared to 34.9%. • Additionally, it has been shown that these representations are transferable across different domains which indicates they capture important musical knowledge from the input data without any labels being provided by humans beforehand .
  •  Lastly, using only 259 labeled songs during fine-tuning still achieved a score 33%, showing its efficiency even when working with smaller datasets than usualy required for training deep neural networks..

Used dataset

  • MagnaTagATune
  • Million Song Dataset.

Main Idea

SimCLR에서의 방법을 wav 파일에 적용시켰음.

Augmentation Workflow

The data augmentation chain proposed in this paper consists of the following steps:

  1. Randomly cropping a segment from an audio clip. 
  2. Applying random speed and pitch shifts to the cropped segments. (Augmentation)
  3. Adding noise or reverberation effects to further augment the clips. (Adding noise or reverberation effects to further augment the clips involves introducing random distortions such as background noises, echoes and other sound artifacts. This helps in creating a more diverse set of audio samples which can be used for self-supervised learning.)

These augmented samples are then used as input for self-supervised learning, which allows us to learn useful representations without manual labeling or preprocessing of music datasets


SimCLR은 Contrastive Learning의 일종으로, 자기 지도 학습(Self-Supervised Learning) 방법 중 하나입니다. SimCLR은 비슷한 이미지 쌍에서 이미지 특징을 추출하고, 이를 바탕으로 이미지 간 유사성을 판별하는 방식으로 학습합니다.

기본적으로, SimCLR은 두 개의 데이터 샘플을 쌍으로 묶어서 각 샘플의 특징을 추출합니다. 그리고 추출된 두 개의 특징 벡터를 유사도를 판별하는 모델에 입력하여 유사성 점수를 예측합니다. 이때, 유사한 이미지 쌍은 높은 유사성 점수를, 다른 이미지 쌍은 낮은 유사성 점수를 가지도록 학습합니다.

SimCLR은 이러한 방식을 통해, 비지도 학습 방법으로 이미지 분류, 객체 검출, 세분화 등 다양한 컴퓨터 비전 문제를 해결할 수 있습니다. 또한, 이러한 자기 지도 학습 방법은 레이블이 없는 대규모 데이터셋에서 효과적으로 작동하여, 일반적인 지도 학습 방법보다 더 나은 성능을 발휘하는 경우가 있습니다.

  1. 데이터 샘플링: SimCLR은 대규모 데이터셋에서 샘플링된 이미지 쌍을 사용하여 학습합니다.
  2. 데이터 전처리: 추출된 이미지 샘플은 일반적으로 임의의 크기로 자르고 크기를 조정합니다.
  3. 데이터 증강: 이미지 증강 기법을 사용하여 데이터 샘플의 다양성을 높이고 모델의 일반화 능력을 향상시킵니다. 예를 들어, 이미지를 회전, 자르기, 뒤집기 등의 방법으로 변형합니다.
  4. 특징 추출: SimCLR에서는 사전 훈련된 CNN을 사용하여 이미지 샘플에서 특징을 추출합니다. 보통은 마지막 fully-connected layer를 제거하여 이미지를 고정 길이의 특징 벡터로 변환합니다.
  5. 유사도 측정: 추출된 두 개의 특징 벡터는 유사도를 측정하는 모델에 입력됩니다. 보통은 두 벡터 간의 내적(dot product) 값을 사용하여 유사도를 측정합니다.


  • The paper does not evaluate the performance of CLMR on other tasks such as music generation or audio synthesis. 
  • It also does not compare its results with existing self-supervised learning approaches in the domain of music, which could provide further insights into how well it performs compared to them.


Multi-Format Contrastive Learning of Audio Representations (2021.03)


이 또한 CLMR based contrastive learning으로 오디오 데이터 특징을 추출하는 논문이지만, 그 대상을 다양한 오디오 형식으로 함. 즉 input이 다양함. CLMR와 비교하자면,

  • Multi-Format : speech, music, noise에 대한 Contrastive Learning을 진행
  • CLMR : 장르, 악기를 추출하고자 함으로 조금 더 음악적으로 높은 수준을 다룸.

Main Idea

Raw audio data와 해당 스펙트럼 (spectrograms, log-mel, and MFCCs) 간의 일치를 최대화하여 오디오 표현을 학습을 위해 contrastive learning을 사용함. 하나의 스펙트럼으로 교육한 것 보다 여러개의 스펙트럼으로 교육한 것이 더 분류도 잘하고,  사운드의 특징도 잘 잡아냈다는 결론.


Augmentation Workflow

  1. Training a model with different formats of single modality data, such as spectrograms or waveforms
  2. Comparing these multiple formats against each other for similarity
  3. Repeating this comparison over multiple iterations during training to identify patterns within the data that can be used for better understanding of sound features and improved accuracy on downstream tasks like classification


The main limitation of this paper is that it only considers audio data, and does not take into account other modalities such as visual or text. Additionally, the proposed approach relies on a contrastive learning framework which may be computationally expensive for large datasets. Finally, while the results achieved are promising in terms of accuracy gains compared to single-format counterparts, further research needs to be done to evaluate its performance against multi-modal approaches.


Contrastive Learning of General-Purpose Audio Representations - COLA (2021 .10)


Main Idea

이 논문은 앞의 CLMR과도 Multi format 과도 관계가 있다.

하지만 CLMR은 cropped 하는 과정(segment sampling) 후에 augmentation 아주 간단하게 했고, 

Multi format은 cropped 과정 없이 다양한 스펙트럼을 augmentation 하여 사용했다.

COLA는 같은 오디오 파일에서 2개의 segment sampling을 하고, Multi format만큼 복잡하게 augmentation을 하므로써, 

더 다양하고 세부적인 오디오 정보를 캡처할 수 있게 했다.

segment sampling 한 것에서 augmentation 하기 때문에, multi-format보다 훨씬 가볍다.


Practical Impliciation

  • This paper introduces COLA, a self-supervised pre-training approach for learning general purpose representations of audio.
  • The practical implications are that this method can be used to transfer the learned representation from Audioset database and apply it on various classification tasks such as speech recognition, music identification etc. This method significantly outperforms previous self supervised systems in terms of accuracy on various classification tasks such as speech recognition or music identification.
  •  It also provides an easy way to fine tune models with minimal effort which makes it easier for developers or researchers who want to use these techniques in their projects without having deep knowledge about them.
  • This paper is unique because it introduces a lightweight and easy-to-implement self-supervised model of audio which can be used to learn general purpose representations.
  • It uses contrastive learning for representation learning, allowing the system to assign high similarity between segments extracted from the same recording while assigning lower similarities when compared with different recordings.




Augmentation Workflow

  1. Segment sampling: This is a technique used to generate samples from an audio clip, by randomly selecting segments of the signal and using them as input for training or evaluation purposes.
  2. Data augmentation: This involves applying various transformations such as time stretching or pitch shifting on existing data samples in order to increase the size of your dataset and introduce more variability into it, generating new ones that can be used for training or evaluation purposes.


  • The main limitation of this paper is that it only focuses on audio data and does not consider other types of multimedia such as images or videos.
  • Another limitation is that the pre-trained models are limited to Audioset database which may limit its applicability in real world scenarios where different datasets might be used.
  •  Lastly, since COLA uses contrastive learning for representation learning, there could be potential issues with overfitting if the dataset size is too small compared to model complexity.



Downstream은 머신 러닝 분야에서, 미리 학습된(pre-trained) 모델을 다른 작업에 적용하는 것을 의미합니다. 이 때, 이전에 학습된 모델을 기반으로 새로운 작업에 맞게 추가적인 학습을 시키는 것을 fine-tuning이라고 합니다.

예를 들어, 자연어 처리 분야에서 BERT 모델은 대규모 텍스트 데이터를 사용하여 사전학습(pre-training)된 모델입니다. 이 BERT 모델은 텍스트 이해에 대한 핵심 표현(representation)을 학습하고, 다른 텍스트 분류, 개체명 인식, 질문 응답 등의 downstream 태스크에서 fine-tuning하여 적용할 수 있습니다. 즉, BERT 모델을 다른 작업에 적용하여 높은 성능을 발휘할 수 있도록 fine-tuning하는 것입니다.

따라서, downstream은 사전학습된 모델의 재사용(reuse)을 의미하며, 이를 통해 다양한 작업에 적용할 수 있습니다.


Downstrean vs Transfer

Transfer learning은 머신 러닝 모델의 학습을 한 도메인에서 다른 도메인으로 전이시켜서 사용하는 것을 의미합니다. 즉, 기존에 학습된 모델을 다른 작업에 사용할 때, 이전 작업과 다른 도메인의 데이터를 사용하는 것을 의미합니다. 이전 작업에서 학습한 모델의 일부 또는 전체를 가져와서 새로운 작업에 재사용합니다.

Downstream은 사전학습(pre-trained)된 모델을 다른 작업에 적용하는 것을 의미합니다. 즉, 이미 학습된 모델의 일부 또는 전체를 가져와서 새로운 작업에서 추가로 학습하거나 fine-tuning하는 것입니다. 따라서 Downstream은 Transfer Learning의 일종으로 볼 수 있습니다.

다시 말해, Transfer Learning은 기존 작업에서 학습한 모델을 다른 도메인으로 가져와서 사용하는 것을 의미하며, Downstream은 이미 학습된 모델을 다른 작업에 적용하여 성능을 개선하는 것을 의미합니다.





Contrastive Learning with Positive-Negative Frame Mask for Music Representation