Создание уникального и запоминающегося художественного образа для оформления обложки музыкального компакт-диска направлено на визуальное выделение альбома и привлечение внимания покупателей. Зрительный образ музыкального альбома может быть связан с музыкальным материалом: может передавать стиль музыкальных исполнителей и жанр, в котором написаны музыкальные композиции.
Обнаружение связи между оформлением обложки и музыкальным жанром альбома на компакт-диске может быть полезным при создании рекомендательных систем, когда по изображению альбома одного компакт-диска можно будет предложить другой альбом этого же жанра.
Основная идея проекта — используя сведения о музыкальном жанре альбома, к которому относится обложка компакт-диска, предсказать жанр по обложкам альбомов других компакт-дисков.
Исходные данные: изображения в формате PNG, упакованные в zip-архивы. Имя архива соответствует музыкальному жанру.
10 zip-архивов. Каждый zip-архив содержит папку с изображениями музыкальных обложек соответствующего жанра.
Цель проекта: построить модель машинного обучения, которая наилучшим образом определяет жанр музыкального альбома по изображению его обложки.
Тип ML-задачи: многоклассовая классификация (multiclass classification).
Инструменты: python, pandas, numpy, os, zipfile, matplotlib, pillow, scikit-learn, faiss, fastai, torchvision.
Основные этапы проекта:
- описательный анализ данных:
охарактеризованы распределения значений признаков;
- предобработка данных:
обработаны аномальные значения; обработаны дубликаты;
- построение моделей:
в данных выделены тренировочная, валидационная и тестовая выборки (8 : 1 : 1); оценка качества обученных моделей проведена методом валидации; критерий оценки качества моделей — максимальное значение правильности (accuracy), полученное в результате проведения валидации.
Обучены модели нейронных сетей семейства ResNet, предобученных на ImageNet; построены валидационные кривые и подобраны гиперпараметры: скорость обучения, количество эпох, функция потерь, использование замораживания слоёв нейросети; для извлечения данных из папки и передачи их на обучение использовался загрузчик (ImageDataLoaders); к изображениям применена аугментация. Кроме того, была обучена простая модель на основе метода ближайших соседей.
Выполнено описание поведения обученных моделей на сбалансированной и несбалансированной выборках, построены кривые обучения.
Результат исследования: наилучшие показатели качества продемонстрировала модель ResNet50, дообученная в течение 20 эпох на изображениях с применённой аугментацией при скорости обучения 0,01, фокусирующей функцией потерь с параметром фокусировки равным 2 и тремя замороженными нижними слоями нейросети. Правильность на валидационной выборке достигает значений 0,727–0,736. Значение правильности на тестовой выборке равно 0,727.