Динамическая модель LSTM в Tensorflow

tensorflow deep-learning lstm recurrent-neural-network language-model

1030 просмотра

2 ответа

339 Репутация автора

Я рассчитываю разработать модель LSTM с использованием Tensorflow, где предложения имеют разную длину. Я наткнулся на учебник по набору данных PTB ( https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/rnn/ptb/ptb_word_lm.py ). Как эта модель фиксирует экземпляры различной длины? В примере ничего не говорится о дополнении или другом методе обработки последовательностей переменного размера.

Если я использую отступ, каким должен быть размер развертывания?

Автор: user3480922 Источник Размещён: 18.07.2016 08:21

Ответы (2)


0 плюса

2096 Репутация автора

Модель PTB усекается во времени - она ​​всегда возвращает заданное количество шагов (num_steps в конфигах). Таким образом, здесь нет заполнения - он просто читает данные и пытается предсказать следующее слово и всегда читает слова num_steps за раз.

Автор: Lukasz Kaiser Размещён: 18.07.2016 11:11

1 плюс

5415 Репутация автора

Решение

Вы можете сделать это двумя способами.

  1. У TF есть способ указать размер ввода. Ищите параметр под названием «sequence_length», я использовал это в tf.nn.bidirectional_rnn. Таким образом, TF развернет вашу ячейку только до sequence_length, но не до размера шага.

  2. Дополните свой ввод предопределенным фиктивным вводом и предопределенным фиктивным выводом (для фиктивного вывода). Ячейка lstm научится предсказывать фиктивный вывод для фиктивного ввода. При его использовании (скажем, для расчета матрицы) нарезать фиктивные детали.

Автор: mujjiga Размещён: 15.08.2017 05:42
Вопросы из категории :
32x32