n_augmentations=10
: Creates 10 additional noisy versions of each measurement. This parameter should be adjusted based on your original dataset size—more augmentations for smaller datasets.
sigma=0.01
: Standard deviation of Gaussian noise added to measurements. This should reflect the typical experimental uncertainty in your measurements. For concentration data, this might represent 1% measurement error.
width_size=16
: Number of neurons in each hidden layer. This moderate size provides sufficient expressiveness for most biochemical systems while maintaining computational efficiency and reducing overfitting risk.
depth=1
: Number of hidden layers. Shallow networks often perform well for biochemical systems because biological processes, despite appearing complex, often follow relatively simple underlying kinetic principles.
activation=jnn.selu
: The SELU activation function provides smooth, differentiable responses suitable for ODE integration while maintaining training stability.
lr=1e-3, alpha=0.1, length=0.1
)
This phase focuses on discovering basic patterns in the experimental data:
1e-3
): Allows rapid exploration of parameter space to identify promising regionsalpha=0.1
): Prevents early overfitting to measurement noise, encouraging the model to learn general kinetic trendslength=0.1
): Focuses on local dynamics rather than long-term behavior, helping establish fundamental kinetic relationshipslr=1e-3, alpha=0.01
)
This phase improves trajectory accuracy while maintaining learning flexibility:
lr=1e-4, alpha=0.01
)
This phase achieves final precision and stability:
batch_size=20
):
Batch training provides several research advantages:
print_every=10
):
Regular monitoring is essential for understanding training dynamics and ensuring the model is learning meaningful biochemical relationships:
weight_scale=1e-3
):
Proper weight initialization is crucial for stable training and biologically plausible results:
save_milestones
):
For research applications, consider enabling checkpointing for reproducibility and analysis:
validation_dataset
):
A validation dataset is used to monitor the model’s performance during training. This is useful to detect overfitting and to evaluate the model’s generalization ability. You can either use a separate dataset or split your training dataset into a training and validation set.
leave_one_out
method to create multiple validation datasets from the training dataset. This method is very useful to evaluate the generalization ability of the model in low data regimes.
metrics
method of your Dataset
to assess model performance: