Методы глубокого обучения для генерации текста (PyTorch) - PullRequest
0 голосов
/ 30 сентября 2019

Приветствую всех,

Я хочу разработать систему, способную генерировать истории или поэзию на основе большого набора данных текста, без необходимости кормитьтекстовое описание / начало / резюме в качестве входных данных во время вывода.

До сих пор я делал это, используя RNN , но, как вы знаете, они имеют много недостатков. У меня вопрос, каковы лучшие методы для достижения этой задачи в то время? Я искал возможности, используя Механизмы внимания , но оказалось, что они приспособлены для задач перевода.

Я знаю о GPT-2, Bert, Transformer и т. Д. ., но все они нуждаются в текстовом описании в качестве входных данных, до поколения, и это не то, что я ищу. Мне нужна система, способная генерировать истории с нуля после обучения.

Большое спасибо!

1 Ответ

0 голосов
/ 01 октября 2019

edit

таким образом, комментарий был: I want to generate text from scratch, not starting from a given sentence at inference time. I hope it makes sense.

да, вы можете сделать это, это просто простое манипулирование кодом сверхуиз готовых моделей, будь то BERT, GPT-2 или RST на базе LSTM.

Как? Вы должны предоставить случайный вклад в модель. Такой случайный ввод может быть произвольно выбранным словом или фразой или просто вектором нулей.

Надеюсь, это поможет.


Вы перепутали несколько вещей здесь.

Вы можете достичь желаемого, используя архитектуру на основе LSTM или трансформатор.

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

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

GPT-2 - это не что иное, как модель на основе трансформатора. Его строительный блок представляет собой трансформаторную архитектуру.

BERT также является другой трансформаторной архитектурой.

Поэтому, чтобы ответить на ваш вопрос, вы должны и можете попробовать использовать архитектуру на основе LSTM или трансформаторную архитектуру для достижения того, что вам нужно. хотеть. Иногда такую ​​архитектуру называют GPT-2, иногда BERT, в зависимости от того, как она реализована.

Я рекомендую вам прочитать эту классику от Karpathy, если вы понимаете ее, тогда вы сняли большинство своих вопросов:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

...