File size: 2,595 Bytes
28d73c4
a596460
28d73c4
 
97318ff
 
28d73c4
97318ff
 
 
28d73c4
97318ff
 
28d73c4
 
a596460
28d73c4
a596460
28d73c4
e43c337
28d73c4
a596460
28d73c4
e43c337
 
 
28d73c4
a596460
28d73c4
a596460
28d73c4
a596460
 
 
28d73c4
 
 
 
 
 
a596460
 
 
 
 
 
 
 
 
28d73c4
 
 
a596460
 
 
 
 
 
 
 
 
 
 
 
 
28d73c4
a596460
28d73c4
a596460
28d73c4
 
 
 
 
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
---
language: en
license: apache-2.0
tags:
- audio-classification
- generated_from_trainer
metrics:
- accuracy
- f1
base_model: wav2vec2-base
model-index:
- name: wav2vec2-adult-child-cls
  results: []
---

# Wav2Vec2 Adult/Child Speech Classifier

Wav2Vec2 Adult/Child Speech Classifier is an audio classification model based on the [wav2vec 2.0](https://arxiv.org/abs/2006.11477) architecture. This model is a fine-tuned version of [wav2vec2-base](https://huggingface.co/facebook/wav2vec2-base) on a private adult/child speech classification dataset.

This model was trained using HuggingFace's PyTorch framework. All training was done on a Tesla P100, provided by Kaggle. Training metrics were logged via Tensorboard.

## Model

| Model                      | #params | Arch.       | Training/Validation data (text)           |
| -------------------------- | ------- | ----------- | ----------------------------------------- |
| `wav2vec2-adult-child-cls` | 91M     | wav2vec 2.0 | Adult/Child Speech Classification Dataset |

## Evaluation Results

The model achieves the following results on evaluation:

| Dataset                           | Loss   | Accuracy | F1     |
| --------------------------------- | ------ | -------- | ------ |
| Adult/Child Speech Classification | 0.1682 | 95.80%   | 0.9618 |

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:

- `learning_rate`: 3e-05
- `train_batch_size`: 32
- `eval_batch_size`: 32
- `seed`: 42
- `optimizer`: Adam with `betas=(0.9,0.999)` and `epsilon=1e-08`
- `lr_scheduler_type`: linear
- `lr_scheduler_warmup_ratio`: 0.1
- `num_epochs`: 5

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy |   F1   |
| :-----------: | :---: | :--: | :-------------: | :------: | :----: |
|    0.2709     |  1.0  | 384  |     0.2616      |  0.9104  | 0.9142 |
|    0.2112     |  2.0  | 768  |     0.1826      |  0.9386  | 0.9421 |
|    0.1755     |  3.0  | 1152 |     0.1898      |  0.9354  | 0.9428 |
|    0.0915     |  4.0  | 1536 |     0.1682      |  0.9580  | 0.9618 |
|    0.1042     |  5.0  | 1920 |     0.1717      |  0.9511  | 0.9554 |

## Disclaimer

Do consider the biases which came from pre-training datasets that may be carried over into the results of this model.

## Authors

Wav2Vec2 Adult/Child Speech Classifier was trained and evaluated by [Wilson Wongso](https://w11wo.github.io/). All computation and development are done on Kaggle.

## Framework versions

- Transformers 4.16.2
- Pytorch 1.10.2+cu102
- Datasets 1.18.3
- Tokenizers 0.10.3