Paper: https://onlinelibrary.wiley.com/doi/full/10.1111/ele.13462 Preprint: https://www.biorxiv.org/content/10.1101/759944v3
Parameterize a hierarchical model (an observation + process + parameter model) with a neural network, creating a neural hierarchical model.
Here, (a) shows linear regression, mapping input x to an output y. In (b) a neural network inserts hidden layers between x and y. Analogously, an ecological model (c) maps an input x to parameters of a hierarchical model. A neural version of model (d) would similarly involve hidden layers between x and these parameters. Deep models (e) can also be constructed that use more complex neural architectures, especially when data are structured in time, space, and/or over networks.
A variety of neural network components can be readily used in neural hierarchical models. For example, you might parameterize a hidden Markov model of animal movement using a convolutional neural network that takes remotely sensed imagery as input (see Appendix S2 for details).
This project uses conda to install python dependencies.
conda env create -f environment.yml
Once installed, activate the environment via:
conda activate neural-ecology
To install R dependencies:
R -e "devtools::install_deps(dependencies = TRUE)"
The notebooks/
subdirectory contains toy models in Jupyter notebooks:
The workflow for building the paper is handled with GNU Make. To build the paper (including running the models for the case study) takes ~ 5 hours with 6 CPU cores and a GPU.
make
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.