Cargando…

tension: A Python package for FORCE learning

First-Order, Reduced and Controlled Error (FORCE) learning and its variants are widely used to train chaotic recurrent neural networks (RNNs), and outperform gradient methods on certain tasks. However, there is currently no standard software framework for FORCE learning. We present tension, an objec...

Descripción completa

Detalles Bibliográficos
Autores principales: Liu, Lu Bin, Losonczy, Attila, Liao, Zhenrui
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9810194/
https://www.ncbi.nlm.nih.gov/pubmed/36534709
http://dx.doi.org/10.1371/journal.pcbi.1010722
_version_ 1784863260258861056
author Liu, Lu Bin
Losonczy, Attila
Liao, Zhenrui
author_facet Liu, Lu Bin
Losonczy, Attila
Liao, Zhenrui
author_sort Liu, Lu Bin
collection PubMed
description First-Order, Reduced and Controlled Error (FORCE) learning and its variants are widely used to train chaotic recurrent neural networks (RNNs), and outperform gradient methods on certain tasks. However, there is currently no standard software framework for FORCE learning. We present tension, an object-oriented, open-source Python package that implements a TensorFlow / Keras API for FORCE. We show how rate networks, spiking networks, and networks constrained by biological data can all be trained using a shared, easily extensible high-level API. With the same resources, our implementation outperforms a conventional RNN in loss and published FORCE implementations in runtime. Our work here makes FORCE training chaotic RNNs accessible and simple to iterate, and facilitates modeling of how behaviors of interest emerge from neural dynamics.
format Online
Article
Text
id pubmed-9810194
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-98101942023-01-04 tension: A Python package for FORCE learning Liu, Lu Bin Losonczy, Attila Liao, Zhenrui PLoS Comput Biol Research Article First-Order, Reduced and Controlled Error (FORCE) learning and its variants are widely used to train chaotic recurrent neural networks (RNNs), and outperform gradient methods on certain tasks. However, there is currently no standard software framework for FORCE learning. We present tension, an object-oriented, open-source Python package that implements a TensorFlow / Keras API for FORCE. We show how rate networks, spiking networks, and networks constrained by biological data can all be trained using a shared, easily extensible high-level API. With the same resources, our implementation outperforms a conventional RNN in loss and published FORCE implementations in runtime. Our work here makes FORCE training chaotic RNNs accessible and simple to iterate, and facilitates modeling of how behaviors of interest emerge from neural dynamics. Public Library of Science 2022-12-19 /pmc/articles/PMC9810194/ /pubmed/36534709 http://dx.doi.org/10.1371/journal.pcbi.1010722 Text en © 2022 Liu et al https://creativecommons.org/licenses/by/4.0/This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Liu, Lu Bin
Losonczy, Attila
Liao, Zhenrui
tension: A Python package for FORCE learning
title tension: A Python package for FORCE learning
title_full tension: A Python package for FORCE learning
title_fullStr tension: A Python package for FORCE learning
title_full_unstemmed tension: A Python package for FORCE learning
title_short tension: A Python package for FORCE learning
title_sort tension: a python package for force learning
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9810194/
https://www.ncbi.nlm.nih.gov/pubmed/36534709
http://dx.doi.org/10.1371/journal.pcbi.1010722
work_keys_str_mv AT liulubin tensionapythonpackageforforcelearning
AT losonczyattila tensionapythonpackageforforcelearning
AT liaozhenrui tensionapythonpackageforforcelearning