Обновление char-level language model и подробная инструкция по использованию

Sep 08, 2017 14:47


Выложил в репозиторий всё, включая новые файлы модели, обученной на 2 миллионах сэмлах. Также добавил описание:

Char-level Language Model на базе рекуррентных нейросетей

Модель реализована на Python 2.x с использованием фреймворка Keras для построения нейросети.

Обучение модели

Обучение реализовано в char_predictor.py.

Для обучения модели необходим текстовый файл (plain text, utf-8). Какую-либо нормализацию текста выполнять не требуется. Модель сама составит список всех используемых символов.

Путь к текстовому файла прописан в char_predictor.py. Там же стоит вторая важная настройка - количество сэмплов в обучающем датасете. Чем большое сэмплов, тем лучше модель будет работать, но время обучения будет расти пропорционально.

В ходе обучения программа сохраняет модельные данные на диске.

Для nb_patterns = 2000000 обучение с использованием GPU NVidia GTX 980 длится примерно 5 часов, с учетом 5 отбрасываемых эпох до срабатывания early stopping.

Проверка работы модели в консоли

Консольный генератор текста реализован в char_generator.py. Он загружает модельные данные из файлов, приготовленных в ходе обучения. далее можно вводить с клавиатуры цепочку символов (начало фразы), а модель выведет предполагаемое продолжение. Примерно так:

>: поздравляю с новы
поздравляю с новых настоящий собой мо

>: сяду на пенек, съем пиро
сяду на пенек, съем пиров накопления по нее

>: цветы нужно поливать кажд
цветы нужно поливать каждое серодоразисте так

>: тише, мыши, кот на кры
тише, мыши, кот на крыше и высоких своей т

генерация текста, neuronet, генеративная модель, keras, character language model, char-rnn, исходники, python

Previous post Next post
Up