Spec-Zone.ru › TensorFlow 1.15

tf.contrib.rnn.IndyLSTMCell

Базовая ячейка рекуррентной сети IndyLSTM.

Наследуется от: LayerRNNCell

tf.contrib.rnn.IndyLSTMCell(
    num_units, forget_bias=1.0, activation=None, reuse=None,
    kernel_initializer=None, bias_initializer=None, name=None, dtype=None
)

Основана на IndRNN (https://arxiv.org/abs/1803.04831) и похожа на BasicLSTMCell, но матрицы \(U_f\), \(U_i\), \(U_o\) и \(U_c\) в обычных уравнениях LSTM заменены диагональными матрицами, т.е. выполняется произведение Адамара с одним вектором:

$$f_t = \sigma_g\left(W_f x_t + u_f \circ h_{t-1} + b_f\right)$$
$$i_t = \sigma_g\left(W_i x_t + u_i \circ h_{t-1} + b_i\right)$$
$$o_t = \sigma_g\left(W_o x_t + u_o \circ h_{t-1} + b_o\right)$$
$$c_t = f_t \circ c_{t-1} + i_t \circ \sigma_c\left(W_c x_t + u_c \circ h_{t-1} + b_c\right)$$

где \(\circ\) обозначает оператор Адамара. Это означает, что каждый узел IndyLSTM видит только свое собственное состояние \(h\) и \(c\), в отличие от просмотра всех состояний в одном слое.

Мы добавляем смещение для забывания (по умолчанию: 1) к смещениям ворот забывания, чтобы уменьшить масштаб забывания в начале обучения.

Она не поддерживает ограничение ячеек, слой проекций и не использует связи «глаз в глаз»: это базовая модель.

Подробный анализ IndyLSTM см. в https://arxiv.org/abs/1903.08023

Аргументы
num_units int, Количество ячеек в ячейке LSTM.
forget_bias float, Смещение, добавляемое к воротам забывания (см. выше). Должно быть установлено значение 0.0 вручную при восстановлении из контрольных точек, обученных с CudnnLSTM.
activation Функция активации внутренних состояний. По умолчанию: tanh.
reuse (необязательно) Логическое значение Python, описывающее, следует ли повторно использовать переменные в существующем пространстве имен. Если не True, и существующее пространство имен уже содержит заданные переменные, возникает ошибка.
kernel_initializer (необязательно) Инициализатор, используемый для матрицы весов, применяемой к входным данным.
bias_initializer (необязательно) Инициализатор, используемый для смещения.
name Строка, имя слоя. Слои с одинаковыми именами будут использовать общие веса, но для предотвращения ошибок в таких случаях требуется reuse=True.
dtype Тип данных по умолчанию для слоя (по умолчанию None означает использование типа первого входного значения). Требуется, когда build вызывается до call.
Атрибуты
graph УСТАРЕВШАЯ ФУНКЦИЯ
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: прекратите использование этого свойства, так как слои tf.layers больше не отслеживают свою диаграмму.
output_size Целое число или TensorShape: размер выходов, генерируемых этой ячейкой.
scope_name
state_size Размер(ы) состояния(ий), используемых этой ячейкой.

Он может быть представлен целым числом, TensorShape или кортежем целых чисел или TensorShape.

Методы

get_initial_state

Просмотреть исходный код

get_initial_state(
    inputs=None, batch_size=None, dtype=None
)

zero_state

Просмотреть исходный код

zero_state(
    batch_size, dtype
)

Возвращает тензор(ы) состояния, заполненные нулями.

Аргументы
batch_size int, float или тензор единицы, представляющий размер пакета.
dtype Тип данных, который следует использовать для состояния.
Возвращаемое значение
Если state_size — целое число или TensorShape, то возвращаемое значение — тензор N-D с формой [batch_size, state_size], заполненный нулями.

Если state_size — вложенный список или кортеж, то возвращаемое значение — вложенный список или кортеж (с той же структурой) тензоров 2-D с формами [batch_size, s] для каждого s в state_size.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/rnn/IndyLSTMCell

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API