IIS_2023_1/degtyarev_mikhail_lab_7/Readme.md

56 lines
5.0 KiB
Markdown
Raw Normal View History

2023-12-23 02:04:24 +04:00
# Лабораторная 7
## Вариант 9
## Задание
Выбрать художественный текст (четные варианты русскоязычный, нечетные англоязычный) и обучить на нем рекуррентную нейронную сеть для решения задачи генерации. Подобрать архитектуру и параметры так, чтобы приблизиться к максимально осмысленному результату.Далее разбиться на пары четный-нечетный вариант, обменяться разработанными сетями и проверить, как архитектура товарища справляется с вашим текстом.
## Описание Программы
Программа представляет собой пример использования рекуррентной нейронной сети (LSTM) для генерации текста на основе художественного произведения.
### Используемые библиотеки
- `numpy`: Библиотека для работы с многомерными массивами и математическими функциями.
- `keras`:
- `Sequential`: Модель нейронной сети, представляющая собой линейный стек слоев.
- `Embedding`: Слой для преобразования целых чисел (индексов слов) в плотные вектора фиксированной размерности.
- `LSTM`: Рекуррентный слой долгой краткосрочной памяти.
- `Dense`: Полносвязный слой с активацией softmax для генерации вероятностного распределения слов.
- `Tokenizer`, `pad_sequences`: Инструменты для токенизации и последовательной обработки текста.
### Шаги программы
1. **Загрузка данных:**
- Текст загружается из файла `text.txt` (англоязычный текст) с использованием стандартных средств языка Python.
2. **Подготовка данных для обучения:**
- Текст разбивается на последовательности токенов для обучения рекуррентной нейронной сети.
- Используется `Tokenizer` для создания словаря и преобразования текста в числовое представление.
- Последовательности дополняются до максимальной длины с использованием `pad_sequences`.
3. **Создание и компиляция модели:**
- Создается последовательная модель с вложенным слоем, рекуррентным слоем LSTM и полносвязным слоем.
- Модель компилируется с использованием категориальной кросс-энтропии в качестве функции потерь и оптимизатора Adam.
4. **Обучение модели:**
- Модель обучается на подготовленных данных в течение 100 эпох.
5. **Оценка производительности модели:**
- Выводится окончательная ошибка на обучающих данных.
6. **Генерация текста:**
- Создается начальный текст "Amidst the golden hues of autumn leaves".
- Модель используется для предсказания следующего слова в последовательности.
- Сгенерированный текст выводится на экран.
### Запуск программы
- Замените `'text.txt'` на актуальный путь или имя вашего файла с англоязычным текстом.
- Склонируйте или скачайте код из файла `main.py`.
- Запустите файл в среде, поддерживающей выполнение Python. `python main.py`
### Результаты
Потери на тренировочных данных составили не такое большое значение: 0.029374321853453274327
Результат сгенерированного англоязычного текста:
In the quietude of the woods, mystical creatures stirred, their silhouettes dancing in the dappling sunlight. A mysterious energy enveloped the surroundings, as if the very essence of nature had come alive. The rustling leaves seemed to carry ancient tales, whispered secrets of times long past. Each step through the foliage unveiled a new chapter in the enchanted story of the woodland realm.