Домашняя работа 1
ФИО: Рустамова Дарина Дмитриевна
Курс: 1
Telegram: https://t.me/jndooe
Created on March 23|Last edited on March 23
Comment
Часть 1 [10 pts]
Реализация LogMelFilterBanks.
Код реализации: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/melbanks.py
Код проверки [Part 1]: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/solving.ipynb
Проверка осуществлялась на треке Death in June - Little Black Angel.
Слева реализация MelSpectogram [torchaudio], справа моя реализация. Assert checks пройдены успешно.

Часть 2 [20 pts]
Set-up training pipeline
Код реализации: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/cnn.py
Код проверки [Part 2]: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/solving.ipynb
Итого с настройками по умолчанию можно достигнуть 99%+ качества на тестовом сете при количестве параметров 10К.
Train a model and experiment with a number of filterbanks in `LogMelFilterBanks` layer
Код реализации: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/cnn.py
Код проверки [Part 3]: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/solving.ipynb
Learning rate во всех экспериментах: 1e-3
Количество эпох во всех экспериментов: 10
- с увеличением n_mels растет и test_accuracy, flops и params
- при n_mels = 20 количество параметров равно 5к, при n_mels = 40 - 7k и n_mels = 80 - 10k
- лучший результат test_accuracy у эксперимента с n_mels = 80
- заметно, что среднее время эпохи и среднее время эксперимента растет с увеличением n_mels если рассматривать только 2 эксперимента: 20 и 80. При n_mels = 40 время сильно увеличилось по сравннию с n_mels 20 и 80
- графики val_loss, val_acc, train_loss похожи, но у n_mels=80 можно заметить на 1 эпохе значения сильно ниже чем у остальных экспериментов
Experiment with `groups` parameter of Conv1d layer:
Код реализации: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/cnn.py
Код проверки [Part 4]: https://github.com/Darinochka/ai-talent-hub-itmo-speech-course/blob/hw1/assignments/assignment1/solving.ipynb
Из предыдущего эксперимента был выбран n_mels = 80, так как он показал лучший test accuracy.
- с увеличением groups уменьшается flops, params и test accuracy
- при groups = 16 самые плохие результаы val_loss, val_acc, train_loss и test_acc.
- по epoch_time и relative_time нельзя однозначно сказать, что есть корреляция. Можно отметить, что с groups = 2 обработка выходит дольше остальных
Add a comment