Skip to content

Myashka/MIPT_Applied_ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced course of Machine learning at MIPT.

Открытый курс по ML от ФПМИ МФТИ Были изучены материалы курса, законспектированы лекции, выполнены лабораторные работы. Ниже приведено описание проделанной работы.

My homeworks:

Тип Название Описание
lab NLP Лабораторная работа состояла из 2-ух частей.
1. В первой части была использована предобученная модель для слов русского и украинского языков. С помощью линейной регрессии было произведено embedding space mapping.
Для улучшения качества было произведено ортогональное преобразование векторных пространств на основе SVD. На основе этого было выполнено Unsupervised MT.
2. Во второй части решалась задача нейромашинного перевода. Была произведена обычная работа по препроцессингу текстовых данных. Протестированы разные Encoder-Decoder архитектуры:
1) Простой LSTM encoder-decoder;
2) CNN-encoder LSTM decoder;
3) CNN-encoder с positional encoding, что ожидаемо не принесло улучшения в качество модели;
4) Самую лучшую метрику показала biLSTM модель на основе GloVe весов с механизмом attention.
Трекались и отслеживались модели в tensorboard.
lab RL Был реализован Q-learning approximate agent для игры в Atari Breakout с интерфейсов gym (ссылка).
Для обработки изображения использовался frame-buffer для отслеживания движения шарика. Использовался replay buffer для ускорения обучения модели. Сам агент представляет собой сверточную сеть.
Для препроцессинга изображение было обрезано и сделан перевес в сторону красного канала.
Во время обучения также использовалась Target модель для того, чтобы процесс авторегрессии был более стабильным, она обновлялась каждые 5000 шагов.
Обучалась модель с advantage (dueling DQN) и без, первая показала score в 53 поинта в среднем за 5 игр. Тренировалась и та и другая около 3-ёх дней.
assignment Word vectors Были имплементированы BoW и TF-IDF (файл) Оба способа векторизации были применены для бинарной классификации текстов, toxic-or-not. TF-IDF показал больший ROC_AUR на тесте, так как он лучше учитывает важность слов. Было произведено сравнение с Naive-Bias и использован GloVe из gensim, они показали результаты хуже, чем первые два метода (ноутбук).
assignment Three headed network Это задание было выполнено в ноутбуке с практическим занятием, где использовалось несколько входов нейронной сети для предсказания З/П по информации из резюме.
assignment Fine-tuning Это задание было выполнено в ноутбуке с практическим занятием, где BERT был fine-tuned для классификации текстов.
assignment Conv VAE Была реализована Conv VAE для CIFAR10. Латентное пространство получилось более однородное.

Seminars and practics:

Неделя Семинар Описание
01_1 Word embeddings Использована библиотека nltk для предобработки текстовых данных. Визуализированы word emgeddings с помощью UMAP и gensim Word2Vec. С помощью kMeans кластеризованы некоторые фразы. Обучена собственная Word2Vec модель.
02_1 CNN for texts Выполнена стандартная предобработка для текстовых данных. В итоге самостоятельно была создана модель с тремя головами для предсказания З/П по информации из резюме. Для считывания различных данных были использованы CNN для коротких текстовых данных, и LSTM для длинных описаний.
03_1 Seq2seq for NMT Для задачи NMT была создана архитектура Encoder-Decoder. Предобработаны текстовые данные. Обучена модель для перевода с французского на английский язык. Логирование производилось tensorboad'ом.
03_2 Attention На синтетических данных был посчитан attention.
04_1 BiLSTM for PoS Tagging Создана двуслойная biLSTM модель на основе glove embeddings для определения частей речи предложения.
Была также сделана biLSTM модель на уровне символов, выходы которой подавались вместе с embedding'ами GloVe в следующую biLSTM, но это не дало прироста в качестве.
04_2 Positional encoding Разобраны формулы PE, явно визуализированы различия при различных частотах и измерениях данных.
05_1 BERT Был использован BERT для классификации текста, fine-tuned логистической регрессией. Также использовано api Transformers.
06_1 Question Answering Был использован готовый Fine-tuned BERT для QA. Также был протестирован RuBERT. Также была выполнена задача Text2Speech для английского языка с помощью Tacotron 2. Для русского языка использовалась готовая обученная модель Silero.
07_1 GYM and CE Знакомство с интерфейсом gym. Реализация метода CrossEntropy для обучения агента в CartPole.
Самостоятельная реализация Deep CE метода для LunarLander, использование joblib для ускорения обучения модели.
08_1 Q-learning Реализован Q-learning agent на основании уравнений Беллмана для решения Taxi. Для решения CartPole состояния были дискретизированы.
09_1 Appoximate Q-learning Был написан Agent, который аппроксимирует Q-функцию для выбора действия и улучшения политики. Решена задача CartPole.
10_1 Reinforce Был реализован REINFORCE алгоритм для аппроксимации политики агента (использован log-derivative trick).
Самостоятельно был реализован A2C агент для решения Acro-Bot. После нескольких часов обучения и нескольких запусков, модель чему-то научилась. Внутри агента отдельно учились две сети, для ценности действия и в текущий момент и ценности состояния.
11_1 RL for Seq2seq Сначала была обучена модель для транскрипции иврита на английский обычными методами, при помощи CrossEntropy loss. После чего была напрямую дообучена на целевую метрику (расстояние Левенштейна).
12_1 Style Transfer Был произведен Style transfer с одного изображения на другое. За счет того, карты признаков на разной глубине обращают внимание на разные вещи, то за счёт этого можно градиентными методами подобать одно изображение под другое.
13_1 Knowledge distillation Была создана сверточная модель для классификации над CIFAR-10. На эти же данные была обучена меньшая модель, а также дистиллирована другая модель. Вторая показала лучшие результаты. Ошибка рассчитывалась при помощи KL-дивергенции.
14_1 Semantic segmentation Была создана U-net подобная модель (вместо UpPooling использовалась Transposed Conv). Была обучена модель с предобученным backbone сетью resnet. Во втором случае, как и ожидалось, получили лучшее качество. Для аугментаций использовалась библиотека Albumentations. Трекалась модель в W&B.
15_1 VAE Была реализована VAE модель для датасета CIFAR10. KL-Loss считался между нормальным стандартным распределением и тем, что сэмплила модель. Для прокидывания градиентов использовался Reparameterization trick.

About

Open Machine Learning Advanced course by MIPT.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published