- Вспомнить курс по машинному обучению после каникул;
- изучить возможности и инструменты PyTorch для построения и использования полносвязных нейронных сетей для решения задач регрессии и классификации;
- решить задачи регрессии и классификации на предложенных данных с использованием фреймворка PyTorch;
- реализовать алгоритм получения контекстных эмбеддингов (векторных представлений) слов;
- реализовать алгоритмы CBoW и SkipGram для получения собственных моделей Word2Vec для выбранных данных;
- визуализировать векторные представления в малой размерности.
- Загрузите датасеты в соответствие с вариантом (см. здесь) для решения задач регрессии и классификации, выполните все этапы предварительной обработки данных.
- Обработанные данные представьте в виде объектов класса Dataset, после этого оберните их в класс DataLoader (обязательно почитайте и посмотрите, для чего это нужно, какие фишки есть у этих классов). Для каждого датасета должен получиться свой DataLoader.
- Для задач регрессии и классификации сформируйте архитектуры полносвязных нейронных сетей при помощи пакета torch.nn. Задачу классификации необходимо решать только при помощи функции активации softmax (это нужно учесть при проектировании нейронной сети, с этим есть свои особенности). Дополнительно, можно посмотреть, как в PyTorch создавать Dropout-слои.
- Организуйте процесс обучения нейронных сетей для решения обеих задач и обучите нейросети. Для этого выберите необходимые функции активации и оптимизаторы. Не забывайте обнулять градиенты! После обучения выведите графики функции ошибки по эпохам.
- Оцените качество предсказаний для обученных моделей с использованием известных метрик задач регрессии и классификации.
- Загрузить коллекцию текстовых документов: просьбы жильцов. Можете использовать не весь датасет (подмножество строк таблицы). В этом задании вас интересует столбец с текстом обращений жильцов. Можете загрузить любой датасет для классификации текстовых данных.
- Рассмотреть каждый текстовый документ отдельно. Выполнить предварительную обработку текстовых данных.
- С помощью PyTorch реализовать алгоритмы построения Word2Vec: CBoW и SkipGram. Получить векторные представления текстов с помощью собственной реализации данных алгоритмов.
- Сформировать матрицы контекстных эмбеддингов. С помощью PCA уменьшить размер данных матриц (размер задать самостоятельно).
- Сохранить полученные различными способами векторные представления в файлы tsv. Визуализировать их с помощью сервиса Projector от авторов TensorFlow
Вместо Projector можно использовать TensorBoard
- Данные для задач регрессии и классификации загружены и предварительно обработаны, выполнено разделение на обучающую и тестируюшую выборки;
- для каждой задачи сформирована и обучена полносвязная нейронная сеть;
- оценено качество моделей с использованием тестирующей выборки;
- загружен и обработан датасет для построения Word2Vec моделей;
- представлена собственная реализация CBoW и SkipGram;
- векторные представления сохранены и визуализированы;
- студент смог ответить на все вопросы преподавателя, касающиеся лабораторной работы.