Forest Informed Neural Networks

A hybrid dynamic forest (gap) model (FINN) that can be configured as a fully mechanistic, process-based model, like classic forest gap models, or with its demographic processes (growth, mortality, regeneration) replaced by deep neural networks (DNNs), or any combination of the two. Provides functions to define a model and its mechanistic or empirical components, calibrate it to forest inventory data, and interpret the calibrated processes. FINN is implemented with the 'torch' package, which supplies GPU support and the automatic differentiation used to calibrate the model by stochastic gradient descent; no knowledge of 'torch' is required. The hybrid modeling approach is described in Pichler and Käber (2026) .


Project Status: Active – The project has reached a stable, usablestate and is being activelydeveloped. License: GPLv3

Forest Informed Neural Networks (FINN)

FINN is an R package designed for modular, dynamic vegetation (forest) models. Modularity is achieved by implementing all components and the platform in R and by allowing users to pass their own processes to FINN as R functions. Nevertheless, FINN is highly performant (has a low runtime) because it is implemented in torch for R, which allows access to highly optimised routines and enables FINN to run on the GPU. Consequently, FINN scales extremely well with the number of sites. Furthermore, FINN can seamlessly integrate neural networks into processes, or even replace them entirely (hybrid modelling). Additionally, FINN’s parameters can be optimised directly using stochastic gradient descent.

Internal workings of FINN

You can learn more about FINN in our preprint Pichler & Käber, 2025 - Inferring processes within dynamic forest models using hybrid modeling

Installation

You can install the development version of FINN from GitHub with:

# install.packages("devtools")
devtools::install_github("FINNverse/FINN")

Introduction

Start with Introduction to FINN, then browse the rest:

Vignette What it covers
Introduction to FINN the model, its processes, and a first simulation
Parameterising FINN from Ellenberg indicator values deriving species niches from Ellenberg values; succession along a climate gradient
Preparing your data for FINN going from a raw tree list to FINN’s input tables
Fitting FINN to forest inventory data calibrating on US FIA data, with a held-out test
Mortality: a binomial response and a NN process choosing the right likelihood, and scoring it honestly

The same pages ship with the package — vignette(package = "FINN") lists them.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("FINN")

0.1.0 by Yannek Käber, 2 months ago


https://github.com/FINNverse/FINN, https://finnverse.github.io/FINN/


Report a bug at https://github.com/FINNverse/FINN/issues


Browse source code at https://github.com/cran/FINN


Authors: Yannek Käber [aut, cre] (ORCID: , Maximilian Pichler [aut] (ORCID:


Documentation:   PDF Manual  


GPL (>= 3) license


Imports abind, cli, stats, utils, data.table, coro, Rcpp, torch, ggplot2, glue

Suggests testthat, knitr, rmarkdown

Linking to Rcpp


See at CRAN