File size: 2,493 Bytes
5fd97e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
```yaml
---
language: en
license: mit
library_name: pytorch
tags:
- face-recognition
- self-supervised-learning
- contrastive-learning
datasets:
- YFCC-CelebA
- CelebA
---
```
# VCL: Variational Contrastive Learning for Face Understanding

VCL is a robust self-supervised learning method designed specifically for face understanding tasks, combining variational contrastive learning with beta-divergence to effectively handle noisy and unlabeled datasets[1].

## Model Details

### Model Description

**Developed by:** Mehmet Can Yavuz and Berrin Yanikoglu
**Model type:** Self-Supervised Variational Contrastive Learning with Applications to Face Understanding
**Language(s):** Python
**License:** MIT
**Model:** ResNet10t

## Uses

### Direct Use

The model is designed for:
- Face attribute recognition
- Face verification tasks
- Multi-label classification problems
- Learning from noisy and unlabeled datasets

## Model Architecture

The architecture consists of three main components:
- Feature extraction backbone (ResNet10t or VGG11bn)
- Gaussian sampling head for distribution learning
- Contrastive learning framework with augmentations

## Training Details

### Training Data

The model was pretrained on the YFCC-CelebA dataset and you can fine-tune on CelebA dataset.

### Training Procedure 

#### Training Hyperparameters

**Training regime:**
- Optimizer: AdamW
- Learning rate: 1e-3
- Weight decay: 0.01
- Batch size: 128
- Temperature: 0.07
- Beta: 0.005

## Evaluation

### Results

Performance on CelebA test set with different pretraining approaches:

| Setting | ResNet10t (1%) | VGG11bn (1%) | ResNet10t (10%) | VGG11bn (10%) |
|---------|----------------|---------------|-----------------|---------------|
| VCL | 0.5836 | 0.5719 | 0.6848 | 0.6796 |
| VCL (beta) | 0.5998 | 0.5958 | 0.7098 | 0.6998 |

## How to Get Started with the Model

```python
# Installation
git clone https://github.com/convergingmachine/VCL
cd VCL
pip install -r requirements.txt

# Training
python train_beta.py


## Citation

```bibtex
@INPROCEEDINGS{10582001,
  author={Yavuz, Mehmet Can and Yanikoglu, Berrin},
  booktitle={2024 IEEE 18th International Conference on Automatic Face and Gesture Recognition (FG)}, 
  title={Self-Supervised Variational Contrastive Learning with Applications to Face Understanding}, 
  year={2024},
  pages={1-9},
  doi={10.1109/FG59268.2024.10582001}}
```

## Model Card Contact

For questions about this model, please open an issue in the GitHub repository.