Neural Iterated Learning
The structure of the project is illustrated as follows:
- Evolutions: Evolutions control the training of all generations.
-
Models: take the inputs and produce losses for updating params.
- Encoders: sub-module of models to encode different inputs.
- Decoders: sub-module of models to generate messages based on the representation from Encoders.
- Losses: sub-module of models to gain loss for training models.
-
DataIterators: provide data to models under evolution.
- Prepocesses: sub-module of DataIterator to provide preprocessing functions.
- Voc: sub-module of DataIterator to provide dictionaries.
- Utils: Other functions to support evolutions.