Model Training

Author
Affiliation

Queensland University of Technology, CSIRO

Published

February 27, 2025

In the tabs to the left are the scripts for the training the deepSSF model.

The goal of training the model are to use backpropagation to find the parameters of the convolution filters in the habitat network that result in high probability of selection for the underlying covariate values and features, and the parameters of the convolution filters and fully-connected layer parameters that result in a movement kernel that captures the observed movement dynamics. Both of these processes depend on the time of the day and year, which will influence the predictions by their inclusion as covariates.

Here’s an animation of the model’s predictions for a single step as it trains.

If we have some set of covariates:

The current location of the individual is in the exact centre cell

And what we are trying to predict, or the target, is the location of the next step, which might look something like this:

The target location we are trying to predict by giving the underlying covariates and the movement kernel a high probability weight for that location, where the current location is the central cell

Note: the model is being trained on all of the observed data, which are iterated over many times, but we just show a single set of covariates to highlight how the predictions for that set of covariates changes throughout the training process.

All of the parameters start as random values, but as the model learns it starts to pick out certain features of the landscape that buffalo moved towards or away from, and the movement and habitat selection probabilities start to balance as the model gives weight to both processes. As these processes are being trained we can see the loss function decreasing, indicating that the probability values at the observed next step are increasing.

As the model fine-tunes, the habitat selection process becomes more defined in the next-step probabilities.

Scripts

There is a script for training the deepSSF model using the derived covariates (NDVI, canopy cover, herbaceous vegetation and slope), and one for the Sentinel-2 satellite imagery + slope.

Both of these scripts are written in Python, and PyTorch is used for training the models.