Вычисляет прямое распространение ячейки GRU за 1 временной шаг.
Args x: вход в ячейку ГРУ. h_prev: ввод состояния из предыдущей ячейки GRU. w_ru: Матрица весов для сброса и обновления вентиля. w_c: Весовая матрица для шлюза соединения ячеек. b_ru: Вектор смещения для вентиля сброса и обновления. b_c: Вектор смещения для шлюза соединения ячейки.
Возвращает r: Выход вентиля сброса. u: Выход шлюза обновления. c: Выход шлюза соединения ячеек. h: Текущее состояние ячейки ГРУ.
Обратите внимание на обозначения переменных:
Объединение a и b представлено a_b. Скалярное произведение a и b по элементам представлено ab. Скалярное произведение поэлементно представлено \circ. Матричное умножение представлено *.
Смещения инициализируются с помощью: `b_ru` - константа_инициализатор(1.0) `b_c` - константа_инициализатор(0.0)
Эта операция ядра реализует следующие математические уравнения:
x_h_prev = [x, h_prev]
[r_bar u_bar] = x_h_prev * w_ru + b_ru
r = sigmoid(r_bar)
u = sigmoid(u_bar)
h_prevr = h_prev \circ r
x_h_prevr = [x h_prevr]
c_bar = x_h_prevr * w_c + b_c
c = tanh(c_bar)
h = (1-u) \circ c + u \circ h_prev
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
Выход <Т> | в () |
статический <T расширяет TNumber > GRUBlockCell <T> | |
Выход <Т> | ч () |
Выход <Т> | р () |
Выход <Т> | ты () |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
public static GRUBlockCell <T> create ( Область действия, Операнд <T> x, Операнд <T> hPrev, Операнд <T> wRu, Операнд <T> wC, Операнд <T> bRu, Операнд <T> bC)
Фабричный метод для создания класса, обертывающего новую операцию GRUBlockCell.
Параметры
объем | текущий объем |
---|
Возврат
- новый экземпляр GRUBlockCell