Что, если бы историю «Звездных войн» написала машина?

Введение

Представьте себе, дроиды пришли в 21 век со знанием будущего, но у них были только современные технологии, чтобы переписать свою историю «Звездных войн».

В этой статье мы увидим, как дроид (модель машинного обучения) генерирует свою историю «Звездных войн», используя знания о будущем (книги «Звездные войны»).

Архитектура модели

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

Результатом модели являются оценки слов для наиболее вероятного следующего слова. В следующем коде показана архитектура модели с использованием PyTorch.

Генерация историй

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

Сгенерированные образцы

Ниже приведены 12 примеров сгенерированного текста с разным входным словом и длиной текста.

Пример 1:

Мне показалось забавным, что Хан идиот. мы можем видеть последовательность, хотя она не велика, но имеет смысл.

Входное слово: джедай

Длина текста: 12

Созданные выходные данные

jedi.
han was a idiot, not looking in his datapad

Пример 2:

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

Входное слово: джедай

Длина текста: 12

Созданные выходные данные

jedi. and the trade federation, servers of the eleven, commissioned

Пример 3:

Это заставило меня почувствовать, что Йода знает все! Ну, мне нравится Йода, так что я согласен с этим 😄

Входное слово: йода

Длина текста: 12

Созданные выходные данные

yoda. the jedi had expanded on the galaxy, but he knew

Пример 4:

Этот с большей длиной текста.

"сокол морда показалась, потом катапультировалась в окно"

для этого текста я представляю, как пилот истребителя смотрит на «Тысячелетний сокол» через свое окно. Когда «Тысячелетний сокол» двигался, казалось, что корабль катапультировался из этого измерения в другое 😜

Входное слово: йода

Длина текста: 100

Созданные выходные данные

yoda. ”
“i don’t know—fly the fancy, ” yoda replied quietly.
“no, ” luke called, uncharacteristically the robot of happiness and disappointment.
“we know. ”
“and luke’s anger. ” lando yelled.
the falcon ’s face seemed, then catapulted out the window.
the phantom- cloaked girl swiveled at the princess of the death.
" i know you were dead."
" no, not...."
" i don't know about him," ferus said

Пример 5:

Это было забавно, говоря, что Вейдер манипулирует своим путем! Также упоминание штурмовика как мачо (думаю, это означает «соответствовать», но мачо веселее)

Входное слово: вейдер

Длина текста: 35

Созданные выходные данные

vader could react in the main navy, manipulating his way to the limit, then turned back to the main scout. the stormtrooper of the two- east jawas were just only a matchto

Пример 6:

Последовательность правильно связана r2-d2, возможно, во входных данных достаточно упоминаний имени r2-d2.

«Но имперцы будут править империей!»

хм, не знаю, о чем думает r2-d2, но мы не можем этого допустить 😂

«Я не думаю, что мы сможем найти это»

похоже, что r2-d2 разговаривает с c-3po

Входное слово: r2

Длина текста: 75

Созданные выходные данные

r2- d2.

" i don't think we can find it," he said." but the imperials will be in charge of the empire!" he looked over to his chair." i can't have to be a long idea," ferus answered." we can get out of the temple."

" we know, i have to tell you

Пример 7:

Точно так же здесь оби правильно связан с оби-ваном.

Хм, кажется, это хорошее упражнение для воображения, что, если корабль Оби-Вана - истребитель бартокков! ха-ха, я бы не смог это придумать 🤣 или Бартокк украл истребители торговой федерации, а они достались Оби-Вану? Я позволю тебе понять это

Входное слово: оби

Длина текста: 100

Созданные выходные данные

obi- wan's ship. the bartokk starfighter fired in a heap overlooking the arena with a violent, hanging out of the roof.
he had heard the emperor, and he wouldn't be happy for the time of his life.
" the queen has been destroyed to me."
" the senate is not a trap," obi- wan said.
" i can tell him. you can tell him that you have a chance to collect."
" i don't know."
" you don't

Пример 8:

Принципиальный Чубакка, да, мне это нравится!

Входное слово: чубакка

Длина текста: 10

Созданные выходные данные

chewbacca, with the connectors and the principles.

Пример 9:

— Ты понятия не имеешь о джедаях, — сказал Ферус. но джедай будет только один — сила»

Похоже, Ферус Олин учит Энакина Скайуокера джедаям. Может быть, это закончится тем, что джедаи станут единственной силой, способной остановить зло.

Входное слово: Анакин

Длина текста: 50

anakin, and the naboo star destroyers and services."
" yes, master."
" what do we commit?"
" you have no idea of a jedi," ferus said." but the jedi will be the only one— the force

Пример 10:

Итак, мы получаем историю из следующего текста, поскольку Сола Наберри и джедаи будут вместе сражаться против сопротивления в битве за Набу?

Входное слово: сола

Длина текста: 100

Созданные выходные данные

sola. and the jedi had begun to overthrow the resistance."


" you don't know," ferus said.


" i don't know," he said." it is no of the founding reasons."
" you know you were a good one!" the boy asked irritably." but the chancellor are not happy to unravel the emperor's advisor in the galaxy," ferus said." i can see it." the boy nodded." i have a feeling,"

Пример 11:

Похоже, Люк Скайуокер хочет сообщить кому-то о кораблях Федерации.

Входное слово: федерация

Длина текста: 22

Созданные выходные данные

federation droids of the rebel star cruisers, indomitable.
" i have to tell the first naval," the boy

Пример 12:

Закончу пробы принцессой Леей 👸

Следующий текст связывает принцессу Лею, Нар Шаддаа и Хана Соло. Кажется, контекст взят из лунной книги контрабандистов.

Входное слово: принцесса

Длина текста: 30

Созданные выходные данные

princess the freighters of his shaddaa, alerting the empire, and the jedicouncil of the sith lords of the force.
han was not nervous to triggerits his own

Вывод

Сгенерированный текст не так хорош, потому что модель нуждается в более тонкой настройке. Хотя нас не интересует наиболее точная модель для точного предсказания каждого слова в обучающих данных, мы стремимся обобщить модель. наличие баланса между переоснащением и обобщением. Текущий убыток модели составляет 4,1. Я хотел бы протестировать увеличение эпох, увеличение размера пакета, снижение скорости обучения, увеличение слоев и скрытых измерений, чтобы получить меньшие потери и лучший прогноз. С моим 1080Ti очень долго тренируется. Я жду, когда команда AWS предоставит мне Sagemaker экземпляры ml.p2 для тонкой настройки!