Comprender las unidades básicas del modelo RNN, LSTM, GRU, RQNN y SRU.
La unidad LSTM y la unidad GRU son las unidades más comunes en los modelos RNN y su contenido consta de tres estructuras: puerta de entrada, puerta de olvido y puerta de salida.
Las funciones de las unidades LSTM y las unidades GRU son casi las mismas, pero la única diferencia es:
En comparación, es más fácil usar las unidades GRU.
La unidad de red neuronal cuasi recursiva es la unidad básica del modelo RNN y es más rápida que la unidad LSTM.
La unidad QRNN se publicó en 2016. Utiliza operaciones de convolución para reemplazar la estructura cíclica tradicional y su estructura de red está entre RNN y CNN.
La estructura convolucional dentro de QRNN puede calcular datos de secuencia simultáneamente en forma matricial y ya no necesita calcularse secuencialmente como una estructura cíclica. Utiliza operación paralela en lugar de serie para mejorar la velocidad de operación. Las estructuras convolucionales también son más estables que las circulares durante el entrenamiento.
En aplicaciones prácticas, las unidades QRNN se pueden reemplazar arbitrariamente por unidades existentes en el modelo RNN.
Para obtener más información, consulte el artículo:
Red neuronal cuasi recurrente
El elemento SRU es el elemento básico del modelo RNN. Su funcionalidad es similar a la del elemento QRNN y al mismo tiempo mejora la velocidad del elemento LSTM.
Para generar resultados, la unidad LSTM debe operar en las muestras una por una en orden. Este modo de funcionamiento impide que la unidad desempeñe su función completa en un entorno informático paralelo de varias máquinas.
Unidad SRU publicada en 2017. Mantiene la estructura de bucle de la unidad LSTM y mejora la velocidad de operación ajustando el orden de las operaciones (colocando la multiplicación de matrices fuera del bucle en serie y sumando la multiplicación en el bucle en serie).
Si necesita estudiar la teoría de elementos SRU más profundamente, puede consultar los siguientes artículos:
Unidad recursiva simple con alto grado de recursividad paralela
Acerca de la función tf.contrib.rnn Para obtener más información sobre el uso de .SRUCell, consulte el documento de ayuda oficial.
/flujo tensor/flujo tensor/blob/r 1.15/flujo tensor/contrib/rnn/python/ops/rnn _ cell py # l 2738-l 2816
.