Литература и искусство красивы и интересны. Для большинства людей матрицы и тензоры не выглядят красивыми и забавными. Обладая всеми имеющимися у нас вычислительными мощностями, мы можем обрабатывать числа с невероятно высокой скоростью, но компьютеры по своей сути отстойны в создании красивых и забавных вещей.

Вдохновленный блогом Андрея Карпати, я обучил многочисленные модели повторяющихся нейронных сетей, основанные на персонажах, для создания литературы и искусства по десять минут каждая.

Создание персонажей

Текст - это форма последовательных данных, и, как и в других проектах, включающих последовательные данные, могут использоваться последовательные модели, такие как RNN, LSTM и GRU.

Поскольку используемые нами тексты содержат прописные буквы, знаки препинания, числа и символы, модель на основе слов не сможет получить доступ к исходному тексту, если мы выполняем предварительную обработку: удаление знаков препинания, токенизацию, выделение корней или лемматизацию и удаление стоп-слов. . Это означает, что информация теряется, и в результате модель не может воспроизводить текст, как оригинал.

Символьная модель не борется с этой проблемой, поскольку каждую пунктуацию, число и символ можно рассматривать как отдельный символ. Фактически, модель будет изучать шаблоны форматирования и пунктуации исходного текста.

Для своей модели я использовал модель на основе персонажей.

Вложения персонажей

Если вы работали с обработкой естественного языка, вы, вероятно, сталкивались с идеей встраивания слов, процесса преобразования слова в многомерный вектор. Вложение (многомерный вектор) захватывает такие идеи, как:

  • Контекстные слова появляются в
  • Аналогии между парами слов
  • Частота употребления определенных слов
  • Отношения между похожими словами

Вместо простого вектора вложения слов дают модели значимый вектор для выполнения вычислений. Встраивание символов выполняет аналогичную функцию и превращает популярный вектор в то, с чем модель может эффективно работать.

В сети есть несколько предварительно обученных встраиваний персонажей, но я решил обучить самостоятельно.

Модель

Модель машинного обучения, которую я использовал, состояла из следующих слоев:

  • Встраивание: изучает встраивание символов и предоставляет соответствующую информацию следующим уровням.
  • Составные ГРУ: учатся, когда запоминать информацию, а когда забывать. Производит выходные данные для каждого временного шага ввода.
  • Уровень обычной нейронной сети: принимает выходные данные из последнего ГРУ и назначает вероятность каждому символу с помощью функции активации softmax.

Чтобы создать входы и выходы, я объединил все свои обучающие примеры в одну строку и разделил эту строку на множество последовательностей равной длины. Один обучающий пример может состоять из одной последовательности в качестве входных данных и сдвинутой последовательности в качестве цели.

Результаты

Я обучал моделей Шекспиру, новостным статьям, стихам, книге Псалмов из Библии, фортепианной музыке ряда композиторов и музыке аниме. Вот пример результатов:

  • Шекспир
PETRUCHIO:
Nay, that thou then attorn and pale as shepherd's daughter.
BIONDELLO:
Where is that you have a study to me.
BIONDELLO:
Nay, if they saw some comfort! for thy comfort fortune
It shall be so, being a stranger in this state,
With shame under her good?
TRANIO:
What thou camest, of what is death!
O place?
  • Новости
The Chinese of the story has been donating the shooting that he called a pay on what seems to be abortions to be tough of 3-2 a.m. Sunday that the changes in the Australia, In the state abortion regions of neighborhood upon access rain among a mind can send a sense of the unreal nature. Disasters marched discover the next decade because you didn’t want to do that.
"He was trying to questions in the research of the abortion decision to determine whether they felt the finding day of losses was correct."
  • Поэзия (перебор из-за небольшого набора данных):
When A perten scal 
While I wrote her letters in bold 
Two times four times twelve times two 
Night seemed difficult 
The world fall in the wirlow 
Doing inside my peristy story, 
Life gives us bricks to make walking.
  • Псалмы
Psalm 132
A song of ascents.
1 Praise the Lord, all you servants of the Lord
    who minst his anointed,
    to those who speak evildoers.
6 The Lord has done great things for us,
    to mad and the Lord heard him;
    he hears their cry;
45 for their delight in the Lord.
5 May the Lord bless you from Zion,
    he who is the Maker of heaven and earth.

Сгенерированный текст, кажется, имеет какую-то структуру и следует некоторым основным грамматическим правилам, в то время как музыка является абсолютным провалом.

Хотя в моделях еще есть много возможностей для улучшения, прогресс от случайных символов к базовой структуре и шаблонам за десять минут поразителен.

Сегодня RNN приобрели огромную популярность и эффективность и революционизируют создание текста, перевод, распознавание речи, реферирование и многие другие темы. Их влияние на современные технологии огромно, и RNN контролируют будущее искусственного интеллекта.

Резюме

  • Компьютеры могут создавать красивые и забавные вещи.
  • Модели на основе символов могут изучать шаблоны в тексте и создавать похожие тексты.
  • Встраивание символов, как и встраивание слов, фиксирует контекст и использование определенного символа.
  • У RNN есть множество интересных приложений в таких областях, как письмо и музыка.