Skip to content

umanetz/Deep-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по DL и LSML

Freesound Audio Tagging 2019

Вокруг безлайна

Для начала воспроизведем безлайн

epochs=10, bs=32, lr=3e-4

drawing drawing

Очевидно, что модель недообучилась.

При увеличении эпох до 40 loss улетает

drawing

Посмотрим на распределение lelrap по классам:

drawing

Далее будем сохранять лучшую модель.

В следущем эксперементе увеличили число эпох, сделали cycle lr и применили алгоритм mixup

epochs=40, bs=32, lr=cycle

drawing

drawing

На валидации качество подросло. Это видно на картинке ниже:

drawing

Применение SWA, начиная с 30 эпохи, не улучшает результат

drawing

Посмотрим на метрику на разных классах.

  • Подросло значение per_class_lwlrap для многих классов по сравнению с бейзлайном.

drawing

Низкое значение у классов:

11: Buzz

29: Electric_guitar

35: Frying_(food)

56: Run, 63: Slam

77: Writing

79: Zipper_(clothing)

  • Разобъем per_class_lwlrap отдельно по типу данных:

drawing

Видно, что curated моделируется лучше, чем noisy.

Например, для класса Zipper_(clothing) в noisy части много файлов, не относящихся к этому звуку:

Zipper_(clothing)

028cd525.wav, e05b61e6.wav, d3e4a81e.wav - разговор

2e043da5.wav,397074a3.wav - машина

087a2f52.wav - стук

Поэтому, такое плохое качество на noisy данных в этом классе.

Намного лучше результаты на noisy данных по тегам Run и Walk_and_footsteps. Заметим, что эти теги встречаются вместе только в noisy данных. При прослушивании они сопроваждаются посторонними звуками (например, поддержка болельщиков или разговор людей), которые могут вносить основной вклад в предсказания.

Архитектура из статьи

В качестве архитектуры была взята GCNN из статьи https://arxiv.org/pdf/1710.00343.pdf. Было изменено количество каналов со 128 до 64 (иначе не хватает памяти) в сверточном слое.

Модель обучалась, но постепенно градиенты уходили в 0, и модель переставала обучаться. Следующая картинка - норма градиентов на одном из слоев:

drawing

В архитектуре сети последний слой - полносвязный с функцией активацией Sigmoid и SoftMax. Далее эти выходы перемножаются и получаются вероятности. На одной эпохе, я посмотрела как изменяются выходы с этих слоев для двух активаций.

drawing drawing

Видно, что резко уменьшается значение Sigmoid и это влияет на градиенты. В последнем слое мы нормировали на значения SoftMax, т.к. у нас multy-label классификация. Насамом деле, записей, относящихся к разным классам, около 5тыс. Мы можем пренебречь этим и нормировать на Sigmoid, тем самым давая наибольшее значение однному из таргетов. В данном случае градиенты не обнуляются.

drawing

Ниже представлены результаты для первых 3х эпох:

drawing drawing

Видно, что модель начинает обучаться...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages