ProgLearn (Progressive Learning) is a package for exploring and using omnidirectional learning algorithms proposed in our paper (https://arxiv.org/abs/2004.12908).
In biological learning, data are used to improve performance simultaneously on the current task, as well as previously encountered and as yet unencountered tasks. In contrast, classical machine learning starts from a blank slate, or tabula rasa, using data only for the single task at hand. While typical transfer learning algorithms can improve performance on future tasks, their performance on prior tasks degrades upon learning new tasks (called "catastrophic forgetting"). Many recent approaches have attempted to maintain performance given new tasks. But striving to avoid forgetting sets the goal unnecessarily low: the goal of
ProgLearn is to improve performance on all tasks (including past and future) with any new data.
Python is a powerful programming language that allows concise expressions of
network algorithms. Python has a vibrant and growing ecosystem of packages
that ProgLearn uses to provide more features such as numerical linear algebra and
plotting. In order to make the most out of
ProgLearn you will want to know how
to write basic programs in Python. Among the many guides to Python, we
recommend the Python documentation.
ProgLearn is free software; you can redistribute it and/or modify it under the
terms of the MIT. We welcome contributions. Join us on
ProgLearn was founded in February 2020. The source code was designed, written and verified by
Will LeVine, Jayanta Dey, and Hayden Helm. The experiment code was designed and written by Jayanta Dey
and Will LeVine. The repository is maintained by Jayanta Dey and Haoyin Xu.