28 votos

Diferencia entre muestras, pasos de tiempo y características en la red neuronal

Estoy revisando el siguiente blog sobre la red neuronal LSTM: http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/

El autor reformula el vector de entrada X como [muestras, pasos de tiempo, características] para diferentes configuraciones de LSTMs.

El autor escribe

De hecho, las secuencias de letras son pasos de tiempo de una característica en lugar de un paso de tiempo de características separadas. Hemos dado más contexto a la red, pero no más secuencia como se esperaba

¿Qué significa esto?

25voto

Finnegan Puntos 111

He encontrado esto justo debajo de los [samples, time_steps, features] que te interesan.

X = numpy.reshape(dataX, (len(dataX), seq_length, 1))

Muestras - Este es el len(dataX), o la cantidad de puntos de datos que tiene.

Pasos de tiempo - Esto equivale a la cantidad de pasos de tiempo que ejecuta su red neuronal recurrente. Si quieres que tu red tenga una memoria de 60 caracteres, este número debe ser 60.

Características - es la cantidad de características en cada paso de tiempo. Si estás procesando imágenes, es la cantidad de píxeles. En este caso parece que tienes 1 característica por paso de tiempo.

6voto

kole Puntos 6

Mi respuesta con un ejemplo: ["hola soy xyz", "como estas", "gran hombre..."]

en este caso "[muestras, pasos de tiempo, características]" significa:

  • muestra: 3 porque hay 3 elementos en la lista
  • pasos de tiempo: aquí puede tomar max_length = 4 length("hola este es xyz") = 4; length("cómo estás") = 4; length("genial hombre...") = 2 (después de quitar la puntuación "."). La razón de decir que esto es un tiempo es que en el primer elemento "hola esto es xyz" ==> t0("hola"), t1("esto"), t2("es") y t3("xyz")
  • características: El tamaño de la incrustación para cada palabra. Por ejemplo, "hola": Matriz 50D, "esto": 50D array y así sucesivamente

5voto

Green Puntos 141

Es un poco tarde pero por si acaso;
A Muestra puede referirse a ejemplos individuales de formación. Una variable "batch_size" es, por tanto, el recuento de muestras que ha enviado a la red neuronal. Es decir, cuántos ejemplos diferentes alimentas a la vez a la red neuronal.

TimeSteps son ticks de tiempo. Se trata de la duración de cada una de las muestras. Por ejemplo, una muestra puede contener 128 pasos de tiempo, donde cada paso de tiempo podría ser un 30 de segundo para el procesamiento de la señal. En el Procesamiento del Lenguaje Natural (PLN), un paso de tiempo puede estar asociado a un carácter, una palabra o una frase, dependiendo de la configuración.

Características son simplemente el número de dimensiones que alimentamos en cada paso de tiempo. Por ejemplo, en PNL, una palabra podría representarse con 300 características utilizando word2vec. En el caso del procesamiento de señales, supongamos que la señal es 3D. Es decir, tienes una señal X, una Y y una Z, como las mediciones de un acelerómetro en cada eje. Esto significa que tendrías 3 características enviadas en cada paso de tiempo para cada muestra.

Por Guillaume

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X