Backpropagation a través del tiempo.

¿Alguien sabe de una biblioteca con una implementación funcional de propagación hacia atrás a través del tiempo? ¡Cualquiera de Java / Python / C # / VB.NET / F # (preferiblemente el último) servirá!

¿Qué hay de este ? Sólo una búsqueda en Google para ayudar …

Suponiendo que ya está utilizando alguna biblioteca para BP, debería ser (TM) bastante sencillo implementar BPTT utilizando BP como un paso en el proceso.

La entrada de Wikipedia para BPTT [1] incluye un pseudo código relevante.

Mi propio punto de partida, hace unos 18 años, fue “The Truck Backer-Upper: un ejemplo de autoaprendizaje en redes neuronales” [2].

[1] http://en.wikipedia.org/wiki/Backpropagation_through_time

[2] http://www-isl.stanford.edu/~widrow/papers/c1989thetruck.pdf

Sin embargo, he usado NeuronDotNet solo por un tiempo limitado. Te permite crear un BackPropagation NN de feed-forward. Me gustó especialmente su uso de clases nombradas intuitivamente. ¡Buena suerte!

Esta es una biblioteca .net.

Soy de Java pero Encog también tiene una implementación .net (y es un marco muy bueno para NNets, con buen soporte de series de tiempo)

No puedo ayudar con un marco F #, pero ¿para qué dominio estás codificando? Si se trata de finanzas reafirmaré el “echar un vistazo a Encog”

Tal vez Pybrain haría? La cadena de documentos para su clase BackpropTrainer sugiere que hace BackpropTrainer hacia BackpropTrainer través del tiempo:

 class BackpropTrainer(Trainer): """Trainer that trains the parameters of a module according to a supervised dataset (potentially sequential) by backpropagating the errors (through time).""" 

He tenido buenas experiencias con Weka . Desde mi punto de vista, es una de las mejores y casi sin duda las bibliotecas de aprendizaje de propósito general más completas que existen.

Ciertamente podría hacer BPTT con Weka; puede encontrar un clasificador ya hecho que hace lo que necesita, pero incluso si no puede simplemente encadenar unas pocas unidades normales de propagación hacia atrás según el excelente artículo de wikipedia en BPTT

Hice un algoritmo de propagación hacia atrás en Java hace bastante tiempo. Lo subí a GitHub, tal vez lo encuentres útil: https://github.com/bernii/NeuralNetwokPerceptronKohonen

Déjame ahora si fue útil 🙂

Puede usar la función dynamic_rnn() TensorFlow ( documento API ). El tutorial de TensorFlow sobre redes neuronales recurrentes ayudará.

Además, esta excelente publicación de blog proporciona una buena introducción a la predicción de secuencias utilizando TensorFlow. Aquí hay otra entrada de blog con algún código para predecir una serie de tiempo.