Modified Extended Kalman Filter with generalized Exponential Moving Average and Dynamic Multi-Epoch update strategy (MEKFEMA-DME)
Pytorch implementation source coder for paper Robust Online Model Adaptation by Extended Kalman Filter with Exponential Moving Average and Dynamic Multi-Epoch Strategy.
In this paper, inspired by Extended Kalman Filter (EKF), a base adaptation algorithm Modified EKF with forgetting factor (MEKFλ) is introduced first. Then using exponential moving average (EMA) methods, this paper proposes EMA filtering to the base EKFλ in order to increase the convergence rate. In order to effectively utilize the samples in online adaptation, this paper proposes a dynamic multi-epoch update strategy to discriminate the “hard” samples from “easy” samples, and sets different weights for them. With all these extensions, this paper proposes a robust online adaptation algorithm: MEKF with Exponential Moving Average and Dynamic Multi-Epoch update strategy (MEKFEMA-DME).
- Python 3.6
- pytorch >=1.1.0
pip install -r requirements.txt
1 . Offline Neural Network Training
python train.py
2 . Online Adaptation
python adapt.py
You can online adapt the offline trained model with several optimizers, including SGD, Adam, MEKFλ, MEKFEMA-DME.