intelligent-control-lab / MEKF_MAME

Modified Extended Kalman Filter with generalized exponential Moving Average and dynamic Multi-Epoch update strategy (MEKF_MAME)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MEKFEMA-DME

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).

Requirements

  • Python 3.6
  • pytorch >=1.1.0
  • pip install -r requirements.txt

How to use it

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.

About

Modified Extended Kalman Filter with generalized exponential Moving Average and dynamic Multi-Epoch update strategy (MEKF_MAME)

License:MIT License


Languages

Language:Python 100.0%