5 votos

CNN frente a RNN para la clasificación de series temporales

Soy nuevo en las redes neuronales y después de investigar un poco he leído sobre las redes neuronales CNN y RNN. Los datos que tengo son múltiples series temporales de números.

Así, por ejemplo, en lugar de que la entrada 1 sea, por ejemplo, una sola imagen a clasificar, es un número de series temporales:

entrada 1: serie temporal tipo A, serie temporal tipo B, serie temporal tipo C

entrada 2: serie temporal tipo A, serie temporal tipo B, serie temporal tipo C

De estas series temporales me gustaría tener dos salidas. Si una sola serie de tiempo parece anormal o normal basado en los datos de entrenamiento ya clasificados para cada tipo de serie de tiempo, y finalmente basado en todas las series de tiempo un solo resultado para la entrada, si es normal o anormal. (Si alguna de las series temporales de la entrada es anormal entonces el resultado es anormal)

Mis preguntas son:

1) ¿Debo utilizar una CNN o una RNN para este problema? He leído que las RNN son buenas en secuencias, por ejemplo de idiomas, pero qué pasa con los datos de series temporales. Por otro lado, he encontrado otros artículos que utilizan CNN para la clasificación de series temporales.

2) ¿Cómo debo abordar este problema? ¿Debo utilizar todas las series temporales como entradas en mi red neuronal de elección? o ¿debo utilizar múltiples redes neuronales para cada tipo de serie temporal? Tenga en cuenta que cada serie temporal describe una cosa diferente, pero al final me gustaría tener un único resultado basado en todas las series temporales, para cada entrada.

Gracias.

1voto

Nicholas Puntos 1

Como has dicho, normalmente las RNN, por su mecanismo de memoria, son buenas en las secuencias, pero también son posibles otros enfoques. Sin embargo, depende de lo que representen tus datos y no me queda muy claro cómo se relacionan los diferentes tipos de series temporales entre sí.

Podrías tener otro enfoque para probar, pero repito que no me queda claro qué representan tus datos y cómo están relacionados.

Aquí están algunos de ellos.

1) Entrenar una RNN para cada tipo de secuencia para aprender a clasificarlas y luego utilizar un consenso en toda la entrada

2) Como 1.), pero entrenando con una única RNN para todos los tipos de secuencias

3.) Concatenar sus tipos de secuencias para cada entrada, de modo que se construya un modelo único basado en RNN para producir una incrustación sobre la que se puedan aplicar dos clasificadores (en modo multitarea). El primero clasifica cada frase, mientras que el segundo clasifica toda la entrada

0voto

nunya Puntos 21

En tu caso, puedes probar con RNN o CNN.

En el caso de la RNN, puedes dejar que el modelo vea los números anteriores para predecir el siguiente (o unos cuantos), y si la predicción está dentro de una desviación estándar no hay problema. He aquí un ejemplo: Detector de anomalías basado en RNN . Si los números son categóricos puedes entrenar un modelo de lenguaje y puntuar la secuencia por las perplejidades de cada número. Si la perplejidad es mayor que un umbral se puede hacer como anormal. O puedes intentar un LSTM bidireccional y obtener el estado final y concatenarlos como la característica y añadir una regresión logística encima.

Y también se puede utilizar la CNN con un tamaño de kernel particularmente grande y con max-pooling como un problema de clasificación directa. Pero hay que tener cuidado, ya que las CNN son invariables a la posición.

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