tf.contrib.rnn.IntersectionRNNCell
Ячейка рекуррентной нейронной сети пересечения (+RNN).
Наследуется от: RNNCell
tf.contrib.rnn.IntersectionRNNCell(
num_units, num_in_proj=None, initializer=None, forget_bias=1.0,
y_activation=tf.nn.relu, reuse=None
)
Архитектура с сопряжённым рекуррентным и сопряжённым глубиной вентилями, разработанная для улучшения потока информации через стопки RNN. Поскольку архитектура использует глубинный вентиль, размерность выходных данных глубины (y) также не должна меняться по глубине (размер входных данных == размер выходных данных). Для достижения этого, первый слой стопки Intersection RNN проецирует входные данные в N (количество единиц) измерений. Поэтому при инициализации IntersectionRNNCell необходимо задать num_in_proj = N для первого слоя и использовать значения по умолчанию для последующих слоёв.
Эта реализация рекуррентной ячейки из статьи:
https://arxiv.org/abs/1611.09913
Jasmine Collins, Jascha Sohl-Dickstein, и David Sussillo. "Объём и обучаемость в рекуррентных нейронных сетях" Proc. ICLR 2017.
Intersection RNN предназначена для использования в глубоких стопках RNN, поэтому она может не достичь наилучшей производительности с глубиной 1.
| Аргументы | |
|---|---|
num_units | целое число, Количество единиц в ячейке +RNN |
num_in_proj | (необязательно) целое число, Размерность входа для RNN. Если создаётся первый слой +RNN, это значение должно быть установлено в num_units. В противном случае, это значение должно быть установлено в None (значение по умолчанию). Если None, размерность inputs должна быть равна num_units, в противном случае вызывается ValueError. |
initializer | (необязательно) Инициализатор, используемый для матриц весов. |
forget_bias | (необязательно) число с плавающей точкой, значение по умолчанию 1.0, Начальный смещение вентилей забывания, используемый для уменьшения масштаба забывания в начале обучения. |
y_activation | (необязательно) Функция активации состояний, передаваемых по глубине. По умолчанию 'tf.nn.relu. </td> </tr><tr> <td>reuse</td> <td> (optional) Python boolean describing whether to reuse variables in an existing scope. If notTrue`, и если существующий scope уже содержит указанные переменные, возникает ошибка. |
| Атрибуты | |
|---|---|
graph | УСТАРЕВШАЯ ФУНКЦИЯ |
output_size | Целое число или TensorShape: размер выходных данных, производимых этой ячейкой. |
scope_name | |
state_size | Размер(ы) состояния(ий), используемых этой ячейкой. Он может быть представлен целым числом, TensorShape или кортежем целых чисел или TensorShapes. |
Методы
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
zero_state
zero_state(
batch_size, dtype
)
Возвращает тензор(ы) состояния, заполненный нулями.
| Аргументы | |
|---|---|
batch_size | целое число, число с плавающей точкой или тензор единицы, представляющий размер пакета. |
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/IntersectionRNNCell