Dynamic Data Augmentation with Gating Networks
This is an official PyTorch implementation of the paper Dynamic Data Augmentation with Gating Networks which is submitted to ICASSP2022 (under reviewing).
Usage
Environment
Dependencies
pip3 install -r requirements.txt
Dataset
In experiments, we used 2018 UCR Time Series Archive.
Please be cautious that we modified these datasets as mentioned in the paper.
Put on datasets folder under /dataset
.
Components
Models
- No Augmentation --- refer to
no_augmentation.py
. - Concatenate --- refer to
concat.py
. - Proposed --- refer to
proposed.py
. You can change lambda value in the paper byconsis_lambda
argument.
For execution, you just need to run experiment.sh
.
You will get csv file which save every 25 epoch's result and saved model parameters for the final epoch.
You can test your saved parameters by enabling test_model()
under if __name__ == "__main__":
in each python file above.
Data Augmentation methods
Each DA method implementation is based on our preceeding journal.
- Identity --- the original time series with no augmentation.
- Jittering --- adds Gaussian noise to the time series.
- Magnitude Warping --- multiply the time series by a smooth curve defined by cublic spline.
- Time Warping --- similar to Magnitude Warping, except the warping is done in the time domain.
- Window Warping --- selects a random window of 10% of the original time series length and warps the window by 0.5 to 2 times.
Citation
D. Oba, S. Matsuo and B. K. Iwana, "Dynamic Data Augmentation with Gating Networks," arXiv, 2021.
@article{oba2021dynamic,
title={Dynamic Data Augmentation with Gating Networks},
author={Daisuke Oba, Shinnosuke Matsuo and Brian Kenji Iwana},
journal={arXiv preprint arXiv:2111.03253},
year={2021}
}