Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
47 строки
3.3 KiB
Markdown
47 строки
3.3 KiB
Markdown
# Лабораторная работа №4. Использование нейронных сетей для генерации текста
|
|
|
|
## Цель работы
|
|
|
|
Получить практические навыки решения задачи генерации текста.
|
|
|
|
## Задание
|
|
|
|
1. Загрузить выборку стихотворений одного из поэтов в соответствии с вариантом.
|
|
2. Познакомиться с данными. Проанализировать статистические характеристики исходных данных (среднюю длину стихотворения, среднюю длину строки).
|
|
3. Подготовить выборку для обучения.
|
|
4. Построить нейронную сеть. Тип ячейки RNN выбрать в соответствии с вариантом.
|
|
5. Обучить нейронную сеть на разных количествах эпох (5, 15, 30, 50, 70) при зафиксированных параметрах embedding_dim = 256, rnn_units = 300, T = 0.3 и сравнить результаты генерации (тексты), перплексию и статистические характеристики сгенерированных текстов. Выбрать оптимальное количество эпох
|
|
7. Изменяя параметр температуры T проанализировать изменения сгенерированного текста. Выбрать оптимальное значение параметра.
|
|
8. Проанализировать зависимость перплексии, скорости обучения, результатов генерации от параметров нейронной сети embedding_dim, rnn_units:
|
|
embedding_dim = {vocab/4, vocab/2, vocab, vocab * 2, vocab * 4}, где vocab = размер словаря выборки.
|
|
rnn_units = {10, 100, 300, 500}
|
|
|
|
## Указания
|
|
|
|
Для работы рекомендуется вместо Jupyter Notebook использовать [Google Colab](https://colab.research.google.com/) и среду с GPU для ускорения расчетов. Для установки среды, использующей GPU в Google Colab нужно
|
|
выбрать пункт меню "Среда выполнения" -> "Сменить среду выполнения" -> выбрать аппаратный ускоритель "GPU".
|
|
|
|
## Варианты заданий
|
|
|
|
### Поэт
|
|
|
|
Четные номера по журналу - Пушкин, нечетные - Маяковский.
|
|
|
|
### Тип ячейки RNN
|
|
|
|
Остаток от деления номера по журналу на 3:
|
|
* 0 - https://keras.io/api/layers/recurrent_layers/simple_rnn/
|
|
* 1 - https://keras.io/api/layers/recurrent_layers/lstm/
|
|
* 2 - https://keras.io/api/layers/recurrent_layers/gru/
|
|
|
|
## Контрольные вопросы
|
|
|
|
1. В чем особенность рекуррентных нейронных сетей?
|
|
2. Типы рекуррентных сетей - обычная RNN
|
|
3. Типы рекуррентных сетей - LSTM
|
|
4. Типы рекуррентных сетей - GRU
|
|
5. Что такое и как вычисляется перплексия
|
|
|
|
|
|
|