IIS_2023_1/abanin_daniil_lab_7/README.md

39 lines
3.5 KiB
Markdown
Raw Normal View History

2023-10-31 00:50:28 +04:00
# Лабораторная работа №7
### Рекуррентная нейронная сеть и задача генерации текста
## ПИбд-41 Абанин Даниил
### Как запустить лабораторную работу:
* установить python, numpy, keras, tensorflow
* запустить проект (стартовая точка lab7)
### Какие технологии использовались:
* Язык программирования `Python`, библиотеки numpy, keras, tensorflow
* Среда разработки `PyCharm`
### Что делает лабораторная работа:
* На основе выбранных художественных текстов происходит обучение рекуррентной нейронной сети для решения задачи генерации.
* Необходимо подобрать архитектуру и параметры так, чтобы приблизиться к максимально осмысленному результату.
### Тест
* Чтение текста из файлов .txt (eng_text.txt, rus_text.txt)
* Вызов функция get_model_data, из которой мы получаем входные, выходные данные (X, y), размер словаря и токенайзер. Используем Tokenizer с настройкой char_level=True, что позволяет упразднить использование Embedding слоя далее
* Создание объекта Sequential (последовательная рекуррентная нейронная сеть) и добавление двух слоёв LSTM. LSTM (Long Short-Term Memory) представляет собой разновидность рекуррентной нейронной сети, которая эффективно работает с последовательными данными. Использование нескольких слоёв даёт большую гибкость. Dropout — это метод регуляризации для нейронных сетей и моделей глубокого обучения, решение проблемы переобучения. Слой Dense с функцией активации softmax используется для предсказания следующего слова
* Компилирование модели с использованием sparse_categorical_crossentropy
* Обучение модели на 100 эпохах (оптимальный вариант)
* Генерация текста
Сгенерированные тексты
* ENG: I must be getting somewhere near the centre of the earth. how funny it'll seem to come out among the people that walk with their heads downward! the antipathies, i think—' (for, you see, alice had learnt several things of this
* RUS: господин осматривал свою комнату, внесены были его пожитки: прежде всего чемодан из белой кожи, несколько поистасканный, показывавший, что был не в первый раз в дороге. чемодан внесли кучер селифан отправился на конюшню вози
![Rus](result_rus.png)
![Eng](result_eng.png)
По итогу, программа способна сгенерировать осмысленный текст в каждом из случаев