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 заменены диагональными матрицами, т.е. выполняется произведение Адамара с одним вектором:
где \(\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 | УСТАРЕВШАЯ ФУНКЦИЯ |
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], заполненный нулями. Если |
© 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